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

Merged
Renovate-Clanker merged 1 commits from renovate/all-dependencies into main 2026-02-16 23:00:49 +07:00
Collaborator

This PR contains the following updates:

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

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: Enabled.

Rebasing: Whenever PR is behind base branch, 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 has been generated by Renovate Bot.

This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [github.com/redis/go-redis/v9](https://github.com/redis/go-redis) | `v9.17.3` → `v9.18.0` | ![age](https://developer.mend.io/api/mc/badges/age/go/github.com%2fredis%2fgo-redis%2fv9/v9.18.0?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/go/github.com%2fredis%2fgo-redis%2fv9/v9.17.3/v9.18.0?slim=true) | --- ### Release Notes <details> <summary>redis/go-redis (github.com/redis/go-redis/v9)</summary> ### [`v9.18.0`](https://github.com/redis/go-redis/releases/tag/v9.18.0): 9.18.0 [Compare Source](https://github.com/redis/go-redis/compare/v9.17.3...v9.18.0) ##### 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 ([#&#8203;3643](https://github.com/redis/go-redis/pull/3643)) by [@&#8203;ndyakov](https://github.com/ndyakov) ##### OpenTelemetry Native Metrics Support Added comprehensive OpenTelemetry metrics support following the [OpenTelemetry Database Client Semantic Conventions](https://opentelemetry.io/docs/specs/semconv/database/database-metrics/). 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 ([#&#8203;3637](https://github.com/redis/go-redis/pull/3637)) by [@&#8203;ofekshenawa](https://github.com/ofekshenawa) #### ✨ New Features - **HOTKEYS Commands**: Added support for Redis HOTKEYS feature for identifying hot keys based on CPU consumption and network utilization ([#&#8203;3695](https://github.com/redis/go-redis/pull/3695)) by [@&#8203;ofekshenawa](https://github.com/ofekshenawa) - **Streams Idempotent Production**: Added support for Redis 8.6+ Streams Idempotent Production with `ProducerID`, `IdempotentID`, `IdempotentAuto` in `XAddArgs` and new `XCFGSET` command ([#&#8203;3693](https://github.com/redis/go-redis/pull/3693)) by [@&#8203;ofekshenawa](https://github.com/ofekshenawa) - **NaN Values for TimeSeries**: Added support for NaN (Not a Number) values in Redis time series commands ([#&#8203;3687](https://github.com/redis/go-redis/pull/3687)) by [@&#8203;ofekshenawa](https://github.com/ofekshenawa) - **DialerRetries Options**: Added `DialerRetries` and `DialerRetryTimeout` to `ClusterOptions`, `RingOptions`, and `FailoverOptions` ([#&#8203;3686](https://github.com/redis/go-redis/pull/3686)) by [@&#8203;naveenchander30](https://github.com/naveenchander30) - **ConnMaxLifetimeJitter**: Added jitter configuration to distribute connection expiration times and prevent thundering herd ([#&#8203;3666](https://github.com/redis/go-redis/pull/3666)) by [@&#8203;cyningsun](https://github.com/cyningsun) - **Digest Helper Functions**: Added `DigestString` and `DigestBytes` helper functions for client-side xxh3 hashing compatible with Redis DIGEST command ([#&#8203;3679](https://github.com/redis/go-redis/pull/3679)) by [@&#8203;ofekshenawa](https://github.com/ofekshenawa) - **SMIGRATED New Format**: Updated SMIGRATED parser to support new format and remember original host:port ([#&#8203;3697](https://github.com/redis/go-redis/pull/3697)) by [@&#8203;ndyakov](https://github.com/ndyakov) - **Cluster State Reload Interval**: Added cluster state reload interval option for maintenance notifications ([#&#8203;3663](https://github.com/redis/go-redis/pull/3663)) by [@&#8203;ndyakov](https://github.com/ndyakov) #### 🐛 Bug Fixes - **PubSub nil pointer dereference**: Fixed nil pointer dereference in PubSub after `WithTimeout()` - `pubSubPool` is now properly cloned ([#&#8203;3710](https://github.com/redis/go-redis/pull/3710)) by [@&#8203;Copilot](https://github.com/apps/copilot-swe-agent) - **MaintNotificationsConfig nil check**: Guard against nil `MaintNotificationsConfig` in `initConn` ([#&#8203;3707](https://github.com/redis/go-redis/pull/3707)) by [@&#8203;veeceey](https://github.com/veeceey) - **wantConnQueue zombie elements**: Fixed zombie `wantConn` elements accumulation in `wantConnQueue` ([#&#8203;3680](https://github.com/redis/go-redis/pull/3680)) by [@&#8203;cyningsun](https://github.com/cyningsun) - **XADD/XTRIM approx flag**: Fixed XADD and XTRIM to use `=` when approx is false ([#&#8203;3684](https://github.com/redis/go-redis/pull/3684)) by [@&#8203;ndyakov](https://github.com/ndyakov) - **Sentinel timeout retry**: When connection to a sentinel times out, attempt to connect to other sentinels ([#&#8203;3654](https://github.com/redis/go-redis/pull/3654)) by [@&#8203;cxljs](https://github.com/cxljs) #### ⚡ Performance - **Fuzz test optimization**: Eliminated repeated string conversions, used functional approach for cleaner operation selection ([#&#8203;3692](https://github.com/redis/go-redis/pull/3692)) by [@&#8203;feiguoL](https://github.com/feiguoL) - **Pre-allocate capacity**: Pre-allocate slice capacity to prevent multiple capacity expansions ([#&#8203;3689](https://github.com/redis/go-redis/pull/3689)) by [@&#8203;feelshu](https://github.com/feelshu) #### 🧪 Testing - **Comprehensive TLS tests**: Added comprehensive TLS tests and example for standalone, cluster, and certificate authentication ([#&#8203;3681](https://github.com/redis/go-redis/pull/3681)) by [@&#8203;ndyakov](https://github.com/ndyakov) - **Redis 8.6**: Updated CI to use Redis 8.6-pre ([#&#8203;3685](https://github.com/redis/go-redis/pull/3685)) by [@&#8203;ndyakov](https://github.com/ndyakov) #### 🧰 Maintenance - **Deprecation warnings**: Added deprecation warnings for commands based on Redis documentation ([#&#8203;3673](https://github.com/redis/go-redis/pull/3673)) by [@&#8203;ndyakov](https://github.com/ndyakov) - **Use errors.Join()**: Replaced custom error join function with standard library `errors.Join()` ([#&#8203;3653](https://github.com/redis/go-redis/pull/3653)) by [@&#8203;cxljs](https://github.com/cxljs) - **Use Go 1.21 min/max**: Use Go 1.21's built-in min/max functions ([#&#8203;3656](https://github.com/redis/go-redis/pull/3656)) by [@&#8203;cxljs](https://github.com/cxljs) - **Proper formatting**: Code formatting improvements ([#&#8203;3670](https://github.com/redis/go-redis/pull/3670)) by [@&#8203;12ya](https://github.com/12ya) - **Set commands documentation**: Added comprehensive documentation to all set command methods ([#&#8203;3642](https://github.com/redis/go-redis/pull/3642)) by [@&#8203;iamamirsalehi](https://github.com/iamamirsalehi) - **MaxActiveConns docs**: Added default value documentation for `MaxActiveConns` ([#&#8203;3674](https://github.com/redis/go-redis/pull/3674)) by [@&#8203;codykaup](https://github.com/codykaup) - **README example update**: Updated README example ([#&#8203;3657](https://github.com/redis/go-redis/pull/3657)) by [@&#8203;cxljs](https://github.com/cxljs) - **Cluster maintnotif example**: Added example application for cluster maintenance notifications ([#&#8203;3651](https://github.com/redis/go-redis/pull/3651)) by [@&#8203;ndyakov](https://github.com/ndyakov) #### 👥 Contributors We'd like to thank all the contributors who worked on this release! [@&#8203;12ya](https://github.com/12ya), [@&#8203;Copilot](https://github.com/apps/copilot-swe-agent), [@&#8203;codykaup](https://github.com/codykaup), [@&#8203;cxljs](https://github.com/cxljs), [@&#8203;cyningsun](https://github.com/cyningsun), [@&#8203;feelshu](https://github.com/feelshu), [@&#8203;feiguoL](https://github.com/feiguoL), [@&#8203;iamamirsalehi](https://github.com/iamamirsalehi), [@&#8203;naveenchander30](https://github.com/naveenchander30), [@&#8203;ndyakov](https://github.com/ndyakov), [@&#8203;ofekshenawa](https://github.com/ofekshenawa), [@&#8203;veeceey](https://github.com/veeceey) </details> --- ### Configuration 📅 **Schedule**: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Enabled. ♻ **Rebasing**: Whenever PR is behind base branch, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNy4xIiwidXBkYXRlZEluVmVyIjoiNDMuMTcuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Renovate-Clanker added 1 commit 2026-02-16 23:00:47 +07:00
Renovate-Clanker scheduled this pull request to auto merge when all checks succeed 2026-02-16 23:00:48 +07:00
Renovate-Clanker merged commit 1f5e487db0 into main 2026-02-16 23:00:49 +07:00
Renovate-Clanker deleted branch renovate/all-dependencies 2026-02-16 23:00:49 +07:00
Sign in to join this conversation.
No Reviewers
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: bagas/filekeeper#17