# What changed in @chat-adapter/state-ioredis

> 17 changes in @chat-adapter/state-ioredis 4 from its official release notes, upgrade guides and advisories: 1 deprecations, 8 new APIs and options. Each one cited. Sources checked 2026-11-04. HTML: https://unstale.sh/npm/@chat-adapter/state-ioredis/

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

## @chat-adapter/state-ioredis 4

### Deprecations

- The old option type name remains available as a deprecated alias. (4.29.0) — [release notes](https://github.com/vercel/chat/releases/tag/%40chat-adapter/state-ioredis%404.29.0)

### New APIs and options

- Adds a named interface for client-based state adapter options as part of splitting the option shapes. (4.29.0) — [release notes](https://github.com/vercel/chat/releases/tag/%40chat-adapter/state-ioredis%404.29.0)
- Unifies the URL- and client-based option shapes under a named options type. (4.29.0) — [release notes](https://github.com/vercel/chat/releases/tag/%40chat-adapter/state-ioredis%404.29.0)
- Adds a named interface for URL-based state adapter options as part of splitting the option shapes. (4.29.0) — [release notes](https://github.com/vercel/chat/releases/tag/%40chat-adapter/state-ioredis%404.29.0)
- Adds forceReleaseLock to StateAdapter to support interrupting or steering long-running handlers. (4.19.0) — [release notes](https://github.com/vercel/chat/releases/tag/%40chat-adapter/state-ioredis%404.19.0)
- Adds the onLockConflict config option to support interrupting or steering long-running handlers. (4.19.0) — [release notes](https://github.com/vercel/chat/releases/tag/%40chat-adapter/state-ioredis%404.19.0)
- Adds Serde support. (4.4.1) — [release notes](https://github.com/vercel/chat/releases/tag/%40chat-adapter/state-ioredis%404.4.1)
- Adds Discord support. (4.3.0) — [release notes](https://github.com/vercel/chat/releases/tag/%40chat-adapter/state-ioredis%404.3.0)
- Adds native streaming support. (4.1.0) — [release notes](https://github.com/vercel/chat/releases/tag/%40chat-adapter/state-ioredis%404.1.0)

### Behavior and default changes

- Factories now take the unified options union type directly. (4.29.0) — [release notes](https://github.com/vercel/chat/releases/tag/%40chat-adapter/state-ioredis%404.29.0)

### Tooling

- Supported Node versions are set in the package engines metadata. (4.29.0) — [release notes](https://github.com/vercel/chat/releases/tag/%40chat-adapter/state-ioredis%404.29.0)

### Fixes and other changes

- The ioredis state adapter is no longer described as supporting Redis Cluster because its client option accepts a Redis instance, which a Cluster does not satisfy. Sentinel remains supported. (4.42.0) — [release notes](https://github.com/vercel/chat/releases/tag/%40chat-adapter/state-ioredis%404.42.0)
- The logger parameter is optional and defaults to a console logger, matching @chat-adapter/state-redis. (4.31.0) — [release notes](https://github.com/vercel/chat/releases/tag/%40chat-adapter/state-ioredis%404.31.0)
- Expanded npm keywords for adapter and state packages to improve discoverability. (4.30.0) — [release notes](https://github.com/vercel/chat/releases/tag/%40chat-adapter/state-ioredis%404.30.0)
- Fixes non-atomic message deduplication that caused app_mention events to be silently dropped. (4.17.0) — [release notes](https://github.com/vercel/chat/releases/tag/%40chat-adapter/state-ioredis%404.17.0)
- Fixed allMessages. (4.2.0) — [release notes](https://github.com/vercel/chat/releases/tag/%40chat-adapter/state-ioredis%404.2.0)
- Fixed fetchMessages. (4.2.0) — [release notes](https://github.com/vercel/chat/releases/tag/%40chat-adapter/state-ioredis%404.2.0)
