Skip to content

Instantly share code, notes, and snippets.

@luislobo
Last active March 2, 2022 05:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save luislobo/af61c95e1a79a3c494910c9aa3bf9886 to your computer and use it in GitHub Desktop.
Save luislobo/af61c95e1a79a3c494910c9aa3bf9886 to your computer and use it in GitHub Desktop.
Node.js Versions Quick Release notes

Node.js Releases

https://nodejs.org/en/about/releases/

Node.js Changelogs

https://github.com/nodejs/node/tree/master/doc/changelogs

V8 Releases

https://v8.dev/

Node 17

V8 -> 9.5

Additional promisified APIs

Stack traces with Node.js version

OpenSSL 3.0 support

Node 16

V8 -> 9.0 ... 9.4

  • ECMAScript RegExp Match Indices https://v8.dev/blog/v8-release-90#regexp-match-indices

  • Faster super property access

  • Webassembly: Faster JS-to-Wasm calls

  • Top-level await

  • Faster calls with arguments size mismatch

  • Unsafe fast JS calls

  • Array.prototype.at (from V8 9.2)

  • Errors with cause (from V8 9.3)

  • Object.hasOwn (from V8 9.3)

Stable Timers Promises API

import { setTimeout } from 'timers/promises'

Experimental implementation of the standard Web Crypto API

npm 7 (v7.10.0 in Node.js v16.0.0)

Node-API version 8

Stable AbortController implementation based on the AbortController Web API

Stable Source Maps v3

Web platform atob (buffer.atob(data)) and btoa (buffer.btoa(data)) implementations for compatibility with legacy web platform APIs

Node 15

V8 -> 8.6

AbortController

Signal cancelation in selected Promise-based APIs

https://developer.mozilla.org/en-US/docs/Web/API/AbortController

https://nodejs.org/docs/latest-v15.x/api/globals.html#globals_class_abortcontroller

N-API Version 7

Brings additional methods for working with ArrayBuffers.

npm 7

Throw on unhandled rejections

QUIC (experimental)

QUIC is a new UDP-based transport protocol that is the underlying transport protocol for HTTP/3

QUIC features inbuilt security with TLS 1.3, flow control, error correction, connection migration, and multiplexing

https://nodejs.org/dist/latest-v15.x/docs/api/quic.html

Timers Promises API (experimental)

Streams Promises API

Node 14

V8 -> 8.1

  • Optional Chaining

  • Nullish Coalescing

  • Intl.DisplayNames

  • Enables calendar and numberingSystem options for Intl.DateTimeFormat

Diagnostic Report goes Stable

https://medium.com/the-node-js-collection/easily-identify-problems-in-node-js-applications-with-diagnostic-report-dc82370d8029

Experimental Async Local Storage API

https://nodejs.org/api/async_hooks.html#async_hooks_class_asynclocalstorage

Streams

Improve consistency across the Streams APIs to remove ambiguity and streamline behaviors across the various parts of Node.js core

Experimental Web Assembly System Interface

https://nodejs.org/api/wasi.html

Node 13

V8 -> 7.8

https://v8.dev/blog/v8-release-78

Full ICU enabled by default

Stable Workers API

https://nodejs.org/api/worker_threads.html

Node.js 12

v8 -> 7.4

TLS 1.3

https://developer.ibm.com/blogs/tls13-is-coming-to-nodejs/

Properly configure default heap limits

JavaScript heap size based on available memory

Switch default http parser to llhttp

https://github.com/indutny/llhttp

Making Native Modules Easier — progress continues

Changes include better support for native modules in combination with Worker threads, as well as N-API (https://nodejs.org/api/n-api.html#n_api_n_api) version 4

https://medium.com/the-node-js-collection/new-features-bring-native-add-ons-close-to-being-on-par-with-js-modules-cd4f9b8e4b4

Worker Threads

https://nodejs.org/api/worker_threads.html

Workers Threads no longer requires the use of a flag

https://medium.com/@Trott/using-worker-threads-in-node-js-80494136dbb6

Diagnostic Reports

Experimental

This allows you to generate a report on demand or when certain events occur

https://medium.com/the-node-js-collection/easily-identify-problems-in-node-js-applications-with-diagnostic-report-dc82370d8029

Heap Dumps

Node.js 12 brings integrated heap dump capability out of the box.

nodejs/node#27133 nodejs/node#26501

Startup improvements

In Node.js 12 we generate the code cache for built-in libraries in advance at build time nodejs/node#27161

ES6 Module Support

Updated experimental version of support for ES6 modules

https://medium.com/@nodejs/announcing-a-new-experimental-modules-1be8d2d6c2ff

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment