Skip to content
Merged
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
89 changes: 89 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,94 @@

# Release Notes
---
## 3.3.0
## Summary

This release brings multiple bug fixes, new features, and code enhancements to improve the stability and functionality of Apache Dubbo-Go. Key improvements include fixing various service discovery and registry-related issues, addressing memory leaks, imporving error handling and stability of underlying communication library. Additionally, new features such as script-based routing, enhanced compatibility with Java, triple protocal keepalive and support for Protobuf-based MetadataService have been introduced.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

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

### New Features

- Added script-based routing functionality. [#2669](https://github.com/apache/dubbo-go/pull/2669)
- Introduced support for conditional routing with multiple destinations. [#2685](https://github.com/apache/dubbo-go/pull/2685)
- Implemented new conditional rules. [#2686](https://github.com/apache/dubbo-go/pull/2686)
- Enhanced Java interoperability. [#2687](https://github.com/apache/dubbo-go/pull/2687)
- Added Protobuf-based MetadataService support. [#2723](https://github.com/apache/dubbo-go/pull/2723)
- Introduced keepalive configuration for triple protocol. [#2757](https://github.com/apache/dubbo-go/pull/2757)
- Enhanced nacos registry with multi-category subscription support. [#2783](https://github.com/apache/dubbo-go/pull/2783)
- Added triple protocol keepalive config.[#triple87](https://github.com/dubbogo/triple/pull/87)
- Added triple protocol connection pool.[#triple91](https://github.com/dubbogo/triple/pull/91)

### Code Enhancements

- Added unit tests for metadata. [#2665](https://github.com/apache/dubbo-go/pull/2665)
- Improved various code comments. [#2668](https://github.com/apache/dubbo-go/pull/2668)
- Changed method WithClientCheck to WithClientNoCheck. [#2680](https://github.com/apache/dubbo-go/pull/2680)
- Optimized Nacos endpoint handling. [#2692](https://github.com/apache/dubbo-go/pull/2692)
- Updated UseAsMetaReport and UseAsConfigCenter to string values to prevent overrides. [#2693](https://github.com/apache/dubbo-go/pull/2693)
- Updated condition rule sorting logic. [#2688](https://github.com/apache/dubbo-go/pull/2688)
- Differentiated business errors from RPC wire errors. [#2712](https://github.com/apache/dubbo-go/pull/2712)
- Standardized timeout unit to milliseconds in Dubbo protocol. [#2737](https://github.com/apache/dubbo-go/pull/2737)
- Limit the reconnect times or duration. [getty#117](https://github.com/apache/dubbo-getty/pull/123)
Copy link
Contributor

@AlexStocks AlexStocks Mar 22, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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

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
  • 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
@No-SilverBullet
@SHA-4096
@ShawnJeffersonWang
@snowLeopard331
@solisamicus
@wcy666103
@YarBor
@yumosx

## 3.1.0

Expand Down
Loading