10.24.1

Latest release in branch 10.x
Released 5 years ago (April 06, 2021)

Software Node.js
Branch 10.x
Status LTS
End of life
End of bug fixes May 19, 2020
End of security fixes April 30, 2021
First official release version 10.0.0
First official release date 7 years ago (April 24, 2018)
Release notes https://github.com/nodejs/node/releases/tag/v10.24.1
Source code https://github.com/nodejs/node/tree/v10.24.1
Documentation https://nodejs.org/dist/latest-v10.x/docs/api/
Download https://nodejs.org/download/release/latest-v10.x/
Node.js 10.x Releases View 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

Version Release date npm version
10.24.1 5 years ago
(April 06, 2021)
6.14.12
10.24.0 5 years ago
(February 23, 2021)
6.14.11
10.23.3 5 years ago
(February 09, 2021)
6.14.11
10.23.2 5 years ago
(January 26, 2021)
6.14.10
10.23.1 5 years ago
(January 04, 2021)
6.14.10
10.23.0 5 years ago
(October 27, 2020)
6.14.8
10.22.1 5 years ago
(September 15, 2020)
6.14.6
10.22.0 5 years ago
(July 21, 2020)
6.14.6
10.21.0 5 years ago
(June 02, 2020)
6.14.4
10.20.1 6 years ago
(April 12, 2020)
6.14.4
10.20.0 6 years ago
(March 26, 2020)
6.14.4
10.19.0 6 years ago
(February 05, 2020)
6.13.4
10.18.1 6 years ago
(January 09, 2020)
6.13.4
10.18.0 6 years ago
(December 17, 2019)
6.13.4
10.17.0 6 years ago
(October 22, 2019)
6.11.3
10.16.3 6 years ago
(August 15, 2019)
6.9.0
10.16.2 6 years ago
(August 06, 2019)
6.9.0
10.16.1 6 years ago
(July 31, 2019)
6.9.0
10.16.0 6 years ago
(May 28, 2019)
6.9.0
10.15.3 7 years ago
(March 05, 2019)
6.4.1
10.15.2 7 years ago
(February 28, 2019)
6.4.1
10.15.1 7 years ago
(January 29, 2019)
6.4.1
10.15.0 7 years ago
(December 26, 2018)
6.4.1
10.14.2 7 years ago
(December 10, 2018)
6.4.1
10.14.1 7 years ago
(November 29, 2018)
6.4.1
10.14.0 7 years ago
(November 27, 2018)
6.4.1
10.13.0 7 years ago
(October 30, 2018)
6.4.1
10.12.0 7 years ago
(October 10, 2018)
6.4.1
10.11.0 7 years ago
(September 19, 2018)
6.4.1
10.10.0 7 years ago
(September 06, 2018)
6.4.1
10.9.0 7 years ago
(August 15, 2018)
6.2.0
10.8.0 7 years ago
(August 01, 2018)
6.2.0
10.7.0 7 years ago
(July 18, 2018)
6.1.0
10.6.0 7 years ago
(July 04, 2018)
6.1.0
10.5.0 7 years ago
(June 20, 2018)
6.1.0
10.4.1 7 years ago
(June 12, 2018)
6.1.0
10.4.0 7 years ago
(June 06, 2018)
6.1.0
10.3.0 7 years ago
(May 29, 2018)
6.1.0
10.2.1 7 years ago
(May 24, 2018)
5.6.0
10.2.0 7 years ago
(May 23, 2018)
5.6.0
10.1.0 7 years ago
(May 08, 2018)
5.6.0
10.0.0 7 years ago
(April 24, 2018)
5.6.0