Skip to content

Chore(deps): Bump redis from 7.4.0 to 8.1.0 - #1232

Open
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/redis-8.1.0
Open

Chore(deps): Bump redis from 7.4.0 to 8.1.0#1232
dependabot[bot] wants to merge 1 commit into
mainfrom
dependabot/pip/redis-8.1.0

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 3, 2026

Copy link
Copy Markdown
Contributor

Bumps redis from 7.4.0 to 8.1.0.

Release notes

Sourced from redis's releases.

8.1.0

Changes

✨ Highlights

Async maintenance notifications

redis-py now supports server-pushed maintenance notifications in the asyncio stack for both standalone and cluster clients, bringing the async client to parity with the sync implementation. When a Redis deployment signals maintenance events (such as node migration or failover windows), the async client reacts through the maintenance-notifications handler (redis/maint_notifications.py and its async integration under redis/asyncio/), allowing applications to adapt connection handling during maintenance without downtime. (#4177)

Expanded command coverage

This release adds a batch of new command surfaces across core data types and modules:

  • ListsLMOVEM / BLMOVEM for moving multiple elements between lists (#4174).
  • SetsSDIFFCARD and SUNIONCARD cardinality commands (#4171).
  • StreamsMAXCOUNT / MAXSIZE options for XREAD and XREADGROUP (#4173).
  • Time SeriesTS.READ (#4170), TS.QUERYLABELS (#4197), TS.NRANGE / TS.NREVRANGE (#4163), and an exclude_empty (EXCLUDEEMPTY) option for TS.MRANGE / TS.MREVRANGE (#4188).
  • SearchFT.ALIASLIST (#4198) and a COLLECT reducer for aggregations (#4179).
  • Sentinel — replica sentinel aliases (#4127).

🚀 New Features

  • Add replica sentinel aliases (#4127)
  • Add TS.NRANGE and TS.NREVRANGE support to the timeseries command surface (#4163)
  • feat: add TS.READ command support to the timeseries module (#4170)
  • feat: add SDIFFCARD and SUNIONCARD command support (#4171)
  • feat: add MAXCOUNT/MAXSIZE support to XREAD and XREADGROUP (#4173)
  • feat: add LMOVEM and BLMOVEM commands for moving multiple list elements (#4174)
  • feat: add async maintenance-notifications support for standalone and cluster clients (#4177)
  • feat: add COLLECT reducer support to search aggregations (#4179)
  • feat: add exclude_empty (EXCLUDEEMPTY) option to TS.MRANGE and TS.MREVRANGE (#4188)
  • feat: add TS.QUERYLABELS support to the timeseries command surface (#4197)
  • feat: add FT.ALIASLIST support (#4198)

⚠️ Experimental

  • feat: add client-side HIMPORT fieldset support for standalone and cluster clients (#4205)

The feature considered unstable and public API might be changed in the future minor version

🐛 Bug Fixes

  • fix: detect closed pooled connection without consuming pending push data (RESP3 + hiredis) (#4156)
  • Fix Sentinel pool capacity loss after failover (#4193)

... (truncated)

Commits
  • e013126 Testing with 8.10 GA (#4227)
  • 059d1e9 Fixed TS.NRANGE commands to correctly apply aggregators (#4225)
  • d486a0a Fix FIELDNAME alias dropping first character of un-prefixed fields (#4224)
  • fb93104 feat: add client-side HIMPORT fieldset support for standalone and cluster cli...
  • 9197609 Fix lat/lon swap in search querystring geo() helper (#4223)
  • 14714a0 fix: Fixed double decoding issue with unquote() (#4222)
  • 227280a Update lib version to 8.1.0
  • 88d16d0 Decode ACL LOG string values on the default RESP3 legacy callback (#4201)
  • 599fd75 feat: add FT.ALIASLIST support (#4198)
  • 71e275e test: add VectorField RERANK serialization tests for sync and async search (#...
  • Additional commits viewable in compare view

Note
Automatic rebases have been disabled on this pull request as it has been open for over 30 days.

@dependabot dependabot Bot added dependencies Pull requests that update a dependency file python Pull requests that update python code labels Aug 3, 2026

@foxpatch-aleph foxpatch-aleph left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The redis 7.4.0 → 8.1.0 bump is safe at runtime: the codebase only uses stable core async commands (get, set, incr, decr, smembers, sadd, srem, sismember, delete, aclose) that are all present in redis 8.1.0, the hiredis extra resolves correctly (requires >=3.2.0, 3.4.0 available), and aiocache 0.12.3 only requires redis>=4.2.0. However, the linting environment still depends on types-redis (lines 167 and 170), which provides stubs for redis 4.x and is now outdated since redis 8.x ships its own inline type annotations via py.typed. Having both types-redis and redis 8.x installed may cause mypy to use stale stubs or produce conflicting type information. The types-redis entries should be removed in a follow-up or as part of this PR. Note also that types-redis is listed twice (line 167 as >=4.6 and line 170 unpinned) — a pre-existing duplicate.

pyproject.toml (line 167): Now that redis 8.x ships its own inline type annotations (py.typed marker), types-redis is outdated and may conflict with redis's bundled types during mypy. Consider removing both types-redis entries (lines 167 and 170).

pyproject.toml (line 170): Duplicate of the types-redis entry on line 167. Both should be removed since redis 8.x provides its own type stubs.

@dependabot
dependabot Bot force-pushed the dependabot/pip/redis-8.1.0 branch from b04b3dd to 179e13a Compare August 27, 2026 14:44

@foxpatch-aleph foxpatch-aleph left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is a straightforward dependency bump from redis 7.4.0 to 8.1.0 (a major version jump). The codebase only uses redis.asyncio.Redis with basic commands (get, set, incr, decr, smembers, sadd, srem, sismember, delete, aclose), all of which are confirmed present and API-compatible in 8.1.0. The constructor signature remains compatible (host/port as keyword args). The hiredis extra requirement (>=3.2.0) is satisfiable with available versions. One concern: the linting extras still list types-redis (stubs for redis 4.x) even though redis 8.x ships its own py.typed inline annotations. Having both present may cause mypy to use outdated stubs, potentially producing false type errors. The types-redis entries should be removed, but this is a non-blocking dev-dependency cleanup issue.

pyproject.toml (line 167): Redis 8.1.0 ships its own py.typed marker with inline type annotations, making the types-redis stub package (which targets redis 4.x) unnecessary and potentially conflicting. With mypy's install_types = true and follow_imports_for_stubs = false, the presence of types-redis stubs could override redis 8.x's built-in annotations and produce false type errors. Consider removing both types-redis entries (lines 167 and 170 — note the duplicate).

Bumps [redis](https://github.com/redis/redis-py) from 7.4.0 to 8.1.0.
- [Release notes](https://github.com/redis/redis-py/releases)
- [Changelog](https://github.com/redis/redis-py/blob/master/CHANGES)
- [Commits](redis/redis-py@v7.4.0...v8.1.0)

---
updated-dependencies:
- dependency-name: redis
  dependency-version: 8.1.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot
dependabot Bot force-pushed the dependabot/pip/redis-8.1.0 branch from 179e13a to f64d261 Compare August 31, 2026 13:04

@foxpatch-aleph foxpatch-aleph left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Clean single-line dependency bump of redis[hiredis] from 7.4.0 to 8.1.0. Although this is a major-version jump, the codebase's entire redis usage is confined to NodeCache (src/aleph/services/cache/node_cache.py), which relies only on stable async client APIs (Redis(host, port), get, set with ex=, incr/incrby/decr/decrby, delete, smembers, sadd, sismember, srem, aclose). I verified against the installed 8.1.0 that all of these methods exist with compatible signatures, that the constructor still accepts host/port, and that the hiredis extra remains valid. No other version pins or lockfile references conflict. The 8.1.0 release also ships a hiredis/RESP3 pooled-connection fix that directly benefits pyaleph given its use of the hiredis extra. Existing integration tests in tests/services/test_node_cache.py cover the changed dependency's surface; I could not run them locally due to unrelated environment issues (hatch unavailable, web3/eth_typing conflict), so CI should be the final gate.

pyproject.toml (line 61): Verified compatibility with the major bump: all redis APIs used by NodeCache (get, set with ex=, incr, incrby, decr, decrby, delete, smembers, sadd, sismember, srem, aclose, and the Redis(host=..., port=...) constructor) exist unchanged in 8.1.0. Non-blocking: as a major-version bump, it would be prudent to let the node-cache integration tests run in CI as the definitive check.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file python Pull requests that update python code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant