NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #526 most downloaded on PyPI
Python implementation of redis API, can be used for testing purposes.
Last release 4 days ago
01 Oct 2026
Ships fairly regularly
a new release about every 4 weeks
Nearly every release is documented
notes for 60 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
15 years old
146 releases · first in 2012
feat: support Redis 8.10 commands LMOVEM , BLMOVEM , SUNIONCARD , SDIFFCARD , TS.QUERYLABELS , TS.NRANGE , TS.NREVRANGE and TS.READ
LMOVEM, BLMOVEM, SUNIONCARD, SDIFFCARD, TS.QUERYLABELS, TS.NRANGE, TS.NREVRANGE and TS.READ (#597)kividb server type, matching KiviDB 1.0.4's command surface (#570, #571)XADD/XTRIM accept the KEEPREF/DELREF/ACKED reference policies (#583)MOVE/SMOVE invalidate WATCH like Redis, add SORT_RO, sort unsorted SORT results in scripts/STORE, and fix ZSCAN while deleting (#595)BITOP pads shorter operands and treats missing keys as empty (#593)*BYMEMBER/FROMMEMBER searches on a missing member return Redis'/Valkey 9's error instead of crashing (#594)from_url works for FakeValkey, FakeStrictValkey and FakeAsyncValkey (#591)~) trimming drops whole nodes and XADD/XTRIM options use Redis' errors (#583)XADD never reuses deleted IDs and rejects invalid IDs like Redis (#583)XGROUP SETID/CREATE, entries-read and lag follow Redis' rules (#583)XRANGE/XREVRANGE/XPENDING treat an end ID without sequence as the whole millisecond (#584)TDIGEST.QUANTILE on a single observation follows Redis 8.10 (#597)TcpFakeServer answers RESP2 clients in RESP2 (#580)ExpiringMembersSet keeps the member when clearing its TTL (#578)FakeAsyncValkey raises valkey exceptions and async connections report addr/laddr/fd (#589)FakeRedis(version=10) no longer shares a server with version=1 (#589)get_message(timeout=...) (#577)fakeredis/_core, fakeredis/_clients and fakeredis/_socket packages (#589, #590, #592)from __future__ import annotations from test files (#586)setup-uv action (#587)Full Changelog: v2.38.0...v2.39.0
One column per quarter.
feat: implement Dragonfly's CL.THROTTLE rate-limiting command, ported from Dragonfly's own code so the quirks match — millisecond-ceiling time fields,
CL.THROTTLE rate-limiting command, ported from Dragonfly's own code soremaining truncating towards zero, and anretry_after = -1 without writing the key (#536)numkeys/COUNT, SCAN COUNT 0 falling back to the default batch size, SMOVE checkingLCS at all, a relative expiry past 2**28-1 seconds clamped2**26 seconds, and strings capped atINCRBYFLOAT/HINCRBYFLOAT, empty arraysXREAD/XREADGROUP that matched nothing, ZPOPMIN/ZPOPMAX always paired under RESP3, flat WITHSCORES from ZUNION/ZINTER, a nullfirst-entry/last-entry for an empty stream, -1 as XINFO GROUPS' unknown-lag sentinel,XPENDING looking up the key before the group, and one namespace for shard and plain pub/subSORT without -> hash-field patterns and withoutCOPY without a DB option, GEORADIUS/GEOSEARCH in geohash orderredis.call in a Lua script now returns RESP2 shapes whatever protocol the client negotiated,redis.setresp(2)/redis.setresp(3) areredis.setresp, so fakeredis does{double=...} there answers with an emptyXCLAIM/XAUTOCLAIM now move an entry's pending count to the claiming consumer instead ofXACK no longer drives that count negative (#548)XACK no longer raises a raw Python KeyError when a pending entry has no live consumer, andXGROUP DELCONSUMER now removes the entries that consumer owned, returning how many it droppedXCLAIM now honours RETRYCOUNT, and XCLAIM/XAUTOCLAIM honour JUSTID, when updating anRETRYCOUNT takes precedence over JUSTID, and a negative RETRYCOUNTBRPOP, BLPOP, XREAD BLOCK 0, ...) no longer leavesXAUTOCLAIM now returns the cursor its next scan should start from, and 0-0 once the pendingSMOVE no longer raises WRONGTYPE for a wrongly typed destination when the source key isBITCOUNT reports the syntax error before decoding its range arguments on a pre-7.0GEORADIUS returns an unsorted reply in geohash order rather than insertion orderTcpFakeServer handler threads when a client disconnects (#541)docs/dragonfly-support.md now writes up every Dragonfly divergence fakeredis emulates, andSAVE, short-circuiting setFull Changelog: v2.37.1...v2.38.0
fix: honor the FILTER-EF (max filtering effort) option in VSIM — the value was previously parsed but ignored, so a low FILTER-EF could return filter m
FILTER-EF (max filtering effort) option in VSIM — the value was previously parsed but ignored, so aFILTER-EF could return filter matches that real Redis skipsZPOPMIN/ZPOPMAX in RESP3 now return a flat [member, score] pair when no count is given (an array of pairs isZPOPMIN/ZPOPMAX now reject a negative count with value is out of range, must be positiveZPOPMIN/ZPOPMAX/BZPOPMIN/BZPOPMAX/ZMPOP/BZMPOP now delete the sorted set key once its last member isLTRIM now signals the key as modified even when the trim is a no-op, so a WATCH on that key correctly abortsXPENDING on a missing key or unknown group now raises NOGROUP instead0/an empty array, and neither XPENDING nor XINFO GROUPS creates the key as a side effect (#532)VADD/VSIM keep a row-oriented matrix of the vector set resident and reuse it, instead of restacking everyJSONPath objects in the JSON stack mixin (#538)Full Changelog: v2.37.0...v2.37.1
feat: implement connection commands RESET , CLIENT KILL , CLIENT UNBLOCK , CLIENT REPLY , CLIENT PAUSE , CLIENT UNPAUSE , CLIENT NO-EVICT and CLIENT N
RESET, CLIENT KILL, CLIENT UNBLOCK, CLIENT REPLY, CLIENT PAUSE,CLIENT UNPAUSE, CLIENT NO-EVICT and CLIENT NO-TOUCH. CLIENT PAUSE validates and records its arguments but doesCLIENT TRACKING, CLIENT TRACKINGINFO,CLIENT CACHING, CLIENT GETREDIR) remain unsupportedINCREX command (redis 8.8) (#520)FPHA argument in JSON.SET to force homogeneous numeric arrays to a floating-point type (redis 8.8) (TS.RANGE/TS.REVRANGE/TS.MRANGE/TS.MREVRANGE (redis 8.8) (#524)COUNT aggregator in ZUNION/ZINTER/ZUNIONSTORE/ZINTERSTORE (redis 8.8) (#522)CLAIM min-idle-time option in XREADGROUP (redis 8.4) (#527)#-prefixed offsets in BITFIELDXNACK with redis 8.8 semantics (#521)HEXPIRE/HPEXPIRE now raise an error on negative expiration timeGEOADD now rejects longitude/latitude pairs outside the valid range_commands.py and related mixinsFull Changelog: v2.36.2...v2.37.0
RESET, CLIENT KILL, CLIENT UNBLOCK, CLIENT REPLY, CLIENT PAUSE,
CLIENT UNPAUSE, CLIENT NO-EVICT and CLIENT NO-TOUCH. CLIENT PAUSE validates and records its arguments but does
not actually suspend command processing; the client-side caching commands (CLIENT TRACKING, CLIENT TRACKINGINFO,
CLIENT CACHING, CLIENT GETREDIR) remain unsupportedINCREX command (redis 8.8) (#520)FPHA argument in JSON.SET to force homogeneous numeric arrays to a floating-point type (redis 8.8) (
#523)TS.RANGE/TS.REVRANGE/TS.MRANGE/TS.MREVRANGE (redis 8.8) (#524)COUNT aggregator in ZUNION/ZINTER/ZUNIONSTORE/ZINTERSTORE (redis 8.8) (#522)CLAIM min-idle-time option in XREADGROUP (redis 8.4) (#527)#-prefixed offsets in BITFIELDXNACK with redis 8.8 semantics (#521)HEXPIRE/HPEXPIRE now raise an error on negative expiration timeGEOADD now rejects longitude/latitude pairs outside the valid rangeHGETEX/HSETEX, non-positive COUNT/numkeys in LMPOP/BLMPOP/ZMPOP/BZMPOP and
SINTERCARD, negative LPOS COUNT/MAXLEN, out-of-range COPY DB index, negative blocking timeouts,
non-positive SCAN/SSCAN/HSCAN/ZSCAN COUNT, and invalid BITCOUNT/BITPOS range arguments (#528)_commands.py and related mixinsfix: replace async can_read busy-poll with event-based wakeup
can_read busy-poll with event-based wakeup (#506)GT/LT conditions in ZADD with INCR (#507)LIMIT in SINTERCARD and ZINTERCARD (#508)addr/laddr/fd fields in CLIENT LIST/CLIENT INFO (#512)Full Changelog: v2.36.1...v2.36.2
fix: TypeError on import in Python 3.8 due to list[Any] annotation in sort command
TypeError on import in Python 3.8 due to list[Any] annotation in sort command (#490)_decode recurses into dict so RESP3 HGETALL responses are decoded (#492)Database now uses stable identity-based __hash__/__eq__ (previously returned an unstable hash)build_client_kwds helperFull Changelog: v2.36.0...v2.36.1
Implement keyspace notifications @alexbthundiyil-spec
XACKDEL, XDELEX, XIDMPRECORD, XNACK commands (#484)VISMEMBER command to check element existence in vector setARSET, ARGET, ARLEN, ARGETRANGE, ARINSERT, ARDEL, etc.) for Redis 8.8 (VSIM commandCF.RESERVE and CF.SCANDUMP should not create keys if they do not existVSETCLIENT INFO and CLIENT GETNAME commandsCommandsMixinBase to centralise shared mixin attributes (#482)AsyncClientType for improved type safetyFull Changelog: v2.35.1...v2.36.0
fix: Breaking change in 2.35.0: FakeConnection renamed without backward-compatible alias #468
Full Changelog: v2.35.0...v2.35.1
Fix DeprecationWarning caused by mixing valkey and redis classes ( @kurtmckee ) #462 #464
VADD, VCARD, VDIM, VEMB, VGETATTR, VINFO, VLINKS, VRANDMEMBER,VRANGE, VREM, VSETATTR, VSIM #451Full Changelog: v2.34.1...v2.35.0
Fix handling of deprecated arguments in FakeRedis to support redis-py 7.2.0 #457
FakeRedis to support redis-py 7.2.0 #457XREAD with block=0 works as expected #453Full Changelog: v2.34.0...v2.34.1
TcpFakeServer supports RESP3 #437
XINFO STREAM #445Full Changelog: v2.33.0...v2.34.0
XINFO STREAM #445Implement MSETEX (From Redis 8.4)
MSETEX (From Redis 8.4)Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.32.1...v2.33.0
MSETEX (From Redis 8.4)Full Changelog: v2.32.1...v2.33.0
fix:xpending_range to return all 4 required fields per Redis spec @zzstoatzz #427
xpending_range to return all 4 required fields per Redis spec @zzstoatzz #427Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.32.0...v2.32.1
add support for nx/xx/gt/lt options for expireat/pexpire/pexpireat @praboud-ant #421
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.31.3...v2.32.0
Fix checking valkey exceptions in async client #416
TS.MRANGE filters with IN condition not working @ben-swid #414 #415valkey when connection class is FakeRedis #417Sending lib_name and lib_version only when relevant #408
TcpFakeServer #409We'd like to thank all the contributors who worked on this release!
@mgorny and @phi-friday
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.31.0...v2.31.1
Add native cjson support for lua redis scripts #399 @ItsDrike
lib_name and lib_version in FakeBaseConnectionMixinFakeValkey, raise valkey.ResponseError instead of redis.ResponseError #402Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.30.3...v2.31.0
Import Callable from typing to support python 3.8 #398
Callable from typing to support python 3.8 #398Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.30.2...v2.30.3
Import Callable from typing to support python 3.8 #398
Callable from typing to support python 3.8 #398FakeValkey uses valkey-py instead of redis-pyFull Changelog: https://github.com/cunla/fakeredis-py/compare/v2.30.1...v2.30.2
Show warning for deprecated parameter only if parameter is included in instantiation #384
LICENSE file to fakeredis/ on build #395Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.30.0...v2.30.1
LICENSE file to fakeredis/ on build #395Implement support for COPY @ajhetherington #383
COPY @ajhetherington #383inspect to get __init__ paramaters #384We'd like to thank all the contributors who worked on this release!
@ajhetherington
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.29.0...v2.30.0
COPY @ajhetherington #383inspect to get __init__ parameters #384Implement support for NOVALUES for HSCAN
NOVALUES for HSCANCLIENT LIST #376json.set nx arg behavior #372hset not resetting expiration over fieldTDIGEST.QUANTILE to match redis behavior on a TDigest with one value #377HINCRBY/hincrbyfloat commands now don't remove ttl from hash key @M1ha-Shvn #381Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.28.1...v2.29.0
NOVALUES for HSCANCLIENT LIST #376json.set nx arg behavior #372hset not resetting expiration over fieldTDIGEST.QUANTILE to match redis behavior on a TDigest with one value #377HINCRBY/hincrbyfloat commands now don't remove ttl from hash key @M1ha-Shvn #381Open commands.json with encoding specified #367
xadd to use last timestamp if the current system timestamp is lower than the last timestamp #368Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.28.0...v2.28.1
implement support for WITHSCORE in ZRANK and ZREVRANK #357
WITHSCORE in ZRANK and ZREVRANK #357HELLO, CLIENT SETNAME, CLIENT GETNAME, CLIENT ID, CLIENT INFO #361HGETEX, HSETEX, HGETDEL #365test_tcp_server_started to close the connection @mgorny (#363)AUTH command @wakonig (#362)default account acl on startup @wakonig (#362)We'd like to thank all the contributors who worked on this release!
@mgorny and @wakonig
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.27.0...v2.28.0
ACL LOAD, ACL SAVE, ACL LIST, ACL USERS, ACL GETUSER, ACL SETUSER, ACL DELUSER, ACL CAT, ACL LOG, ACL HELP, ACL WHOAMI, ACL GENPASS, ACL AUTH, ACL LOG
ACL LOAD, ACL SAVE, ACL LIST, ACL USERS, ACL GETUSER, ACL SETUSER, ACL DELUSER, ACL CAT,
ACL LOG, ACL HELP, ACL WHOAMI, ACL GENPASS, ACL AUTH, ACL LOG_RESET, ACL LOG_COUNT, ACL LOG_GET,
ACL LOG_HELP, ACL LOG_RESET, ACL LOG_COUNT, ACL LOG_GET, ACL LOG_HELPSADDEX, using a new set implementation with support for expiring members #350We'd like to thank all the contributors who worked on this release!
@Redoubts
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.26.2...v2.27.0
Fix bug in xreadgroup when stream length is less than COUNT with BLOCK #344
xreadgroup when stream length is less than COUNT with BLOCK #344SADDEX (Dragonfly specific command) #348Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.26.1...v2.26.2
## 🧰 Maintenance - add py3.7 test (#343) Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.26.0...v2.26.1
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.26.0...v2.26.1
Support for server-type specific commands #340
SADDEX command #340Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.25.1...v2.26.0
Fix missing default values for version/server_type in FakeBaseConnectionMixin #334
FakeBaseConnectionMixin #334Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.25.0...v2.25.1
Implement support for hash expiration related commands @j00bar #328 HEXPIRE, HEXPIREAT, HEXPIRETIME, HPERSIST, HPEXPIRE, HPEXPIREAT, HPEXPIRETIME, HPT
HEXPIRE, HEXPIREAT, HEXPIRETIME, HPERSIST, HPEXPIRE, HPEXPIREAT, HPEXPIRETIME, HPTTL, HTTL,SORT_RO #325, EXPIRETIME #323, and PEXPIRETIME #324Replace typing_extensions dependency with typing-extensions #330
We'd like to thank all the contributors who worked on this release!
@cunla and @j00bar
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.24.1...v2.25.0
Fix license file added to site-packages #320
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.24.0...v2.24.1
Support for TIME SERIES commands (no support for align arguments on some commands) #310
unsupported_server_types to enable excluding tests from running against certain server types #318We'd like to thank all the contributors who worked on this release!
@hurlenko
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.23.5...v2.24.0
fix:issue with async connection and blocking operations writing responses twice to socket #316
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.23.4...v2.23.5
fix:move random seed to HeavyKeeper to avoid issues #315
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.23.3...v2.23.4
docs: Full code for FastAPI integration
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.23.2...v2.23.3
Fix reading multiple streams with blocking #309
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.23.1...v2.23.2
Fix XREAD behavior when COUNT is not provided but BLOCKING is provided #308
XREAD behavior when COUNT is not provided but BLOCKING is provided #308Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.23.0...v2.23.1
Support for TDigest commands: TDIGEST.ADD,TDIGEST.BYRANK,TDIGEST.BYREVRANK,TDIGEST.CDF, TDIGEST.CREATE, TDIGEST.INFO, TDIGEST.MAX, TDIGEST.MERGE, TDIG
TDIGEST.ADD,TDIGEST.BYRANK,TDIGEST.BYREVRANK,TDIGEST.CDF, TDIGEST.CREATE, TDIGEST.INFO,
TDIGEST.MAX, TDIGEST.MERGE, TDIGEST.MIN, TDIGEST.QUANTILE, TDIGEST.RANK, TDIGEST.RESET, TDIGEST.REVRANK,
TDIGEST.TRIMMED_MEAN.Self from typing vs. typing_extensionWe'd like to thank all the contributors who supported the work on this release! @noamkush
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.22.0...v2.23.0
Support for setting LUA version from environment variable FAKEREDIS_LUA_VERSION #287
FAKEREDIS_LUA_VERSION #287@ben-xo
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.21.3...v2.22.0
Revert behavior of defaulting to share the same server data structure between connections @howamith #303
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.21.2...v2.21.3
Connection params are defaulted to be the same between async and sync connections #290
xinfo_stream raises exception when stream does not exist #296Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.21.1...v2.21.2
Note: Since connection params are defaulted to be the same between async and sync connections, different FakeRedis connections with the same connection params (or without connection parameters) will share the same server data structure.
xinfo_stream raises exception when stream does not exist #296Support for float timeout values #289
We'd like to thank all the contributors who worked on this release!
@ldkv
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.21.0...v2.21.1
Implement all TOP-K commands (TOPK.INFO, TOPK.LIST, TOPK.RESERVE, TOPK.ADD, TOPK.COUNT, TOPK.QUERY, TOPK.INCRBY) #278
TOPK.INFO, TOPK.LIST, TOPK.RESERVE,
TOPK.ADD, TOPK.COUNT, TOPK.QUERY, TOPK.INCRBY) #278Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.20.1...v2.21.0
TOPK.INFO, TOPK.LIST, TOPK.RESERVE,
TOPK.ADD, TOPK.COUNT, TOPK.QUERY, TOPK.INCRBY) #278@testtools.run_test_if_redispy_ver### 🐛 Bug Fixes - Fix XREAD bug #256 ### 🧰 Maintenance - Testing for python 3.12 - Dependencies update Full Changelog: https://github.com/cunla/fakere
XREAD bug #256Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.20.0...v2.20.1
Implement COMMAND, COMMAND INFO, COMMAND COUNT
COMMAND, COMMAND INFO, COMMAND COUNT (#248)We'd like to thank all the contributors who worked on this release!
@fcr--
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.19.0...v2.20.0
BITFIELD command #247COMMAND, COMMAND INFO, COMMAND COUNT #248Implement Bloom filters commands #239
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.18.1...v2.19.0
Officially for redis-py 5.0.0, redis 7.2
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.18.0...v2.18.1
Implement PUBSUB NUMPAT #195, SSUBSCRIBE #199, SPUBLISH #198, SUNSUBSCRIBE #200, PUBSUB SHARDCHANNELS #196, PUBSUB SHARDNUMSUB #197
PUBSUB NUMPAT #195, SSUBSCRIBE #199, SPUBLISH #198,
SUNSUBSCRIBE #200, PUBSUB SHARDCHANNELS #196, PUBSUB SHARDNUMSUB #197Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.17.0...v2.18.0
Implement LPOS #207, LMPOP #184, and BLMPOP #183
LPOS #207, LMPOP #184, and BLMPOP #183ZMPOP #191, BZMPOP #186We'd like to thank all the contributors who worked on this release!
@OlegZv, @sjjessop
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.16.0...v2.17.0
LPOS #207, LMPOP #184, and BLMPOP #183ZMPOP #191, BZMPOP #186We'd like to thank all the contributors who worked on this release!
@OlegZv, @sjjessop
Implemented support for JSON.MSET #174, JSON.MERGE #181
JSON.MSET #174, JSON.MERGE #181Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.15.0...v2.16.0
Implemented support for various stream groups commands:
XGROUP CREATE #161, XGROUP DESTROY #164, XGROUP SETID #165, XGROUP DELCONSUMER #162,
XGROUP CREATECONSUMER #163, XINFO GROUPS #168, XINFO CONSUMERS #168, XINFO STREAM #169, XREADGROUP #171,
XACK #157, XPENDING #170, XCLAIM #159, XAUTOCLAIM #158ZRANDMEMBER #192, ZDIFF #187, ZINTER #189, ZUNION #194, ZDIFFSTORE #188,
ZINTERCARD #190, ZRANGESTORE #193BLMOVE #182,Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.14.1...v2.14.2
Fix the requirement for packaging.Version #177
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.14.0...v2.14.1
### 🚀 Features - Implement HRANDFIELD #156 - Implement JSON.MSET ### 🧰 Maintenance - Improve streams code Full Changelog: https://github.com/cunla/fak
HRANDFIELD #156JSON.MSETFull Changelog: https://github.com/cunla/fakeredis-py/compare/v2.13.0...v2.14.0
Fixed xadd timestamp (fixes #151)
We'd like to thank all the contributors who worked on this release!
@bomber8013
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.12.1...v2.13.0
Add support for Connection.read_response arguments used in redis-py 4.5.5 and 5.0.0
Connection.read_response arguments used in redis-py 4.5.5 and 5.0.0We'd like to thank all the contributors who worked on this release!
@matanper
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.12.0...v2.12.1
Connection.read_response arguments used in redis-py 4.5.5 and 5.0.0# Changes ## 🚀 Features - Implement XREAD (#147) Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.11.2...v2.12.0
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.11.2...v2.12.0
Unique FakeServer when no connection params are provided
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.11.1...v2.11.2
Minor fixes supporting multiple connections
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.11.0...v2.11.1
connection parameters awareness: Creating multiple clients with the same connection parameters will result in the same server data structure.
We'd like to thank all the contributors who worked on this release!
@markuspinter
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.10.3...v2.11.0
Fix import used in GenericCommandsMixin.randomkey
We'd like to thank all the contributors who worked on this release!
@cunla, @mgorny and @mudetz
Full Changelog: https://github.com/cunla/fakeredis-py/compare/v2.10.2...v2.10.3
Your coding agent can read these notes before it upgrades. Set up the MCP server →