# What changed in @whatwg-node/server

> 14 changes in @whatwg-node/server 0.11 to 0.13 from its official release notes, upgrade guides and advisories: 5 breaking, 1 security, 3 new APIs and options. Each one cited. Sources checked 2026-10-21. HTML: https://unstale.sh/npm/@whatwg-node/server/

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

## @whatwg-node/server 0.13

### Breaking changes

- crypto is no longer exported from @whatwg-node/fetch, createFetch, or FetchAPI; use globalThis.crypto instead. (0.13.0) — [release notes](https://github.com/ardatan/whatwg-node/blob/af672c674ea7ccee2197416beda75b69d8e60066/packages/server/CHANGELOG.md#0130)

## @whatwg-node/server 0.12

### Breaking changes

- When the request Origin is not in the allowlist, the server omits this header instead of sending the string null. (0.12.0) — [release notes](https://github.com/ardatan/whatwg-node/blob/af672c674ea7ccee2197416beda75b69d8e60066/packages/server/CHANGELOG.md#0120)
- All published packages now declare Node.js >=22.15.0; Node.js 18 and 20 are no longer supported. (0.12.0) — [release notes](https://github.com/ardatan/whatwg-node/blob/af672c674ea7ccee2197416beda75b69d8e60066/packages/server/CHANGELOG.md#0120)
- The deprecated adapter method was removed; use handleNodeRequestAndResponse, passing the Node response as the second argument. (0.12.0) — [release notes](https://github.com/ardatan/whatwg-node/blob/af672c674ea7ccee2197416beda75b69d8e60066/packages/server/CHANGELOG.md#0120)
- Use this method in place of handleNodeRequest; it receives the Node response as well as the request and returns a WHATWG Response without writing it to res. (0.12.0) — [release notes](https://github.com/ardatan/whatwg-node/blob/af672c674ea7ccee2197416beda75b69d8e60066/packages/server/CHANGELOG.md#0120)

### Security

- Adds a plugin that rejects oversized bodies using Content-Length and a byte-counting TransformStream; place it after useContentEncoding when limiting decoded bytes. (0.12.0) — [release notes](https://github.com/ardatan/whatwg-node/blob/af672c674ea7ccee2197416beda75b69d8e60066/packages/server/CHANGELOG.md#0120)

### New APIs and options

- Request handlers receive the active fetchAPI as a third argument, keeping Request, Response, and stream constructors compatible with native requests and custom fetch implementations. (0.12.0) — [release notes](https://github.com/ardatan/whatwg-node/blob/af672c674ea7ccee2197416beda75b69d8e60066/packages/server/CHANGELOG.md#0120)
- An optional custom responseFromError callback customizes the early-reject Response. (0.12.0) — [release notes](https://github.com/ardatan/whatwg-node/blob/af672c674ea7ccee2197416beda75b69d8e60066/packages/server/CHANGELOG.md#0120)

### Behavior and default changes

- Custom error handlers receive the resolved fetchAPI so they can construct responses using the correct runtime primitives. (0.12.0) — [release notes](https://github.com/ardatan/whatwg-node/blob/af672c674ea7ccee2197416beda75b69d8e60066/packages/server/CHANGELOG.md#0120)

### Fixes and other changes

- Values in Accept-Encoding and Content-Encoding header lists are trimmed, allowing encodings after commas to match and response compression to work. (0.12.0) — [release notes](https://github.com/ardatan/whatwg-node/blob/af672c674ea7ccee2197416beda75b69d8e60066/packages/server/CHANGELOG.md#0120)
- The Node response is destroyed when its response body stream errors or is aborted, so piped sockets close rather than hang. (0.12.0) — [release notes](https://github.com/ardatan/whatwg-node/blob/af672c674ea7ccee2197416beda75b69d8e60066/packages/server/CHANGELOG.md#0120)
- Unread Node and uWS request bodies are discarded when responding, preventing stalled keep-alive connections and large rejected uploads from being buffered. (0.12.0) — [release notes](https://github.com/ardatan/whatwg-node/blob/af672c674ea7ccee2197416beda75b69d8e60066/packages/server/CHANGELOG.md#0120)

## @whatwg-node/server 0.11

### New APIs and options

- Adds a plugin that enforces per-request timeouts by aborting the request signal and returning a custom response when the handler exceeds the configured timeout. (0.11.0) — [release notes](https://github.com/ardatan/whatwg-node/blob/af672c674ea7ccee2197416beda75b69d8e60066/packages/server/CHANGELOG.md#0110)

### Fixes and other changes

- Fixes a duplicate `transfer-encoding: chunked` header when streaming with uWebSockets.js, which could break strict load balancers. (0.11.0) — [release notes](https://github.com/ardatan/whatwg-node/blob/af672c674ea7ccee2197416beda75b69d8e60066/packages/server/CHANGELOG.md#0110)
