1
0
mirror of https://github.com/redis/go-redis.git synced 2025-12-05 06:22:07 +03:00

chore(release): 9.18.0-beta.1 (#3628)

* bump version to 9.18.0-beta.1

* add release notes
This commit is contained in:
Nedyalko Dyakov
2025-12-02 15:08:54 +02:00
committed by GitHub
parent d4ae523eb8
commit 981f5db9a2
14 changed files with 69 additions and 17 deletions

View File

@@ -1,5 +1,57 @@
# Release Notes
# 9.18.0-beta.1 (2025-12-01)
## 🚀 Highlights
### Request and Response Policy Based Routing in Cluster Mode
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 keys
- `default(hashslot)` - Commands with hash slot routing
- `all_shards` - Commands that need to run on all shards
- `all_nodes` - Commands that need to run on all nodes
- `multi_shard` - Commands that span multiple shards
- `special` - Commands with custom routing logic
- **Response Aggregator**: Intelligently combines multi-shard replies based on response policies:
- `all_succeeded` - All shards must succeed
- `one_succeeded` - At least one shard must succeed
- `agg_sum` - Aggregate numeric responses
- `special` - 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.
### Connection Pool Improvements
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.
## ✨ New Features
- Request and Response Policy Based Routing in Cluster Mode ([#3422](https://github.com/redis/go-redis/pull/3422)) by [@ofekshenawa](https://github.com/ofekshenawa)
## 🐛 Bug Fixes
- Fixed connection pool turn management to prevent connection leaks ([#3626](https://github.com/redis/go-redis/pull/3626)) by [@cyningsun](https://github.com/cyningsun)
## 🧰 Maintenance
- chore(deps): bump rojopolis/spellcheck-github-actions from 0.54.0 to 0.55.0 ([#3627](https://github.com/redis/go-redis/pull/3627))
## 👥 Contributors
We'd like to thank all the contributors who worked on this release!
[@cyningsun](https://github.com/cyningsun), [@ofekshenawa](https://github.com/ofekshenawa), [@ndyakov](https://github.com/ndyakov)
---
**Full Changelog**: https://github.com/redis/go-redis/compare/v9.17.1...v9.18.0-beta.1
# 9.17.1 (2025-11-25)
## 🐛 Bug Fixes

View File

@@ -5,7 +5,7 @@ go 1.18
replace github.com/redis/go-redis/v9 => ../..
require (
github.com/redis/go-redis/v9 v9.17.1
github.com/redis/go-redis/v9 v9.18.0-beta.1
go.uber.org/zap v1.24.0
)

View File

@@ -5,7 +5,7 @@ go 1.18
replace github.com/redis/go-redis/v9 => ../..
require (
github.com/redis/go-redis/v9 v9.17.1
github.com/redis/go-redis/v9 v9.18.0-beta.1
github.com/zeebo/xxh3 v1.0.2
)

View File

@@ -4,7 +4,7 @@ go 1.18
replace github.com/redis/go-redis/v9 => ../..
require github.com/redis/go-redis/v9 v9.17.1
require github.com/redis/go-redis/v9 v9.18.0-beta.1
require (
github.com/cespare/xxhash/v2 v2.3.0 // indirect

View File

@@ -6,7 +6,7 @@ replace github.com/redis/go-redis/v9 => ../..
require (
github.com/davecgh/go-spew v1.1.1
github.com/redis/go-redis/v9 v9.17.1
github.com/redis/go-redis/v9 v9.18.0-beta.1
)
require (

View File

@@ -4,7 +4,7 @@ go 1.18
replace github.com/redis/go-redis/v9 => ../..
require github.com/redis/go-redis/v9 v9.17.1
require github.com/redis/go-redis/v9 v9.18.0-beta.1
require (
github.com/cespare/xxhash/v2 v2.3.0 // indirect

View File

@@ -11,8 +11,8 @@ replace github.com/redis/go-redis/extra/redisotel/v9 => ../../extra/redisotel
replace github.com/redis/go-redis/extra/rediscmd/v9 => ../../extra/rediscmd
require (
github.com/redis/go-redis/extra/redisotel/v9 v9.17.1
github.com/redis/go-redis/v9 v9.17.1
github.com/redis/go-redis/extra/redisotel/v9 v9.18.0-beta.1
github.com/redis/go-redis/v9 v9.18.0-beta.1
github.com/uptrace/uptrace-go v1.21.0
go.opentelemetry.io/otel v1.22.0
)
@@ -25,7 +25,7 @@ require (
github.com/go-logr/stdr v1.2.2 // indirect
github.com/golang/protobuf v1.5.3 // indirect
github.com/grpc-ecosystem/grpc-gateway/v2 v2.19.0 // indirect
github.com/redis/go-redis/extra/rediscmd/v9 v9.17.1 // indirect
github.com/redis/go-redis/extra/rediscmd/v9 v9.18.0-beta.1 // indirect
go.opentelemetry.io/contrib/instrumentation/runtime v0.46.1 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlpmetric/otlpmetricgrpc v0.44.0 // indirect
go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.21.0 // indirect

View File

@@ -4,7 +4,7 @@ go 1.18
replace github.com/redis/go-redis/v9 => ../..
require github.com/redis/go-redis/v9 v9.17.1
require github.com/redis/go-redis/v9 v9.18.0-beta.1
require (
github.com/cespare/xxhash/v2 v2.3.0 // indirect

View File

@@ -6,7 +6,7 @@ replace github.com/redis/go-redis/v9 => ../..
require (
github.com/davecgh/go-spew v1.1.1
github.com/redis/go-redis/v9 v9.17.1
github.com/redis/go-redis/v9 v9.18.0-beta.1
)
require (

View File

@@ -7,8 +7,8 @@ replace github.com/redis/go-redis/v9 => ../..
replace github.com/redis/go-redis/extra/rediscmd/v9 => ../rediscmd
require (
github.com/redis/go-redis/extra/rediscmd/v9 v9.17.1
github.com/redis/go-redis/v9 v9.17.1
github.com/redis/go-redis/extra/rediscmd/v9 v9.18.0-beta.1
github.com/redis/go-redis/v9 v9.18.0-beta.1
go.opencensus.io v0.24.0
)

View File

@@ -7,7 +7,7 @@ replace github.com/redis/go-redis/v9 => ../..
require (
github.com/bsm/ginkgo/v2 v2.12.0
github.com/bsm/gomega v1.27.10
github.com/redis/go-redis/v9 v9.17.1
github.com/redis/go-redis/v9 v9.18.0-beta.1
)
require (

View File

@@ -7,8 +7,8 @@ replace github.com/redis/go-redis/v9 => ../..
replace github.com/redis/go-redis/extra/rediscmd/v9 => ../rediscmd
require (
github.com/redis/go-redis/extra/rediscmd/v9 v9.17.1
github.com/redis/go-redis/v9 v9.17.1
github.com/redis/go-redis/extra/rediscmd/v9 v9.18.0-beta.1
github.com/redis/go-redis/v9 v9.18.0-beta.1
go.opentelemetry.io/otel v1.22.0
go.opentelemetry.io/otel/metric v1.22.0
go.opentelemetry.io/otel/sdk v1.22.0

View File

@@ -6,7 +6,7 @@ replace github.com/redis/go-redis/v9 => ../..
require (
github.com/prometheus/client_golang v1.14.0
github.com/redis/go-redis/v9 v9.17.1
github.com/redis/go-redis/v9 v9.18.0-beta.1
)
require (

View File

@@ -2,5 +2,5 @@ package redis
// Version is the current release version.
func Version() string {
return "9.17.1"
return "9.18.0-beta.1"
}