chore(deps): update dependency redis to v7
This PR contains the following updates:
| Package | Change | Age | Confidence |
|---|---|---|---|
| redis (changelog) | ==6.0.0 -> ==7.0.0 |
Release Notes
redis/redis-py (redis)
v7.0.0: 7.0.0
Changes
One of the main features introduced in this release is a new type of client MultiDBClient. The purpose of this client is a communication with multiple databases that are eventually consistent (Active-Active setup) and handling failures by failover across databases.
More information could be found in docs.
🚀 New Features
- Support for maintenance push notifications handling during server upgrade or maintenance procedures. (#3756 #3777 #3778 #3779)
- Adding WITHATTRIBS option to vector set's vsim command. (#3746)
- Adding ssl_verify_flags_config argument for ssl connection configuration (#3772)
🧪 Experimental Features
- Multi-database client implementation (#3784)
🔥 Breaking changes
- Adding abstract method declaration for cache property setter in EvictionPolicyInterface(#3732)
- Remove unused parse_list_to_dict function from helpers (#3733)
- Removing synchronous context manager handling from async RedisCluster. (#3679)
- Redis Search/Aggregate improved type annotations (#3676)
- Removing the threading.Lock locks and replacing them with RLock objects to avoid deadlocks. (#3677)
- Update ping command docstrings and method return type hint (#3789)
🐛 Bug Fixes
- Removing the threading.Lock locks and replacing them with RLock objects to avoid deadlocks. (#3677)
🧰 Maintenance
- Bump actions/checkout from 4 to 5 (#3760)
- Fix docstring for ssl_check_hostname (#3761)
- Typos in vectorset commands.py (#3719)
- Fixing typos in query.py (#3718)
- Typos in cluster.py (#3717)
- Fixing typos in core.py (#3720)
- Update Redis image versions for GH pipeline actions. (#3740)
- Support the customization of the timeout parameter when using a blocking connection pool with a redis cluster (#3724)
- Fix async clients safety when used as an async context manager (#3512)
- docs: fix zadd command parameter description (#3727)
- Fault injector boilerplate (#3749)
- Adding e2e scenario tests for maintenance push notifications handling. (#3758)
- Adding more e2e tests related to maintenance notifications. Extracting specific tests that validate notifications are received in new connections (#3770)
- Renaming of classes and configuration arguments related to maintenance push notifications handling during server upgrade or maintenance procedures (#3777 #3778)
- DOC-5743 BITOP examples (#3776)
- Improve stale issue management workflow (#3773)
We'd like to thank all the contributors who worked on this release! @scovetta @mengxunQAQ @abrookins @VincentHokie @sobolevn @hunterhogan @luka-mikec @andy-stark-redis @elena-kolevska @kiryazovi-redis @petyaslavova
v6.4.0: 6.4.0
Changes
🚀 New Features
- Added epsilon property to the vsim command (#3723)
🧰 Maintenance
- Updating the latest Redis image for github pipeline testing (#3726)
We'd like to thank all the contributors who worked on this release! @htemelski-redis @elena-kolevska @petyaslavova @vladvildanov
v6.3.0: 6.3.0
Changes
🚀 New Features
- Add support for new BITOP operations: DIFF, DIFF1, ANDOR, ONE (#3690)
- Support new VAMANA vector index type (#3702)
- Add new stream commands (#3711)
- add async Retry eq and hash & fix ExponentialWithJitterBackoff eq (#3668)
🐛 Bug Fixes
- Fixing sentinel command execution to allow returning of actual responses when meaningful - behaviour controlled by 'return_responses' argument. (#3191)
- Annotate deprecated_args decorator to preserve wrapped function type signature (#3701)
- Fix ConnectionPool to raise MaxConnectionsError instead of Connection… (#3698)
- add async Retry eq and hash & fix ExponentialWithJitterBackoff eq (#3668)
- SentinelManagedConnection searches for new master upon connection failure (#3560) (#3601)
🧰 Maintenance
- fix: avoid instantiating a connection on repr_ (#3653)
- Fixing the return type hint for the transaction method in the standalone client. (#3660)
- Bump rojopolis/spellcheck-github-actions from 0.48.0 to 0.49.0 (#3665)
- Dropping integration tests with Redis 6.2 from pipeline actions. (#3659)
- Remove deprecated arg from call to ClusterPipeline (#3670)
- TransactionStrategy reset: UNWATCH only when status is watching (#3671)
- KeyT for set operations (#3190)
- Removing references to old docs site 'https://redis-py.readthedocs.io/' replaced by 'https://redis.readthedocs.io/' (#3674)
- Removing unnecessary check for tests using AsyncMock (#3432)
- Updating test images for github pipeline execution (#3678)
- Updating the latest Redis image for pipeline testing (#3695)
- Bump rojopolis/spellcheck-github-actions from 0.49.0 to 0.51.0 (#3689)
- DOC-5225 testable probabilistic dt examples (#3691)
- Update README.md (#3699)
- Convert the value to int type only if it exists in CLIENT INFO (#3688)
- Fix compatibility with latest pytest-asyncio version(1.1.0) (#3708)
- DOC-5424 time series examples (#3705)
- Adding information in connection pool class doc string for available SSLConnection class, that can be used for SSL connections (#3710)
We'd like to thank all the contributors who worked on this release! @robertosantamaria-scopely @mahigupta @alisaifee @tzongw @earonesty @IlianIliev @ofekshenawa @andy-stark-redis @AmirHossein81Gholami @mharding-hpe @git-hulk @ngabhanenetskope @terencehonles @ManelCoutinhoSensei @petyaslavova @vladvildanov
v6.2.0: 6.2.0
Changes
🚀 New Features
- Add
dynamic_startup_nodesparameter to async RedisCluster (#3646) - Support RESP3 with
hiredis-pyparser (#3648) - [Async] Support for transactions in async
RedisClusterclient (#3649)
🐛 Bug Fixes
- Revert wrongly changed default value for
check_hostnamewhen instantiatingRedisSSLContext(#3655) - Fixed potential deadlock from unexpected
__del__call (#3654)
🧰 Maintenance
- Update
search_json_examples.ipynb: Fix the old importindexDefinition->index_definition(#3652) - Remove mandatory update of the CHANGES file for new PRs. Changes file will be kept for history for versions < 4.0.0 (#3645)
- Dropping
Python 3.8support as it has reached end of life (#3657) - fix(doc): update Python print output in json doctests (#3658)
- Update redis-entraid dependency (#3661)
We'd like to thank all the contributors who worked on this release! @JCornat @ShubhamKaudewar @uglide @petyaslavova @vladvildanov
v6.1.1
Changes
🐛 Bug Fixes
- Revert wrongly changed default value for
check_hostnamewhen instantiatingRedisSSLContext(#3655) - Fixed potential deadlock from unexpected
__del__call (#3654)
We'd like to thank all the contributors who worked on this release! @vladvildanov @petyaslavova
v6.1.0: 6.1.0
Changes
🚀 New Features
- Support for transactions in
RedisClusterclient (#3611) - Add equality and hashability to
Retryand backoff classes (#3628)
🐛 Bug Fixes
- Fix RedisCluster
ssl_check_hostnamenot set to connections. For SSL verification withssl_cert_reqs="none", check_hostname is set toFalse(#3637) Important: The default value for thecheck_hostnamefield ofRedisSSLContexthas been changed as part of this PR - this is a breaking change and should not be introduced in minor versions - unfortunately, it is part of the current release. The breaking change is reverted in the next release to fix the behavior --> 6.2.0 - Prevent RuntimeError while reinitializing clusters - sync and async (#3633)
- Add equality and hashability to
Retryand backoff classes (#3628) - fixes integration with Django RQ - Fix
AttributeErroronClusterPipeline(#3634)
🧰 Maintenance
- Updating the readme and lib version to contain the changes from the latest stable release (#3644)
- Export
REDIS_MAJOR_VERSIONcorrectly in run-tests (#3642) - Fix matrix in
hiredis-py-integration.yaml(#3641) - Test against unstable hiredis-py (#3617)
- Adding return types for the
RedisModuleCommandsclass (#3632) - Updating Redis 8 test image for GH pipeline (#3639)
- Allow newer PyJWT versions (#3636)
- Change type hints with possible
Noneargs or return types to be annotated withOptional- includes commands incore.pyand json commands (#3610)
🙏 Special Thanks
A big thank you to our collaborators at Scopely for their valuable contributions to this release! Your support and improvements help move the project forward — we appreciate it!
Contributors
We'd like to thank all the contributors who worked on this release! @robertosantamaria-scopely @sentrivana @terencehonles @kesha1225 @aberres @uglide @omerfeyzioglu @petyaslavova @vladvildanov @andy-stark-redis
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: Never, 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 focuses on a routine dependency update, upgrading the redis Python client library to its major version 7.0.0. This update brings significant enhancements, most notably the introduction of a MultiDBClient for advanced multi-database setups and improved handling of maintenance notifications. While primarily a version bump, the new release also includes several breaking changes that may require attention to ensure compatibility and smooth integration.
Highlights
-
Dependency Update: This pull request updates the
redisPython client library from version6.0.0to7.0.0. -
Major New Features: Version 7.0.0 introduces a new
MultiDBClientfor communicating with multiple eventually consistent databases (Active-Active setup) and handling failovers. It also adds support for maintenance push notifications. -
Breaking Changes: The update includes several breaking changes, such as modifications to
EvictionPolicyInterface, removal of an unused helper function, changes toasync RedisClustercontext management, improved type annotations for Redis Search/Aggregate, and replacement ofthreading.LockwithRLock. Reviewers should be aware of these potential impacts.
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.