@whatwg-node/promise-helpers
2.0.0 · 21 Sep 2026MIT10.9M / weekRepositoryHomepagenpmAtom feed
12 stable releases, newest first, by release line. Notes are quoted as the maintainers published them.
- 2.x · latest line
2.0.0
21 Sep 20260.x packages: minor bump (breaking changes are allowed in minors while major is 0).
1.x packages (
@whatwg-node/promise-helpers,@whatwg-node/server-plugin-cookies): major bump, since dropping supported Node versions is a breaking engines change for SemVer>=1.0.0consumers.
Major Changes
- breaking
#3561
52a5bf6Thanks @ardatan! - Drop support for Node.js 18 and 20. The minimum supported Node.js version is now 22.15.
Why
Node.js 18 and 20 are end-of-life and no longer receive security updates. Keeping them in our support matrix forced version-specific workarounds and slowed adoption of newer Node TLS APIs.
The floor is set to 22.15 (not just 22.0) so we can rely on
tls.getCACertificates()(Node.js 22.15 / 23.10) and always-onzlibzstd helpers (createZstdCompress/createZstdDecompress, Node.js 22.15 / 23.8). That matches the oldest currently supported LTS line (22 Maintenance) while dropping only EOL majors.SemVer
0.x packages: minor bump (breaking changes are allowed in minors while major is 0).
1.x packages (
@whatwg-node/promise-helpers,@whatwg-node/server-plugin-cookies): major bump, since dropping supported Node versions is a breaking engines change for SemVer>=1.0.0consumers.
What changed
engines.node: all published packages now declare>=22.15.0(including@whatwg-node/promise-helpers, which was still on>=16).@whatwg-node/events: removed. NativeCustomEvent/Event/EventTargetare available on Node.js 22+, so the ponyfill is no longer maintained; use the platform globals.@whatwg-node/fetch: dropped therequire("crypto").webcryptofallback;cryptois alwaysglobalThis.cryptoon supported runtimes.@whatwg-node/server: removed the Node 18setHeadersworkaround (isNode1x);ServerResponse#setHeadersis used whenever it exists.@whatwg-node/node-fetch: Runtime guards forzlib.createZstdCompress/createZstdDecompressare removed;zstdis always included inAccept-Encoding.CI / e2e: unit matrix is
[22, 24, 26]; AWS Lambda runtime and Azure Function target moved from Node 20 to Node 22.
If you are still on Node 18 or 20, upgrade to Node.js 22.15+ (or 24 / 26) before installing this release.
#3565
ba977d4Thanks @ardatan! - Breaking Change: Remove deprecatedmapMaybePromisein favor ofhandleMaybePromise.mapMaybePromise(input, onSuccess, onError?)is gone. UsehandleMaybePromise, which takes an input factory (thunk) instead of a bare value so sync throws are handled the same way as promise rejections.Before:
import { mapMaybePromise } from "@whatwg-node/promise-helpers"; const result = mapMaybePromise( maybeValue, (value) => transform(value), (err) => fallback(err), );After:
import { handleMaybePromise } from "@whatwg-node/promise-helpers"; const result = handleMaybePromise( () => maybeValue, (value) => transform(value), (err) => fallback(err), );handleMaybePromisealso accepts an optional fourthfinallyFactoryargument if you need cleanup.
- 1.x
1.3.2
10 May 2025Reading the note…
1.3.1
14 Apr 2025Reading the note…
1.3.0
17 Mar 2025Reading the note…
1.2.5
17 Mar 2025Reading the note…
1.2.4
5 Mar 2025Reading the note…
1.2.3
5 Mar 2025Reading the note…
1.2.2
3 Mar 2025Reading the note…
1.2.1
25 Feb 2025Reading the note…
1.2.0
25 Feb 2025Reading the note…
1.1.0
25 Feb 2025Reading the note…
1.0.0
25 Feb 2025Reading the note…