diff --git a/RELEASE-NOTES.md b/RELEASE-NOTES.md index fa106cb9..97014924 100644 --- a/RELEASE-NOTES.md +++ b/RELEASE-NOTES.md @@ -1,5 +1,54 @@ # Release Notes +# 9.9.0 (2024-03-21) + +## ๐Ÿš€ Highlights +- **Token-based Authentication**: Added `StreamingCredentialsProvider` for dynamic credential updates + - Can be used with [go-redis-entraid](https://github.com/redis/go-redis-entraid) for Azure AD authentication +- **Connection Statistics**: Added connection waiting statistics for better monitoring +- **Failover Improvements**: Added `ParseFailoverURL` for easier failover configuration + +## โœจ New Features +- Added `StreamingCredentialsProvider` for token-based authentication (#3320) + - Supports dynamic credential updates + - Includes connection close hooks + - Note: Currently marked as experimental +- Added `ParseFailoverURL` for parsing failover URLs (#3362) +- Added connection waiting statistics (#2804) +- Added new utility functions: + - `ParseFloat` and `MustParseFloat` in public utils package (#3371) + - Unit tests for `Atoi`, `ParseInt`, `ParseUint`, and `ParseFloat` (#3377) + +## ๐Ÿ› Bug Fixes +- Fixed routing reads to loading slave nodes (#3370) +- Added support for nil lag in XINFO GROUPS (#3369) +- Fixed pool acquisition timeout issues (#3381) +- Optimized unnecessary copy operations (#3376) + +## ๐Ÿ“š Documentation +- Updated documentation for XINFO GROUPS with nil lag support (#3369) +- Added package-level comments for new features + +## โšก Performance and Reliability +- Optimized `ReplaceSpaces` function (#3383) +- Set default value for `options.protocol` in `init()` (#3387) +- Exported pool errors for public consumption (#3380) + +## ๐Ÿ”ง Dependencies and Infrastructure +- Updated Redis CI to version 8.0.1 (#3372) +- Updated spellcheck GitHub Actions (#3389) +- Removed unused parameters (#3382, #3384) + +## ๐Ÿงช Testing +- Added unit tests for pool acquisition timeout (#3381) +- Added unit tests for utility functions (#3377) + +## ๐Ÿ‘ฅ Contributors + +We would like to thank all the contributors who made this release possible: + +[@ndyakov](https://github.com/ndyakov), [@ofekshenawa](https://github.com/ofekshenawa), [@LINKIWI](https://github.com/LINKIWI), [@iamamirsalehi](https://github.com/iamamirsalehi), [@fukua95](https://github.com/fukua95), [@lzakharov](https://github.com/lzakharov) + # 9.8.0 (2025-04-30) ## ๐Ÿš€ Highlights diff --git a/example/del-keys-without-ttl/go.mod b/example/del-keys-without-ttl/go.mod index 6d731f37..6a193952 100644 --- a/example/del-keys-without-ttl/go.mod +++ b/example/del-keys-without-ttl/go.mod @@ -5,7 +5,7 @@ go 1.18 replace github.com/redis/go-redis/v9 => ../.. require ( - github.com/redis/go-redis/v9 v9.8.0 + github.com/redis/go-redis/v9 v9.9.0 go.uber.org/zap v1.24.0 ) diff --git a/example/hll/go.mod b/example/hll/go.mod index 28edd2ca..89af916a 100644 --- a/example/hll/go.mod +++ b/example/hll/go.mod @@ -4,7 +4,7 @@ go 1.18 replace github.com/redis/go-redis/v9 => ../.. -require github.com/redis/go-redis/v9 v9.8.0 +require github.com/redis/go-redis/v9 v9.9.0 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 c10579f1..d56b1608 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.8.0 + github.com/redis/go-redis/v9 v9.9.0 ) require ( diff --git a/example/lua-scripting/go.mod b/example/lua-scripting/go.mod index 50964fa8..bec4100d 100644 --- a/example/lua-scripting/go.mod +++ b/example/lua-scripting/go.mod @@ -4,7 +4,7 @@ go 1.18 replace github.com/redis/go-redis/v9 => ../.. -require github.com/redis/go-redis/v9 v9.8.0 +require github.com/redis/go-redis/v9 v9.9.0 require ( github.com/cespare/xxhash/v2 v2.3.0 // indirect diff --git a/example/otel/go.mod b/example/otel/go.mod index da456310..989f21af 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.8.0 - github.com/redis/go-redis/v9 v9.8.0 + github.com/redis/go-redis/extra/redisotel/v9 v9.9.0 + github.com/redis/go-redis/v9 v9.9.0 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.8.0 // indirect + github.com/redis/go-redis/extra/rediscmd/v9 v9.9.0 // 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 86f25db7..392bab97 100644 --- a/example/redis-bloom/go.mod +++ b/example/redis-bloom/go.mod @@ -4,7 +4,7 @@ go 1.18 replace github.com/redis/go-redis/v9 => ../.. -require github.com/redis/go-redis/v9 v9.8.0 +require github.com/redis/go-redis/v9 v9.9.0 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 c10579f1..d56b1608 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.8.0 + github.com/redis/go-redis/v9 v9.9.0 ) require ( diff --git a/extra/rediscensus/go.mod b/extra/rediscensus/go.mod index 65499e2c..66ce5aed 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.8.0 - github.com/redis/go-redis/v9 v9.8.0 + github.com/redis/go-redis/extra/rediscmd/v9 v9.9.0 + github.com/redis/go-redis/v9 v9.9.0 go.opencensus.io v0.24.0 ) diff --git a/extra/rediscmd/go.mod b/extra/rediscmd/go.mod index 20c78b9d..ff3446be 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.8.0 + github.com/redis/go-redis/v9 v9.9.0 ) require ( diff --git a/extra/redisotel/go.mod b/extra/redisotel/go.mod index c9c63427..639c333c 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.8.0 - github.com/redis/go-redis/v9 v9.8.0 + github.com/redis/go-redis/extra/rediscmd/v9 v9.9.0 + github.com/redis/go-redis/v9 v9.9.0 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 25193e46..fc022923 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.8.0 + github.com/redis/go-redis/v9 v9.9.0 ) require ( diff --git a/version.go b/version.go index c56e04ff..24a037f3 100644 --- a/version.go +++ b/version.go @@ -2,5 +2,5 @@ package redis // Version is the current release version. func Version() string { - return "9.8.0" + return "9.9.0" }