fix(deps): update module github.com/redis/go-redis/v9 to v9.11.0
This MR contains the following updates:
Package | Change | Age | Confidence |
---|---|---|---|
github.com/redis/go-redis/v9 |
v9.7.0 -> v9.11.0
|
Release Notes
redis/go-redis (github.com/redis/go-redis/v9)
v9.11.0
: 9.11.0
🚀 Highlights
Fixes TxPipeline
to work correctly in cluster scenarios, allowing execution of commands
only in the same slot for a given transaction.
Changes
🚀 New Features
- Set cluster slot for
scan
commands, rather than random (#2623) - Add CredentialsProvider field to UniversalOptions (#2927)
- feat(redisotel): add WithCallerEnabled option (#3415)
🐛 Bug Fixes
- fix(txpipeline): keyless commands should take the slot of the keyed (#3411)
- fix(loading): cache the loaded flag for slave nodes (#3410)
- fix(txpipeline): should return error on multi/exec on multiple slots (#3408)
- fix: check if the shard exists to avoid returning nil (#3396)
🧰 Maintenance
- feat: optimize connection pool waitTurn (#3412)
- chore(ci): update CI redis builds (#3407)
- chore: remove a redundant method from
Ring
,Client
andClusterClient
(#3401) - test: refactor TestBasicCredentials using table-driven tests (#3406)
- perf: reduce unnecessary memory allocation operations (#3399)
- fix: insert entry during iterating over a map (#3398)
- DOC-5229 probabilistic data type examples (#3413)
- chore(deps): bump rojopolis/spellcheck-github-actions from 0.49.0 to 0.51.0 (#3414)
Contributors
We'd like to thank all the contributors who worked on this release!
@andy-stark-redis, @boekkooi-impossiblecloud, @cxljs, @dcherubini, @iamamirsalehi, @ndyakov, @pete-woods, @twz915
v9.10.0
: 9.10.0
Experimental support for vector sets!
🚀 Highlights
go-redis
now supports vector sets. This data type is marked as "in preview" in Redis and its support in go-redis
is marked as experimental. You can find examples in the documentation and in the doctests
folder.
Changes
🚀 New Features
🧰 Maintenance
Contributors
We'd like to thank all the contributors who worked on this release!
@AndBobsYourUncle, @andy-stark-redis, @fukua95 and @ndyakov
v9.9.0
: 9.9.0
🚀 Highlights
-
Token-based Authentication: Added
StreamingCredentialsProvider
for dynamic credential updates (experimental)- Can be used with go-redis-entraid for Azure AD authentication
- Connection Statistics: Added connection waiting statistics for better monitoring
-
Failover Improvements: Added
ParseFailoverURL
for easier failover configuration - Ring Client Enhancements: Added shard access methods for better Pub/Sub management
✨ 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:
- Added Ring client shard access methods:
-
GetShardClients()
to retrieve all active shard clients -
GetShardClientForKey(key string)
to get the shard client for a specific key (#3388)
-
🐛 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
ininit()
(#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, @ofekshenawa, @LINKIWI, @iamamirsalehi, @fukua95, @lzakharov, @DengY11
📝 Changelog
For a complete list of changes, see the full changelog.
v9.8.0
9.8.0 (2025-04-30)
🚀 Highlights
- Redis 8 Support: Full compatibility with Redis 8.0, including testing and CI integration
-
Enhanced Hash Operations: Added support for new hash commands (
HGETDEL
,HGETEX
,HSETEX
) andHSTRLEN
command -
Search Improvements: Enabled Search DIALECT 2 by default and added
CountOnly
argument forFT.Search
✨ New Features
- Added support for new hash commands:
HGETDEL
,HGETEX
,HSETEX
(#3305) - Added
HSTRLEN
command for hash operations (#2843) - Added
Do
method for raw query by single connection frompool.Conn()
(#3182) - Prevent false-positive marshaling by treating zero time.Time as empty in isEmptyValue (#3273)
- Added FailoverClusterClient support for Universal client (#2794)
- Added support for cluster mode with
IsClusterMode
config parameter (#3255) - Added client name support in
HELLO
RESP handshake (#3294) - Enabled Search DIALECT 2 by default (#3213)
- Added read-only option for failover configurations (#3281)
- Added
CountOnly
argument forFT.Search
to useLIMIT 0 0
(#3338) - Added
DB
option support inNewFailoverClusterClient
(#3342) - Added
nil
check for the options when creating a client (#3363)
🐛 Bug Fixes
- Fixed
PubSub
concurrency safety issues (#3360) - Fixed panic caused when argument is
nil
(#3353) - Improved error handling when fetching master node from sentinels (#3349)
- Fixed connection pool timeout issues and increased retries (#3298)
- Fixed context cancellation error leading to connection spikes on Primary instances (#3190)
- Fixed RedisCluster client to consider
MASTERDOWN
a retriable error (#3164) - Fixed tracing to show complete commands instead of truncated versions (#3290)
- Fixed OpenTelemetry instrumentation to prevent multiple span reporting (#3168)
- Fixed
FT.Search
Limit argument and addedCountOnly
argument for limit 0 0 (#3338) - Fixed missing command in interface (#3344)
- Fixed slot calculation for
COUNTKEYSINSLOT
command (#3327) - Updated PubSub implementation with correct context (#3329)
📚 Documentation
- Added hash search examples (#3357)
- Fixed documentation comments (#3351)
- Added
CountOnly
search example (#3345) - Added examples for list commands:
LLEN
,LPOP
,LPUSH
,LRANGE
,RPOP
,RPUSH
(#3234) - Added
SADD
andSMEMBERS
command examples (#3242) - Updated
README.md
to use Redis Discord guild (#3331) - Updated
HExpire
command documentation (#3355) - Featured OpenTelemetry instrumentation more prominently (#3316)
- Updated
README.md
with additional information (#310ce55)
⚡ Performance and Reliability
- Bound connection pool background dials to configured dial timeout (#3089)
- Ensured context isn't exhausted via concurrent query (#3334)
🔧 Dependencies and Infrastructure
- Updated testing image to Redis 8.0-RC2 (#3361)
- Enabled CI for Redis CE 8.0 (#3274)
- Updated various dependencies:
- Migrated golangci-lint configuration to v2 format (#3354)
⚠️ Breaking Changes
- Enabled Search DIALECT 2 by default (#3213)
- Dropped RedisGears (Triggers and Functions) support (#3321)
- Dropped FT.PROFILE command that was never enabled (#3323)
🔒 Security
- Fixed network error handling on SETINFO (CVE-2025-29923) (#3295)
🧪 Testing
- Added integration tests for Redis 8 behavior changes in Redis Search (#3337)
- Added vector types INT8 and UINT8 tests (#3299)
- Added test codes for search_commands.go (#3285)
- Fixed example test sorting (#3292)
👥 Contributors
We would like to thank all the contributors who made this release possible:
@alexander-menshchikov, @EXPEbdodla, @afti, @dmaier-redislabs, @four_leaf_clover, @alohaglenn, @gh73962, @justinmir, @LINKIWI, @liushuangbill, @golang88, @gnpaone, @ndyakov, @nikolaydubina, @oleglacto, @andy-stark-redis, @rodneyosodo, @dependabot, @rfyiamcool, @frankxjkuang, @fukua95, @soleymani-milad, @ofekshenawa, @khasanovbi
v9.7.3
What's Changed
- fix: handle network error on SETINFO (#3295) (CVE-2025-29923)
- Deprecating misspelled
DisableIndentity
flag in the client options. - Introducing
DisableIdentity
flag in the client options. - Updating the documentation related to the new flag and the one that was deprecated.
Full Changelog: https://github.com/redis/go-redis/compare/v9.7.1...v9.7.3
v9.7.2
v9.7.1
Changes
- Recognize byte slice for key argument in cluster client hash slot computation (#3049)
- fix(search&aggregate):fix error overwrite and typo #3220 (#3224)
- fix: linter configuration (#3279)
- fix(search): if ft.aggregate use limit when limitoffset is zero (#3275)
- Reinstate read-only lock on hooks access in dialHook to fix data race (#3225)
- fix: flaky ClientKillByFilter test (#3268)
- chore: fix some comments (#3226)
- fix(aggregate, search): ft.aggregate bugfixes (#3263)
- fix: add unstableresp3 to cluster client (#3266)
- Fix race condition in clusterNodes.Addrs() (#3219)
- SortByWithCount FTSearchOptions fix (#3201)
- Eliminate redundant dial mutex causing unbounded connection queue contention (#3088)
- Add guidance on unstable RESP3 support for RediSearch commands to README (#3177)
🚀 New Features
- Add guidance on unstable RESP3 support for RediSearch commands to README (#3177)
🐛 Bug Fixes
- fix(search): if ft.aggregate use limit when limitoffset is zero (#3275)
- fix: add unstableresp3 to cluster client (#3266)
- fix(aggregate, search): ft.aggregate bugfixes (#3263)
- SortByWithCount FTSearchOptions fix (#3201)
- Recognize byte slice for key argument in cluster client hash slot computation (#3049)
Contributors
We'd like to thank all the contributors who worked on this release!
@ofekshenawa, @Cgol9, @LINKIWI, @shawnwgit, @zhuhaicity, @bitsark, @vladvildanov, @ndyakov
Full Changelog: https://github.com/redis/go-redis/compare/v9.7.0...v9.7.1
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.