Skip to content

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

Open
renovate[bot] wants to merge 1 commit intomasterfrom
renovate/github.com-redis-go-redis-v9-9.x
Open

chore(deps): update module github.com/redis/go-redis/v9 to v9.18.0#556
renovate[bot] wants to merge 1 commit intomasterfrom
renovate/github.com-redis-go-redis-v9-9.x

Conversation

@renovate
Copy link
Contributor

@renovate renovate bot commented Jan 25, 2026

This PR contains the following updates:

Package Change Age Confidence
github.com/redis/go-redis/v9 v9.17.2v9.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

v9.17.3: 9.17.3

Compare Source

🐛 Bug Fixes

  • Connection Pool: Fixed zombie wantConn elements accumulation in wantConnQueue that could cause resource leaks in high concurrency scenarios with dial failures (#​3680) by @​cyningsun
  • Stream Commands: Fixed XADD and XTRIM commands to use exact threshold (=) when Approx is false, ensuring precise stream trimming behavior (#​3684) by @​ndyakov
  • Connection Pool: Added ConnMaxLifetimeJitter configuration to distribute connection expiration times and prevent the thundering herd problem when many connections expire simultaneously (#​3666) by @​cyningsun
  • Client Options: Added DialerRetries and DialerRetryTimeout fields to ClusterOptions, RingOptions, and FailoverOptions to allow configuring connection retry behavior for cluster, ring, and sentinel clients (#​3686) by @​naveenchander30

Contributors

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

@​cyningsun, @​naveenchander30, and @​ndyakov


Full Changelog: redis/go-redis@v9.17.2...v9.17.3


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 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 was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/github.com-redis-go-redis-v9-9.x branch from 33ddf5f to e8e0f74 Compare February 5, 2026 14:03
@renovate renovate bot changed the title chore(deps): update module github.com/redis/go-redis/v9 to v9.17.3 chore(deps): update module github.com/redis/go-redis/v9 to v9.18.0 Feb 16, 2026
@renovate renovate bot force-pushed the renovate/github.com-redis-go-redis-v9-9.x branch from e8e0f74 to d9b777c Compare February 16, 2026 17:27
@github-actions
Copy link
Contributor

Code Coverage

Package Line Rate Health
flamingo.me/flamingo/v3 43%
flamingo.me/flamingo/v3/core/auth 13%
flamingo.me/flamingo/v3/core/auth/example/custom 0%
flamingo.me/flamingo/v3/core/auth/example 0%
flamingo.me/flamingo/v3/core/auth/fake 50%
flamingo.me/flamingo/v3/core/auth/http 40%
flamingo.me/flamingo/v3/core/auth/mock 0%
flamingo.me/flamingo/v3/core/auth/oauth 49%
flamingo.me/flamingo/v3/core/cache 66%
flamingo.me/flamingo/v3/core/gotemplate 87%
flamingo.me/flamingo/v3/core/healthcheck/domain/healthcheck 0%
flamingo.me/flamingo/v3/core/healthcheck/interfaces/controllers 67%
flamingo.me/flamingo/v3/core/healthcheck 66%
flamingo.me/flamingo/v3/core/internalauth/application 88%
flamingo.me/flamingo/v3/core/internalauth 100%
flamingo.me/flamingo/v3/core/locale/application 87%
flamingo.me/flamingo/v3/core/locale/domain 75%
flamingo.me/flamingo/v3/core/locale/infrastructure/fake 0%
flamingo.me/flamingo/v3/core/locale/infrastructure 0%
flamingo.me/flamingo/v3/core/locale/interfaces/controllers 100%
flamingo.me/flamingo/v3/core/locale/interfaces/templatefunctions 92%
flamingo.me/flamingo/v3/core/locale 59%
flamingo.me/flamingo/v3/core/oauth/application 4%
flamingo.me/flamingo/v3/core/oauth/application/fake 0%
flamingo.me/flamingo/v3/core/oauth/domain 62%
flamingo.me/flamingo/v3/core/oauth/example 0%
flamingo.me/flamingo/v3/core/oauth/infrastructure 0%
flamingo.me/flamingo/v3/core/oauth/interfaces 0%
flamingo.me/flamingo/v3/core/oauth/interfaces/fake 0%
flamingo.me/flamingo/v3/core/oauth 55%
flamingo.me/flamingo/v3/core/requestlogger 100%
flamingo.me/flamingo/v3/core/requesttask 10%
flamingo.me/flamingo/v3/core/robotstxt/interfaces 0%
flamingo.me/flamingo/v3/core/robotstxt 50%
flamingo.me/flamingo/v3/core/runtime 77%
flamingo.me/flamingo/v3/core/security/application/role 95%
flamingo.me/flamingo/v3/core/security/application 98%
flamingo.me/flamingo/v3/core/security/application/voter 100%
flamingo.me/flamingo/v3/core/security/domain 0%
flamingo.me/flamingo/v3/core/security/interface/controller 100%
flamingo.me/flamingo/v3/core/security/interface/middleware 72%
flamingo.me/flamingo/v3/core/security 59%
flamingo.me/flamingo/v3/core/silentzap 0%
flamingo.me/flamingo/v3/core/zap 80%
flamingo.me/flamingo/v3/examples/hello-world 0%
flamingo.me/flamingo/v3/framework/cmd 5%
flamingo.me/flamingo/v3/framework/config 49%
flamingo.me/flamingo/v3/framework/controller 0%
flamingo.me/flamingo/v3/framework/flamingo 38%
flamingo.me/flamingo/v3/framework/flamingo/healthcheck 0%
flamingo.me/flamingo/v3/framework 29%
flamingo.me/flamingo/v3/framework/opencensus 78%
flamingo.me/flamingo/v3/framework/prefixrouter 46%
flamingo.me/flamingo/v3/framework/systemendpoint/application 0%
flamingo.me/flamingo/v3/framework/systemendpoint 27%
flamingo.me/flamingo/v3/framework/testutil 0%
flamingo.me/flamingo/v3/framework/web 48%
flamingo.me/flamingo/v3/framework/web/filter 0%
Summary 43% (3741 / 8724)

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.

0 participants