Skip to content

build: 📦 bump node.js to v22 #998

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

build: 📦 bump node.js to v22 #998

wants to merge 1 commit into from

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Mar 22, 2025

This PR contains the following updates:

Package Type Update Change Age Confidence
node (source) major 20 -> 22 age confidence
@types/node (source) devDependencies minor 22.13.8 -> 22.16.5 age confidence

Release Notes

nodejs/node (node)

v22.17.1

Compare Source

v22.17.0: 2025-06-24, Version 22.17.0 'Jod' (LTS), @​aduh95

Compare Source

Notable Changes
⚠️ Deprecations
Instantiating node:http classes without new

Constructing classes like IncomingMessage or ServerResponse without the new
keyword is now discouraged. This clarifies API expectations and aligns with standard
JavaScript behavior. It may warn or error in future versions.

Contributed by Yagiz Nizipli in #​58518.

options.shell = "" in node:child_process

Using an empty string for shell previously had undefined behavior. This change
encourages explicit choices (e.g., shell: true or a shell path) and avoids
relying on implementation quirks.

Contributed by Antoine du Hamel and Renegade334 #​58564.

HTTP/2 priority signaling

The HTTP/2 prioritization API (e.g., stream.priority) is now deprecated due to
poor real-world support. Applications should avoid using priority hints and expect future removal.

Contributed by Matteo Collina and Antoine du Hamel #​58313.

✅ Features graduated to stable
assert.partialDeepStrictEqual()

This method compares only a subset of properties in deep object comparisons,
useful for flexible test assertions. Its stabilization means it's now safe for
general use and won't change unexpectedly in future releases.

Contributed by Ruben Bridgewater in #​57370.

Miscellaneous
  • dirent.parentPath
  • filehandle.readableWebStream()
  • fs.glob()
  • fs.openAsBlob()
  • node:readline/promises
  • port.hasRef()
  • readable.compose()
  • readable.iterator()
  • readable.readableAborted
  • readable.readableDidRead
  • Duplex.fromWeb()
  • Duplex.toWeb()
  • Readable.fromWeb()
  • Readable.isDisturbed()
  • Readable.toWeb()
  • stream.isErrored()
  • stream.isReadable()
  • URL.createObjectURL()
  • URL.revokeObjectURL()
  • v8.setHeapSnapshotNearHeapLimit()
  • Writable.fromWeb()
  • Writable.toWeb()
  • writable.writableAborted
  • Startup Snapshot API
  • ERR_INPUT_TYPE_NOT_ALLOWED
  • ERR_UNKNOWN_FILE_EXTENSION
  • ERR_UNKNOWN_MODULE_FORMAT
  • ERR_USE_AFTER_CLOSE

Contributed by James M Snell in
#​57513 and
#​58541.

Semver-minor features
🔧 fs.FileHandle.readableWebStream gets autoClose option

This gives developers explicit control over whether the file descriptor should
be closed when the stream ends. Helps avoid subtle resource leaks.

Contributed by James M Snell in #​58548.

🔧 fs.Dir now supports explicit resource management

This improves ergonomics around async iteration of directories. Developers can
now manually control when a directory is closed using .close() or with Symbol.asyncDispose.

Contributed by Antoine du Hamel in #​58206.

📊 http2 gains diagnostics channel: http2.server.stream.finish

Adds observability support for when a stream finishes. Useful for logging,
monitoring, and debugging HTTP/2 behavior without patching internals.

Contributed by Darshan Sen in #​58560.

🔐 Permissions: implicit allow-fs-read to entrypoint

Node.js permissions model now allows read access to the entry file by default.
It makes running permission-restricted apps smoother while preserving security.

Contributed by Rafael Gonzaga in #​58579.

🎨 util.styleText() adds 'none' style

This lets developers remove styling cleanly without hacks. Useful for overriding
inherited terminal styles when composing styled strings.

Contributed by James M Snell in #​58437.

🧑‍💻 Community updates
Commits

v22.16.0: 2025-05-21, Version 22.16.0 'Jod' (LTS), @​aduh95

Compare Source

Notable Changes
  • [c3ceaebb7a] - deps: update timezone to 2025b (Node.js GitHub Bot) #​57857
  • [5059a746ec] - doc: add dario-piotrowicz to collaborators (Dario Piotrowicz) #​58102
  • [c8ceaaf397] - (SEMVER-MINOR) doc: graduate multiple experimental apis (James M Snell) #​57765
  • [e21b37d9df] - (SEMVER-MINOR) esm: graduate import.meta properties (James M Snell) #​58011
  • [832640c35e] - (SEMVER-MINOR) esm: support top-level Wasm without package type (Guy Bedford) #​57610
  • [c510391d2f] - (SEMVER-MINOR) sqlite: add StatementSync.prototype.columns() (Colin Ihrig) #​57490
  • [5d1230bec0] - (SEMVER-MINOR) src: set default config as node.config.json (Marco Ippolito) #​57171
  • [30bb1ccbb0] - (SEMVER-MINOR) src: create THROW_ERR_OPTIONS_BEFORE_BOOTSTRAPPING (Marco Ippolito) #​57016
  • [0350c6f478] - (SEMVER-MINOR) src: add config file support (Marco Ippolito) #​57016
  • [e1d3a9e192] - (SEMVER-MINOR) src: add ExecutionAsyncId getter for any Context (Attila Szegedi) #​57820
  • [0ec912f452] - (SEMVER-MINOR) stream: preserve AsyncLocalStorage context in finished() (Gürgün Dayıoğlu) #​57865
  • [43490c8797] - (SEMVER-MINOR) util: add types.isFloat16Array() (Livia Medeiros) #​57879
  • [dda6ca9172] - (SEMVER-MINOR) worker: add worker.getHeapStatistics() (Matteo Collina) #​57888
Commits

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Enabled.

Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR was generated by Mend Renovate. View the repository job log.

@renovate renovate bot force-pushed the renovate/node-22.x branch 4 times, most recently from 0bc367f to 989bb8b Compare March 27, 2025 05:42
@renovate renovate bot force-pushed the renovate/node-22.x branch 5 times, most recently from 4f09376 to 403634a Compare April 3, 2025 06:18
@renovate renovate bot force-pushed the renovate/node-22.x branch 3 times, most recently from 8afbcaf to 7410bc0 Compare April 15, 2025 06:18
@renovate renovate bot force-pushed the renovate/node-22.x branch 4 times, most recently from d86e2cb to bff812c Compare April 28, 2025 08:27
@renovate renovate bot force-pushed the renovate/node-22.x branch 9 times, most recently from 4524d82 to a8a5827 Compare May 9, 2025 06:19
@renovate renovate bot force-pushed the renovate/node-22.x branch 4 times, most recently from 5b4fc17 to ad7bff6 Compare May 21, 2025 03:50
@renovate renovate bot force-pushed the renovate/node-22.x branch from ad7bff6 to f919b95 Compare May 21, 2025 06:19
@renovate renovate bot force-pushed the renovate/node-22.x branch 3 times, most recently from 8b50662 to fe27a32 Compare May 30, 2025 23:16
@renovate renovate bot force-pushed the renovate/node-22.x branch 4 times, most recently from 4c61f62 to 6925a0a Compare June 13, 2025 06:19
@renovate renovate bot force-pushed the renovate/node-22.x branch 2 times, most recently from 7d5a68b to f803bc3 Compare June 20, 2025 06:19
@renovate renovate bot force-pushed the renovate/node-22.x branch 2 times, most recently from d2f9344 to 5c76f76 Compare June 28, 2025 09:35
@renovate renovate bot force-pushed the renovate/node-22.x branch 4 times, most recently from 2396096 to a375297 Compare July 8, 2025 20:46
@renovate renovate bot force-pushed the renovate/node-22.x branch 8 times, most recently from 09eeff0 to 20677b1 Compare July 15, 2025 13:55
@renovate renovate bot force-pushed the renovate/node-22.x branch 5 times, most recently from 4a5d637 to 4d8872a Compare July 22, 2025 06:21
@renovate renovate bot force-pushed the renovate/node-22.x branch from 4d8872a to 1fdf393 Compare July 24, 2025 06:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

0 participants