Skip to content

Releases: redis/redis-py

7.0.1

27 Oct 14:32

Choose a tag to compare

Changes

This release adds small fixes related to documentation.

🧰 Maintenance

  • Add 'multi_database' section to documentation index (313d93f)
  • Revised multi-database client documentation(78df745)
  • Adding info about Multi-database client in README.md (3f7a55e)

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

7.0.0

22 Oct 15:38

Choose a tag to compare

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

  • Multi-database client implementation (#3784 #3811)

πŸ”₯ 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

7.0.0b3

07 Oct 18:17

Choose a tag to compare

7.0.0b3 Pre-release
Pre-release

Changes

Main feature introduced in this beta 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.

πŸ”₯ Breaking changes

  • Update ping command docstrings and method return type hint (#3789)

πŸ§ͺ Experimental Features

  • Multi-database client implementation (#3784)

🧰 Maintenance

  • [DOC] Add complex chaining example using pipelines with builder pattern (#3774)
  • Fix automation scenarion maint notification (#3788)
  • Add redis 8.4-M01-pre to tested redis versions (#3790)

We'd like to thank all the contributors who worked on this release!
@zion-off @petyaslavova @kiryazovi-redis @vladvildanov

7.0.0b2

26 Sep 17:27

Choose a tag to compare

7.0.0b2 Pre-release
Pre-release

Changes

πŸš€ New Features

  • Adding ssl_verify_flags_config argument for ssl connection configuration (#3772)
  • Adding 'auto' option to MaintNotificationsConfig.enabled (#3779)

πŸ”₯ Breaking changes

  • (Breaking compared to previous beta release) Renaming of classes and configuration arguments related to maintenance push notifications handling during server upgrade or maintenance procedures (#3777 #3778)

🧰 Maintenance

  • 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!
@petyaslavova @elena-kolevska @andy-stark-redis

7.0.0b1

09 Sep 16:20

Choose a tag to compare

7.0.0b1 Pre-release
Pre-release

Changes

πŸš€ New Features

  • Support for maintenance push notifications handling during server upgrade or maintenance procedures. (#3756)
  • Adding WITHATTRIBS option to vector set's vsim command. (#3746)

πŸ”₯ 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)

πŸ› 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)

We'd like to thank all the contributors who worked on this release!
@scovetta @mengxunQAQ @abrookins @VincentHokie @sobolevn @hunterhogan @luka-mikec @elena-kolevska @kiryazovi-redis @petyaslavova

6.4.0

07 Aug 08:09

Choose a tag to compare

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

6.3.0

05 Aug 08:12

Choose a tag to compare

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

5.3.1

25 Jul 08:05

Choose a tag to compare

Changes

🧰 Maintenance

  • Allow newer PyJWT versions for branch 5.3 (#3682)

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

v6.1.1

02 Jun 11:43

Choose a tag to compare

Changes

πŸ› Bug Fixes

  • Revert wrongly changed default value for check_hostname when instantiating RedisSSLContext (#3655)
  • Fixed potential deadlock from unexpected __del__ call (#3654)

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

6.2.0

28 May 05:00

Choose a tag to compare

Changes

πŸš€ New Features

  • Add dynamic_startup_nodes parameter to async RedisCluster (#3646)
  • Support RESP3 with hiredis-py parser (#3648)
  • [Async] Support for transactions in async RedisCluster client (#3649)

πŸ› Bug Fixes

  • Revert wrongly changed default value for check_hostname when instantiating RedisSSLContext (#3655)
  • Fixed potential deadlock from unexpected __del__ call (#3654)

🧰 Maintenance

  • Update search_json_examples.ipynb: Fix the old import indexDefinition -> 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.8 support 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