chore(deps): update module github.com/redis/go-redis/v9 to v9.17.1
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| github.com/redis/go-redis/v9 | v9.16.0 -> v9.17.1 |
Release Notes
redis/go-redis (github.com/redis/go-redis/v9)
v9.17.1: 9.17.1
🐛 Bug Fixes
- add wait to keyless commands list (#3615) by @marcoferrer
- fix(time): remove cached time optimization (#3611) by @ndyakov
🧰 Maintenance
- chore(deps): bump golangci/golangci-lint-action from 9.0.0 to 9.1.0 (#3609)
- chore(deps): bump actions/checkout from 5 to 6 (#3610)
- chore(script): fix help call in tag.sh (#3606) by @ndyakov
Contributors
We'd like to thank all the contributors who worked on this release!
v9.17.0: 9.17.0
🚀 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, andACLWhoAmI(#3576) - SLOWLOG Commands: Added
SLOWLOG LENandSLOWLOG RESET(#3585) - LATENCY Commands: Added
LATENCY LATESTandLATENCY RESET(#3584)
Search & Vector Improvements
- Hybrid Search: Added EXPERIMENTAL support for the new
FT.HYBRIDcommand (#3573) - Vector Range: Added
VRANGEcommand 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
- Typed errors with wrapping support (#3602) by @ndyakov
- CAS/CAD commands (marked as experimental) (#3583, #3595) by @ndyakov, @htemelski-redis
- MSETEX command support (#3580) by @ofekshenawa
- XReadGroup CLAIM argument (#3578) by @ofekshenawa
- ACL commands: GenPass, Users, WhoAmI (#3576) by @destinyoooo
- SLOWLOG commands: LEN, RESET (#3585) by @destinyoooo
- LATENCY commands: LATEST, RESET (#3584) by @destinyoooo
- Hybrid search command (FT.HYBRID) (#3573) by @htemelski-redis
- Vector range command (VRANGE) (#3543) by @cxljs
- Vector-specific attributes in FT.INFO (#3596) by @ndyakov
- Improved connection pool success rate with FIFO queue (#3518) by @cyningsun
- Canceled metrics attribute for context errors (#3566) by @pvragov
🐛 Bug Fixes
- Fixed Failover Client MaintNotificationsConfig (#3600) by @ajax16384
- Fixed ACLGenPass function to use the bit parameter (#3597) by @destinyoooo
- Return error instead of panic from commands (#3568) by @dragneelfps
- Safety harness in
joinErrorsto prevent panic (#3577) by @manisharma
⚡ 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
- Updated to Redis 8.4.0 image (#3603) by @ndyakov
- Added Redis 8.4-RC1-pre to CI (#3572) by @ndyakov
- Refactored tests for idiomatic Go (#3561, #3562, #3563) by @12ya
👥 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
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.
Summary of Changes
Hello @renovate-bot, I'm Gemini Code Assist[^1]! I'm currently reviewing this pull request and will post my feedback shortly. In the meantime, here's a summary to help you and other reviewers quickly get up to speed!
This pull request updates the github.com/redis/go-redis/v9 module to version v9.17.0. This is a routine dependency update that brings a host of new features, performance enhancements, and bug fixes from the upstream Redis Go client library. The changes include support for the latest Redis 8.4, refined error handling, and substantial improvements to connection pooling efficiency and reliability.
Highlights
- Redis 8.4 Support: The updated module now includes support for Redis 8.4, bringing new commands and features.
- Typed Errors: Error handling has been improved with the introduction of typed errors, allowing for better error wrapping and checking using
errors.As. - New Commands: Several new Redis commands have been added, including CAS/CAD operations, MSETEX, XReadGroup CLAIM, various ACL commands (GenPass, Users, WhoAmI), SLOWLOG commands (LEN, RESET), and LATENCY commands (LATEST, RESET).
- Search & Vector Improvements: Enhancements for search and vector operations include experimental support for
FT.HYBRID, theVRANGEcommand for vector sets, and vector-specific attributes inFT.INFO. - Connection Pool Improvements: Significant improvements have been made to the connection pool, leading to a better connection success rate, resolved race conditions, improved performance (47-67% faster Get/Put operations), and reduced memory allocations.
- Metrics & Observability: A 'canceled' metrics attribute has been added to distinguish context cancellation errors from other error types.
Using Gemini Code Assist
The full guide for Gemini Code Assist can be found on our documentation page, here are some quick tips.
Invoking Gemini
You can request assistance from Gemini at any point by creating a comment using either /gemini <command> or @gemini-code-assist <command>. Below is a summary of the supported commands on the current page.
| Feature | Command | Description |
|---|---|---|
| Code Review | /gemini review |
Performs a code review for the current pull request in its current state. |
| Pull Request Summary | /gemini summary |
Provides a summary of the current pull request in its current state. |
| Comment | @gemini-code-assist | Responds in comments when explicitly tagged, both in pull request comments and review comments. |
| Help | /gemini help |
Displays a list of available commands. |
Customization
To customize Gemini Code Assist for GitHub experience, repository maintainers can create a configuration file and/or provide a custom code review style guide (such as PEP-8 for Python) by creating and adding files to a .gemini/ folder in the base of the repository. Detailed instructions can be found here.
Limitations & Feedback
Gemini Code Assist may make mistakes. Please leave feedback on any instances where its feedback is incorrect or counter productive. You can react with :thumbsup: and :thumbsdown: on @gemini-code-assist comments. If you're interested in giving your feedback about your experience with Gemini Code Assist for Github and other Google products, sign up here.
You can also get AI-powered code generation, chat, as well as code reviews directly in the IDE at no cost with the Gemini Code Assist IDE Extension.
[^1]: Review the Privacy Notices, Generative AI Prohibited Use Policy, Terms of Service, and learn how to configure Gemini Code Assist in GitHub here. Gemini can make mistakes, so double check it and use code with caution.
/gcbrun
/gcbrun
/gcbrun
/gcbrun
Autoclosing Skipped
This PR has been flagged for autoclosing. However, it is being skipped due to the branch being already modified. Please close/delete it manually or report a bug if you think this is in error.
/gcbrun
/gcbrun
/gcbrun
/gcbrun
Edited/Blocked Notification
Renovate will not automatically rebase this PR, because it does not recognize the last commit author and assumes somebody else may have edited the PR.
You can manually request rebase by checking the rebase/retry box above.
⚠️ Warning: custom changes will be lost.