Skip to content

Releases: apache/dubbo

dubbo-2.6.9

17 Jul 07:46
Compare
Choose a tag to compare
  • Support hessian 3.2.8/3.2.9 whitelist and blacklist
  • Upgrade Fastjson dependency to 1.2.70
  • Enhanced consumer side thread pool strategy

dubbo-2.7.7

15 May 09:14
Compare
Choose a tag to compare

Features

  • [Solution] How to integrate Apache Dubbo with Nacos authentication #5956
  • [Dubbo-5130] complete lfu cache proposal #5734
  • [Feature] To support the application choose the preferred network interface #5795
  • [Dubbo-Performance] Reuse Hessian2Output and Hessian2Input instance to reduce memor… #5889
  • @reference@service Naming issues #6074
  • support timeout pass and count down on RPC call chain. #6008
  • add new loadbalance strategy #6064

Enhancement

  • call onThrowable when RPC call fail (#5828)
  • upgrade fastjson to 1.2.68 #5941
  • update hessian-lite to 3.2.7 #5964
  • [feature] publish ThreadPoolExhaustedEvent when thread pool exhausted #5958
  • [Dubbo-5855] ReferenceConfig(null) is not DESTROYED when FINALIZE #5863
  • register stated url to provider model, no matter the provider is configured to delay-published or not #5757
  • [Enhancement] Take the "name" property of Dubbo Config as Spring Bean If its "id" property is blank #6063
  • [Enhancement] Adding a build tools module for Apache License #6060
  • [Enhancement] Refactoring the parser of dubbo config BeanDefinitions in XML configuration #6039
  • [Refactor] Extracting the "parameters" property to a new abstract Dubbo config class #6043
  • [Refactor] Rename the class name of ServiceAnnotationBeanPostProcessor #6070
  • [Enhancement] Adding the overriding rule for ExtensionLoader #6068
  • [Enhancement] Resolving the placeholders of XML BeanDefinition in the Configuration Class #6079
  • Ignore deserilization when service/method not found #5733
  • DynamicConfiguration: return default value if not implemented. #6086
  • [Dubbo-Optimization] modify the synchronize monitor object to final #6081
  • support for merger when use @method or @DubboReference #6092
  • Making "dubbo-build-tools" module to be non-deployable one. #6115

Bugfixes

  • zipkin tracing filter cause deadlock #5955
  • correct the number of selected invoker #5875
  • Fixes multi-registry subscription loadbalance strategy does not work properly. #5686
  • [Dubbo-5871][Dubbo-5885][Dubbo-5899] Fix nacos registry not work bug since 2.7.6 #5902
  • Fix default config does not work as expected. #5952
  • fix potential ConcurrentModificationException #6031
  • revert computeIfAbsent for jdk related bug #6032
  • fix tomcat9 support. #5711 #6066
  • fix alibaba RpcContext setAttachment(String,String) #6052
  • add javax support when use jdk11 #154
  • Use the correct service name in the request package #6138

Compatibility

  • compatible with lower versions registering "default." keys #5950

Vulnerability

https://lists.apache.org/thread.html/rd4931b5ffc9a2b876431e19a1bffa2b4c14367260a08386a4d461955%40%3Cdev.dubbo.apache.org%3E

apache-dubbo-2.7.6

24 Mar 07:29
af4cff2
Compare
Choose a tag to compare

Features

  • Support Service Authentication #5461

Enhancement

  • Removing the internal JDK API from FileSystemDynamicConfiguration
  • Refactor the APT test-cases implementation of dubbo-metadata-processor in Java 9+
  • Remove feature envy
  • JsonRpcProtocol support Generalization
  • Reduce object allocation for ProtocolUtils.serviceKey
  • Reduce object allocation for ContextFilter.invoke

Bugfixes

  • Fixed bugs reported from 2.7.5 or lower versions, check 2.7.6 milestone for details.

Compatibility

  1. Filter refactor, the callback method onResponse annotated as @deprecated has been removed, users of lower versions that
    have extended Filter implementations and enabled Filter callbacks should be careful of this change.
  2. RpcContext added some experimental APIs to support generic Object transmission.

apache-dubbo-2.6.8

10 Mar 02:26
Compare
Choose a tag to compare

Please upgrade to the latest version to avoid potential security issues.

Vulnerability

CVE-2019-17564, Apache Dubbo deserialization vulnerability.

apache-dubbo-2.7.5

29 Dec 08:21
Compare
Choose a tag to compare

Features

  • Support HTTP/2 through gRPC, offers all features supported by HTTP/2 and gRPC
    • Stream communication: client stream, server stream and bi-stream.
    • Reactive stream style RPC call.
    • Back pressure based on HTTP/2 flow-control mechanism.
    • TLS secure transport layer.
    • Define service using IDL
  • Protobuf support for native Dubbo
    • Define service using IDL
    • Protobuf serialization
  • TLS for netty4 server
  • New SPI for dynamically adding extra parameters into provider URL, especially env parameters.
  • [BETA] Brand new Service Discovery mechanism: Service Reflection - instance (application) level service discovery.
  • [BETA] Brand new API for bootstraping Dubbo projects

Performance Tuning

  • Overall performance improved by nearly 30% compared to v2.7.3 (by QPS in certain circumstances)
  • Improved consumer side thread model to avoid thread allocation and context switch, especially useful for services serving big traffic.

Enhancement

  • Load balance strategy among multiple registries:
    • Preferred
    • Same zone first
    • Weighted LB
    • The first one available
  • New callback SPI for receiving address change notifications
  • Refactoring of config module

Bugfixes

check 2.7.5 milestone for details.

apache-dubbo-2.7.4.1

27 Oct 04:12
Compare
Choose a tag to compare

Enhancement

  • Enhance ProtobufTypeBuilder support generate type definition which contains Bytes List or Bytes Map. #5083
  • Using the ID of Dubbo Config as the alias of Bean. #5094
  • tag router supports anyhost. #4431
  • optimize generic invoke. #4076
  • dubbo zookeeper registry too slow #4828
  • use consul with group and version. #4755
  • qos support host config. #4720
  • migrate http protocol #4781
  • Some unit test optimization. #5026 #4803 #4687

Bugfixes

  • Apollo namespace optimization. #5105
  • Simplify dubbo-common transitive dependencies. #5107
  • Delete 'config.' prefix for url generated from ConfigCenterConfig. #5001
  • fix set generic method error. #5079
  • Add support for overriding Map properties in AbstractConfig.refresh. #4882
  • Fix travis javax.ex dependency issue. (unit test)
  • Fix: ExtensionLoader load duplicate filter,no log or exception. #4340
  • When the provider interrupts abnormally, the consumer cannot return quickly and still waits for the timeout to end. #4694
  • Fix register config not take effect because of url simplified。 #4397
  • Don't support metadata for generic service. #4641
  • Avoid resize in ClassUtils.java. #5009
  • default attribute in dubbo:registry doesn't work as expected. #4412
  • make RegistryDirectory can refresh the invokers when providers number become 0 when using nacos registry. #4793
  • Multiple @reference annotations only have one effect #4674
  • Fix RpcContext.getContext().getRemoteApplicationName() returns null #4351
  • Security issue: upgrade fastjson version to 1.2.60. #5018
  • nacos-registry:serviceName split error #4974
  • AbstractConfig.java-getMetaData set default depend on getmethod sequence #4678
  • fix protocol register set false not work. #4776
  • Fix: In Rest protocol, the limitation of Dubbo-Attachments. #4898
  • The logic of org.apache.dubbo.config.MonitorConfig#isValid is incorrect #4892
  • protostuff return stackoverflow and other error msg #4861
  • fix method parameter bean generation. #3796
  • replace hardcode with regex pattern #4810
  • Fix warm up issue when provider's timestamp is bigger than local machine's timestamp. #4870
  • Fix use generic invocation via API , lost #4238 ion" value #4784
  • In consumer side the app cannot catch the exception from provider that is configured serialization="kryo". #4238
  • fix StringUtils#isBlank #4725
  • when the interfaceName of the Reference annotation has duplicated,the exception is puzzled #4160
  • when anonymity bean is defined in spirng context,dubbo throw npe #
  • add Thread ContextClassLoader #4712
  • Fix judgment ipv4 address #4729
  • The compilation of static methods should be excluded when generating the proxy. #4647
  • check EOF of inputstream in IOUtils.write #4648

apache-dubbo-2.7.3

19 Jul 07:11
Compare
Choose a tag to compare

2.7.3

Compatibility

In order to unify the implementation of service governance rules in different configuration centers, such as Zookeeper, Nacos, Etcd, etc., we have refactored some implementations of the configuration center compared to 2.7.0~2.7.2.

  • For users who are using 2.7.x service governance rules, please check the new implementation before upgrading to 2.7.3, make sure all rules have a copy under the new storage path to ensure a smooth upgrade.
  • For users who have upgraded the 2.7.x version but are not using any service governance rules, you can upgrade directly.
  • For users using 2.6.x and lower versions can upgrade directly. But make sure you follow the following instructions Upgrading from 2.6.x to 2.7.x

Change List

  1. Asynchronous support

    • Unified asynchronous and synchronous callback process, exception scenario triggers onError callback, #4401.
    • Performance degradation caused by CompletableFuture.get() in JDK1.8 environment, #4279.
  2. Configuration Center

    • ConfigCenter custom namespace does not take effect, #4411
    • Unify the models implemented by several configuration centers such as Zookeeper, Nacos, and Etcd. Please refer to the description for possible incompatibility issues, #4441
    • Adjust Override Coverage Rule Center Priority: Service Level > Application Level, #4175.
  3. 2.6.x compatibility

    • Support Zipkin tracing feature provided by Zipkin officially, #3728, #4471
    • DubboComponentScan supports simultaneous scanning of annotations under the com.alibaba.* and org.apache.* packages, #4330
  4. The Nacos Registration Center only subscribes to the address list and no longer subscribes to configuration information, #4454.

  5. Support to read the environment configuration from the specified location, which can be specified by -D or OS VARIABLE. Please refer to automatically loading environment variables

  6. Some other bugfixes, #4346 #4338 #4349 #4377

升级注意事项

为了统一不同配置中心(如Zookeeper、Nacos、Etcd等)对于服务治理规则的实现,我们对2.7.0以来的配置中心的部分实现进行了重构。

  • 对于已使用了2.7.x新版本服务治理规则的用户,升级2.7.3之前请先查看新版实现,确保已有规则在新路径下已经存在拷贝,以确保平滑升级。
  • 对于已经升级了2.7.x版本,但是未使用服务治理规则的用户,此次升级不受影响。
  • 对于2.6.x及以下版本用户不受此次变更影响,升级步骤请参见升级到2.7.x的说明文档

Change List

  1. 异步支持相关

    • 统一异步和同步的回调流程,异常场景触发onError回调 #4401
    • CompletableFuture.get()在JDK1.8环境下带来的性能下降问题 #4279
  2. 配置中心相关

    • ConfigCenter自定义namespace不生效的问题 #4411
    • 统一Zookeeper、Nacos、Etcd等几个配置中心实现的模型,可能带来的不兼容性问题请参见说明。相关修改:#4388
    • 调整Override覆盖规则中心优先级:服务级别 > 应用级别 #4175
  3. 2.6.x兼容性

    • 兼容zipkin官方提供的基于Dubbo-2.6 API的集成 #3728, #4471
    • DubboComponentScan支持同时扫描 com.alibaba.*org.apache.* 两个包下的注解 #4330
  4. Nacos注册中心只订阅地址列表,不再订阅配置信息 #4454

  5. 支持从指定位置读取环境配置,可通过-D或OS VARIABLE指定,具体请参见使用说明

  6. 其他一些bugfix,#4346 #4338 #4349 #4377

apache-dubbo-2.6.7

15 Jul 05:48
Compare
Choose a tag to compare

2.6.7

Enhancement / New feature:

  • Multicast ipv6 support #3430
  • Add Annotation-Driven for MethodConfig and ArgumentConfig #2298
  • @Method default value will be set to the field of MethodConfig #3642
  • ignore unrecognized dubbo versions. #4486

Bugfixes:

  • @Reference field can't refer its' @Service Bean in same JVM from v2.6.6 #3695
  • Nacos Dubbo Registry can't sense the change of service instances #4348
  • Dubbo throws IoException with error message while decoding fail #4396

详情

  1. [功能] 广播注册中心支持 IP V6
  2. [功能] 为注解驱动添加 MethodConfig 以及 ArgumentConfig 支持 #2298
  3. [功能] 添加 @Method 注解属性的默认值 #3642
  4. [提升] 忽略无法识别的 Dubbo 版本,提升 Dubbo 应用的健壮性 #4486
  5. [问题修复] @Reference 无法引用本地 @Service Bean #3695
  6. [问题修复] Dubbo Nacos 注册中心无法感知应用实例的变化 #4348
  7. [问题修复] 当 decoding 错误时,修正 IOException 错误信息 #4396

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