# What changed in @upstash/qstash

> 12 changes in @upstash/qstash 2 from its official release notes, upgrade guides and advisories: 5 new APIs and options. Each one cited. Sources checked 2026-10-28. HTML: https://unstale.sh/npm/@upstash/qstash/

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

## @upstash/qstash 2

### New APIs and options

- Adds Client.fromEnv. (2.12.1) — [release notes](https://github.com/upstash/qstash-js/releases/tag/v2.12.1)
- Adds runNow. (2.12.1) — [release notes](https://github.com/upstash/qstash-js/releases/tag/v2.12.1)
- DLQ bulk actions now support a multi-value responseStatus filter. (2.12.0) — [release notes](https://github.com/upstash/qstash-js/releases/tag/v2.12.0)
- Adds S3 binary discovery. (2.11.3) — [release notes](https://github.com/upstash/qstash-js/releases/tag/v2.11.3)
- Adds startDevServer as a public API. (2.11.3) — [release notes](https://github.com/upstash/qstash-js/releases/tag/v2.11.3)

### Behavior and default changes

- Missing credential messages now suggest dev mode. (2.12.1) — [release notes](https://github.com/upstash/qstash-js/releases/tag/v2.12.1)
- Warnings are logged on request retries, and errors on failed requests. (2.12.0) — [release notes](https://github.com/upstash/qstash-js/releases/tag/v2.12.0)
- Adds Windows support. (2.11.3) — [release notes](https://github.com/upstash/qstash-js/releases/tag/v2.11.3)

### Fixes and other changes

- batchJSON no longer mutates the caller's input. (2.12.1) — [release notes](https://github.com/upstash/qstash-js/releases/tag/v2.12.1)
- publishJSON no longer mutates the caller's input. (2.12.1) — [release notes](https://github.com/upstash/qstash-js/releases/tag/v2.12.1)
- h3, Svelte, and Solid verifySignature now respect dev mode. (2.12.1) — [release notes](https://github.com/upstash/qstash-js/releases/tag/v2.12.1)
- The bulk cancellation contract was aligned. (2.12.0) — [release notes](https://github.com/upstash/qstash-js/releases/tag/v2.12.0)
