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 #3785)
- Adding WITHATTRIBS option to vector set's vsim command. (#3746)
- Adding ssl_verify_flags_config argument for ssl connection configuration (#3772)
- Adding new ExternalAuthProviderError that will be raised when we receive 'problem with LDAP service' response from server. (#3808)
Note Not supported with hiredis parser. When hiredis parser is used this server response is mapped to ResponseError
๐งช Experimental Features
๐ฅ 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)
- Fixing several *arg type hints in core.py and json module commands (#3793)
- Fixing errors reported by mypy in search module files - query.py, commands.py and aggregation.py. (#3666)
- Adding score_cast_func argument to zrank, zrevrank and zunion - for consistency with the other sorted sets commands (#3795)
- Changing the timeout typehint in async BlockingConnectionPool from int to float (#3801)
๐ 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)
- [DOC] Add complex chaining example using pipelines with builder pattern (#3774)
- Fix automation scenario maint notification (#3788)
- Add redis 8.4-M01-pre to tested redis versions (#3790)
- Add handling of empty spaces during CLIENT LIST response parsing (#3797)
- DOC-5821 update index/query example for runnable notebook (#3807)
- Fixing SORTABLE, INDEXEMPTY and INDEXMISSING order when using RediSearch fields (#3810)
- Fixing argument type hints for evalsha and similar commands. (#3794)
- Update Python version to 3.14 in hiredis CI workflow (#3798)
- Fixing sync BlockingConnectionPool's disconnect method to follow the definition in ConnectionPoolInterface (#3802)
We'd like to thank all the contributors who worked on this release!
@scovetta @mengxunQAQ @abrookins @VincentHokie @sobolevn @hunterhogan @luka-mikec @zion-off @peperon @andy-stark-redis @uglide @elena-kolevska @kiryazovi-redis @vladvildanov @petyaslavova