Skip to content

fix(deps): update module github.com/redis/go-redis/v9 to v9.11.0

Renovate requested to merge renovate/github.com-redis-go-redis-v9-9.x into main

This MR contains the following updates:

Package Change Age Confidence
github.com/redis/go-redis/v9 v9.7.0 -> v9.11.0 age confidence

Release Notes

redis/go-redis (github.com/redis/go-redis/v9)

v9.11.0: 9.11.0

Compare Source

🚀 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 and ClusterClient (#​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

Compare Source

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

  • Add the missing NewFloatSliceResult for testing (#​3393)
  • DOC-5078 vector set examples (#​3394)

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

Compare Source

🚀 Highlights

  • Token-based Authentication: Added StreamingCredentialsProvider for dynamic credential updates (experimental)
  • 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:
    • ParseFloat and MustParseFloat in public utils package (#​3371)
    • Unit tests for Atoi, ParseInt, ParseUint, and ParseFloat (#​3377)
  • 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 in init() (#​3387)
  • Exported pool errors for public consumption (#​3380)

🔧 Dependencies and Infrastructure

🧪 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

Compare Source

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) and HSTRLEN command
  • Search Improvements: Enabled Search DIALECT 2 by default and added CountOnly argument for FT.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 from pool.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 for FT.Search to use LIMIT 0 0 (#​3338)
  • Added DB option support in NewFailoverClusterClient (#​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 added CountOnly 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 and SMEMBERS 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:
    • Bumped golangci/golangci-lint-action from 6.5.0 to 7.0.0 (#​3354)
    • Bumped rojopolis/spellcheck-github-actions (#​3336)
    • Bumped golang.org/x/net in example/otel (#​3308)
  • 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

Compare Source

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

Compare Source

v9.7.1

Compare Source

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

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

♻️ Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, check this box

This MR has been generated by Renovate Bot.

Edited by Renovate

Merge request reports

Loading