NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #155 most downloaded on PyPI
Python client for Redis database and key-value store
Last release 2 months ago
30 Jul 2026
Release timing varies
gaps range from 8 days to 3 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
14 years old
169 releases · first in 2012
Extract abstract async connection class
JSON.MERGE command (#2761)JSON.MSET command (#2766)WAITAOF (#2760)WITHSCORE argument to ZRANK (#2758)connect method of all Redis connection classes (#2631)We'd like to thank all the contributors who worked on this release!
@Smit-Parmar, @TheKevJames, @aciddust, @bmacphee, @bodevone, @dvora-h, @kristjanvalur, @shacharPash, @shahar-lev, @vmihailenco and @woutdenolf
Add support for CLIENT NO-TOUCH
One column per quarter.
CLIENT NO-TOUCH (#2745)CLUSTER MYSHARDID (#2704)WITHSCORES argument to ZREVRANK command (#2725)XADD: allow non negative maxlen (#2739)SLOWLOG GET return value (#2732)ClusterCommandProtocol type (#2729)TOPK list example. (#2724)We'd like to thank all the contributors who worked on this release!
@AYMENJD, @Anthchirp, @Avasam, @NickG123, @SoulPancake, @aciddust, @chayim, @cristianmatache, @dvora-h, @felipou, @kristjanvalur, @mirekdlugosz, @mzdehbashi-github, @oranav, @scoopex, @shacharPash and @tylerhutcherson
(CVE-2023-28859) - Cancelling an async future does not, properly trigger, leading to a potential data leak in specific cases.
Upgrade urgency: SECURITY, contains fixes to security issues.
We'd like to thank all the contributors who worked on this release!
@bellini666, @chayim, @dvora-h, @shacharPash and @woutdenolf
Update urgency: HIGH: There is a critical bug that may affect a subset of users. Upgrade!
Update urgency: HIGH: There is a critical bug that may affect a subset of users. Upgrade!
Introduce AbstractConnection so that UnixDomainSocketConnection can call super().__init__
lpop and rpop return typing (#2590)We'd like to thank all the contributors who worked on this release!
@CrimsonGlory, @Galtozzy, @aksinha334, @barshaul, @chayim, @davemcphee, @dvora-h, @kristjanvalur, @ryin1, @sileht, @thebarbershop, @uglide, @woutdenolf and @zakaf
Fix #2581 UnixDomainSocketConnection object has no attribute _command_packer
UnixDomainSocketConnection object has no attribute _command_packer (#2583)We'd like to thank all the contributors who worked on this release!
@dvora-h and @prokazov
Special Note: This redis-py release introduces the ability to write to Redis, using hiredis. If you're using hiredis as an optional requirement, pleas
Special Note: This redis-py release introduces the ability to write to Redis, using hiredis. If you're using hiredis as an optional requirement, please upgrade to hiredis 2.2.1. In many cases, writes times decrease by > 25%.
unlink in cluster pipeline (#2562)pack_commands returning an empty byte sequence (#2416)Union type in method StreamCommands.xclaim() (#2553)We'd like to thank all the contributors who worked on this release!
@SoulPancake, @Vivanov98, @ant1fact, @dvora-h, @gmbnomis, @jmcbailey, @kosuke-zhang, @kristjanvalur, @prokazov, @rbowen and @uglide
(CVE-2023-28859) - Cancelling an async future does not, properly trigger, leading to a potential data leak in specific cases.
Upgrade urgency: SECURITY, contains fixes to security issues.
Update urgency: HIGH: There is a critical bug that may affect a subset of users. Upgrade!
Update urgency: HIGH: There is a critical bug that may affect a subset of users. Upgrade!
Security Fix: Updating graph parser for potential injection cases
Note: this release include #2548 and it is suggested that users upgrade immediately.
We'd like to thank all the contributors who worked on this release!
@Threated, @dvora-h, @shacharPash and @zakaf
Remove DeprecationWarning by replace get_event_loop with get_running_loop
FT.AGGREGATE (#2537)resetchannels in ACL SETUSER (#2514)__eq__ in graph classes (#2531)ex parameter in set command (#2529)DeprecationWarning by replace get_event_loop with get_running_loop (#2530)JSON.ARRINDEX test (#2527)We'd like to thank all the contributors who worked on this release!
@DvirDukhan, @SessionIssue, @YiuRULE, @chayim, @dgilmanAIDENTIFIED, @dvora-h, @kristjanvalur, @mohsinhaider, @raz-mon, @shacharPash, @stitchWzc, @uglide, @vmihailenco, @winmorre and @zakaf
4.4.0rc4 release notes 4.4.0rc3 release notes 4.4.0rc2 release notes 4.4.0rc1 release notes
4.4.0rc4 release notes 4.4.0rc3 release notes 4.4.0rc2 release notes 4.4.0rc1 release notes
geosearch command (#2464)We'd like to thank all the contributors who worked on this release!
@Sibuken, @barshaul, @chayim, @dvora-h, @nermiller, @uglide and @utkarshgupta137
CredentialsProvider class added to support password rotation
We'd like to thank all the contributors who worked on this release!
@KMilhan, @barshaul, @dvora-h and @fadida
Fixing invalid vulnerability report
weight parameter from TDIGEST.ADD and fixed tests (#2408)to_string method for GeoValue (#2404)deprecated (#2386)test_get_moveable_keys (#2411)add_doccument (FT.ADD) (#2425)TIMESERIES (round floats) and JSON tests (#2421)We'd like to thank all the contributors who worked on this release!
@AnneYang720, @Dreamsorcerer, @aandrukhovich, @akx, @ashikshezan, @chayim, @dvora-h, @hofrob, @hyeongguen-song, @kristjanvalur and @sobolevn
Adding dependency vulnerability scanning to the CI process
Exception and not BaseException in the Connection (#2104)timeout=None in PubSub.get_message() to wait forever (https://github.com/redis/redis-py/pull/2295)nowait flag to asyncio.Connection.disconnect() (#2356)Exception and not BaseException in the Connection (#2104)timeout=None in PubSub.get_message() to wait forever (https://github.com/redis/redis-py/pull/2295)packaging dependency) (#2385)TOPK.COUNT as deprecated (#2363)We'd like to thank all the contributors who worked on this release!
@akx, @bodevone, @chayim, @dvora-h, @gkorland, @graeme44, @kristjanvalur, @leven-cn, @lucacillario, @n8wb, @povilasb, @vanschelven and @woodruffw
Change dropindex() function to use FT.DROPINDEX (instead FT.DROP)
dropindex() function to use FT.DROPINDEX (instead FT.DROP) (#2315)redis-py/redis/cluster.py (#2238)TDIGEST.QUANTILE extensions (#2317)dropindex() to use FT.DROPINDEX (instead FT.DROP) (#2315)ensure_future with create_task (#2311)__nonzero__ method from cluster.py (#2313)start_id type for XAUTOCLAIM (#2257)redis-py/redis/cluster.py (#2238)We'd like to thank all the contributors who worked on this release!
@DvirDukhan, @GaMeRaM, @Iglesys347, @aandrukhovich, @agusdmb, @bodevone, @chayim, @dvora-h, @grippy, @joekohlsdorf, @kristjanvalur, @nialdaly, @pedrofrazao, @sileht, @sobolevn, @szumka, @timgates42 and @utkarshgupta137
Update urgency: HIGH: There is a critical bug that may affect a subset of users. Upgrade!
Update urgency: HIGH: There is a critical bug that may affect a subset of users. Upgrade!
Supply chain risk reduction: remove dependency on library named deprecated
This is a maintenance release of redis-py, prior to the release of 4.4.0. This release contains both bug fixes, and features, keeping pace with the release of redis-stack capabilities.
We'd like to thank all the contributors who worked on this release!
@sileht, @utkarshgupta137, @dvora-h, @akx, @bodevone, @chayim, @DvirDukhan
Fix backward compatibility from 4.3.2 in Lock.acquire()
XAUTOCLAIM to return the full response, instead of only keys 2+ (#2252)We'd like to thank all the contributors who worked on this release!
@Iglesys347, @barshaul, @dvora-h, @earthgecko, @elemoine, @falk-h, @kristjanvalur, @psrok1 and @utkarshgupta137
Fix Lock crash, and versioning 4.3.3
We'd like to thank all the contributors who worked on this release!
@dvora-h and @utkarshgupta137
SHUTDOWN - add support for the new NOW, FORCE and ABORT modifiers
We'd like to thank all the contributors who worked on this release!
@Avital-Fine, @Olegt0rr, @WisdomPill, @dvora-h, @grippy, @mfgnik, @rapidia, @ryanrussell and @utkarshgupta137
We'd like to thank all the contributors who worked on this release!
We'd like to thank all the contributors who worked on this release!
@dvora-h
Replace OSError exceptions from can_read with redis.ConnectionError
can_read with redis.ConnectionError (#2140)PubSub.run() without previous subscribe() (#2148)Retry(): Support negative retries value (#2110)We'd like to thank all the contributors who worked on this release!
@Andrew-Chen-Wang, @Ankhas, @Avital-Fine, @JelleZijlstra, @chayim, @dvora-h, @enjoy-binbin, @kamyabzad, @kristjanvalur, @richli, @suxb201 and @utkarshgupta137
Extended "CLUSTER NODES" parser to support special slot entries
We'd like to thank all the contributors who worked on this release!
@barshaul, @beasteers, @dsoprea, @dvora-h, @enjoy-binbin, @nosammai and @wwqgtxx
Add dialect support for RediSearch queries
We'd like to thank all the contributors who worked on this release!
@dvora-h, @enjoy-binbin and @mgorny
4.2.0-rc1 release notes 4.2.0-rc2 release notes 4.2.0-rc3 release notes
4.2.0-rc1 release notes 4.2.0-rc2 release notes 4.2.0-rc3 release notes
We'd like to thank all the contributors who worked on this release!
@Avital-Fine, @dvora-h, @joni- and @utkarshgupta137
Add support for SORT_RO available in redis 7
We'd like to thank all the contributors who worked on this release!
@advance512, @dogukanteber, @dvora-h, @fuho, @lazToum and @razzeee
Add pipeline support for Search
We'd like to thank all the contributors who worked on this release!
@Andrew-Chen-Wang, @OfirMos, @chayim, @dogukanteber, @dvora-h, @jakebarnwell, @mdczaplicki and @spagh-eddie
Functions within RedisGraph support, were renamed to match Python naming conventions.
We'd like to thank all the contributors who worked on this release!
@Andrew-Chen-Wang, @chayim, @dogukanteber, @dvora-h, @elemoine, @jakebarnwell, @shchurov, @ashtul, @Pagliacii, @joseotoro and @srittau
Adding ExecutionPlan support for graph
Change json.clear test multi to be up to date with redisjson
We'd like to thank all the contributors who worked on this release!
@MeirShpilraien, @dvora-h
Invalid OCSP certificates should raise ConnectionError on failed validation
We'd like to thank all the contributors who worked on this release!
@barshaul, @chayim, @dvora-h, @soumendrak and @varunchopra
Add retries to connections in Sentinel Pools
setup.py: Add project_urls for PyPI (#1867)We'd like to thank all the contributors who worked on this release!
@Andrew-Chen-Wang, @AvitalFineRedis, @Enchufa2, @barshaul, @chayim, @dvora-h, @jdieter, @salty-horse, @sbv-csis and @tony
4.1.0-rc2 release notes 4.1.0-rc1 release notes
4.1.0-rc2 release notes 4.1.0-rc1 release notes
We'd like to thank all the contributors who worked on this release!
@Akuli, @AvitalFineRedis, @alisaifee, @ashwani99, @barshaul, @chayim, @dvora-h, @pawl and @yanivhershkovich
Migrated targeted nodes to kwargs in Cluster Mode
We'd like to thank all the contributors who worked on this release!
@AvitalFineRedis, @WisdomPill, @akx, @barshaul, @asheryerm, @chayim, @hartwork and @m-novikov
Removing deprecating distutils (PEP 632)
We'd like to thank all the contributors who worked on this release!
@AvitalFineRedis, @barshaul and @chayim
Restoring Sentinel commands to redis client
We'd like to thank all the contributors who worked on this release!
@Carlosbogo, @sculley and @wuisawesome
Removing command on initial connections
We'd like to thank all the contributors who worked on this release!
@chayim
4.0.0-rc2 release notes 4.0.0-rc1 release notes 4.0.0-beta3 release notes 4.0.0-beta2 release notes 4.0.0-beta1 release notes
4.0.0-rc2 release notes 4.0.0-rc1 release notes 4.0.0-beta3 release notes 4.0.0-beta2 release notes 4.0.0-beta1 release notes
We'd like to thank all the contributors who worked on this release!
@AvitalFineRedis, @ashtul, @chayim and @jerr0328
Re-enable pipeline support for JSON and TimeSeries
We'd like to thank all the contributors who worked on this release!
@AvitalFineRedis, @chayim, @emorozov and @terencehonles
Improvements to JSON coverage (#1666) Impact: JSON commands available since 4.0.0beta3 now better match RedisJSON
We'd like to thank all the contributors who worked on this release!
@Nicusor97, @WisdomPill, @chayim and @gkorland
Fixing the package to include commands
We'd like to thank all the contributors who worked on this release!
@chayim
Adding support for redisearch (#1640) Thanks @chayim
Removed support for end of life Python 2.7. #1318
decode_components flag to the from_url functions.
This is now done by default and cannot be disabled. #589redis.client to access commands
directly should import redis.commands. #1534, #1550Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Nothing published for this version
Your coding agent can read these notes before it upgrades. Set up the MCP server →