Skip to content

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Jun 9, 2025

This PR contains the following updates:

Package Change Age Confidence
github.com/redis/go-redis/v9 v9.9.0 -> v9.17.2 age confidence

Release Notes

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

v9.17.2: 9.17.2

Compare Source

🐛 Bug Fixes

  • Connection Pool: Fixed critical race condition in turn management that could cause connection leaks when dial goroutines complete after request timeout (#​3626) by @​cyningsun
  • Context Timeout: Improved context timeout calculation to use minimum of remaining time and DialTimeout, preventing goroutines from waiting longer than necessary (#​3626) by @​cyningsun

🧰 Maintenance

  • chore(deps): bump rojopolis/spellcheck-github-actions from 0.54.0 to 0.55.0 (#​3627)

Contributors

We'd like to thank all the contributors who worked on this release!

@​cyningsun and @​ndyakov

v9.17.1: 9.17.1

Compare Source

🐛 Bug Fixes

🧰 Maintenance

  • chore(deps): bump golangci/golangci-lint-action from 9.0.0 to 9.1.0 (#​3609)
  • chore(deps): bump actions/checkout from 5 to 6 (#​3610)
  • chore(script): fix help call in tag.sh (#​3606) by @​ndyakov

Contributors

We'd like to thank all the contributors who worked on this release!

@​marcoferrer and @​ndyakov

v9.17.0: 9.17.0

Compare Source

🚀 Highlights

Redis 8.4 Support

Added support for Redis 8.4, including new commands and features (#​3572)

Typed Errors

Introduced typed errors for better error handling using errors.As instead of string checks. Errors can now be wrapped and set to commands in hooks without breaking library functionality (#​3602)

New Commands
  • CAS/CAD Commands: Added support for Compare-And-Set/Compare-And-Delete operations with conditional matching (IFEQ, IFNE, IFDEQ, IFDNE) (#​3583, #​3595)
  • MSETEX: Atomically set multiple key-value pairs with expiration options and conditional modes (#​3580)
  • XReadGroup CLAIM: Consume both incoming and idle pending entries from streams in a single call (#​3578)
  • ACL Commands: Added ACLGenPass, ACLUsers, and ACLWhoAmI (#​3576)
  • SLOWLOG Commands: Added SLOWLOG LEN and SLOWLOG RESET (#​3585)
  • LATENCY Commands: Added LATENCY LATEST and LATENCY RESET (#​3584)
Search & Vector Improvements
  • Hybrid Search: Added EXPERIMENTAL support for the new FT.HYBRID command (#​3573)
  • Vector Range: Added VRANGE command for vector sets (#​3543)
  • FT.INFO Enhancements: Added vector-specific attributes in FT.INFO response (#​3596)
Connection Pool Improvements
  • Improved Connection Success Rate: Implemented FIFO queue-based fairness and context pattern for connection creation to prevent premature cancellation under high concurrency (#​3518)
  • Connection State Machine: Resolved race conditions and improved pool performance with proper state tracking (#​3559)
  • Pool Performance: Significant performance improvements with faster semaphores, lockless hook manager, and reduced allocations (47-67% faster Get/Put operations) (#​3565)
Metrics & Observability
  • Canceled Metric Attribute: Added 'canceled' metrics attribute to distinguish context cancellation errors from other errors (#​3566)

✨ New Features

🐛 Bug Fixes

⚡ Performance

  • Connection state machine with race condition fixes (#​3559) by @​ndyakov
  • Pool performance improvements: 47-67% faster Get/Put, 33% less memory, 50% fewer allocations (#​3565) by @​ndyakov

🧪 Testing & Infrastructure

👥 Contributors

We'd like to thank all the contributors who worked on this release!

@​12ya, @​ajax16384, @​cxljs, @​cyningsun, @​destinyoooo, @​dragneelfps, @​htemelski-redis, @​manisharma, @​ndyakov, @​ofekshenawa, @​pvragov


Full Changelog: redis/go-redis@v9.16.0...v9.17.0

v9.16.0: 9.16.0

Compare Source

🚀 Highlights

Maintenance Notifications Support

This release introduces comprehensive support for Redis maintenance notifications, enabling applications to handle server maintenance events gracefully. The new maintnotifications package provides:

  • RESP3 Push Notifications: Full support for Redis RESP3 protocol push notifications
  • Connection Handoff: Automatic connection migration during server maintenance with configurable retry policies and circuit breakers
  • Graceful Degradation: Configurable timeout relaxation during maintenance windows to prevent false failures
  • Event-Driven Architecture: Background workers with on-demand scaling for efficient handoff processing

For detailed usage examples and configuration options, see the maintenance notifications documentation.

✨ New Features

  • Trace Filtering: Add support for filtering traces for specific commands, including pipeline operations and dial operations (#​3519, #​3550)
    • New TraceCmdFilter option to selectively trace commands
    • Reduces overhead by excluding high-frequency or low-value commands from traces

🐛 Bug Fixes

  • Pipeline Error Handling: Fix issue where pipeline repeatedly sets the same error (#​3525)
  • Connection Pool: Ensure re-authentication does not interfere with connection handoff operations (#​3547)

🔧 Improvements

  • Hash Commands: Update hash command implementations (#​3523)
  • OpenTelemetry: Use metric.WithAttributeSet to avoid unnecessary attribute copying in redisotel (#​3552)

📚 Documentation

  • Cluster Client: Add explanation for why MaxRetries is disabled for ClusterClient (#​3551)

🧪 Testing & Infrastructure

  • E2E Testing: Upgrade E2E testing framework with improved reliability and coverage (#​3541)
  • Release Process: Improved resiliency of the release process (#​3530)

📦 Dependencies

  • Bump rojopolis/spellcheck-github-actions from 0.51.0 to 0.52.0 (#​3520)
  • Bump github/codeql-action from 3 to 4 (#​3544)

👥 Contributors

We'd like to thank all the contributors who worked on this release!

@​ndyakov, @​htemelski-redis, @​Sovietaced, @​Udhayarajan, @​boekkooi-impossiblecloud, @​Pika-Gopher, @​cxljs, @​huiyifyj, @​omid-h70


Full Changelog: redis/go-redis@v9.14.0...v9.16.0

v9.15.1: Retract v9.15.0 and v9.15.1

v9.14.1: 9.14.1

Compare Source

Changes

  • fix(otel): Add support for filtering traces for certain commands (#​3519)
  • fix(pool): remove conn from idleConns if present (#​3546)

Contributors

We'd like to thank all the contributors who worked on this release!

@​Sovietaced, @​ndyakov

v9.14.0: 9.14.0

Compare Source

Highlights

  • Added batch process method to the pipeline (#​3510)

Changes

🚀 New Features

  • Added batch process method to the pipeline (#​3510)

🐛 Bug Fixes

  • fix: SetErr on Cmd if the command cannot be queued correctly in multi/exec (#​3509)

🧰 Maintenance

  • Updates release drafter config to exclude dependabot (#​3511)
  • chore(deps): bump actions/setup-go from 5 to 6 (#​3504)

Contributors

We'd like to thank all the contributors who worked on this release!

@​elena-kolevska, @​htemelski-redis and @​ndyakov

v9.13.0: 9.13.0

Compare Source

Highlights

  • Pipeliner expose queued commands (#​3496)
  • Ensure that JSON.GET returns Nil response (#​3470)
  • Fixes on Read and Write buffer sizes and UniversalOptions

Changes

  • Pipeliner expose queued commands (#​3496)
  • fix(test): fix a timing issue in pubsub test (#​3498)
  • Allow users to enable read-write splitting in failover mode. (#​3482)
  • Set the read/write buffer size of the sentinel client to 4KiB (#​3476)

🚀 New Features

  • fix(otel): register wait metrics (#​3499)
  • Support subscriptions against cluster slave nodes (#​3480)
  • Add wait metrics to otel (#​3493)
  • Clean failing timeout implementation (#​3472)

🐛 Bug Fixes

  • Do not assume that all non-IP hosts are loopbacks (#​3085)
  • Ensure that JSON.GET returns Nil response (#​3470)

🧰 Maintenance

  • fix(otel): register wait metrics (#​3499)
  • fix(make test): Add default env in makefile (#​3491)
  • Update the introduction to running tests in README.md (#​3495)
  • test: Add comprehensive edge case tests for IncrByFloat command (#​3477)
  • Set the default read/write buffer size of Redis connection to 32KiB (#​3483)
  • Bumps test image to 8.2.1-pre (#​3478)
  • fix UniversalOptions miss ReadBufferSize and WriteBufferSize options (#​3485)
  • chore(deps): bump actions/checkout from 4 to 5 (#​3484)
  • Removes dry run for stale issues policy (#​3471)
  • Update otel metrics URL (#​3474)

Contributors

We'd like to thank all the contributors who worked on this release!

@​LINKIWI, @​cxljs, @​cybersmeashish, @​elena-kolevska, @​htemelski-redis, @​mwhooker, @​ndyakov, @​ofekshenawa, @​suever

v9.12.1: 9.12.1

Compare Source

🚀 Highlights

In the last version (9.12.0) the client introduced bigger write and read buffer sizes. The default value was 512KiB.
However, users reported that this is too big for most use cases and can lead to high memory usage.
In this version the default value is changed to 256KiB. The README.md was updated to reflect the
correct default value and include a note that the default value can be changed.

🐛 Bug Fixes

  • fix(options): Add buffer sizes to failover. Update README (#​3468)

🧰 Maintenance

  • fix(options): Add buffer sizes to failover. Update README (#​3468)
  • chore: update & fix otel example (#​3466)

Contributors

We'd like to thank all the contributors who worked on this release!

@​ndyakov and @​vmihailenco

v9.12.0: 9.12.0

Compare Source

🚀 Highlights

  • This release includes support for Redis 8.2.
  • Introduces an experimental Query Builders for FTSearch, FTAggregate and other search commands.
  • Adds support for EPSILON option in FT.VSIM.
  • Includes bug fixes and improvements contributed by the community related to ring and redisotel.

Changes

  • Improve stale issue workflow (#​3458)
  • chore(ci): Add 8.2 rc2 pre build for CI (#​3459)
  • Added new stream commands (#​3450)
  • feat: Add "skip_verify" to Sentinel (#​3428)
  • fix: errors.Join requires Go 1.20 or later (#​3442)
  • DOC-4344 document quickstart examples (#​3426)
  • feat(bitop): add support for the new bitop operations (#​3409)

🚀 New Features

  • feat: recover addIdleConn may occur panic (#​2445)
  • feat(ring): specify custom health check func via HeartbeatFn option (#​2940)
  • Add Query Builder for RediSearch commands (#​3436)
  • add configurable buffer sizes for Redis connections (#​3453)
  • Add VAMANA vector type to RediSearch (#​3449)
  • VSIM add EPSILON option (#​3454)
  • Add closing support to otel metrics instrumentation (#​3444)

🐛 Bug Fixes

  • fix(redisotel): fix buggy append in reportPoolStats (#​3122)
  • fix(search): return results even if doc is empty (#​3457)
  • [ISSUE-3402]: Ring.Pipelined return dial timeout error (#​3403)

🧰 Maintenance

  • Merges stale issues jobs into one job with two steps (#​3463)
  • improve code readability (#​3446)
  • chore(release): 9.12.0-beta.1 (#​3460)
  • DOC-5472 time series doc examples (#​3443)
  • Add VAMANA compression algorithm tests (#​3461)
  • bumped redis 8.2 version used in the CI/CD (#​3451)

Contributors

We'd like to thank all the contributors who worked on this release!

@​andy-stark-redis, @​cxljs, @​elena-kolevska, @​htemelski-redis, @​jouir, @​monkey92t, @​ndyakov, @​ofekshenawa, @​rokn, @​smnvdev, @​strobil and @​wzy9607

New Contributors

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


Configuration

📅 Schedule: Branch creation - "before 12pm every weekday" (UTC), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

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


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

This PR was generated by Mend Renovate. View the repository job log.

@renovate
Copy link
Contributor Author

renovate bot commented Jun 9, 2025

Branch automerge failure

This PR was configured for branch automerge. However, this is not possible, so it has been raised as a PR instead.

@renovate renovate bot force-pushed the renovate/github.com-redis-go-redis-v9-9.x branch 2 times, most recently from 88ad074 to 7eb9a5c Compare June 24, 2025 15:31
@renovate renovate bot changed the title fix(deps): update module github.com/redis/go-redis/v9 to v9.10.0 fix(deps): update module github.com/redis/go-redis/v9 to v9.11.0 Jun 24, 2025
@renovate renovate bot force-pushed the renovate/github.com-redis-go-redis-v9-9.x branch 2 times, most recently from 6e382b2 to 35784ac Compare August 5, 2025 18:07
@renovate renovate bot changed the title fix(deps): update module github.com/redis/go-redis/v9 to v9.11.0 fix(deps): update module github.com/redis/go-redis/v9 to v9.12.0 Aug 5, 2025
@renovate renovate bot force-pushed the renovate/github.com-redis-go-redis-v9-9.x branch 2 times, most recently from 2da244f to 067c31e Compare August 11, 2025 19:07
@renovate renovate bot changed the title fix(deps): update module github.com/redis/go-redis/v9 to v9.12.0 fix(deps): update module github.com/redis/go-redis/v9 to v9.12.1 Aug 11, 2025
@renovate renovate bot force-pushed the renovate/github.com-redis-go-redis-v9-9.x branch from 067c31e to 951199b Compare August 13, 2025 12:52
@renovate renovate bot force-pushed the renovate/github.com-redis-go-redis-v9-9.x branch 2 times, most recently from 1e5f5bc to eead45d Compare September 3, 2025 14:26
@renovate renovate bot changed the title fix(deps): update module github.com/redis/go-redis/v9 to v9.12.1 fix(deps): update module github.com/redis/go-redis/v9 to v9.13.0 Sep 3, 2025
@renovate renovate bot force-pushed the renovate/github.com-redis-go-redis-v9-9.x branch 2 times, most recently from 635be74 to c2f87a2 Compare September 10, 2025 15:06
@renovate renovate bot changed the title fix(deps): update module github.com/redis/go-redis/v9 to v9.13.0 fix(deps): update module github.com/redis/go-redis/v9 to v9.14.0 Sep 10, 2025
@renovate renovate bot force-pushed the renovate/github.com-redis-go-redis-v9-9.x branch from c2f87a2 to ff3ef92 Compare September 22, 2025 06:41
@renovate renovate bot force-pushed the renovate/github.com-redis-go-redis-v9-9.x branch from ff3ef92 to 058b386 Compare October 9, 2025 12:01
@renovate renovate bot force-pushed the renovate/github.com-redis-go-redis-v9-9.x branch from 058b386 to 744b3d2 Compare October 18, 2025 22:39
@renovate renovate bot changed the title fix(deps): update module github.com/redis/go-redis/v9 to v9.14.0 fix(deps): update module github.com/redis/go-redis/v9 to v9.14.1 Oct 18, 2025
@renovate renovate bot force-pushed the renovate/github.com-redis-go-redis-v9-9.x branch from 744b3d2 to 4f8707d Compare October 23, 2025 18:45
@renovate renovate bot changed the title fix(deps): update module github.com/redis/go-redis/v9 to v9.14.1 fix(deps): update module github.com/redis/go-redis/v9 to v9.16.0 Oct 23, 2025
@renovate renovate bot force-pushed the renovate/github.com-redis-go-redis-v9-9.x branch from 4f8707d to 4f5dc81 Compare November 19, 2025 18:34
@renovate renovate bot changed the title fix(deps): update module github.com/redis/go-redis/v9 to v9.16.0 fix(deps): update module github.com/redis/go-redis/v9 to v9.17.0 Nov 19, 2025
@renovate renovate bot force-pushed the renovate/github.com-redis-go-redis-v9-9.x branch from 4f5dc81 to 7630a18 Compare November 26, 2025 17:47
@renovate renovate bot changed the title fix(deps): update module github.com/redis/go-redis/v9 to v9.17.0 fix(deps): update module github.com/redis/go-redis/v9 to v9.17.1 Nov 26, 2025
@renovate renovate bot force-pushed the renovate/github.com-redis-go-redis-v9-9.x branch from 7630a18 to 64d4d41 Compare December 1, 2025 16:53
@renovate renovate bot changed the title fix(deps): update module github.com/redis/go-redis/v9 to v9.17.1 fix(deps): update module github.com/redis/go-redis/v9 to v9.17.2 Dec 1, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant