# What changed in hiredis

> 15 changes in hiredis 2 to 3 from its official release notes, upgrade guides and advisories: 4 breaking, 4 security, 1 new APIs and options. Each one cited. Sources checked 2026-11-12. HTML: https://unstale.sh/pypi/hiredis/

To see which of these apply to a repository, run `npx @unstale/cli init` in it.

## hiredis 3

### Breaking changes

- The supported Python requirement is now >=3.9; Python 3.8 is no longer supported, and pip on Python 3.8 will resolve to hiredis 3.4.x. (3.5.0) — [release notes](https://github.com/redis/hiredis-py/releases/tag/v3.5.0)
- Python and PyPy 3.8 are no longer supported. (3.4.0) — [release notes](https://github.com/redis/hiredis-py/releases/tag/v3.4.0)
- Redis sets are returned as Python lists. (3.0.0) — [release notes](https://github.com/redis/hiredis-py/releases/tag/v3.0.0)

### Security

- The C parser gains upstream protection against overflow of map elements. (3.5.0) — [release notes](https://github.com/redis/hiredis-py/releases/tag/v3.5.0)
- Allocation failure is now reported as an error instead of writing elements past the end of a zero-length notification. (3.4.2) — [release notes](https://github.com/redis/hiredis-py/releases/tag/v3.4.2)
- Prevents arbitrarily nested replies from causing a stack overflow. (3.4.1) — [release notes](https://github.com/redis/hiredis-py/releases/tag/v3.4.1)
- Protects against overflow of map elements. (3.4.1) — [release notes](https://github.com/redis/hiredis-py/releases/tag/v3.4.1)

### Tooling

- Wheels are now built for CPython 3.15 and free-threaded 3.15t. (3.5.0) — [release notes](https://github.com/redis/hiredis-py/releases/tag/v3.5.0)
- Building and releasing hiredis-py on Windows ARM64 is now supported. (3.4.0) — [release notes](https://github.com/redis/hiredis-py/releases/tag/v3.4.0)

### Fixes and other changes

- Push notifications no longer leak one list object each; dropping the reference also removes an allocation from the parse path, making small notifications about 10% faster. (3.4.2) — [release notes](https://github.com/redis/hiredis-py/releases/tag/v3.4.2)
- Fixes a compatibility issue with Python 3.15 by avoiding the deprecated load_module method. (3.3.1) — [release notes](https://github.com/redis/hiredis-py/releases/tag/v3.3.1)

## hiredis 2

### Breaking changes

- Drops support for Python 2.7, 3.4, and 3.5. (2.0.0) — [release notes](https://github.com/redis/hiredis-py/blob/HEAD/CHANGELOG.md)

### New APIs and options

- Adds support for RESP3. (2.0.0) — [release notes](https://github.com/redis/hiredis-py/blob/HEAD/CHANGELOG.md)

### Tooling

- Builds wheels for aarch64 (arm64). (2.0.0) — [release notes](https://github.com/redis/hiredis-py/blob/HEAD/CHANGELOG.md)
- Adds type hints. (2.0.0) — [release notes](https://github.com/redis/hiredis-py/blob/HEAD/CHANGELOG.md)
