Dubbo v2.7.8 Release Notes

Release Date: 2020-07-28 // about 1 year ago
  • πŸ”‹ Features

    • ⬆️ Upgrading the Nacos Registry to support the dynamic properties #6417
    • πŸ‘ REST Protocol Enhancement to support Tomcat 9.x #6402 #6418
    • πŸ‘ Hessian2 supports Whitelist #6378 #6415
    • πŸ’Ύ Save memory usage in TagRouter #6083 #6082
    • πŸ”§ Deleting useless logic from Configurator #6395
    • βž• Adding the validating for the RPC invocation method parameters #6374
    • πŸ”§ Registering the common beans for Spring XML meta-configuration #6175 #6288
    • πŸ‘Œ Supporting TypeBuilder sorting #6365 #6307 #6306
    • Service Introspection Enhancement #6366
      • Refatoring MetadataServiceExporter #6356
      • Introducing the composite implementation of MetadataService #6171
      • Merging all subscribied URLs from the multiple services #6346
      • Introducing the method of supporting the config-center for the Registry interface #6319
      • Refactoring MetadataReport's methods #6310
      • Adding the "services" attribute into <dubbo:reference> element #6173
      • Adding the "services" attribute methods into @DubboReference #6172
      • Introducing the composite ServiceNameMapping #6342
      • Introducing the externalized configuration for ServiceNameMapping #6170
      • org.apache.dubbo.metadata.ServiceNameMapping #6336
      • Using mandatory implementation of Service Instance registration instead of the event #6333
      • Refactoring the implememtation of MetadataReport based on The Config-Center infrastructure #6315
      • Adding the implementation of MetadataReport's new methods for Nacos #6309
      • ServiceConfig and ReferenceConfig publish the ServiceDefinition based on the Dubbo Event #6305
      • Adding the new methods into MetadataReport to manipulate the exported URLs for service introspection #6296
      • Changing the behavior of RegistryConfig#getUseAsConfigCenter to be optional #6247
    • βž• Adding visual-studio-code ignore #6221 #6287
    • πŸ“‡ Put default version&group from provider and consumer into service metadata #6111
    • ⬇️ Reduce memory allocation during address change notification #5613
    • check invoker available status after proxy created. #6435
    • πŸ“‡ Introducing default behavior of the properties "useAsConfigCenter" and "useAsMetadataCenter" in RegistryConfig #6459

    πŸ›  Bugfixes

    • Resolving the issue about Spring Beans Initializing eagerly #6419
    • πŸ›  Fix callback throw "Not found exported service" when serviceUrl has bind.port paramater. #6223
    • Resolving the issue on ConsulServiceDiscovery#getServices() returning null #6389
    • πŸ›  Fix ClassCastException in PojoUtils #6106
    • πŸ›  Fix NPE when check=false is set and provider is empty #6376
    • πŸ›  Fix the priority of ListenableRouter were not effective #4822 #6148
    • 🌲 Changing the log level to be info when the url is generic #6241#6363
    • Resolving the issue about @DubboReferenceβ€˜s Filter Chain not working on Spring local beans #6224
    • πŸ›  Fixing NacosDynamicConfiguration#publishConfig bug #6198
    • dubbo-compatible @SPI interface compatible not work #6428
    • The duplicated path in Tree-Path config-center #6442
    • πŸ“‡ The missing protocol of MetadataReportConfig when the proeprty "useAsMetadataCenter" of RegistryConfig is enabled #6476
    • Resolving the issue of duplicated registration for DubboBootstrapApplicationListener #6231#6253

    ⬆️ Dependency Upgrades

    • ⬆️ Upgrading the artifact com.alibaba.spring:spring-context-support:1.0.7#6425
    • ⬆️ Upgrading the artifact com.alibaba.spring:spring-context-support:1.0.8 #6457
    • ⬆️ Upgrading the artifact com.alibaba:dubbo-hessian-lite:3.2.8 #6262
    • ⬆️ Upgrading the artifact com.alibaba:fastjson:1.2.70 #6254
    • ⬆️ Upgrading the artfcat com.alibaba.nacos:nacos-client:1.3.1 #6465

    Vulnerability

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

    ⬆️ This vulnerability can affect all Dubbo users using 2.5.x, 2.6.x and 2.7.x, please upgrade to 2.6.9 or 2.7.8 to solve this issue. Check here for how to enable Hessian2 whitelist/blacklist: #6378

    Contributors

    πŸš€ Thanks for the following contributors for this release:


Previous changes from v2.7.7

  • πŸ”‹ 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
    • 0️⃣ 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

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

    Vulnerability

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