Skip to content

Upgrading redis 6 to 7

Breaking6.4.0 → 7.4.1Breaking12Security4Platform1Deprecated3New29Changed7Fixed36Other52

BreakingUpgrade verdict

12 breaking changes and a platform requirement change and 4 security fixes.

  • 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.
Top 5 of 19 that need code or config changes

Python requirement changed in 7.1.0: >=3.9 → >=3.10.

Breaking12
Removes synchronous context manager handling from async RedisCluster.
RedisCluster
Adds a score_cast_func argument to zrank, zrevrank and zunion for consistency with other sorted set commands.
zrankzrevrankzunionscore_cast_func
Renames 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.
EvictionPolicyInterface
Removes the unused parse_list_to_dict function from helpers.
parse_list_to_dict
Improves type annotations for Redis Search and Aggregate.
Replaces threading.Lock locks with RLock objects to avoid deadlocks.
threading.LockRLock
Updates ping command docstrings and method return type hint.
ping
Fixes several *arg type hints in core.py and the json module commands.
core.py
Fixes errors reported by mypy in search module files query.py, commands.py and aggregation.py.
query.pycommands.pyaggregation.py
Changes the timeout type hint in async BlockingConnectionPool from int to float.
BlockingConnectionPool
Security4
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.
Deprecated2
Removes the batch_size and consumer_name attributes from OTel metrics.
batch_sizeconsumer_name
Adds special handling of client_tracking_on and client_tracking_off for cluster clients and deprecates them for cluster.
client_tracking_onclient_tracking_off