dubbo-2.7.10
Notice
1. ScriptRouter
ScriptRouter will not be activated defaultly. If user still wants use it, please add scriptRouterFactory in selfs spi file.
See dubbo-cluster/src/test/resources/META-INF/dubbo/internal/org.apache.dubbo.rpc.cluster.RouterFactory
2. Gerenic Invoke
Native Java deserialization will not be activated defaultly. If user still wants use it, please set dubbo.security.serialize.generic.native-java-enable
as true
in environment.
3. Serialization Block List
An embedded serialization block list is introduced in dubbo-common/src/main/resources/security/serialize.blockedlist
.
If user wants to add allow list, please refer dubbo.security.serialize.allowedClassList
.
Optimization
- Heartbeat skip serialize and deserialize (#7077 , #7168)
- Simplity some code (#7179)
- Move the check of timeToLiveMillis out of the loop (#7171)
- Improve error message of create extension failure (#7131)
- Refactor ProtocolFilterWrapper$1 to FilterNode (#6962)
- Consumer-side Executor is changed to global sharing, no longer sharing by provider Port (#7109)
- Fix ReflectUtils not support generic call with Future (#7041)
- Add the end of line character make dubbo-qos easier to view. (#6033)
- Group variables into a common class (#6179)
- Refactoring (move method) to AccessLogData class (#6151)
- Fix genericservice compatible problem. (#6124)
- Separate metadataReport cache file base by application dimension. (#7260)
- Redundant box for boolean and refactor method filterInvoker (#7316)
- Extract AccessibleObject.setAccessible(boolean) to ReflectUtils (#6909)
- Reduce unnecessary hashmap operation in CuratorConnectionStateListener (#6783)
- Optimize code in dubbo-common (#5597)
- Polish DubboBootstrap (#5996)
- Polish LFUCache (#5994)
- Remove unnecessary logger which is defined at subclass. (#7262)
- Cache Class avoid PermGen space OOM (#7374)
- If the channel has been closed, return directly. (#7410)
- Use java box to prevent malicious code. (#7428)
- Add serialize class checker (#7436)
- Add empty constructor for DubboLifecycleComponentApplicationListener (#7357)
- Optimize the selection of invokers in the multi-registry scenario (#7446)
Features
- BroadcastClusterInvoker doInvoker can return early when an exception occurs in execution (#7174)
- A new class (InternalRunnable) is added to wrap the ordinary Runnable, which implements automatic cleaning of InternalThreadLocal (#6141)
- NacosRegistry register instance support PreservedMetadataKeys (#7090)
- Solve local exposure, the server opens the token, and the client call fails (#7334)
- SSL support load from classpath (#6756)
- Make keepalive parameters configurable on server (#6500)
- Check service is start success in dubbo-qos (#7370)
- Support a way to ignore check some key in parameters. (#7371)
Bugfixs
- Config with registries and registryIds, protocols and protocolIds is chaotic (#6968)
- Fix 'java.io.FileNotFoundException' when 'dump.directory' not exists (#7178)
- Fix Extended LoadBalance ran 2 times during service call (#7192)
- Remove parameters from registryUrl to prevent config pollution (#7189)
- Fix the problem that LocalDate type is forced to be converted to LocalDateTime error (#7028)
- Fix LFU policy configuration not work (#7083)
- Remove repeat action of register DubboBootStrapApplicationListener in ServiceClassPostProcessor, it already register in DubboApplicationListenerRegistrar (#7000)
- Interoperability with 2.6.x provider urls having "default.xxx" keys (#7239)
- Fix MonitorFilter, provider remote_host wrong problem. (#7008)
- Ignore '#' when parsing url (#7114)
- Fix Exception stack information acquisition optimization (#6985)
- PojoUtils realize not current for Multidimensional primitive array (#6178)
- Avoid npe when encode request (#6961)
- @wrapper without annotations @retention cause extension set matches and mismatches invalid (#6947)
- Fix ConfigCenter namespace read bug in apollo, etcd and so on. (#6717)
- start.sh can't work when dubbo.properties contain commented dubbo.protocol.port property (#6508)
- The channel will not closed in time when timeout by using telnet in QOS (#7282)
- DubboHandlerRegistry#removeService NPE issue. (#7286)
- DubboBootstrap.destroy calls DubboShutdownHook.destroyProtocols repeatedly (#7303)
- Fix zk service discovery, create parent node if absent (#7304)
- Fix filter chain order (#7305)
- AbstractRegistryFactory#getRegistry and destroyAll methods compete for locks in multiple threads (#7273)
- Fix generic interface metadata publish log error (#6746)
- Fix reflect invoke error in org.apache.dubbo.common.utils.PojoUtils#generalize (#6905)
- Fix org.apache.dubbo.common.URL#equals. After comparing the parameters, the method will skip the following branches (#7335)
- Solve use api, application-level service discovery model startup error (#7352)
- Didn't judge check in serviceDiscoveryRegistry (#7340)
- Fix QOS Ready command return OK when DubboBootstrap is not ready (#7333)
- Multicast use valid network interface (#6734)
- Fix DecodeableRpcResult override attachments (#6590)
- Fix OOM issue for Hessian2ObjectInput and Hessian2ObjectOutput (#6848)
- Fix url add repeatedly (#7376)
- Fix codec2 SPI not work (#7400)
- NacosRegistry,NacosMetadataReport,NacosDynamicConfiguration compatible with innerclass symbol '$' (#7346)
- Fix expire cache time (#6480)
- Add provided-by paramater for DubboReference (#7451)
- Fix NullPointException in
DynamicDirectory
(#7439) - Promise doSubscribe notify and childListen notify synchronize. (#7126)
- Use safeConstructor instead of constructor when parsing yaml (#7437)
- Fix passing wrong parameter when calling MigrationInvoker.compareAddresses() (#7460)
- Fix RedisMetadataReport cluster password is null (#7474)
- Unregister onconnect and ondisconnect information (#7482)
- Fix client-side and server-side payload parameters are inconsistent, and the server-side response data packet length exceeds the client-side payload. (#7287)
- Fix too many instance bean created (#7438)
Dependency Upgrades
- Upgrading the artifact
org.hamcrest.hamcrest:2.2
#7330
Contributors
Thanks for the following contributors for this release: