Skip to content

Update fakeredis to 2.37.0 - #2995

Closed
pyup-bot wants to merge 1 commit into
masterfrom
pyup-update-fakeredis-2.33.0-to-2.37.0
Closed

Update fakeredis to 2.37.0#2995
pyup-bot wants to merge 1 commit into
masterfrom
pyup-update-fakeredis-2.33.0-to-2.37.0

Conversation

@pyup-bot

Copy link
Copy Markdown
Collaborator

This PR updates fakeredis from 2.33.0 to 2.37.0.

Changelog

2.37.0

🚀 Features

- feat: implement connection commands `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 unsupported
- feat: support `INCREX` command (redis 8.8) (520)
- feat: support `FPHA` argument in `JSON.SET` to force homogeneous numeric arrays to a floating-point type (redis 8.8) (
523)
- feat: support hash field subkey notifications (redis 8.8) (525)
- feat: support multiple aggregators in `TS.RANGE`/`TS.REVRANGE`/`TS.MRANGE`/`TS.MREVRANGE` (redis 8.8) (524)
- feat: support `COUNT` aggregator in `ZUNION`/`ZINTER`/`ZUNIONSTORE`/`ZINTERSTORE` (redis 8.8) (522)
- feat: support `CLAIM min-idle-time` option in `XREADGROUP` (redis 8.4) (527)
- feat(bitfield): support ``-prefixed offsets in `BITFIELD`

🐛 Bug Fixes

- fix: align `XNACK` with redis 8.8 semantics (521)
- fix: `HEXPIRE`/`HPEXPIRE` now raise an error on negative expiration time
- fix: `GEOADD` now rejects longitude/latitude pairs outside the valid range
- fix: validate command option values that real Redis rejects instead of silently acting on them — negative
expirations in `HGETEX`/`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)

🧰 Maintenance

- Update to redis-py 8.0.1
- Update Valkey version used in CI to 8.1.8
- refactor: reorganize and clean up command classes in `_commands.py` and related mixins
- test: skip subkey notification tests on redis-py below 5 (526)
- doc: fix link to implement command guide (519)

2.36.2

🐛 Bug Fixes

- fix: replace async `can_read` busy-poll with event-based wakeup (506)
- fix: enforce `GT`/`LT` conditions in `ZADD` with `INCR` (507)
- fix: reject negative `LIMIT` in `SINTERCARD` and `ZINTERCARD` (508)
- fix: EXPIRE GT/LT mishandle keys with no existing TTL (509)
- fix: restore missing `addr`/`laddr`/`fd` fields in `CLIENT LIST`/`CLIENT INFO` (512)
- fix: SORT/SORT_RO BY <constant> must keep natural order (510)

2.36.1

🐛 Bug Fixes

- fix: `TypeError` on import in Python 3.8 due to `list[Any]` annotation in `sort` command (490)
- fix: Using path in connection
- fix(async): `_decode` recurses into `dict` so RESP3 `HGETALL` responses are decoded (492)
- fix: `Database` now uses stable identity-based `__hash__`/`__eq__` (previously returned an unstable hash)

🧰 Maintenance

- Restored support for redis-py 4.6 493
- Update the default server version to 8.
- refactor: deduplicate sync and async client construction into a shared `build_client_kwds` helper
- chore: remove dead code in connection/socket setup

2.36.0

🚀 Features

- Implement keyspace notifications alexbthundiyil-spec (463)
- feat(lua): add server global alias for Valkey przemub (480)
- feat(streams): implement `XACKDEL`, `XDELEX`, `XIDMPRECORD`, `XNACK` commands (484)
- feat: add `VISMEMBER` command to check element existence in vector set
- feat: implement array commands (`ARSET`, `ARGET`, `ARLEN`, `ARGETRANGE`, `ARINSERT`, `ARDEL`, etc.) for Redis 8.8 (
487)

🐛 Bug Fixes

- fix: XREADGROUP with non-'>' ID returns consumer PEL tomtom103 470
- fix: similarity calculation in vector set `VSIM` command
- fix: `CF.RESERVE` and `CF.SCANDUMP` should not create keys if they do not exist
- fix: various issues in vector set commands `VSET`
- fix(tcp_server): clean up handler threads on shutdown (479)

🧰 Maintenance

- Improved `CLIENT INFO` and `CLIENT GETNAME` commands
- Better TDigest implementation
- Update Redis 8 image used in CI to 8.8
- Update to redis-py 8.0.0
- perf(hash): make HSET O(1) by using len(h) instead of len(h.keys()) invoker-bot (473)
- refactor: introduce `CommandsMixinBase` to centralise shared mixin attributes (482)
- refactor: VectorSet improvements (476)
- refactor: async Redis tests to use `AsyncClientType` for improved type safety

2.35.1

🐛 Bug Fixes

- fix: Breaking change in 2.35.0: FakeConnection renamed without backward-compatible alias 468

2.35.0

🚀 Features

- Support for idempotent message processing introduced in Redis 8.6 461
- Support for vector set commands `VADD`, `VCARD`, `VDIM`, `VEMB`, `VGETATTR`, `VINFO`, `VLINKS`, `VRANDMEMBER`,
`VRANGE`, `VREM`, `VSETATTR`, `VSIM` 451

🐛 Bug Fixes

- fix XREADGROUP on multiple streams only returns one message 460
- fix: XDEL sending ResponseError when stream ID is invalid 465
- Fix DeprecationWarning caused by mixing valkey and redis classes kurtmckee 462 464
- fix: bug referencing non existing variable 465

🧰 Maintenance

- Update typing-extensions version constraint to support newer versions 458
- Improved documentation with mermaidjs diagrams 467
- Move documentation dependencies to pyproject.toml

2.34.1

🐛 Bug Fixes

- Fix handling of deprecated arguments in `FakeRedis` to support redis-py 7.2.0 457
- Blocking `XREAD` with `block=0` works as expected 453

2.34.0

🚀 Features

- TcpFakeServer supports RESP3 437

🐛 Bug Fixes

- Add missing keys to `XINFO STREAM` 445
- Caching LuaRuntime to prevent memory leak in eval() chrisguidry 449 446

🧰 Maintenance

- Refactor models to use BaseModel with redis-type 454
Links

@pyup-bot

Copy link
Copy Markdown
Collaborator Author

Closing this in favor of #3018

@pyup-bot pyup-bot closed this Aug 18, 2026
@tapple
tapple deleted the pyup-update-fakeredis-2.33.0-to-2.37.0 branch August 18, 2026 17:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant