Upgrading redis 6 to 7
Breaking6.4.0 → 7.4.1Breaking12Security4Platform1Deprecated3New29Changed7Fixed36Other52
SecurityAddresses dependency vulnerabilities and fixes flaky tests.582cc3510f431e3c339d1cd8e78c978fff8f74da ↗
BreakingUpgrade verdict
12 breaking changes and a platform requirement change and 4 security fixes.
In plain terms
- Removes synchronous context manager handling from async RedisCluster.
- Adds a score_cast_func argument to zrank, zrevrank and zunion for consistency with other sorted set commands.
- Renames classes and configuration arguments related to maintenance push notification handling during server upgrade or maintenance.
- The experimental health check and failure detection behavior changes, which may affect existing setups.
Must act Top 5 of 19 that need code or config changes
Python requirement changed in 7.1.0: >=3.9 → >=3.10.
What you must change
Breaking12
Removes synchronous context manager handling from async RedisCluster.
RedisClusterAdds a score_cast_func argument to zrank, zrevrank and zunion for consistency with other sorted set commands.
zrankzrevrankzunionscore_cast_funcRenames classes and configuration arguments related to maintenance push notification handling during server upgrade or maintenance.
Replaces the default health check and failure detector with a custom one in experimental features.
Adds an abstract method declaration for the cache property setter in EvictionPolicyInterface.
EvictionPolicyInterfaceRemoves the unused parse_list_to_dict function from helpers.
parse_list_to_dictImproves type annotations for Redis Search and Aggregate.
Replaces threading.Lock locks with RLock objects to avoid deadlocks.
threading.LockRLockUpdates ping command docstrings and method return type hint.
pingFixes several *arg type hints in core.py and the json module commands.
core.pyFixes errors reported by mypy in search module files query.py, commands.py and aggregation.py.
query.pycommands.pyaggregation.pyChanges the timeout type hint in async BlockingConnectionPool from int to float.
BlockingConnectionPoolSecurity4
Addresses dependency vulnerabilities and fixes flaky tests.
Fixes a security concern in ConnectionPools __repr__ methods where passwords might leak in plain text logs.
ConnectionPool__repr__Addresses dependency vulnerabilities and fixes flaky tests.
Addresses dependency vulnerabilities and fixes flaky tests.
Platform1
Removes Python 3.9 support and adds Python 3.14 support.
Deprecations to plan for
Deprecated2
Removes the batch_size and consumer_name attributes from OTel metrics.
batch_sizeconsumer_nameAdds special handling of client_tracking_on and client_tracking_off for cluster clients and deprecates them for cluster.
client_tracking_onclient_tracking_off