Skip to content

Conversation

@renovate-bot
Copy link
Contributor

@renovate-bot renovate-bot commented Nov 19, 2025

This PR contains the following updates:

Package Change Age Confidence
github.com/redis/go-redis/v9 v9.16.0 -> v9.17.2 age confidence

Release Notes

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

v9.17.2: 9.17.2

Compare Source

🐛 Bug Fixes

  • Connection Pool: Fixed critical race condition in turn management that could cause connection leaks when dial goroutines complete after request timeout (#​3626) by @​cyningsun
  • Context Timeout: Improved context timeout calculation to use minimum of remaining time and DialTimeout, preventing goroutines from waiting longer than necessary (#​3626) by @​cyningsun

🧰 Maintenance

  • chore(deps): bump rojopolis/spellcheck-github-actions from 0.54.0 to 0.55.0 (#​3627)

Contributors

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

@​cyningsun and @​ndyakov

v9.17.1: 9.17.1

Compare Source

🐛 Bug Fixes

🧰 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!

@​marcoferrer and @​ndyakov

v9.17.0: 9.17.0

Compare Source

🚀 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, and ACLWhoAmI (#​3576)
  • SLOWLOG Commands: Added SLOWLOG LEN and SLOWLOG RESET (#​3585)
  • LATENCY Commands: Added LATENCY LATEST and LATENCY RESET (#​3584)
Search & Vector Improvements
  • Hybrid Search: Added EXPERIMENTAL support for the new FT.HYBRID command (#​3573)
  • Vector Range: Added VRANGE command 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

🐛 Bug Fixes

⚡ 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

👥 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: redis/go-redis@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.

@renovate-bot renovate-bot requested a review from a team as a code owner November 19, 2025 19:49
@gemini-code-assist
Copy link
Contributor

Summary of Changes

Hello @renovate-bot, I'm Gemini Code Assist1! 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, the VRANGE command for vector sets, and vector-specific attributes in FT.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 👍 and 👎 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.

Footnotes

  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.

Copy link
Contributor

@gemini-code-assist gemini-code-assist bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Code Review

This pull request updates github.com/redis/go-redis/v9 from v9.16.0 to v9.17.0. This is a minor update that includes new features, bug fixes, and performance improvements. I've reviewed the usage of go-redis in the codebase, and the update appears safe as there is no reliance on specific error strings that might have changed. However, this update introduces typed errors, which presents an opportunity for improving the code. I've added a comment on go.mod with a suggestion for a follow-up improvement to leverage the new typed error handling, which will enhance the Redis tool's usability and robustness.

go.mod Outdated
github.com/nakagami/firebirdsql v0.9.15
github.com/neo4j/neo4j-go-driver/v5 v5.28.4
github.com/redis/go-redis/v9 v9.16.0
github.com/redis/go-redis/v9 v9.17.0
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

medium

This update to go-redis/v9 introduces typed errors, which is a great improvement for error handling. The current implementation in internal/tools/redis/redis.go handles all errors generically. For example, it treats redis.Nil (returned for non-existent keys) as a generic error, which can be misleading for the tool's users.

I recommend creating a follow-up task to refactor the error handling in internal/tools/redis/redis.go to specifically check for redis.Nil using errors.Is(err, redis.Nil) and handle it appropriately (e.g., by returning nil in the output array). This will make the tool's behavior more idiomatic and robust.

@averikitsch averikitsch added the tests: run Label to trigger Github Action tests. label Nov 25, 2025
@github-actions github-actions bot removed tests: run Label to trigger Github Action tests. labels Nov 25, 2025
@renovate-bot renovate-bot changed the title chore(deps): update module github.com/redis/go-redis/v9 to v9.17.0 chore(deps): update module github.com/redis/go-redis/v9 to v9.17.1 Nov 26, 2025
@renovate-bot renovate-bot force-pushed the renovate/github.com-redis-go-redis-v9-9.x branch from 4a1a617 to f599054 Compare November 26, 2025 10:56
@dpebot
Copy link
Collaborator

dpebot commented Nov 26, 2025

/gcbrun

@trusted-contributions-gcf trusted-contributions-gcf bot added the tests: run Label to trigger Github Action tests. label Nov 26, 2025
@github-actions github-actions bot removed the tests: run Label to trigger Github Action tests. label Nov 26, 2025
@dpebot
Copy link
Collaborator

dpebot commented Nov 26, 2025

/gcbrun

@trusted-contributions-gcf trusted-contributions-gcf bot added the tests: run Label to trigger Github Action tests. label Nov 26, 2025
@github-actions github-actions bot removed the tests: run Label to trigger Github Action tests. label Nov 26, 2025
@averikitsch averikitsch added the tests: run Label to trigger Github Action tests. label Nov 26, 2025
@averikitsch
Copy link
Contributor

/gcbrun

@github-actions github-actions bot removed the tests: run Label to trigger Github Action tests. label Nov 26, 2025
@dpebot
Copy link
Collaborator

dpebot commented Dec 2, 2025

/gcbrun

@trusted-contributions-gcf trusted-contributions-gcf bot added the tests: run Label to trigger Github Action tests. label Dec 2, 2025
@github-actions github-actions bot removed the tests: run Label to trigger Github Action tests. label Dec 2, 2025
@renovate-bot renovate-bot changed the title chore(deps): update module github.com/redis/go-redis/v9 to v9.17.1 chore(deps): update module github.com/redis/go-redis/v9 to v9.17.1 - abandoned Dec 3, 2025
@forking-renovate
Copy link

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.

@dpebot
Copy link
Collaborator

dpebot commented Dec 4, 2025

/gcbrun

@trusted-contributions-gcf trusted-contributions-gcf bot added the tests: run Label to trigger Github Action tests. label Dec 4, 2025
@github-actions github-actions bot removed the tests: run Label to trigger Github Action tests. label Dec 4, 2025
@renovate-bot renovate-bot changed the title chore(deps): update module github.com/redis/go-redis/v9 to v9.17.1 - abandoned chore(deps): update module github.com/redis/go-redis/v9 to v9.17.2 Dec 4, 2025
@renovate-bot renovate-bot force-pushed the renovate/github.com-redis-go-redis-v9-9.x branch from 36a35eb to 307d3c5 Compare December 4, 2025 17:23
@dpebot
Copy link
Collaborator

dpebot commented Dec 4, 2025

/gcbrun

@trusted-contributions-gcf trusted-contributions-gcf bot added the tests: run Label to trigger Github Action tests. label Dec 4, 2025
@github-actions github-actions bot removed the tests: run Label to trigger Github Action tests. label Dec 4, 2025
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.

3 participants