Change8

v7.0.0b1

Breaking Changes
📦 redis-pythonView on GitHub →
5 breaking2 features🐛 1 fixes🔧 7 symbols

Summary

This release introduces maintenance push notification handling and a new WITHATTRIBS option, while breaking several APIs (cache setter, parse_list_to_dict, async RedisCluster context manager) and fixing deadlock issues by switching to RLock.

⚠️ Breaking Changes

  • Added an abstract method declaration for the cache property setter in EvictionPolicyInterface, causing subclasses that do not implement it to fail. Implement the setter in custom eviction policies to fix.
  • Removed the unused parse_list_to_dict function from helpers, breaking any imports or calls to it. Delete or replace those usages.
  • Removed synchronous context manager handling from async RedisCluster, so using "with RedisCluster(...)" now raises an error. Switch to "async with RedisCluster(...)" for async usage.
  • Improved type annotations for Redis Search/Aggregate, which may cause type‑checking failures if code relied on the previous loosely‑typed signatures. Update type hints accordingly.
  • Replaced threading.Lock locks with threading.RLock objects throughout the library to avoid deadlocks. Code that relied on the exact Lock type may need to adjust imports or expectations.

Migration Steps

  1. Implement the new cache property setter in any custom EvictionPolicyInterface subclasses.
  2. Remove or replace all imports and calls to helpers.parse_list_to_dict.
  3. Change any usage of "with RedisCluster(...)" to "async with RedisCluster(...)" for async contexts.
  4. Review and update type annotations for Redis Search and Aggregate usage to match the new signatures.
  5. If your code explicitly checks for threading.Lock instances, adjust it to accept threading.RLock as well.

✨ New Features

  • Added support for maintenance push notifications handling during server upgrade or maintenance procedures.
  • Introduced the WITHATTRIBS option to the vector set's vsim command.

🐛 Bug Fixes

  • Replaced threading.Lock locks with threading.RLock objects to avoid deadlocks.

Affected Symbols