🌟Features
- Add Logger Disabled Option(#8885)
- Support start module in background(#8869)
- Support Multi Subscribe for Service Discovery(#8908)
- Support native for dubbo 3.0.4(#8966)
- Support streamObserver cancel(#8946)
- Triple transmission supports message compression(#8817、#9018、#9021、#9032)
- Support Cache Properties in model field(#9025)
- Support run dubbo native projects with maven plugin(#8970)
- Add onlyExtensionClassLoaderPackages support for ExtensionLoader(#9061)
🐞 BugFixs
- Fix appendAttribute key(#8847)
- Fix RpcContext duplicated override(#8842)
- Fix StringIndexOutOfBoundsException at addParam()(#8799)
- Add invocation null check at decode(Channel, InputStream)(#8812)
- Fix destroy IllegalStateException and doOverrideIfNecessary NPE(#8768)
- Add zookeeper node data created event check(#8833)
- Fix:When using multiple protocols and having port specified, service can not be started.(#8769)
- Fix urlInvokerMap concurrent access issue(#8701)
- Fix Deployer State for delay injected bean(#8867)
- ZookeeperRegistry CountDownLatch should be release and add some UT (#8870)
- Fix serialVersionUID(#8852)
- Fix concurrent bean creation error(#8883)
- Recover Servlet Page API(#8884)
- Fix CountDownLatch not being released(#8878)
- Fix when subscribing, the check configuration section is unavailable(#8879)
- Fix Class.forName when publish ServiceDefinition(#8894)
- Socks proxy filtering local address(#8876)
- Fix delay export not work for ServiceConfig(#8912)
- Fix MergeableClusterInvoker NPE(#8891)
- Add destroy() calling to close tomcat server port(#8920)
- Set client to null at LazyConnectExchangeClient close methods(#8881)
- Fix: registry cast to AbstractRegistry error in telnet(#8619)
- Fix the AbstractServiceDiscovery#serviceInstance attribute without adding volatile modifier(#8915)
- Fix State Router Throw Exception when Address is Empty(#8951)
- Reset ServiceModel in Injvm Invoke(#8952)
- Fix instance mode mesh route can't get url parameters(#8947)
- Fix exception info(#8974)
- Method for judging whether it is jdk for kryo serialization recovery(#8968)
- Fix duplicated ApplicationConfig error(#8989)
- Override removeFailedRegisteredTask and removeFailedSubscribedTask for testRecover()(#8981)
- Fix ConfigManagerTest spelling-mistake(#8990)
- Fix Concurrent issue when creating SPIs' Adaptive class (#8998)
- Fix Listener early initialization(#9006)
- Check ClosedChannelException at close operation(#9010)
- Correct arguments type of NotifyService callback methods(#9008)
- Set module started at applicationDeployer checkStarted()(#9013)
- Fix Migration Report for Multi-instances (#9020)
- Fix NPE in get configuration(#9024)
- Add logic for check localMetadataService.blockUntilUpdated stat(#9002)
- check applicationModel destroy state at blockUntilUpdated(#9001)
- Remove the default implementation of the RegistryFactory extension point(#9027)
- Fix instance update failed (#9040)
- Fix process can't stop when tomcat port already in use(#8552)
🚀Optimization
- Add ScopeModel to Local Invoke (#8849)
- Fix optimization field scope(#8751)
- Optimize some code of the dubbo metadata module(#8783)
- Do not show the warning at first replaceWithLazyClient()(#8814)
- Unify error message(#8794)
- Extract constants of MigrationRule(#8850)
- Improve the logic of MigrationRuleListener#destroy method(#8853)
- Add ClassLoaderResourceLoader to cache ClassLoader's resources(#8866)
- close stream when timeout(#8888)
- Optimize some UnitTest case cost time sharply(#8844)
- Improve unit test efficiency(#8877)
- TimeoutCheckTask should be cancelled when DefaultFuture has been cancelled(#8898)
- Remove meaningless code(#8887)
- Try Load Class from interface parameter(#8905)
- Add ModuleModel Qualifier for SpringBean Initializer(#8904)
- Convert TimeoutException when invoke timeout(#8906)
- Refactor MetricsConfig(#8785)
- TimeoutCheckTask should be cancelled when DefaultFuture2 has been cancel(#8901)
- Add handler for reset frame(#8871)
- Optimize triple server send frame error handler(#8922)
- Optimize Multiple some code(#8900)
- MultipleRegistry remove duplicate URL(#8896)
- An optimization of generic invocation in gson format(#8924)
- Catch handler.caught() throwable of MultiMessageHandler(#8930)
- Refactor Injvm invoke(#8926)
- Revert LinkedHashMap in Invocation to HashMap(#8941)
- Destroy executor and improve tests(#8928)
- Remove SimpleChannelInboundHandler(#8893)
- Improve consistent hashing load balancing with a new algorithm(#8948)
- Add latch waiting for registration finished(#8962)
- Remove unused client handler(#8955)
- Ignore Generic Invoke for Injvm invocation copy(#8986)
- Inject applicationModel into TripleHttp2Protocol by ScopeModelAware(#8984)
- Optimize for AbstractRegistry(#8971)
- Change local invokers from Collections.singletonList to ArrayList(#8997)
- Add serializingExecutor(#8999)
- No need to estimate header size before send and remove the logic(#8802)
- Add health service cancel handler(#9004)
- Remove connections config of method level (#9011)
- Extract constants and fix typo(#9019)
- Use future to replace latch(#9030)
- Support deep copy of default service instance(#9029)
- Add issues template(#9036)
- Rebuild InstanceAddressURL to ServiceConfigURL for LazyConnectExchangeClient(#9041)
- Fill ListBoolMatch code and optimize code for DubboAttachmentMatch(#8448)
- Format triple(#9058)
- Manage global resources and executor services, fix zk client connections(#9033)
- Add Deprecated description(#9065)
🚀Stability improvement
- Add [annotation] test case for ServiceDefinitionBuilderTest & remove unused parameter(#8788)
- Add unit test for MetadataReportInstance and AbstractServiceNameMapping(#8846)
- Enhance FailoverClusterInvoker unit test (#8851)
- Enhance FailbackClusterInvoker unit test(#8861)
- Enhance FailfastClusterInvokerTest unit test(#8864)
- Enhance ForkingClusterInvoker unit test(#8865)
- Add test case for ZookeeperMetadataReportTest(#8840)
- Add test case for ServiceInstanceMetadataUtilsTest(#8914)
- Add unit test for CuratorFrameworkUtils and AbstractServiceDiscoveryFactory(#8886)
- Fix testInvoke_retryTimes_withBizException(#8910)
- Add unit test for StandardMetadataServiceURLBuilder(#8913)
- Add some AvailableClusterInvoker unit test(#8934)
- Add unit test and some optimizations(#8945)
- Patch shutdown hook test(#8958)
- Enhance mergeable cluster invoker test(#8889)
- Verify remote reference for remote url(#8973)
- Configure tri extension for MultiplexProtocolConnectionManagerTest(#8979)
- Add unit test for Http2ProtocolDetector and NettyEventLoopFactory(#9023)
- Fix AbstractMetadataReportTest and AbstractMetadataReportFactoryTest(#8807)
- Add unit test for ChannelBuffers and ChannelBufferFactory(#9031)
- Add unit test for dubbo-registry-nacos(#9035)
🔨Dependency Changes
- Upgrade curator version:4.1.0 -> 4.2.0(#8994)