Latest in branch 10.x
10.24.1
Released 06 Apr 2021
(5 years ago)
SoftwareNode.js
Version10.x
StatusLTS
End of life
CodenameDubnium
Initial release10.0.0
24 Apr 2018
(8 years ago)
Latest release10.24.1
06 Apr 2021
(5 years ago)
End of bug fixes19 May 2020
(Ended 6 years ago)
End of security fixes30 Apr 2021
(Ended 5 years ago)
Release noteshttps://github.com/nodejs/node/releases/tag/v10.24.1
Source codehttps://github.com/nodejs/node/tree/v10.24.1
Documentationhttps://nodejs.org/dist/latest-v10.x/docs/api/
Downloadhttps://nodejs.org/download/release/latest-v10.x/
Node.js 10.x ReleasesView full list

What Is New in Node.js 10?

CategoryChange
New FeaturesV8 6.6 -- async generators, for-await-of, Promise.finally
New Featuresfs.promises (experimental) -- promise-based fs API
New FeaturesN-API (Native Addon API) promoted to stable
Improvementsnpm 6 bundled
ImprovementsBetter error messages with error codes
Improvementstrace_events module stabilized
SecurityOpenSSL 1.1.0h (TLS 1.3 draft support)
DeprecatedSeveral undocumented APIs removed

Async Generators and for-await-of

Async generators (async function*) let you yield values asynchronously over time, and for await...of lets you consume them. This combination is powerful for pagination, streaming APIs, and pipeline processing.

async function* paginate(url) {
  let cursor = null;
  do {
    const res = await fetch(`${url}?cursor=${cursor}`);
    const { items, next } = await res.json();
    for (const item of items) yield item;
    cursor = next;
  } while (cursor);
}

for await (const item of paginate('/api/items')) {
  process(item);
}

Promise.finally()

Promise.prototype.finally() runs a callback whether the promise fulfilled or rejected -- the async equivalent of a try/catch/finally block. Common use: cleanup after async operations regardless of outcome.

db.connect()
  .then(conn => conn.query('SELECT 1'))
  .catch(console.error)
  .finally(() => db.disconnect()); // always releases the connection

N-API Stable -- Native Addons That Survive Node Upgrades

N-API (now called Node-API) provides a stable ABI for native C/C++ addons. An addon compiled against N-API works across Node.js versions without recompilation, solving a long-standing pain point where every Node.js upgrade broke native packages.

If you maintain native addons (bcrypt, canvas, sharp, etc.) or use them heavily, N-API stability in Node.js 10 is significant -- upgrade cycles become far less disruptive.

Error Codes for Better Error Handling

Node.js 10 adds stable error codes to system errors (e.g., ERR_MODULE_NOT_FOUND, ENOENT). You can now check err.code rather than parsing the error message string, making error handling more robust and locale-independent.

FAQ

Is Node.js 10 an LTS release?
Yes. Node.js 10 (codename "Dubnium") was an LTS release. Support ended April 2021.

Can I use fs.promises in production with Node.js 10?
It is experimental in v10 -- the API could change. For production, use util.promisify(fs.readFile) or the graceful-fs package which has a stable promise interface. fs.promises stabilizes in Node.js 14.

Does N-API eliminate the need for nan (Native Abstractions for Node)?
Yes, for new addons. N-API is the recommended way to write native addons. nan still works but is a compatibility layer that requires recompilation per Node version -- exactly what N-API avoids.

Are async generators lazy or eager?
Lazy. A generator does not execute until you start consuming it with for await...of or .next(). Values are produced on demand, which makes them memory efficient for large data sequences.

What npm version does Node.js 10 ship with?
npm 6.x. npm 6 added npm audit for security vulnerability scanning, which became an important tool for supply chain security reviews.

Releases In Branch 10.x

VersionRelease datenpm version
10.24.106 Apr 2021
(5 years ago)
6.14.12
10.24.023 Feb 2021
(5 years ago)
6.14.11
10.23.309 Feb 2021
(5 years ago)
6.14.11
10.23.226 Jan 2021
(5 years ago)
6.14.10
10.23.104 Jan 2021
(5 years ago)
6.14.10
10.23.027 Oct 2020
(5 years ago)
6.14.8
10.22.115 Sep 2020
(5 years ago)
6.14.6
10.22.021 Jul 2020
(5 years ago)
6.14.6
10.21.002 Jun 2020
(5 years ago)
6.14.4
10.20.112 Apr 2020
(6 years ago)
6.14.4
10.20.026 Mar 2020
(6 years ago)
6.14.4
10.19.005 Feb 2020
(6 years ago)
6.13.4
10.18.109 Jan 2020
(6 years ago)
6.13.4
10.18.017 Dec 2019
(6 years ago)
6.13.4
10.17.022 Oct 2019
(6 years ago)
6.11.3
10.16.315 Aug 2019
(6 years ago)
6.9.0
10.16.206 Aug 2019
(6 years ago)
6.9.0
10.16.131 Jul 2019
(6 years ago)
6.9.0
10.16.028 May 2019
(7 years ago)
6.9.0
10.15.305 Mar 2019
(7 years ago)
6.4.1
10.15.228 Feb 2019
(7 years ago)
6.4.1
10.15.129 Jan 2019
(7 years ago)
6.4.1
10.15.026 Dec 2018
(7 years ago)
6.4.1
10.14.210 Dec 2018
(7 years ago)
6.4.1
10.14.129 Nov 2018
(7 years ago)
6.4.1
10.14.027 Nov 2018
(7 years ago)
6.4.1
10.13.030 Oct 2018
(7 years ago)
6.4.1
10.12.010 Oct 2018
(7 years ago)
6.4.1
10.11.019 Sep 2018
(7 years ago)
6.4.1
10.10.006 Sep 2018
(7 years ago)
6.4.1
10.9.015 Aug 2018
(7 years ago)
6.2.0
10.8.001 Aug 2018
(7 years ago)
6.2.0
10.7.018 Jul 2018
(7 years ago)
6.1.0
10.6.004 Jul 2018
(7 years ago)
6.1.0
10.5.020 Jun 2018
(7 years ago)
6.1.0
10.4.112 Jun 2018
(7 years ago)
6.1.0
10.4.006 Jun 2018
(7 years ago)
6.1.0
10.3.029 May 2018
(8 years ago)
6.1.0
10.2.124 May 2018
(8 years ago)
5.6.0
10.2.023 May 2018
(8 years ago)
5.6.0
10.1.008 May 2018
(8 years ago)
5.6.0
10.0.024 Apr 2018
(8 years ago)
5.6.0