build(deps): update module github.com/redis/go-redis/v9 to v9.17.0

This MR contains the following updates:

Package Type Update Change
github.com/redis/go-redis/v9 require minor v9.14.0 -> v9.17.0

MR created with the help of gitlab-org/frontend/renovate-gitlab-bot


Release Notes

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

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: https://github.com/redis/go-redis/compare/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: https://github.com/redis/go-redis/compare/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


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.

Merge request reports

Loading
Loading