From e4965ea90b6a4a62a94e2ee331a359159fe9051d Mon Sep 17 00:00:00 2001 From: Nedyalko Dyakov <1547186+ndyakov@users.noreply.github.com> Date: Tue, 9 Dec 2025 15:50:10 +0200 Subject: [PATCH] chore(release) v9.18.0-beta.2 (#3644) * add release notes * update version number * update date --- RELEASE-NOTES.md | 41 ++++++++++++++++++++++++ example/del-keys-without-ttl/go.mod | 2 +- example/digest-optimistic-locking/go.mod | 2 +- example/hll/go.mod | 2 +- example/hset-struct/go.mod | 2 +- example/lua-scripting/go.mod | 2 +- example/otel/go.mod | 6 ++-- example/redis-bloom/go.mod | 2 +- example/scan-struct/go.mod | 2 +- extra/rediscensus/go.mod | 4 +-- extra/rediscmd/go.mod | 2 +- extra/redisotel/go.mod | 4 +-- extra/redisprometheus/go.mod | 2 +- version.go | 2 +- 14 files changed, 58 insertions(+), 17 deletions(-) diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index 719942af..12119598 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -1,5 +1,46 @@ # Release Notes +# 9.18.0-beta.2 (2025-12-09) + +## 🚀 Highlights + +### Go Version Update + +This release updates the minimum required Go version to 1.21. This is part of a gradual migration strategy where the minimum supported Go version will be three versions behind the latest release. With each new Go version release, we will bump the minimum version by one, ensuring compatibility while staying current with the Go ecosystem. + +### Stability Improvements + +This release includes several important stability fixes: +- Fixed a critical panic in the handoff worker manager that could occur when handling nil errors +- Improved test reliability for Smart Client Handoff functionality +- Fixed logging format issues that could cause runtime errors + +## ✨ New Features + +- OpenTelemetry metrics improvements for nil response handling ([#3638](https://github.com/redis/go-redis/pull/3638)) by [@fengve](https://github.com/fengve) + +## 🐛 Bug Fixes + +- Fixed panic on nil error in handoffWorkerManager closeConnFromRequest ([#3633](https://github.com/redis/go-redis/pull/3633)) by [@ccoVeille](https://github.com/ccoVeille) +- Fixed bad sprintf syntax in logging ([#3632](https://github.com/redis/go-redis/pull/3632)) by [@ccoVeille](https://github.com/ccoVeille) + +## 🧰 Maintenance + +- Updated minimum Go version to 1.21 ([#3640](https://github.com/redis/go-redis/pull/3640)) by [@ndyakov](https://github.com/ndyakov) +- Use Go 1.20 idiomatic string<->byte conversion ([#3435](https://github.com/redis/go-redis/pull/3435)) by [@justinhwang](https://github.com/justinhwang) +- Reduce flakiness of Smart Client Handoff test ([#3641](https://github.com/redis/go-redis/pull/3641)) by [@kiryazovi-redis](https://github.com/kiryazovi-redis) +- Revert PR #3634 (Observability metrics phase1) ([#3635](https://github.com/redis/go-redis/pull/3635)) by [@ofekshenawa](https://github.com/ofekshenawa) + +## 👥 Contributors + +We'd like to thank all the contributors who worked on this release! + +[@justinhwang](https://github.com/justinhwang), [@ndyakov](https://github.com/ndyakov), [@kiryazovi-redis](https://github.com/kiryazovi-redis), [@fengve](https://github.com/fengve), [@ccoVeille](https://github.com/ccoVeille), [@ofekshenawa](https://github.com/ofekshenawa) + +--- + +**Full Changelog**: https://github.com/redis/go-redis/compare/v9.18.0-beta.1...v9.18.0-beta.2 + # 9.18.0-beta.1 (2025-12-01) ## 🚀 Highlights diff --git a/example/del-keys-without-ttl/go.mod b/example/del-keys-without-ttl/go.mod index a0f07a53..9653e1ce 100644 --- a/example/del-keys-without-ttl/go.mod +++ b/example/del-keys-without-ttl/go.mod @@ -5,7 +5,7 @@ go 1.21 replace github.com/redis/go-redis/v9 => ../.. require ( - github.com/redis/go-redis/v9 v9.18.0-beta.1 + github.com/redis/go-redis/v9 v9.18.0-beta.2 go.uber.org/zap v1.24.0 ) diff --git a/example/digest-optimistic-locking/go.mod b/example/digest-optimistic-locking/go.mod index 0d7f9850..83331d05 100644 --- a/example/digest-optimistic-locking/go.mod +++ b/example/digest-optimistic-locking/go.mod @@ -5,7 +5,7 @@ go 1.21 replace github.com/redis/go-redis/v9 => ../.. require ( - github.com/redis/go-redis/v9 v9.18.0-beta.1 + github.com/redis/go-redis/v9 v9.18.0-beta.2 github.com/zeebo/xxh3 v1.0.2 ) diff --git a/example/hll/go.mod b/example/hll/go.mod index fb6b41fd..6de9e2d2 100644 --- a/example/hll/go.mod +++ b/example/hll/go.mod @@ -4,7 +4,7 @@ go 1.21 replace github.com/redis/go-redis/v9 => ../.. -require github.com/redis/go-redis/v9 v9.18.0-beta.1 +require github.com/redis/go-redis/v9 v9.18.0-beta.2 require ( github.com/cespare/xxhash/v2 v2.3.0 // indirect diff --git a/example/hset-struct/go.mod b/example/hset-struct/go.mod index b4a83a4c..f39b57d9 100644 --- a/example/hset-struct/go.mod +++ b/example/hset-struct/go.mod @@ -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.18.0-beta.1 + github.com/redis/go-redis/v9 v9.18.0-beta.2 ) require ( diff --git a/example/lua-scripting/go.mod b/example/lua-scripting/go.mod index 585091f5..d2a88021 100644 --- a/example/lua-scripting/go.mod +++ b/example/lua-scripting/go.mod @@ -4,7 +4,7 @@ go 1.21 replace github.com/redis/go-redis/v9 => ../.. -require github.com/redis/go-redis/v9 v9.18.0-beta.1 +require github.com/redis/go-redis/v9 v9.18.0-beta.2 require ( github.com/cespare/xxhash/v2 v2.3.0 // indirect diff --git a/example/otel/go.mod b/example/otel/go.mod index 1222c070..ffb65bf2 100644 --- a/example/otel/go.mod +++ b/example/otel/go.mod @@ -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.18.0-beta.1 - github.com/redis/go-redis/v9 v9.18.0-beta.1 + github.com/redis/go-redis/extra/redisotel/v9 v9.18.0-beta.2 + github.com/redis/go-redis/v9 v9.18.0-beta.2 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.18.0-beta.1 // indirect + github.com/redis/go-redis/extra/rediscmd/v9 v9.18.0-beta.2 // 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 diff --git a/example/redis-bloom/go.mod b/example/redis-bloom/go.mod index 6a1ef50b..1f48cdd6 100644 --- a/example/redis-bloom/go.mod +++ b/example/redis-bloom/go.mod @@ -4,7 +4,7 @@ go 1.21 replace github.com/redis/go-redis/v9 => ../.. -require github.com/redis/go-redis/v9 v9.18.0-beta.1 +require github.com/redis/go-redis/v9 v9.18.0-beta.2 require ( github.com/cespare/xxhash/v2 v2.3.0 // indirect diff --git a/example/scan-struct/go.mod b/example/scan-struct/go.mod index b4a83a4c..f39b57d9 100644 --- a/example/scan-struct/go.mod +++ b/example/scan-struct/go.mod @@ -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.18.0-beta.1 + github.com/redis/go-redis/v9 v9.18.0-beta.2 ) require ( diff --git a/extra/rediscensus/go.mod b/extra/rediscensus/go.mod index 3cb2a108..02acd37d 100644 --- a/extra/rediscensus/go.mod +++ b/extra/rediscensus/go.mod @@ -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.18.0-beta.1 - github.com/redis/go-redis/v9 v9.18.0-beta.1 + github.com/redis/go-redis/extra/rediscmd/v9 v9.18.0-beta.2 + github.com/redis/go-redis/v9 v9.18.0-beta.2 go.opencensus.io v0.24.0 ) diff --git a/extra/rediscmd/go.mod b/extra/rediscmd/go.mod index d8d8405d..ac3fcd67 100644 --- a/extra/rediscmd/go.mod +++ b/extra/rediscmd/go.mod @@ -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.18.0-beta.1 + github.com/redis/go-redis/v9 v9.18.0-beta.2 ) require ( diff --git a/extra/redisotel/go.mod b/extra/redisotel/go.mod index 3ebcca1d..8bad997a 100644 --- a/extra/redisotel/go.mod +++ b/extra/redisotel/go.mod @@ -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.18.0-beta.1 - github.com/redis/go-redis/v9 v9.18.0-beta.1 + github.com/redis/go-redis/extra/rediscmd/v9 v9.18.0-beta.2 + github.com/redis/go-redis/v9 v9.18.0-beta.2 go.opentelemetry.io/otel v1.22.0 go.opentelemetry.io/otel/metric v1.22.0 go.opentelemetry.io/otel/sdk v1.22.0 diff --git a/extra/redisprometheus/go.mod b/extra/redisprometheus/go.mod index 1b558bf2..4ec61c7f 100644 --- a/extra/redisprometheus/go.mod +++ b/extra/redisprometheus/go.mod @@ -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.18.0-beta.1 + github.com/redis/go-redis/v9 v9.18.0-beta.2 ) require ( diff --git a/version.go b/version.go index a825df60..6654e73a 100644 --- a/version.go +++ b/version.go @@ -2,5 +2,5 @@ package redis // Version is the current release version. func Version() string { - return "9.18.0-beta.1" + return "9.18.0-beta.2" }