github redis/redis-py v6.0.0b1
6.0.0b1

pre-release8 days ago

Changes

πŸš€ New Features

  • New hash commands with expiration options support are added - HGETDEL, HGETEX, HSETEX (#3570)
  • Adding load balancing strategy configuration to cluster clients(replacement for 'read_from_replicas' config) (#3563)
  • Exponential with jitter backoff (#3550)
  • Adds option not to raise an exception when leaving context manager after lock expiration (#3531)
  • Add force_master_ip support to async Sentinel client (#3524)

πŸ”₯ Breaking changes

  • Removing support for RedisGears module. (#3553). For more info you can check the deprecated Redis features
  • Removing support for RedisGraph module. (#3548). For more info you can check the deprecated Redis features
  • Fixing typing for FCALL commands to match PEP 484 (#3537)
  • Moved ClusterParser exceptions to BaseParser class (#3475)
  • Changed default dialect to 2 (#3467) - This release introduces a client-side default dialect for Redis’ search and query capabilities. By default, the client now overrides the server-side dialect with version 2, automatically appending DIALECT 2to commands like FT.AGGREGATE and FT.SEARCH.
    Important: Be aware that the query dialect may impact the results returned. If needed, you can revert to a different dialect version by configuring the client accordingly. You can find further details in the query dialect documentation.

⚠️ Deprecations

  • Adding load balancing strategy configuration to cluster clients(replacement for 'read_from_replicas' config, 'read_from_replicas' is deprecated) (#3563)
  • Deprecating unused arguments in connection pools's get_connection functions (#3517)
  • Adding deprecation messages for the exposed in search module commands: FT.CONFIG GET and FT.CONFIG SET (#3499 #3500 )
  • Deprecating Search module config_set and config_get commands. Adding tests for modules ACL and modules config changes in 8.0 (#3489)

πŸ› Bug Fixes

  • Fixing search module dropindex function not to send invalid third parameter. Updating pipeline infra (#3564)
  • Fixing async cluster pipeline execution when client is created with cluster_error_retry_attempts=0 (#3545)
  • Fix client_list with multiple client ids (#3539)
  • Add valid Exception type to Except in ClusterPipeline (#3516)
  • Remove decreasing of created connections count when releasing not owned by connection pool connection(fixes issue #2832). (#3514)
  • Fix #3130 TimeoutError during ClusterPipeline makes the client unrecoverable (#3513)
  • Fix connection health check for protocol != 2 when auth credentials are provided and health check interval is configured (#3477)
  • Fix AttributeError when client.get_default_node() returns None (#3458)
  • fix: add TimeoutError handling in get_connection() (#1485)
  • Avoid stacktrace on process exit in Client.del() (#3397)

🧰 Maintenance

  • Type hints improvements (#3420 #3480 #3522 #3526)
  • Increasing the operations-per-run for stale issues GH action (#3556)
  • Got rid of time.time() everywhere (#3551)
  • Removing deprecated usage of forbid_global_loop=True in pytest.mark.asyncio decorator (#3542)
  • allow more recent pyopenssl (#3541)
  • Bump rojopolis/spellcheck-github-actions from 0.38.0 to 0.47.0 (#3538)
  • Fix LockError message when releasing a lock. (#3534)
  • Fix readthedocs.yml integration(#3527 #3528 #3529)
  • Adding vector search tests for types int8/uint8 (#3525)
  • Adding requested resources into sdist. Fix for issue #3057 (#3511)
  • maintenance: Python 3.13 compatibility (#3510)
  • Adding unit test for core info command related to modules info (#3507)
  • Replacing the redis and redis-stack-server images with redis-libs-tests image in test infrastructure (#3505)
  • Update connection_examples.ipynb (#3504)
  • Update Python imports in doc examples (index_definition => indexDefinition) (#3490)
  • DOC-4736 added geo indexing examples (#3485)
  • Updated test infrastructure with latest versions (#3484)
  • fix: update redis university url, the old link doesn't work (#3481)
  • Fix #3464: Correct misleading exception_handler example in docs (#3474)
  • Added Redis 8.0 to test matrix (#3469)
  • Added workflow_dispatch for pypi release workflow (#3465)
  • Avoid the multiprocessing forkserver method in Python 3.14 (#3442)
  • Fix inaccurate docstring for unwatch() (#3424)
  • Update README.md - Fix 'Note' - bold (#3413)
  • skip ssl import if not available (#3078)
  • Replace flake8+isort+black with ruff (#3147)
  • Fixes minor grammar nit in documentation. (#3354)

Contributors

We'd like to thank all the contributors who worked on this release!
@vladvildanov @petyaslavova @JimNero009 @donbowman @julianolm @666romeo @three-kinds @bssyousefi @mbilski @Yard1 @bacchuswng @noirbee @nbertram @birthdaysgift @Perlence @excitoon @dimbleby @shenxiangzhuang @paololazzari @andy-stark-redis @dwdougherty @niklasbec @byeongjulee222 @befeleme @djroze @BaseMax @dicej @akx @cavemanpi

Don't miss a new redis-py release

NewReleases is sending notifications on new releases.