This article is more than one year old. Older articles may contain outdated content. Check that the information in the page has not become incorrect since its publication.

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, #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