releases.shpreview

Async maintenance parity; LMOVEM, SDIFFCARD, TS.NRANGE, and more

v8.1.0

July 30, 2026redis-pyView original ↗
11 features9 fixesThis release11 featuresNew capabilities9 fixesBug fixesAI-tallied from the release notes
From the original release noteView original ↗

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)
  • fix: Restore NEVER_DECODE option for FT.SEARCH with protocol=3 (#4196)
  • Decode ACL LOG string values on the default RESP3 legacy callback (#4201)
  • fix: Fixed double decoding issue with unquote() (#4222)
  • Fix lat/lon swap in search querystring geo() helper (#4223)
  • Fix FIELDNAME alias dropping first character of un-prefixed fields (#4224)

🧰 Maintenance

  • ci: report test duration metrics to Grafana Cloud (PAWS) (#4132)
  • fix(hiredis): raise ConnectionError instead of AttributeError on concurrent disconnect (#4136)
  • docs: consolidate AI-agent guidance into root AGENTS.md and portable agents/skills (#4159)
  • Bump actions/checkout from 6 to 7 (#4160)
  • Bump rojopolis/spellcheck-github-actions from 0.60.0 to 0.62.0 (#4161)
  • test(search): add multi-language RediSearch coverage, re-enable search module pipeline tests, add 8.10 to CI matrix (#4162)
  • Remove stale "connection" arg from get_resolved_ip docstring (#4164)
  • Add context manager support to ConnectionPool (#4167)
  • test: add unit tests for cluster key_slot hash-tag logic (#4168)
  • Add unit tests for string helper utilities (#4180)
  • test: add unit tests for decode_field_value (#4181)
  • Add unit tests for extract_expire_flags and truncate_text (#4183)
  • fix: add close()/aclose() to Sentinel to release sentinel client pools (#4184)
  • test: add FT.SEARCH server-timeout coverage for return and fail policies (#4186)
  • test: run the standard suite against an external Redis Enterprise database (#4189)
  • build: bump Read the Docs build.os from ubuntu-20.04 to ubuntu-24.04 (#4190)
  • fix: add missing type annotations to LockError and RedisClusterException (#4194)
  • test: add VectorField RERANK serialization tests for sync and async search (#4202)

We'd like to thank all the contributors who worked on this release! @LOGESHWAR123 @kiryazovi-redis @Stunned1 @eeshsaxena @sean-kim05 @Brumbelow @Sanjays2402 @nazarli-shabnam @chuenchen309 @petyaslavova

Fetched July 30, 2026