Skip to content

Update module github.com/redis/go-redis/v9 to v9.18.0#3837

Merged
rdimitrov merged 1 commit intomainfrom
renovate/github.com-redis-go-redis-v9-9.x
Feb 16, 2026
Merged

Update module github.com/redis/go-redis/v9 to v9.18.0#3837
rdimitrov merged 1 commit intomainfrom
renovate/github.com-redis-go-redis-v9-9.x

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Feb 16, 2026

This PR contains the following updates:

Package Change Age Confidence
github.com/redis/go-redis/v9 v9.17.3v9.18.0 age confidence

Warning

Some dependencies could not be looked up. Check the Dependency Dashboard for more information.


Release Notes

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

v9.18.0: 9.18.0

Compare Source

Redis 8.6 Support

Added support for Redis 8.6, including new commands and features for streams idempotent production and HOTKEYS.

Smart Client Handoff (Maintenance Notifications) for Cluster

note: Pending RS version release

This release introduces comprehensive support for Redis Enterprise Cluster maintenance notifications via SMIGRATING/SMIGRATED push notifications. The client now automatically handles slot migrations by:

  • Relaxing timeouts during migration (SMIGRATING) to prevent false failures
  • Triggering lazy cluster state reloads upon completion (SMIGRATED)
  • Enabling seamless operations during Redis Enterprise maintenance windows

(#​3643) by @​ndyakov

OpenTelemetry Native Metrics Support

Added comprehensive OpenTelemetry metrics support following the OpenTelemetry Database Client Semantic Conventions. The implementation uses a Bridge Pattern to keep the core library dependency-free while providing optional metrics instrumentation through the new extra/redisotel-native package.

Metric groups include:

  • Command metrics: Operation duration with retry tracking
  • Connection basic: Connection count and creation time
  • Resiliency: Errors, handoffs, timeout relaxation
  • Connection advanced: Wait time and use time
  • Pubsub metrics: Published and received messages
  • Stream metrics: Processing duration and maintenance notifications

(#​3637) by @​ofekshenawa

✨ New Features

  • HOTKEYS Commands: Added support for Redis HOTKEYS feature for identifying hot keys based on CPU consumption and network utilization (#​3695) by @​ofekshenawa
  • Streams Idempotent Production: Added support for Redis 8.6+ Streams Idempotent Production with ProducerID, IdempotentID, IdempotentAuto in XAddArgs and new XCFGSET command (#​3693) by @​ofekshenawa
  • NaN Values for TimeSeries: Added support for NaN (Not a Number) values in Redis time series commands (#​3687) by @​ofekshenawa
  • DialerRetries Options: Added DialerRetries and DialerRetryTimeout to ClusterOptions, RingOptions, and FailoverOptions (#​3686) by @​naveenchander30
  • ConnMaxLifetimeJitter: Added jitter configuration to distribute connection expiration times and prevent thundering herd (#​3666) by @​cyningsun
  • Digest Helper Functions: Added DigestString and DigestBytes helper functions for client-side xxh3 hashing compatible with Redis DIGEST command (#​3679) by @​ofekshenawa
  • SMIGRATED New Format: Updated SMIGRATED parser to support new format and remember original host:port (#​3697) by @​ndyakov
  • Cluster State Reload Interval: Added cluster state reload interval option for maintenance notifications (#​3663) by @​ndyakov

🐛 Bug Fixes

  • PubSub nil pointer dereference: Fixed nil pointer dereference in PubSub after WithTimeout() - pubSubPool is now properly cloned (#​3710) by @​Copilot
  • MaintNotificationsConfig nil check: Guard against nil MaintNotificationsConfig in initConn (#​3707) by @​veeceey
  • wantConnQueue zombie elements: Fixed zombie wantConn elements accumulation in wantConnQueue (#​3680) by @​cyningsun
  • XADD/XTRIM approx flag: Fixed XADD and XTRIM to use = when approx is false (#​3684) by @​ndyakov
  • Sentinel timeout retry: When connection to a sentinel times out, attempt to connect to other sentinels (#​3654) by @​cxljs

⚡ Performance

  • Fuzz test optimization: Eliminated repeated string conversions, used functional approach for cleaner operation selection (#​3692) by @​feiguoL
  • Pre-allocate capacity: Pre-allocate slice capacity to prevent multiple capacity expansions (#​3689) by @​feelshu

🧪 Testing

  • Comprehensive TLS tests: Added comprehensive TLS tests and example for standalone, cluster, and certificate authentication (#​3681) by @​ndyakov
  • Redis 8.6: Updated CI to use Redis 8.6-pre (#​3685) by @​ndyakov

🧰 Maintenance

  • Deprecation warnings: Added deprecation warnings for commands based on Redis documentation (#​3673) by @​ndyakov
  • Use errors.Join(): Replaced custom error join function with standard library errors.Join() (#​3653) by @​cxljs
  • Use Go 1.21 min/max: Use Go 1.21's built-in min/max functions (#​3656) by @​cxljs
  • Proper formatting: Code formatting improvements (#​3670) by @​12ya
  • Set commands documentation: Added comprehensive documentation to all set command methods (#​3642) by @​iamamirsalehi
  • MaxActiveConns docs: Added default value documentation for MaxActiveConns (#​3674) by @​codykaup
  • README example update: Updated README example (#​3657) by @​cxljs
  • Cluster maintnotif example: Added example application for cluster maintenance notifications (#​3651) by @​ndyakov

👥 Contributors

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

@​12ya, @​Copilot, @​codykaup, @​cxljs, @​cyningsun, @​feelshu, @​feiguoL, @​iamamirsalehi, @​naveenchander30, @​ndyakov, @​ofekshenawa, @​veeceey


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 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 renovate bot requested a review from JAORMX as a code owner February 16, 2026 15:22
@renovate renovate bot added the dependencies Pull requests that update a dependency file label Feb 16, 2026
@github-actions github-actions bot added the size/XS Extra small PR: < 100 lines changed label Feb 16, 2026
@codecov
Copy link

codecov bot commented Feb 16, 2026

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 67.00%. Comparing base (d41c8f2) to head (7b2ba45).
⚠️ Report is 4 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #3837      +/-   ##
==========================================
+ Coverage   66.92%   67.00%   +0.07%     
==========================================
  Files         441      441              
  Lines       43689    43689              
==========================================
+ Hits        29241    29274      +33     
+ Misses      12192    12157      -35     
- Partials     2256     2258       +2     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@rdimitrov rdimitrov merged commit e97e57a into main Feb 16, 2026
33 checks passed
@rdimitrov rdimitrov deleted the renovate/github.com-redis-go-redis-v9-9.x branch February 16, 2026 21:37
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file size/XS Extra small PR: < 100 lines changed

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant