Node.js 15

15 released 20 October 2020, latest 15.14.0.

Node.js 15 reached end of life on 1 June 2021.

What changed

Node.js 15 moved the bundled package manager from npm 6 to npm 7, bringing workspaces and a substantially different peer-dependency resolution model. It also changed the default handling of unhandled Promise rejections: processes throw and terminate rather than merely emitting a warning. The runtime updated its V8 JavaScript engine and introduced experimental QUIC support. Compared with the preceding Node.js line, these changes made dependency installation and previously tolerated asynchronous error paths more likely to expose application or build failures.

What staying costs

Node.js 15 has reached end of life, so it no longer receives security fixes, bug fixes, or compatibility maintenance from the Node.js project. Remaining on it leaves known and future runtime vulnerabilities unpatched and makes it progressively harder to use maintained operating-system images, build tooling, CI actions, and third-party packages. The npm 7 dependency resolver can also make installs differ from environments using older npm versions, while the stricter unhandled-rejection behavior can cause process exits in code that did not explicitly handle rejected Promises.

What to do

Plan a move to a currently supported Node.js LTS line rather than treating Node.js 15 as an upgrade destination. Inventory declared engine constraints, CI runners, container base images, deployment platforms, and native add-ons; rebuild native modules under the target runtime. Upgrade dependencies that do not support the target Node.js version, then perform clean installs and commit any intentional lockfile changes after reviewing peer-dependency resolution. Run unit, integration, startup, and production-like workload tests, with particular attention to rejected Promises, deprecated APIs, TLS and crypto behavior, and native bindings. Deploy through a staged rollout with monitoring and a rollback path, then update runtime version pins and CI configuration so new builds cannot continue using Node.js 15.

We can tell you what moving off Node.js 15 involves.

What it takes to move off Node.js 15 depends on what you built on it — the version you are on, how much depends on it, and how much of the work is mechanical. Leave your email with this version and we can tell you what that looks like for you.

Not sure yet? Get my plan