Skip to content

6.0.0

Latest
Compare
Choose a tag to compare
@petyaslavova petyaslavova released this 30 Apr 19:08

Changes

πŸš€ New Features

  • New hash commands with expiration options support are added - HGETDEL, HGETEX, HSETEX (#3570)
  • 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)

πŸ§ͺ Experimental Features

  • Adding VectorSet commands support. (#3584)

πŸ”₯ Breaking changes

  • Changing the default value for ssl_check_hostname to True, to ensure security validations are not skipped by default (#3626)
  • Updated default value of 'require_full_coverage' argument to true for sync Cluster client to match sync/async cluster APIs (#3434)
  • Adding default retry configuration changes for cluster clients (#3622)
    Important: When instantiating a cluster client retry object becomes mandatory.
    • If retry object is not provided a default one is created with ExponentialWithJitterBackoff strategy and number of retries synced with 'cluster_error_retry_attempts'
    • In case a retry object is provided, its number of retries will be used for cluster operations number of retries and 'cluster_error_retry_attempts' will be ignored
    • Argument 'cluster_error_retry_attempts' is now deprecated
    • For Async Cluster Client the argument 'connection_error_retry_attempts' is completely removed
  • Updating default retry strategy for standalone clients. 3 retries with ExponentialWithJitterBackoff become the default config. (#3614)
  • Removing 'charset' and 'errors' inputs from the Redis initialization arguments - deprecated 3 years ago. (#3608)
  • 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 default retry configuration changes for cluster clients (#3622)
  • Updating default retry strategy for standalone clients. 3 retries with ExponentialWithJitterBackoff become the default config. (#3614)
  • Marks old RediSearch 1.0 commands as deprecated (#3606)
  • 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

  • Handling some special values when transforming response data into list (issue #3573) (#3586)
  • Fixed infinitely recursive health checks (#3557)
  • 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)
  • 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

  • Updating pipeline tests to use test libs image with RC2. Updating timeseries tests. (#3623)
  • Fixing flaky tests - part 2 (#3592)
  • DOC-5107 added hash examples for index/query intro page (#3609)
  • DOC-5073 vector set quantization and dimension reduction examples (#3597)
  • Fixing some sporadically failing tests - part 1 (#3589)
  • DOC-5073 added examples for vector sets intro page (#3590)
  • Fix incorrect link to docs for fcall_ro command (#3576)
  • Improvement: Use shutdown() Before close() in connection.py (#3567)
  • Truncate pipeline exception message to a sane size (#3530)
  • Docs/raae 724/remove redis ventures (#3579)
  • Adding info for sentinel handling failover when Redis client is acquired with master_for() method. (#3578)
  • 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)
  • 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!
@elena-kolevska @petyaslavova @vladvildanov @andy-stark-redis @JimNero009 @donbowman @julianolm @666romeo @three-kinds @bssyousefi @mbilski @Yard1 @bacchuswng @noirbee @nbertram @birthdaysgift @Perlence @excitoon @dimbleby @shenxiangzhuang @paololazzari @dwdougherty @niklasbec @byeongjulee222 @befeleme @djroze @BaseMax @dicej @akx @cavemanpi @lattwood @rbs333 @rohansingh @allrob23