Skip to content

Releases: apache/dubbo-go

v3.3.0

22 Mar 10:26
012a247
Compare
Choose a tag to compare

Summary

This release introduces multiple bug fixes, new features, and code enhancements to improve the stability and functionality of Apache Dubbo-Go. Key improvements include resolving various service discovery and registry-related issues, addressing memory leaks, and enhancing the error handling and stability of the underlying communication library. Additionally, new features such as script-based routing, improved Java compatibility, Triple protocol keepalive, and support for Protobuf-based MetadataService have been implemented.

Bug Fixes

  • Resolved initialization of the correct OTEL-GRPC exporter. #2666 #2679
  • Resolved test case inconsistencies. #2660
  • Resolved makezero bug. #2682
  • Resolved nacos service discovery issues. #2691 #2694
  • Corrected protoc-gen-go-triple path. #2690
  • Resolved segmentation fault due to a nil backupCodec. #2698
  • Resolved zookeeper mapping key issues. #2711
  • Resolved issues with nacos registry '*' subscription. #2713
  • Resolved nacos service discovery not retrieving all service names. #2715
  • Resolved potential deadlock scenarios. #2716
  • Resolved service disconnection and configuration invalidation issues. #2717
  • Implemented error handling for triple handler using codeUnimplemented. #2719
  • Resolved router rule parsing log errors. #2720
  • Resolved memory leak issues by setting baseinvoker's URL to nil. #2726
  • Resolved incorrect CallClientStream result handling. #2732
  • Resolved slice initialization length issue. #2734
  • Improved logging of file names, function names, and line numbers. #2744
  • Resolved automatic camel case conversion in HTTP proxy requests. #2746
  • Resolved issues reported by golangci-lint. #2754
  • Resolved incorrect metric type for dubbo_registry_directory. #2766
  • Resolved panic in findMappedServices. #2768
  • Ensured thread-safe ListenerSet usage in CacheListener. #2769
  • Improved subscription behavior to wait for register completion or timeout. #2775
  • Resolved rc.id being always nil. #2778
  • Resolved issue where the same address could not distinguish different registry centers. #2784
  • Removed unnecessary setdeadline usage. #2785
  • Resolved various problematic error returns. #2791
  • Resolved additional memory leak issues. #2792
  • Resolved some inaccurate comments. #2793
  • Fixed data race in ReadMessage(). getty#123
  • Fixed memory leak issue caused by slice interception. #hessian2/374
  • Resolved URL parsing panic and improve error handling in dubbogo-cli for ZooKeeper. 2795

New Features

  • Added script-based routing functionality. #2669
  • Introduced support for conditional routing with multiple destinations. #2685
  • Implemented new conditional rules. #2686
  • Enhanced Java interoperability. #2687
  • Added Protobuf-based MetadataService support. #2723
  • Introduced keepalive configuration for triple protocol. #2757
  • Enhanced nacos registry with multi-category subscription support. #2783
  • Added triple protocol keepalive config. #triple87
  • Added triple protocol connection pool. #triple91

Code Enhancements

  • Added unit tests for metadata. #2665
  • Improved code comments. #2668
  • Renamed method WithClientCheck to WithClientNoCheck. #2680
  • Optimized Nacos endpoint handling. #2692
  • Updated UseAsMetaReport and UseAsConfigCenter to use string values to prevent overrides. #2693
  • Updated condition rule sorting logic. #2688
  • Differentiated business errors from RPC wire errors. #2712
  • Standardized timeout unit to milliseconds in the Dubbo protocol. #2737
  • Move internal into dubbo-go-samples repo. 2794
  • Limited reconnect attempts and duration. getty#117

Contributors

Special thanks to all contributors for their efforts in improving Apache Dubbo-Go:
@1kasa
@AlbumenJ
@AlexStocks
@alingse
@Allen442
@baerwang
@chickenlj
@cuishuang
@FinalT
@FoghostCn
@gexincoding
@knowmost
@linfeip
@marsevilspirit
@Nexusrex18
@No-SilverBullet
@SHA-4096
@ShawnJeffersonWang
@snowleopard331
@solisamicus
@wcy666103
@YarBor
@yumosx

v3.2.0-rc1

10 Mar 15:26
faf6f2a
Compare
Choose a tag to compare

Features

  • Introduce brand new programming API.
  • Upgraded triple protocol, 100% compatible with gRPC while supporting direct HTTP API access with application/json payload.
  • RPC service definition supports both IDL and NON-IDL.
  • Observability enhancement, metrics & tracing
  • Introduce weighted round-robin and alias-method load-balance strategies

Interoperability With Java

This version guarantees fully interoperability between dubbo go and java implementations, below are some interop examples:

  • Example demonstrating dubbo + hesian interop
  • Example demonstrating triple + protobuf interop
  • Example demonstrating triple + non-protobuf interop
  • Example demonstrating service discovery interop

Compatibility

This version is completely compatible with 3.0.x ~ 3.1.x versions. Users using old API and triple protocol can upgrade to this version directly without changing any code.

New Contributors

protoc-gen-go-triple v3.0.0

12 Mar 07:37
faf6f2a
Compare
Choose a tag to compare
cmd/protoc-gen-go-triple/v3.0.0

protoc 3.0.0 first release

v3.1.1

05 Mar 08:28
8f81c76
Compare
Choose a tag to compare

Bugfixes

  • Fix metrics path set in config does not work, #2553
  • Fix retry time calculation, #2550
  • Fix nacos App Metadata not compatible with that in dubbo-java, #2563
  • Fix router warn log, #2559
  • Change timeout of DubboInvoker from Milliseconds to Nanoseconds, #2546
  • Set default application name to dubbo.io if it's empty, #2572
  • Service discovery always try to resue protocol port to avoid listening on too many ports, #2548

v3.1.1-rc1

12 Dec 03:14
d204c4e
Compare
Choose a tag to compare

v3.1.0

27 Jul 12:32
cf92f8c
Compare
Choose a tag to compare

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

Bugfixes

Enhancements

v3.0.5

14 Feb 08:05
6deedc3
Compare
Choose a tag to compare

v3.0.5-rc1

02 Feb 12:49
6deedc3
Compare
Choose a tag to compare

v3.0.4

v3.0.4-rc1