v7.0.0b1
Breaking Changes📦 redis-pythonView on GitHub →
⚠ 5 breaking✨ 2 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
- Implement the new cache property setter in any custom EvictionPolicyInterface subclasses.
- Remove or replace all imports and calls to helpers.parse_list_to_dict.
- Change any usage of "with RedisCluster(...)" to "async with RedisCluster(...)" for async contexts.
- Review and update type annotations for Redis Search and Aggregate usage to match the new signatures.
- 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.