Skip to content

Update Node.js to v22 #128

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: master
Choose a base branch
from
Open

Update Node.js to v22 #128

wants to merge 1 commit into from

Conversation

renovate[bot]
Copy link

@renovate renovate bot commented Apr 2, 2025

This PR contains the following updates:

Package Type Update Change
node final major 16.2.0-alpine -> 22.18.0-alpine

Release Notes

nodejs/node (node)

v22.18.0: 2025-07-31, Version 22.18.0 'Jod' (LTS), @​aduh95

Compare Source

Notable Changes
Type stripping is enabled by default

Node.js will be able to execute TypeScript files without additional configuration:

$ echo 'const foo: string = 'World'; console.log(`Hello ${foo}!`);' > file.ts
$ node file.ts
Hello World!

There are some limitations in the supported syntax documented at
https://nodejs.org/api/typescript.html#type-stripping.

This feature is experimental and is subject to change. Disable it by passing
--no-experimental-strip-types CLI flag.

Contributed by Marco Ippolito in #​56350.

Other notable changes
  • [26f3711228] - (SEMVER-MINOR) deps: update amaro to 1.1.0 (Node.js GitHub Bot) #​56350
  • [d80ef2a71f] - (SEMVER-MINOR) doc: add all watch-mode related flags to node.1 (Dario Piotrowicz) #​58719
  • [8ab24d21c9] - doc: add islandryu to collaborators (Shima Ryuhei) #​58714
  • [430e66b9b8] - (SEMVER-MINOR) esm: implement import.meta.main (Joe) #​57804
  • [62f7926b6a] - (SEMVER-MINOR) fs: allow correct handling of burst in fs-events with AsyncIterator (Philipp Dunkel) #​58490
  • [65f19a00c3] - (SEMVER-MINOR) permission: propagate permission model flags on spawn (Rafael Gonzaga) #​58853
  • [ccca1517f9] - (SEMVER-MINOR) sqlite: add support for readBigInts option in db connection level (Miguel Marcondes Filho) #​58697
  • [48003e87e8] - (SEMVER-MINOR) src,permission: add support to permission.has(addon) (Rafael Gonzaga) #​58951
  • [fe4290a0e6] - (SEMVER-MINOR) url: add fileURLToPathBuffer API (James M Snell) #​58700
  • [4dc6b4c67a] - (SEMVER-MINOR) watch: add --watch-kill-signal flag (Dario Piotrowicz) #​58719
  • [8dbc6b210f] - (SEMVER-MINOR) worker: make Worker async disposable (James M Snell) #​58385
Commits

v22.17.1: 2025-07-15, Version 22.17.1 'Jod' (LTS), @​RafaelGSS

Compare Source

This is a security release.

Notable Changes
  • (CVE-2025-27210) Windows Device Names (CON, PRN, AUX) Bypass Path Traversal Protection in path.normalize()
Commits

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

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 this update 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 from 11d8eab to fc6615c Compare April 23, 2025 19:32
@renovate renovate bot force-pushed the renovate/node-22.x branch 5 times, most recently from a851489 to a1973aa Compare May 22, 2025 03:39
@renovate renovate bot force-pushed the renovate/node-22.x branch 3 times, most recently from a84859a to cee7adc Compare May 31, 2025 09:54
@renovate renovate bot force-pushed the renovate/node-22.x branch 2 times, most recently from 96fb8e6 to 3258970 Compare June 25, 2025 23:03
@renovate renovate bot force-pushed the renovate/node-22.x branch 3 times, most recently from c7d337d to 84750a4 Compare July 8, 2025 06:01
@renovate renovate bot force-pushed the renovate/node-22.x branch 5 times, most recently from cd22f6a to 5ae8958 Compare July 17, 2025 02:52
@renovate renovate bot force-pushed the renovate/node-22.x branch from 5ae8958 to 8fbe8d2 Compare August 4, 2025 16: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