RSS

3.0.2 Release Note

The release note of Apache Dubbo 3.0.2

Features

  • improve generic service with @DubboService annotation.
  • metadata report config support xml to config protocol and port.
  • compatible for curator5.
  • p2p invoke support wildcard url match.
  • add Dynamic Configuration Override Support For ServiceDiscovery.
  • add provider configuration override disable option.
  • support native image.
  • support disable shutdown hook.
  • add Kubernetes Mesh Rule support.
  • support SSL at netty transport.

BugFixs

  • fix re-start override dynamic config.
  • fix delete configurators does not take effect.
  • fix triple protocol will throw exception when the service is exposed.
  • fix ConfigCenterConfig.setAddress will override username problem.
  • fix DefaultFuture.closeChannel will shutdown ExecutorService.
  • fix TripleClientHandler#writeRequest throwing NPE problem.
  • fix NPE when parse migration rule error happen.
  • fix Activated Extensions order.
  • fix URLAddress#parse method to judge the isPathAddress problem when the address is ipv6.
  • fix custom parameter in configuration properties does not work.
  • fix Config id Override when both using API and Spring.
  • fix service discovery not work on bootstrap & fix address pollution.
  • fix nacos registry can’t received instance change notify.
  • fix could not resolve placeholder ‘${dubbo.application}’ in xml.
  • fix service parameter fetch order.
  • fix error of register dubbo bootstrap application listener manually.
  • fix mock parameters doesn’t work when it contain ‘:’ or ‘=’.
  • fix delete mesh rule npe.

Optimization

  • add exception catch for RemovalTask, ensure semaphore release.
  • check duplicated ReferenceConfig/ServiceConfig by unique service name.
  • improve the performance for generating random numbers.
  • if user define interface service discovery, not publish service name mapping info.
  • use StringBuilder#append(Char) to improve performance.
  • gRPC Compile class interface order.
  • improve property placeholder resolving of reference bean.
  • use CompletableFuture#get(long, TimeUnit) to take place of CompletableFuture#get() in MergeableClusterInvoker.
  • service delay export config ignore metadata service.
  • improve dubbo config beans and bootstrap initialization.
  • improve duplicated config checking and add tests for reference annotation.
  • replace with ring for registry notification & suppress property checker.
  • improve dynamic configuration initialization.
  • lock-free ConfigManager and improve config checking.
  • modify metadata equals and instance listener.
  • improve async export / refer.
  • use TreeSet to ensure ServiceNames order when subscribe.
  • make first tenth calls notify not delay RegistryNotifier.
  • refactor compiler to generate new format stubs.
  • change mesh rule group to config default value.
  • compatible with nacos grouping via group.
  • remove runtime params in ServiceInfo.
  • throw RpcException when NacosException occurred.
  • configcenter ban accessLogKey and FileRouterFactory key.
  • improve config bean initialization compatible with spring 3.x/4.1.x.
  • dubbo bootstrap start re-entry, export/refer new services.
  • org.apache.dubbo.* add serialization whitelist.
  • ensure generated config id is unique, checking existed config.
  • compatible with filed change declaration override for Javaassist.
  • refactor Codec check, default deny.
  • compatible with adaptive extensions when ApplicationModel is null.

Code Improvement

Thanks for these contribution to improve stability of Apache Dubbo.

#8111, #8147, #8164, #8177, #8180, #8161, #8183, #8205, #8215, #8173, #8219, #8228, #8232, #8230, #8236, #8260, #8262, #8252, #8246, #8208, #8278, #8267, #8277, #8291, #8296, #8302, #8175, #8319, #8309, #8336, #8332, #8328, #8355, #8396, #8401, #8395, #8415, #8406, #8411, #8418, #8439, #8404, #8443

Dependency Changes

  • remove dependency: org.eclipse.collections:eclipse-collections
  • remove dependency: com.google.guava:guava
  • jetty: 9.4.11.v20180605 -> 9.4.43.v20210629
  • apollo client: 1.1.1 -> 1.8.0
  • snakeyaml: 1.20 -> 1.29
  • tomcat embed: 8.5.31 -> 8.5.69
  • nacos client: 2.0.0 -> 2.0.2
  • swagger: 1.5.19 -> 1.5.24
  • hessian_lite: 3.2.8 -> 3.2.11