chore(deps): update dependency fakeredis to v2.38.0 - #2691
Merged
Conversation
Signed-off-by: Renovate Bot <bot@renovateapp.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
==2.37.1→==2.38.0Release Notes
cunla/fakeredis-py (fakeredis)
v2.38.0Compare Source
v2.38.0 - 2026-09-08
🚀 Features
CL.THROTTLErate-limiting command, ported from Dragonfly's own code sothe quirks match — millisecond-ceiling time fields,
remainingtruncating towards zero, and anover-sized request reporting
retry_after = -1without writing the key (#536)unsigned
numkeys/COUNT,SCAN COUNT 0falling back to the default batch size,SMOVEcheckingits destination type up front, no
LCSat all, a relative expiry past2**28-1seconds clampedwhile an absolute one is rejected, hash-field TTLs capped at
2**26seconds, and strings capped at256MB rather than Redis' 512MB (#555, #556)
INCRBYFLOAT/HINCRBYFLOAT, empty arraysfrom a timed-out blocking pop and from an
XREAD/XREADGROUPthat matched nothing,ZPOPMIN/ZPOPMAXalways paired under RESP3, flatWITHSCORESfromZUNION/ZINTER, a nullfirst-entry/last-entryfor an empty stream,-1asXINFO GROUPS' unknown-lag sentinel,XPENDINGlooking up the key before the group, and one namespace for shard and plain pub/subchannels (#557, #558, #559)
SORTwithout->hash-field patterns and withoutRedis' weight tie-break,
COPYwithout aDBoption,GEORADIUS/GEOSEARCHin geohash orderunless sorted, a watched key dirtied by any write, Lua 5.4 scripting (non-integral numbers as
doubles, Redis 6-style error wrapping, admin commands refused inside scripts), and its own JSON
quirks (legacy paths wrapped like JSONPath, no filter expressions) (#560, #561, #562, #563)
🐛 Bug Fixes
redis.callin a Lua script now returns RESP2 shapes whatever protocol the client negotiated,matching real Redis, where a script must opt into RESP3.
redis.setresp(2)/redis.setresp(3)arenow supported and reset to RESP2 for each run. Dragonfly has no
redis.setresp, so fakeredis doesnot expose one when emulating it, and a script returning
{double=...}there answers with an emptyarray the way the real server does (#543)
XCLAIM/XAUTOCLAIMnow move an entry's pending count to the claiming consumer instead ofleaving it on the previous owner, so a later
XACKno longer drives that count negative (#548)XACKno longer raises a raw PythonKeyErrorwhen a pending entry has no live consumer, andXGROUP DELCONSUMERnow removes the entries that consumer owned, returning how many it dropped(#549)
XCLAIMnow honoursRETRYCOUNT, andXCLAIM/XAUTOCLAIMhonourJUSTID, when updating anentry's delivery counter.
RETRYCOUNTtakes precedence overJUSTID, and a negativeRETRYCOUNTmeans "not given" (#544)
BRPOP,BLPOP,XREAD BLOCK 0, ...) no longer leavesthe connection unusable — it went back to the pool with its socket still paused, so every later
command on it hung (#471)
XAUTOCLAIMnow returns the cursor its next scan should start from, and0-0once the pendinglist is exhausted (#547)
SMOVEno longer raisesWRONGTYPEfor a wrongly typed destination when the source key ismissing,
BITCOUNTreports the syntax error before decoding its range arguments on a pre-7.0server, and
GEORADIUSreturns an unsorted reply in geohash order rather than insertion order(#553)
TcpFakeServerhandler threads when a client disconnects (#541)🧰 Maintenance
docs/dragonfly-support.mdnow writes up every Dragonfly divergence fakeredis emulates, andthe handful it does not (#564)
corners kept out (skiplist-encoded sorted sets, hash-order aggregation,
SAVE, short-circuiting setintersections) (#564)
New Contributors
Full Changelog: cunla/fakeredis-py@v2.37.1...v2.38.0
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.
♻ Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR was generated by Mend Renovate. View the repository job log.