v3.1.0
Breaking Changes
For users upgrading from 3.0.x or below, please notice that the default service discovery model in 3.1.0 has changed to registry-type: instance
, which stands for the application-level discovery model in Dubbo3.
To be able to discover instances of lower version, please set registry-type
of 3.1.0 instance to interface
in via dubbogo.yml or API:
dubbo:
registries:
zk:
protocol: zookeeper
address: 127.0.0.1:2181
registry-type: interface
Features
- Implement RemoveConfig API for nacos and zookeeper
- Expose TLSConfig for config api
- Add subscribe any value
- Implement condition routing basic functions and complete related tests
- Implement dynamic routing
- Tag route static config
- Upgrade nacos 2.x
- Print logs of registered providers and consumers
- Add request processing total and request succeed total metrics
- Add some metrics about RT
- Add metrics base api interface
- Sliding window and rt quantile metrics
Bugfixes
- Fix: Call Java provider occur error use group+version on triple protocol
- Fix: Register instance protocol info to polaris when use Tripe
- Fix: Custom triple server message size
- Fix: Start a new routine when subscribing
- Fix: Upgrade hessian2 to fix java wrapper object decoding bug
- Fix: Polaris service discovery cause nil panic
- Fix: The metadata invoker is destroyed too early
- Fix: Format imports in metrics module
- Fix: Solve config bool field zero value bug by using pointer
- Fix: Disable metrics filter by default instead
Enhancements
- Add serviceMappingListener for application service discovery
- The argument to ioutil.ReadFile in the config.WithPath method is changed to conf.path
- Upgrade hessian2 to support java wrapper types
- Tablewrite cli show
- Refactor: remove providers and add prefix when use polaris
- Log configuration supports other frameworks and can configure log file generation directory and file size
- Ignore node not exist error message and continue retry
- Refactor: Split metrics module into multiple files
- Ignore zk node already exist when store provider/consumer metadata
- Try update value if node already exists
- Refactor: Use promauto and promhttp
- Chore: Unnecessary use of fmt.Sprintf
- Chore: Pkg imported more than once