# What changed in @effect/platform-node-shared

> 21 changes in @effect/platform-node-shared 0.61 to 4 from its official release notes, upgrade guides and advisories: 3 breaking, 3 new APIs and options. Each one cited. Sources checked 2026-10-28. HTML: https://unstale.sh/npm/@effect/platform-node-shared/

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

## @effect/platform-node-shared 4

### Breaking changes

- Exit codes now fail when stdin or additionalFds input streams fail, rather than reporting success after truncated input. (4.0.7) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/platform-node-shared%404.0.7)
- Buffered or decompressed request bodies over their size limit return 413 instead of 400; other parse failures still return 400. (4.0.6) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/platform-node-shared%404.0.6)
- NodeStream readable consumers now fail rather than hang on prematurely closed or already-destroyed streams. (4.0.6) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/platform-node-shared%404.0.6)

### New APIs and options

- Node stream readers accept an optional destroyOnOverflow setting; their default destruction behavior is unchanged. (4.0.6) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/platform-node-shared%404.0.6)
- Adds lstat to return File.Info for a path without following symbolic links; custom FileSystem implementations must provide it. (4.0.6) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/platform-node-shared%404.0.6)
- Node stream readers expose MaxBytesError for size-limit overflows. (4.0.6) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/platform-node-shared%404.0.6)

### Fixes and other changes

- Detached processes keep waiting while their process group exists but cannot be signalled, including when only zombie members remain. (4.0.7) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/platform-node-shared%404.0.7)
- Scoped finalization now succeeds if the temporary directory has already been removed. (4.0.7) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/platform-node-shared%404.0.7)
- Scoped finalization now succeeds if the temporary file has already been removed. (4.0.7) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/platform-node-shared%404.0.7)
- Avoids signalling a possibly reused process group after a non-detached child exits. (4.0.7) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/platform-node-shared%404.0.7)
- The maxBytes limit is enforced on bytes read rather than decoded text, avoiding incorrect limits for non-UTF-8 and UTF-16 input. (4.0.7) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/platform-node-shared%404.0.7)
- Without forceKillAfter, waiting for the leader has no time limit and never escalates to SIGKILL; after the leader exits, remaining process-group members get up to one second to exit. (4.0.6) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/platform-node-shared%404.0.6)
- No longer rejects readable Windows AppContainer paths when an ancestor is inaccessible. (4.0.6) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/platform-node-shared%404.0.6)
- Preserves stream body encoding errors instead of reporting transport errors caused by request cleanup. (4.0.6) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/platform-node-shared%404.0.6)
- Drain oversized request bodies so the response can reach the client without destroying the socket. (4.0.6) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/platform-node-shared%404.0.6)
- A writable destroyed without an error no longer hangs: premature closure fails through onError, while closure after completed writes settles successfully. (4.0.6) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/platform-node-shared%404.0.6)
- Releases writables when upstream fails or the sink is interrupted, preserving the original exit cause; writables using endOnDone: false remain open. (4.0.6) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/platform-node-shared%404.0.6)
- No longer hangs if a writable finishes before all upstream chunks are written; callback errors go through onError, and normal finish releases backpressure waits. (4.0.6) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/platform-node-shared%404.0.6)
- EPERM errors are classified as PermissionDenied instead of Unknown in Node platform error handling. (4.0.6) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/platform-node-shared%404.0.6)
- Fixes TTY input echo and Ctrl+C handling. (4.0.6) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/platform-node-shared%404.0.6)

## @effect/platform-node-shared 0.61

### Fixes and other changes

- Raw UTF-8 multipart filenames containing characters above U+00FF are now parsed correctly instead of becoming fields with empty names. (0.61.2) — [release notes](https://github.com/Effect-TS/effect/releases/tag/%40effect/platform-node-shared%400.61.2)
