Skip to content

Releases: apache/dubbo

apache-dubbo-2.7.2

31 May 07:34
Compare
Choose a tag to compare

New Features

  • nacos config center / metadata center support. #3846
  • Etcd support as config center and metadata center #3653
  • Support Redis cluster in Metadata Report. #3817
  • add new module for Dubbo Event. #4096
  • Support multiple registry that including some effective registry, such as zk, redis #3599
  • support nacos metadata #4025
  • Dubbo support Google Protobuf generic reference #3829
  • Merge serialization-native-hessian-for-apache-dubbo into incubator-dubbo #3961
  • Merge rpc-native-thrift-for-apache-dubbo into incubator-dubbo #3960
  • add socks5 proxy support #3624
  • Integrate with SOFARegistry #3874
  • Introduce CompletableFuture $invokeAsync for GenericService, now, for generic call, you can use:
    $invoke for sync method call with normal return type.
    $invokeAsync for async method call with CompletableFuture signature. #3163

Enhancement

  • Performance tuning for TimeoutTask in DefaultFuture. #4129
  • Add a script to check dependencies license. #3840
  • Change DynamicConfiguration definition to better adapt to Apollo's namespace storage model.#3266
  • use equal explicit class to replace anonymous class #4027
  • Seperate Constants.java into some SubConstants Class #3137
  • Need to enhance DecodeableRpcResult error message #3994
  • Provide more meaningful binary releases. #2491
  • remove useless module-dubbo-test-integration #3573
  • complete lookup method of consul registry and add integration test #3890
  • Metrics Service #3702
  • Update nacos-client to 1.0.0 #3804
  • Fluent style builder API support #3431
  • Update readme to remove the incubator prefix #4159
  • update erlang link #4100
  • optimize array code style #4031
  • optimize some code style #4006
  • remove useless module-dubbo-test-integration #3989
  • optimize constant naming style #3970
  • Use maven CI friendly versions: revision. #3851
  • remove-parse-error-log #3862
  • Complete xsd definition for ConfigCenterConfig. #3854
  • add remoteApplicationName field in RpcContext #3816

Bugfixes

  • @reference can't match the local @service beans. #4071
  • remove some illegal licence: jcip-annotations, jsr173_api. #3790
  • Qos port can't be disabled by externalized property. #3958
  • Fix consumer will generate wrong stackTrace. #4137
  • nacos registry serviceName may conflict. #4111
  • The client loses the listener when the network is reconnected. #4115
  • fix registery urls increase forever when recreate reference proxy. #4109
  • In dubbo 2.7.1,the watcher processor of zookeeper client throw Nullpointexception. #3866
  • ReferenceConfig initialized not changed to false once subscribe throws exception #4068
  • dubbo registry extension compatibility with dubbo 2.6.x. #3882
  • Annotation mode cannot set service parameters in 2.7.0. #3778
  • compatibility with Zipkin. #3728
  • do local export before register any listener. #3669
  • Cannot recognize 2.6.x compatible rules from dubbo-admin. #4059
  • In Dubbo 2.7.0, the provider can't be configured to async #3650
  • dubbox compatibility #3991
  • dubbo-2.7.1 providers repeat register #3785
  • consul registry: NullPointerException #3923
  • cannot publish local ip address when local ip and public ip exist at the same time #3802
  • roll back change made by 3520. #3935
  • dubbo-registry-nacos module is not bundled into Apache Dubbo 2.7.1 #3797
  • switch from CopyOnWriteArrayList to regular list in order to avoid potential UnsupportedOperationException #3242
  • Serialization ContentTypeId conflict between avro protocol and protocoluff protocol #3926
  • delay export function doesn't work. #3952
  • org.apache.dubbo.rpc.support.MockInvoker#getInterface should not return null #3713
  • dubbo TagRouter does not work with dubbo:parameter #3875
  • make protocols a mutable list (a concrete ArrayList) #3841
  • javadoc lint issue #3646
  • The etcd3 lease should be recycled correctly #3684
  • telnet can't work when parameter has no nullary constructor and some fields is primitive #4007
  • Sort added router list before set the 'routers' field of the RouterChain #3969
  • fix injvm and local call #3638
  • spelling error in org.apache.dubbo.common.extension.AdaptiveClassCodeGenerator#generateReturnAndInovation #3933
  • metadata report doesn't support redis with password #3826
  • The dubbo protostuff protocol serializes the bug of java.sql.Timestamp #3914
  • do not filter thread pool by port #3919
  • 'dubbo-serialization-gson' maven package error #3903
  • AbstractRegistry will be endless loop, when doSaveProperties method have no permission to save the file #3746
  • fix fastjson serialization with generic return type #3771
  • The dubbo-serialization -api modules should not dependency on third-party jar packages #3762
  • when using protostuff to serialize, there is not to check whether the data is null #3727
  • bugfix and enhancement for async #3287

apache-dubbo-2.7.1

26 Mar 08:58
Compare
Choose a tag to compare

Warning: According to reports from the community, be aware of possible Service Discovery problems in certain circumstances. Check #4213 for details.
风险提示:升级到2.7.1版本后,注册中心(多数是zookeeper)在某些特殊场景下会出现重复URL地址数据无法删除,导致消费方拿到的是失效地址,从而导致调用失败的问题,2.7.2版本里面会修复此问题,预计6月初发布。详细原因请参考#4213

Notice

'zkclient' extension for 'org.apache.dubbo.remoting.zookeeper.ZookeeperTransporter' is removed from Dubbo 2.7.1, and 'curator' extension becomes the default extension. If you happen to config your application to use 'zkclient' explicitly, pls. switch to use 'curator' instead.

New Features

  • service register support on nacos #3582
  • support consul as registry center, config center and metadata center #983
  • service registry support/config center support on etcd #808
  • metrics support in dubbo 2.7.1 #3598
  • @argument @method support #2405

Enhancement

  • [Enhancement] @EnableDubboConfigBinding annotates @repeatable #1770
  • [Enhancement] Change the default behavior of @EnableDubboConfig.multiple() #3193
  • Should make annotation easier to use in multiple items circumstance #3039
  • NoSuchMethodError are thrown when add custom Filter using dubbo2.6.5 and JDK1.6 and upgrade to dubbo2.7.0 #3570
  • introduce dubbo-dependencies-zookeeper #3607
  • Zookeeper ConfigCenter reuse the client abstraction and connection session #3288
  • [Survey] Is it necessary to continue to maintain zkclient in dubbo project? #3569
  • Start to use IdleStateHandler in Netty4 #3341
  • Support multiple shared links #2457
  • Optimize heartbeat #3299
  • AccessLogFilter simple date format reduce instance creation #3026
  • Support wildcard ip for tag router rule. #3289
  • ScriptRouter should cache CompiledScript #390
  • Optimize compareTo in Router to guarantee consistent behaviour. #3302
  • RMI protocol doesn't support generic invocation #2779
  • a more elegant way to enhance HashedWheelTimer #3567
  • obtain local address incorrectly sometimes in dubbo #538
  • implement pull request #3412 on master branch #3418
  • enhancement for event of response (follow up for pull request #3043) #3244
  • bump up hessian-lite version #3423 #3513
  • [Dubbo-3610]make snakeyaml transitive, should we do this? #3659

Bugfixes

  • cannot register REST service in 2.7 due to the changes in RestProtoco#getContextPath #3445
  • Conflict between curator client and dubbo #3574
  • is there a problem in NettyBackedChannelBuffer.setBytes(...)? #2619
  • [Dubbo - client always reconnect offline provider] Dubbo client bug #3158
  • fix heartbeat internal #3579
  • logic issue in RedisRegistry leads to services cannot be discovered. #3291
  • Multicast demo fails with message "Can't assign requested address" #2423
  • Fix thrift protocol, use path to locate exporter. #3331
  • cannot use override to modify provider's configuration when hessian protocol is used #900
  • Condition is not properly used ? #1917
  • connectionMonitor in RestProtocol seems not work #3237
  • fail to parse config text with white space #3367
  • @reference check=false doesn't take effect #195
  • [Issue] SpringStatusChecker execute errors on non-XML Spring configuration #3615
  • monitor's cluster config is set to failsafe and set to failsafe only #274
  • A question for ReferenceConfigCache. #1293
  • referenceconfig#destroy never invoke unregister #3294
  • Fix when qos is disable,log will print every time #3397
  • service group is not supported in generic direct invocation #3555
  • setOnreturn doesn't take effect in async generic invocation #208
  • Fix timeout filter not work in async way #3174
  • java.lang.NumberFormatException: For input string: "" #3069
  • NPE occurred when the configuration was deleted #3533
  • NPE when package of interface is empty #3556
  • NPE when exporting rest service using a given path. #3477
  • NullPointerException happened when using SpringContainer.getContext() #3476
  • Why does not tomcat throw an exception when server.start failed with a socket binding error. #3236
  • No such extension org.apache.dubbo.metadata.store.MetadataReportFactory by name redis #3514
  • dubbo 2.7.1-SNAPSHOT NoClassDefFoundError when use springboot #3426
  • NPE occurs when use @reference in junit in spring boot application #3429
  • When refer the same service with more than one @references(with different configs) on consumer side, only one take effect #1306
  • consumer always catch java.lang.reflect.UndeclaredThrowableException for the exception thrown from provider #3386
  • dubbo2.7.0 com.alibaba.com.caucho.hessian.io.HessianProtocolException: 'com.alibaba.dubbo.common.URL' could not be instantiated #3342
  • Close Resources Properly #3473
  • SPI entires dup by 3 times. #2842
  • provider gets wrong interface name from attachment when use generic invocation in 2.6.3 #2981
  • HashedWheelTimer's queue gets full #3449
  • Modify MetadataReportRetry ThreadName #3550
  • Keep interface key in the URL in simplify mode when it's different from path. #3478
  • nc is not stable in dubbo's bootstrap script #936

apache-dubbo-2.6.6

28 Feb 10:50
Compare
Choose a tag to compare

Enhancement / New feature:

  • tag route. #3065
  • Use Netty4 as default Netty version. #3029
  • upporting Java 8 Date/Time type when serializing with Kryo #3519
  • supoort config telnet #3511
  • add annotation driven in MethodConfig and ArgumentConfig #2603
  • add nacos-registry module #3296
  • add protocol attribute in @Rerefence #3555
  • support the hierarchical interface in @service #3251
  • change the default behavior in @EnableDubboConfig.multiple() #3193
  • inline source code of spring-context-support #3192
  • Simplify externalized configuration of Dubbo Protocol name #3189

BugFix:

  • update hessian-lite to 2.3.5, fix unnecessary class load #3538
  • Fix unregister when client destroyed(referenceconfig#destroy) #3502
  • SPI entires dup by 3 times #3315
  • fix Consumer throws RpcException after RegistryDirectory notify in high QPS #2016
  • fix NPE in @reference when using Junit to test dubbo service #3429
  • fix consuer always catch java.lang.reflect.UndeclaredThrowableException for any exception throws in provider #3386
  • fix the priority of DubboConfigConfigurationSelector #2897
  • fix @Rerefence#parameters() not work #2301

功能增强 / 新特性:

  • 新增标签路由功能. #3065
  • 升级默认Netty版本到Netty4. #3029
  • kyro序列化时,支持JDK8中的Date/Time类型 #3519
  • 支持在协议中配置telnet #3511
  • MethodConfig和ArgumentConfig中增加注解驱动 #2603
  • 增加对Nacos的支持 #3296
  • @Rerefence中增加protocol属性 #3555
  • @service 增加对多层接口的支持 #3251
  • 改变@EnableDubboConfig.multiple()的默认行为 #3193
  • 内联spring-context-support代码 #3192
  • 简化Dubbo Protocol name的外部化配置 #3189

Bug修复:

  • 升级hessian-lite到2.3.5, 修复不必要的类加载 #3538
  • 修复客户端销毁时无法unregister的问题 #3502
  • 过滤META-INF/dubbo/internal下配置文件重复的问题 #3315
  • 修复高QPS的情况下,客户端在RegistryDirectory通知后抛出异常的问题 #2016
  • 修复Spring boot中测试DUbbo服务,@reference 注解报空指针异常 #3429
  • 修复provider 抛出的异常,consumer 捕获到的总是 java.lang.reflect.UndeclaredThrowableException #3386
  • 修复DubboConfigConfigurationSelector 优先级过高的问题 #2897
  • 修复@Rerefence#parameters()不工作的问题 #2301

apache-dubbo-2.7.0

29 Jan 09:53
Compare
Choose a tag to compare

2.7.0

Requirements: Java 8+ required

Please check here for notes and possible compatibility issues for upgrading from 2.6.x or lower to 2.7.0.

New Features

  • Enhancement of service governance rules.

    • Enriched Routing Rules.
      1. Conditional Routing. Supports both application-level and service-level conditions.
      2. Tag Routing. Newly introduced to better support traffic isolation, such as grey deployment.
    • Decoupling governance rules with the registry, making it easier to extend. Apollo and Zookeeper are available in this version. Nacos support is on the way...
    • Application-level Dynamic Configuration support.
    • Use YAML as the configuration language, which is more friendly to read and use.
  • Externalized Configuration. Supports reading dubbo.properties hosted in remote centralized configuration center - centralized configuration.

  • Simplified registry URL. With lower Registry memory use and less notification pressure from Service Directory, separates Configuration notification from Service Discovery.

  • Metadata Center. A totally new concept since 2.7.0, used to store service metadata including static configuration, service definition, method signature, etc.. By default, Zookeeper and Redis are supported as the backend storage. Will work as the basis of service testing, mock and other service governance features going to be supported in OPS.

  • Asynchronous Programming Model (only works for Dubbo protocol now)

  • Serialization Extension: Protobuf.

  • Caching Policy Extension: Expiring Cache.

Enhancements / Bugfixes

  • Load Balancing strategy enhancement: ConsitentHash #2190, LeastActive #2171, Random #2597, RoundRobin #2650.

  • Third-party dependency upgrading.

    • Switch default remoting to Netty 4.
    • Switch default Zookeeper client to Curator.
    • Upgrade Jetty to 9.x.
  • IPV6 support #2079.

  • Performance tuning, check hanging requests on a closed channel, make them return directly #2185.

  • Fixed the serialization problem of JDK primitive types in Kryo #2178.

  • Fixed the problem of failing to notify Consumer as early as possible after the Provider side deserialization failed #1903.

Upgrading and Compatibility Notifications

We have always keep compatibility in mind during the whole process of 2.7.0. We even want old users to upgrade with only on pom version upgrade, but it's hard to achieve that, especially when considering that we have the package renamed in this version, so we had some tradeoffs. If you only used the Dubbo's most basic features, you may have little problems of upgrading, but if you have used some advanced features or have some SPI extensions inside, you'd better read the upgrade notifications carefully. The compatibility issues can be classified into the following 5 categories, for each part, you can find the detailed dos and don'ts in this documentation.

  1. Interoperability between 2.7.0 and lower versions

  2. Package renaming

    com.alibaba.dubbo -> org.apache.dubbo

  3. Simplification of registered URLs

  4. Service Governance Rules

  5. Configuration


环境要求:需要Java 8及以上版本支持

请在这里了解关于升级2.7.x版本的注意事项和兼容性问题

New Features

  • 服务治理规则增强。

    • 更丰富的服务治理规则,新增应用级别条件路由Tag路由
    • 治理规则与注册中心解耦,增加对Apollo等第三方专业配置中心的支持,更易于扩展
    • 新增应用级别的动态配置规则
    • 规则体使用更易读、易用YAML格式
  • 外部化配置。支持读取托管在远程的集中式配置中心的dubbo.properties,实现应用配置的集中式管控。

  • 更精炼的注册中心URL,进一步减轻注册中心存储和同步压力,初步实现地址和配置的职责分离。

  • 新增服务元数据中心,负责存储包括服务静态化配置、服务定义(如方法签名)等数据,默认提供Zookeeper, Redis支持。此功能也是OPS实现服务测试、Mock等治理能力的基础。

  • 异步编程模式增强(限定于Dubbo协议)

  • 新增Protobuf序列化协议扩展

  • 新增ExpiringCache缓存策略扩展

Enhancements / Bugfixes

  • 负载均衡策略优化,包括ConsitentHash(#2190) 、LeastActive(#2171)、Random(#2597) 、RoundRobin(#2586) (#2650)

  • 升级第三方依赖:默认通信框架为netty 4、默认ZK客户端为Curator、Jetty 9k

  • 增加地址读取时对IPV6的支持(#2079)

  • 性能优化,链接关闭的情况下使得Consumer快速返回 (#2185)

  • 修复Jdk原生类型在kryo中的序列化问题 (#2178)

  • 修复Provider端反序列化失败后,没有及早通知Consumer端的问题 (#1903)

升级与兼容性

此次版本发布我们遵循了保持和老版本兼容的原则,尤其是在保证与低版本互操作性的问题上,2.7.0版本是能做到完全兼容的。对于2.7.0的默认行为,最容易带来兼容性问题的此次发布版本内容中的package重命名,但这类问题是显示的,即能在升级后的编译期发现并予以解决。了解更多升级和兼容性注意事项

apache-dubbo-2.6.5

23 Nov 02:51
Compare
Choose a tag to compare

Enhancements / Features:

  • Refactor the generation rule for @service Bean name #2235
  • Introduce a new Spring ApplicationEvent for ServiceBean exporting #2251
  • [Enhancement] the algorithm of load issue on Windows. #1641
  • add javadoc to dubbo-all module. #2600
  • Optimize LeastActiveLoadBalance and add weight test case. #2540
  • Smooth Round Robin selection. #2578 #2647
  • [Enhancement] Resolve the placeholders for sub-properties. #2297
  • Add ability to turn off SPI auto injection, special support for generic Object type injection. #2681

Bugfixes:

  • @service(register=false) is not work. #2063
  • Our customized serialization id exceeds the maximum limit, now it cannot work on 2.6.2 anymore. #1903
  • Consumer throws RpcException after RegistryDirectory notify in high QPS. #2016
  • Annotation @reference can't support to export a service with a sync one and an async one . #2194
  • org.apache.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor#generateReferenceBeanCacheKey has a bug. #2522
  • 2.6.x Spring Event & Bugfix. #2256
  • Fix incorrect descriptions for dubbo-serialization module. #2665
  • A empty directory dubbo-config/dubbo-config-spring/src/test/resources/work after package source tgz. #2560
  • Fixed 2.6.x branch a minor issue with doConnect not using getConnectTimeout() in NettyClient. (No issue). #2622
  • Bean name of @service annotated class does not resolve placeholder. #1755

功能增强 / 新特性:

  • 重构@service的BeanName的生成规则 #2235
  • 为ServiceBean的导出引入新的Spring ApplicationEvent #2251
  • [功能]在window系统下获取负载的方式优化 #1641
  • 为dubbo-all增加javadoc #2600
  • [功能]优化LeasActiveLoadBalance: 没有进行预热和修复历史bug #2540
  • Round Robin的负载均衡优化 #2578 #2647
  • 为sub-properties解决placeholders的bug #2297
  • 增加SPI自动注入的开关,特别是泛化对象的注入。#2681

Bug修复:

  • 解决@service(register=false)不能工作。 #2063
  • 解决序列化id超出最大值的问题。 #1903
  • 解决当高QPS的时候,消费端抛出了RpcException的问题。 #2016
  • 增强@reference注解,针对不能支持导出同步异步的设置问题。 #2194
  • 解决ReferenceAnnotationBeanPostProcessor#generateReferenceBeanCacheKey的一个bug。#2522
  • 解决在2.6.x下Spring Event的bug。#2256
  • 解决dubbo-serialization模块的不正确描述. #2665
  • 解决打包source tgz包的时候,产生的一个空目录问题. #2560
  • 解决2.6.x下doConnect的时候,没有使用getConnectTimeout获取超时时间的问题. #2622
  • 解决@service不支持placeholder替换的问题. #1755

Issues and Pull Requests, check milestone-2.6.5.

apache-dubbo-2.6.4

08 Oct 07:26
Compare
Choose a tag to compare

Enhancements / Features

  • Support access Redis with password, #2146
  • Support char array for GenericService, #2137
  • Direct return when the server goes down abnormally, #2451
  • Add log for trouble-shooting when qos start failed, #2455
  • PojoUtil support subclasses of java.util.Date, #2502
  • Add ip and application name for MonitorService, #2166
  • New ASCII logo, #2402

Bugfixes

  • Change consumer retries default value from 0 to 2, #2303
  • Fix the problem that attachment is lost when retry, #2024
  • Fix NPE when telnet get a null parameter, #2453

UT stability

  • Improve the stability by changing different port, setting timeout to 3000ms, #2501

Issues and Pull Requests, check milestone-2.6.4.

功能增强 / 新特性

  • 支持通过密码访问Redis, #2146
  • 在GenericService中支持char数组类型, #2137
  • 在服务端异常时直接返回, #2451
  • 增加qos启动失败时的错误日志,方便问题排查, #2455
  • PojoUtil 增加对java.util.Date类型子类的支持, #2502
  • 在MonitorService中增加IP和服务名, #2166
  • 新的ASCII logo, #2402

问题修复

  • 将客户端重试次数从0次改成2次, #2303
  • 修复重试时attachment丢失的问题, #2024
  • 修复telnet拿到空参数时的空指针问题, #2453

单元测试稳定性

  • 通过更换端口,设置超时为3000ms来提高稳定性, #2501

问题和pull request, 详见 里程碑-2.6.4.

apache-dubbo-2.6.3

11 Sep 10:03
Compare
Choose a tag to compare

Enhancements / Features

  • Support implicit delivery of attachments from provider to consumer, #889
  • Support inject Spring bean to SPI by bean type, #1837
  • Add generic invoke and attachments support for http&hessian protocol, #1827
  • Get the real methodname to support consistenthash for generic invoke, #1872
  • Remove validation key from provider url on Consumer side, config depedently, #1386
  • Introducing the Bootstrap module as a unified entry for Dubbo startup and resource destruction, #1665
  • Open TCP_NODELAY on Netty 3, #1746
  • Graceful shutdown optimization (unified to the lifecycle to Servlet or Spring), #1820, #2126
  • Enable thread pool on Consumer side, #2013
  • Support specify proxy type on provide side, #1873
  • Support dbindex in redis, #1831
  • Upgrade tomcat to 8.5.31, #1781

Bugfixes

  • ExecutionDispatcher meet with user docs, #1089
  • Remove side effects of Dubbo custom loggers on Netty logger, #1717
  • Fix isShutdown() judge of Dubbo biz threadpool always return true, #1426
  • Selection of invoker node under the critical condition of only two nodes, #1759
  • Listener cann't be removed during unsubscribe when use ZK as registry, #1792
  • URL parsing problem when user filed contains '@', #1808
  • Check null in CacheFilter to avoid NPE, #1828
  • Fix potential deadlock in DubboProtocol, #1836
  • Restore the bug that attachment has not been updated in the RpcContext when the Dubbo built-in retry mechanism is triggered, #1453

Performance Tuning

  • ChannelState branch prediction optimization. #1643
  • Optimize AtomicPositiveInteger, less memory and compute cost, #348
  • Introduce embeded Threadlocal to replace the JDK implementation, #1745

Hessian-lite

  • Hessian deserialization optimization, #1705
  • Support Locale type, #1761

功能增强 / 新特性

  • 支持从服务端到客户端的隐式attachments传递, #889
  • 支持根据bean类型将spring bean注入SPI, #1837
  • 增加对http&hessian协议的泛化调用和attachments支持, #1827
  • 通过增加泛化调用的真实方法名获取来支持一致性哈希, #1872
  • 移除消费者端的服务端校验key, #1386
  • 引入 Bootstrap 作为Dubbo启动和资源销毁的统一入口, #1665
  • 在Netty 3中打开TCP_NODELAY, #1746
  • 优雅下线优化(统一Servlet和Spring的生命周期), #1820, #2126
  • 增加消费者端的线程池支持, #2013
  • 在服务端增加特定的代理类型, #1873
  • 支持redis中的dbindex, #1831
  • 升级tomcat到8.5.31, #1781

问题修复

  • ExecutionDispatcher 行为符合文档描述用户文档, #1089
  • 移除Netty日志环境中,Dubbo自定义日志的副作用, #1717
  • 修复 isShutdown() 判断在Dubbo业务线程池中总是返回true的问题, #1426
  • 在只有两个节点的临界条件下,invoker节点选择的问题, #1759
  • 使用ZK作为注册中心时,监听器在取消订阅过程中无法被移除的问题, #1792
  • URL中包含用户定义的'@'时的解析问题, #1808
  • CacheFilter中的空值检查来避免空指针问题, #1828
  • 修复DUbboProtocol中潜在的死锁问题, #1836
  • 修复在Dubbo内建重试机制触发时,RpcContext中的attachment没有被更新的问题, #1453

性能调优

  • ChannelState中的分支预测优化. #1643
  • 优化AtomicPositiveInteger, 减少内存和计算消耗, #348
  • 引入内建的Threadlocal 来替代JDK的实现, #1745

Hessian-lite

  • Hessian反序列化优化, #1705
  • 支持 Locale 类型, #1761

apache-dubbo-2.6.2

07 Jun 01:27
Compare
Choose a tag to compare
  1. Hessian-lite serialization: revert changes to locale serialization in previous release for compatibility, #1413
  2. Asset transfer to ASF, including pom, license, DISCLAIMER and so on, #1491
  3. Introduce new dispatcher policy: EagerThreadpool, #1568
  4. Separating monitor data with group and version, #1407
  5. Spring Boot Enhancenment, #1611
  6. Graceful shutdown enhancement
    • Remove exporter destroy logic in AnnotationBean.
    • Waiting for registry notification on consumer side by checking channel state.
  7. Simplify consumer/provider side check in RpcContext, #1444.

  1. Hessian-lite 序列化: 兼容性考虑,恢复了前一版本中修改的locale序列化, #1413
  2. 资产转移至Apache软件基金会,包括pom,license,免责声明等等, #1491
  3. 引入新的dispatcher策略: EagerThreadpool, #1568
  4. 监控数据按照组别和版本号分离, #1407
  5. Spring Boot 增强, #1611
  6. 优雅关闭功能增强
    • 移除 AnnotationBean 中的出口销毁逻辑.
    • 通过检查通道状态在客户端等待注册中心通知.
  7. 简化RpcContext中的消费端/服务端检查, #1444.

dubbo-2.6.1

02 Apr 03:13
Compare
Choose a tag to compare

Refactor

  • Stripping OPS modules such as dubbo-admin, dubbo-monitor, etc. to a separate repo, #1209.
  • Refactor project dependency and package structure: serialization as a standalone module, all submodules can deploy to remote repository separately, #1322.

Enhancements & Bugfixes

  • Support build in java 9, #1283.
  • Avoid blocking problems of hessian serailization in high concurrency scenarios, #1196.
  • Change default ZK client to "curator", #1186.
  • Avoid retry when parameter validation fails, #1031.
  • Remove dubbo destroy logic from spring bean destroy process.
  • Add "oninvoke" parse, #1353.
  • Other small bugs or polish.

重构

  • 将dubbo-admin, dubbo-monitor等OPS模块剥离到一个单独的工程仓库中, #1209.
  • 重构工程依赖和包结构: 序列化作为一个单独的模块,所有的子模块可以单独部署到远程仓库中, #1322.

功能增强 & 问题修复

  • 支持在java 9中的构建, #1283.
  • 避免在高并发场景中,hessian序列化的阻塞问题, #1196.
  • 将默认的ZK客户端替换为 "curator", #1186.
  • 在参数校验失败时避免重试, #1031.
  • 在spring bean销毁流程中去除dubbo销毁逻辑.
  • 增加 "oninvoke" 解析, #1353.
  • 其它问题修复.

dubbo-2.5.10

14 Mar 00:56
Compare
Choose a tag to compare

BugFixes

  • TimeUnit convert error in FutureAdapter, #1303.
  • Provider side failed to invoke service when deployed in docker, #1289.
  • Hessian serialization problem with types: short and byte, #1232.
  • Remove isdestrory() check in registry, make sure unregister works when shutdown, #1313
  • Reference annotation support annotate on annotation type

问题修复

  • FutureAdapter中的TimeUnit 转换失败问题, #1303.
  • docker部署中,服务端调用服务失败的问题, #1289.
  • Hessian序列化short 和 byte 类型时失败, #1232.
  • 移除注册中心的 isdestrory() 检查, 保证关闭时的取消注册生效, #1313
  • 引用注解支持注解类型