v2.9.2
- deps: upgrade kratos version to v2.9.2 (#3773)
- feat(ci): implement comment-check in workflows. (#3426)
- feat(consul): support custom tags for service registration (#3707)
- fix(metadata): ensure Clone creates deep copy of slices (#3767)
- fix(http): ignored errors in error message (#3751)
- fix: google.protobuf.Empty produces invalid type*pb.google_protobuf_Empty(#3715) (#3716)
- fix(transport/grpc): ClientOption cannot initialize StreamMiddleware(#3697) (#3729)
- chore(ci): update GitHub Actions dependencies (#3746)
- chore(go.mod): update Go version to 1.22 across all modules (#3745)
- chore(all): normalize whitespace (#3713)
-
build(deps): bump peter-evans/create-or-update-comment (#3761)
-
docs: correct official documentation URLs (#3768)
-
perf(config): move placeholder regex to package-level variable (#3769)
-
perf(encoding/form): optimize parseURLQueryMapKey with memory-efficient implementation (#3770)
-
docs: improve some comments (#3766)
-
build(deps): bump actions/checkout from 4 to 6 (#3762)
-
build(deps): bump peter-evans/find-comment from 3.1.0 to 4.0.0 (#3760)
-
refactor(transport/http): improve compatibility for 'RequestFromServerContext' (#3749)
-
ci: add missing fi in comment-check.yml (#3753)
-
refactor: use math/rand/v2 instead of math/rand (#3752)
-
Revert "支持nacos v2 (#3493)" (#3747)
-
支持nacos v2 (#3493)
-
style(contrib/registry/kubernetes): simplify namespace empty check in NewRegistry (#3665)
-
perf(log): optimize key-value pair processing in Filter.Log (#3664)
-
perf(selector/wrr): optimize map initialization and simplify node comparison (#3738)
-
build(all): remove unused compatibility files and legacy build tags (#3735)
-
ci: add Go 1.25 support (#3736)
-
test(selector/random): update TestWrr to use more reasonable statistical bounds (#3737)
-
build(deps): bump github/codeql-action from 3 to 4 (#3744)
- @Dark1Forest made their first contribution in https://github.com/go-kratos/kratos/pull/3729
- @CZJCC made their first contribution in https://github.com/go-kratos/kratos/pull/3493
- @HeimaoLST made their first contribution in https://github.com/go-kratos/kratos/pull/3716
- @unkmonster made their first contribution in https://github.com/go-kratos/kratos/pull/3749
Full Changelog: https://github.com/go-kratos/kratos/compare/v2.9.1...v2.9.2
Version 2.13.2 Bug Fix Release
This fixes a problem that affected some applications on Windows (wrong terminal dimensions due to an off-by-one error.)
Full Changelog: https://github.com/gdamore/tcell/compare/v2.13.1...v2.13.2
Version 3.0.2 Bug Fix Release
- fix(windows): remove incorrect +1 from console dimension calculations by @ayn2op in https://github.com/gdamore/tcell/pull/890
- @ayn2op made their first contribution in https://github.com/gdamore/tcell/pull/890
Full Changelog: https://github.com/gdamore/tcell/compare/v3.0.1...v3.0.2
Version 3.0.1 Bug Fix Release
One very unfortunate bug with key handling (capital letters not working) was found just after we released 3.0.0.
This release also adds some accessors which should have been in 3.0.0 but weren't. Technically this probably should have been a minor release, but we don't think anyone is likely to have started using 3.0.0 for real (particularly with the nasty bug we fixed), so we decided not to make it a minor release.
With this direct Attributes use is no longer recommended. Use the accessors on Style instead.
- Add style accessors by @gdamore in https://github.com/gdamore/tcell/pull/880
- fix: Shift+letter A-Z treated as Ctrl+letter by @tihirvon in https://github.com/gdamore/tcell/pull/882
- fix: report control space properly in legacy by @gdamore in https://github.com/gdamore/tcell/pull/883
- CodeRabbit Generated Unit Tests: Add comprehensive unit tests for input.go null-byte handling by @coderabbitai[bot] in https://github.com/gdamore/tcell/pull/884
- @coderabbitai[bot] made their first contribution in https://github.com/gdamore/tcell/pull/884
Full Changelog: https://github.com/gdamore/tcell/compare/v3.0.0...v3.0.1
9.18.0-beta.1
This beta release introduces comprehensive support for Redis COMMAND-based request and response policy routing for cluster clients. This feature enables intelligent command routing and response aggregation based on Redis command metadata.
Key Features:
- Command Policy Loader: Automatically parses and caches COMMAND metadata with routing/aggregation hints
- Enhanced Routing Engine: Supports all request policies including:
default(keyless)- Commands without keysdefault(hashslot)- Commands with hash slot routingall_shards- Commands that need to run on all shardsall_nodes- Commands that need to run on all nodesmulti_shard- Commands that span multiple shardsspecial- Commands with custom routing logic
- Response Aggregator: Intelligently combines multi-shard replies based on response policies:
all_succeeded- All shards must succeedone_succeeded- At least one shard must succeedagg_sum- Aggregate numeric responsesspecial- Custom aggregation logic (e.g., FT.CURSOR)
- Raw Command Support: Policies are enforced on
Client.Do(ctx, args...)
This feature is particularly useful for Redis Stack commands like RediSearch that need to operate across multiple shards in a cluster.
Fixed a critical defect in the connection pool's turn management mechanism that could lead to connection leaks under certain conditions. The fix ensures proper 1:1 correspondence between turns and connections.
- Request and Response Policy Based Routing in Cluster Mode (#3422) by @ofekshenawa
- Fixed connection pool turn management to prevent connection leaks (#3626) by @cyningsun
- chore(deps): bump rojopolis/spellcheck-github-actions from 0.54.0 to 0.55.0 (#3627)
We'd like to thank all the contributors who worked on this release!
9.18.0-beta.1
This beta release introduces comprehensive support for Redis COMMAND-based request and response policy routing for cluster clients. This feature enables intelligent command routing and response aggregation based on Redis command metadata.
Key Features:
- Command Policy Loader: Automatically parses and caches COMMAND metadata with routing/aggregation hints
- Enhanced Routing Engine: Supports all request policies including:
default(keyless)- Commands without keysdefault(hashslot)- Commands with hash slot routingall_shards- Commands that need to run on all shardsall_nodes- Commands that need to run on all nodesmulti_shard- Commands that span multiple shardsspecial- Commands with custom routing logic
- Response Aggregator: Intelligently combines multi-shard replies based on response policies:
all_succeeded- All shards must succeedone_succeeded- At least one shard must succeedagg_sum- Aggregate numeric responsesspecial- Custom aggregation logic (e.g., FT.CURSOR)
- Raw Command Support: Policies are enforced on
Client.Do(ctx, args...)
This feature is particularly useful for Redis Stack commands like RediSearch that need to operate across multiple shards in a cluster.
Fixed a critical defect in the connection pool's turn management mechanism that could lead to connection leaks under certain conditions. The fix ensures proper 1:1 correspondence between turns and connections.
- Request and Response Policy Based Routing in Cluster Mode (#3422) by @ofekshenawa
- Fixed connection pool turn management to prevent connection leaks (#3626) by @cyningsun
- chore(deps): bump rojopolis/spellcheck-github-actions from 0.54.0 to 0.55.0 (#3627)
We'd like to thank all the contributors who worked on this release!
9.17.2
- Connection Pool: Fixed critical race condition in turn management that could cause connection leaks when dial goroutines complete after request timeout (#3626) by @cyningsun
- Context Timeout: Improved context timeout calculation to use minimum of remaining time and DialTimeout, preventing goroutines from waiting longer than necessary (#3626) by @cyningsun
- chore(deps): bump rojopolis/spellcheck-github-actions from 0.54.0 to 0.55.0 (#3627)
We'd like to thank all the contributors who worked on this release!
@cyningsun and @ndyakov
9.17.2
- Connection Pool: Fixed critical race condition in turn management that could cause connection leaks when dial goroutines complete after request timeout (#3626) by @cyningsun
- Context Timeout: Improved context timeout calculation to use minimum of remaining time and DialTimeout, preventing goroutines from waiting longer than necessary (#3626) by @cyningsun
- chore(deps): bump rojopolis/spellcheck-github-actions from 0.54.0 to 0.55.0 (#3627)
We'd like to thank all the contributors who worked on this release!
@cyningsun and @ndyakov
Version 3.0.0 Major Release
Version 3 is a major new release. It introduces improvements in the event handling, richer support for more keys and modifier reports, more functionality out of the box, desktop notification support, simpler APIs for emitting strings directly to the screen, and numerous bug fixes.
Every Tcell version 2 application will need some modifications to work with Tcell version 3. See the CHANGESv3.md document for more information.
Full Changelog: https://github.com/gdamore/tcell/compare/v2.13.0...v3.0.0
Version 2.13.1 Bug Fix Release
This fixes a bug decoding certain control keys ([, ], )