Change8

Migrating to Node.js v24.2.0

Version v24.2.0 introduces 1 breaking change. This guide details how to update your code.

Released: 6/9/2025

1
Breaking Changes
4
Migration Steps
11
Affected Symbols

⚠️ Check Your Code

If you use any of these symbols, you need to read this guide:

import.meta.mainutil.isNativeErrorError.isErrorSymbol.disposeSymbol.asyncDisposeFileHandle.prototype.readableWebStreamhttp2.server.stream.finishutil.styleTextWorkerperf_hooks.IntervalHistogramcrypto.constants.OPENSSL_IS_BORINGSSL

Breaking Changes

Issue #1

Support for HTTP/2 priority signaling has been removed. Applications relying on manual priority signaling in nghttp2 will no longer function as this follows RFC 9113.

Migration Steps

  1. 1
    Replace usage of util.isNativeError(obj) with Error.isError(obj).
  2. 2
    Ensure all HTTP class instantiations (e.g., ClientRequest, ServerResponse) use the 'new' keyword.
  3. 3
    Remove any logic relying on HTTP/2 priority signaling as it is no longer supported.
  4. 4
    Update any child_process calls that pass an empty string to options.shell to use a valid shell path or omit the option.

Release Summary

This release introduces import.meta.main for ESM entry point detection, stabilizes Symbol.dispose, and removes HTTP/2 priority signaling in alignment with RFC 9113. It also includes several deprecations to align with modern JavaScript practices and updates core dependencies like nghttp2 and SQLite.

Need More Details?

View the full release notes and all changes for Node.js v24.2.0.

View Full Changelog