Skip to content

Commit 981f5db

Browse files
authored
chore(release): 9.18.0-beta.1 (#3628)
* bump version to 9.18.0-beta.1 * add release notes
1 parent d4ae523 commit 981f5db

File tree

14 files changed

+69
-17
lines changed

14 files changed

+69
-17
lines changed

RELEASE-NOTES.md

Lines changed: 52 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,57 @@
11
# Release Notes
22

3+
# 9.18.0-beta.1 (2025-12-01)
4+
5+
## 🚀 Highlights
6+
7+
### Request and Response Policy Based Routing in Cluster Mode
8+
9+
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.
10+
11+
**Key Features:**
12+
- **Command Policy Loader**: Automatically parses and caches COMMAND metadata with routing/aggregation hints
13+
- **Enhanced Routing Engine**: Supports all request policies including:
14+
- `default(keyless)` - Commands without keys
15+
- `default(hashslot)` - Commands with hash slot routing
16+
- `all_shards` - Commands that need to run on all shards
17+
- `all_nodes` - Commands that need to run on all nodes
18+
- `multi_shard` - Commands that span multiple shards
19+
- `special` - Commands with custom routing logic
20+
- **Response Aggregator**: Intelligently combines multi-shard replies based on response policies:
21+
- `all_succeeded` - All shards must succeed
22+
- `one_succeeded` - At least one shard must succeed
23+
- `agg_sum` - Aggregate numeric responses
24+
- `special` - Custom aggregation logic (e.g., FT.CURSOR)
25+
- **Raw Command Support**: Policies are enforced on `Client.Do(ctx, args...)`
26+
27+
This feature is particularly useful for Redis Stack commands like RediSearch that need to operate across multiple shards in a cluster.
28+
29+
### Connection Pool Improvements
30+
31+
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.
32+
33+
## ✨ New Features
34+
35+
- Request and Response Policy Based Routing in Cluster Mode ([#3422](https://github.com/redis/go-redis/pull/3422)) by [@ofekshenawa](https://github.com/ofekshenawa)
36+
37+
## 🐛 Bug Fixes
38+
39+
- Fixed connection pool turn management to prevent connection leaks ([#3626](https://github.com/redis/go-redis/pull/3626)) by [@cyningsun](https://github.com/cyningsun)
40+
41+
## 🧰 Maintenance
42+
43+
- chore(deps): bump rojopolis/spellcheck-github-actions from 0.54.0 to 0.55.0 ([#3627](https://github.com/redis/go-redis/pull/3627))
44+
45+
## 👥 Contributors
46+
47+
We'd like to thank all the contributors who worked on this release!
48+
49+
[@cyningsun](https://github.com/cyningsun), [@ofekshenawa](https://github.com/ofekshenawa), [@ndyakov](https://github.com/ndyakov)
50+
51+
---
52+
53+
**Full Changelog**: https://github.com/redis/go-redis/compare/v9.17.1...v9.18.0-beta.1
54+
355
# 9.17.1 (2025-11-25)
456

557
## 🐛 Bug Fixes

example/del-keys-without-ttl/go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ go 1.18
55
replace github.com/redis/go-redis/v9 => ../..
66

77
require (
8-
github.com/redis/go-redis/v9 v9.17.1
8+
github.com/redis/go-redis/v9 v9.18.0-beta.1
99
go.uber.org/zap v1.24.0
1010
)
1111

example/digest-optimistic-locking/go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ go 1.18
55
replace github.com/redis/go-redis/v9 => ../..
66

77
require (
8-
github.com/redis/go-redis/v9 v9.17.1
8+
github.com/redis/go-redis/v9 v9.18.0-beta.1
99
github.com/zeebo/xxh3 v1.0.2
1010
)
1111

example/hll/go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ go 1.18
44

55
replace github.com/redis/go-redis/v9 => ../..
66

7-
require github.com/redis/go-redis/v9 v9.17.1
7+
require github.com/redis/go-redis/v9 v9.18.0-beta.1
88

99
require (
1010
github.com/cespare/xxhash/v2 v2.3.0 // indirect

example/hset-struct/go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ replace github.com/redis/go-redis/v9 => ../..
66

77
require (
88
github.com/davecgh/go-spew v1.1.1
9-
github.com/redis/go-redis/v9 v9.17.1
9+
github.com/redis/go-redis/v9 v9.18.0-beta.1
1010
)
1111

1212
require (

example/lua-scripting/go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ go 1.18
44

55
replace github.com/redis/go-redis/v9 => ../..
66

7-
require github.com/redis/go-redis/v9 v9.17.1
7+
require github.com/redis/go-redis/v9 v9.18.0-beta.1
88

99
require (
1010
github.com/cespare/xxhash/v2 v2.3.0 // indirect

example/otel/go.mod

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,8 +11,8 @@ replace github.com/redis/go-redis/extra/redisotel/v9 => ../../extra/redisotel
1111
replace github.com/redis/go-redis/extra/rediscmd/v9 => ../../extra/rediscmd
1212

1313
require (
14-
github.com/redis/go-redis/extra/redisotel/v9 v9.17.1
15-
github.com/redis/go-redis/v9 v9.17.1
14+
github.com/redis/go-redis/extra/redisotel/v9 v9.18.0-beta.1
15+
github.com/redis/go-redis/v9 v9.18.0-beta.1
1616
github.com/uptrace/uptrace-go v1.21.0
1717
go.opentelemetry.io/otel v1.22.0
1818
)
@@ -25,7 +25,7 @@ require (
2525
github.com/go-logr/stdr v1.2.2 // indirect
2626
github.com/golang/protobuf v1.5.3 // indirect
2727
github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0 // indirect
28-
github.com/redis/go-redis/extra/rediscmd/v9 v9.17.1 // indirect
28+
github.com/redis/go-redis/extra/rediscmd/v9 v9.18.0-beta.1 // indirect
2929
go.opentelemetry.io/contrib/instrumentation/runtime v0.46.1 // indirect
3030
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.44.0 // indirect
3131
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0 // indirect

example/redis-bloom/go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ go 1.18
44

55
replace github.com/redis/go-redis/v9 => ../..
66

7-
require github.com/redis/go-redis/v9 v9.17.1
7+
require github.com/redis/go-redis/v9 v9.18.0-beta.1
88

99
require (
1010
github.com/cespare/xxhash/v2 v2.3.0 // indirect

example/scan-struct/go.mod

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ replace github.com/redis/go-redis/v9 => ../..
66

77
require (
88
github.com/davecgh/go-spew v1.1.1
9-
github.com/redis/go-redis/v9 v9.17.1
9+
github.com/redis/go-redis/v9 v9.18.0-beta.1
1010
)
1111

1212
require (

extra/rediscensus/go.mod

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ replace github.com/redis/go-redis/v9 => ../..
77
replace github.com/redis/go-redis/extra/rediscmd/v9 => ../rediscmd
88

99
require (
10-
github.com/redis/go-redis/extra/rediscmd/v9 v9.17.1
11-
github.com/redis/go-redis/v9 v9.17.1
10+
github.com/redis/go-redis/extra/rediscmd/v9 v9.18.0-beta.1
11+
github.com/redis/go-redis/v9 v9.18.0-beta.1
1212
go.opencensus.io v0.24.0
1313
)
1414

0 commit comments

Comments
 (0)