workhorse: Update module github.com/redis/go-redis/v9 to v9.16.0
This MR contains the following updates:
| Package | Type | Update | Change | Pending |
|---|---|---|---|---|
| github.com/redis/go-redis/v9 | require | minor |
v9.10.0 -> v9.16.0
|
v9.17.1 (+1) |
MR created with the help of gitlab-org/frontend/renovate-gitlab-bot
Release Notes
redis/go-redis (github.com/redis/go-redis/v9)
v9.16.0: 9.16.0
🚀 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
TraceCmdFilteroption to selectively trace commands - Reduces overhead by excluding high-frequency or low-value commands from traces
- New
🐛 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.WithAttributeSetto avoid unnecessary attribute copying in redisotel (#3552)
📚 Documentation
-
Cluster Client: Add explanation for why
MaxRetriesis disabled forClusterClient(#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-actionsfrom 0.51.0 to 0.52.0 (#3520) - Bump
github/codeql-actionfrom 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
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!
v9.14.0: 9.14.0
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
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
🚀 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!
v9.12.0: 9.12.0
🚀 Highlights
- This release includes support for Redis 8.2.
- Introduces an experimental Query Builders for
FTSearch,FTAggregateand other search commands. - Adds support for
EPSILONoption inFT.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.Joinrequires 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
EPSILONoption (#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
- @htemelski-redis made their first contribution in #3409
- @smnvdev made their first contribution in #3403
- @rokn made their first contribution in #3444
v9.11.0: 9.11.0
🚀 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
scancommands, 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,ClientandClusterClient(#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
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.