Skip to content

Releases: nodejs/node

2020-02-18, Version 12.16.1 'Erbium' (LTS), @MylesBorins

18 Feb 20:14

Choose a tag to compare

Notable changes

Node.js 12.16.0 included 6 regressions that are being fixed in this release

Accidental Unflagging of Self Resolving Modules:

12.16.0 included a large update to the ESM implementation. One of the new features,
Self Referential Modules, was accidentally released without requiring the --experimental-modules
flag. This release is being made to appropriately flag the feature.

Process Cleanup Changed Introduced WASM-Related Assertion:

A change during Node.js process cleanup led to a crash in combination with
specific usage of WASM. This has been fixed by partially reverted said change.
A regression test and a full fix are being worked on and will likely be included
in future 12.x and 13.x releases.

Use Largepages Runtime Option Introduced Linking Failure:

A Semver-Minor change to introduce --use-largepages as a runtime option
introduced a linking failure. This had been fixed in master but regressed as the fix has not yet gone out
in a Current release. The feature has been reverted, but will be able to reland with a fix in a future
Semver-Minor release.

Async Hooks was Causing an Exception When Handling Errors:

Changes in async hooks internals introduced a case where an internal api call could be called with undefined
causing a process to crash. The change to async hooks was reverted. A regression test and fix has been proposed
and the change could re land in a future Semver-Patch release if the regression is reliably fixed.

New Enumerable Read-Only Property on EventEmitter breaks @types/extend

A new property for enumerating events was added to the EventEmitter class. This
broke existing code that was using the @types/extend module for extending classses
as @types/extend was attemping to write over the existing field which the new
change made read-only. As this is the first property on EventEmitter that is
read-only this feature could be considered Semver-Major. The new feature has been
reverted but could re land in a future Semver-Minor release if a non breaking way
of applying it is found.

Exceptions in the HTTP parser were not emitting an uncaughtException

A refactoring to Node.js interanls resulted in a bug where errors in the HTTP
parser were not being emitted by process.on('uncaughtException'). The fix
to this bug has been included in this release.

Commits

  • [51fdd759b9] - async_hooks: ensure event after been emitted on runInAsyncScope (legendecas) #31784
  • [7a1b0ac06f] - Revert "build: re-introduce --use-largepages as no-op" (Myles Borins) #31782
  • [a53eeca2a9] - Revert "build: switch realpath to pwd" (Myles Borins) #31782
  • [6d432994e6] - Revert "build: warn upon --use-largepages config option" (Myles Borins) #31782
  • [a5bc00af12] - Revert "events: allow monitoring error events" (Myles Borins)
  • [f0b2d875d9] - module: 12.x self resolve flag as experimental modules (Guy Bedford) #31757
  • [42b68a4e24] - src: inform callback scopes about exceptions in HTTP parser (Anna Henningsen) #31801
  • [065a32f064] - Revert "src: make --use-largepages a runtime option" (Myles Borins) #31782
  • [3d5beebc62] - Revert "src: make large_pages node.cc include conditional" (Myles Borins) #31782
  • [43d02e20e0] - src: keep main-thread Isolate attached to platform during Dispose (Anna Henningsen) #31795
  • [7a5954ef26] - src: fix -Winconsistent-missing-override warning (Colin Ihrig) #30549

2020-02-11, Version 12.16.0 'Erbium' (LTS), @targos

11 Feb 18:40
v12.16.0

Choose a tag to compare

Notable changes

New assert APIs

The assert module now provides experimental assert.match() and
assert.doesNotMatch() methods. They will validate that the first argument is a
string and matches (or does not match) the provided regular expression:

const assert = require('assert').strict;

assert.match('I will fail', /pass/);
// AssertionError [ERR_ASSERTION]: The input did not match the regular ...

assert.doesNotMatch('I will fail', /fail/);
// AssertionError [ERR_ASSERTION]: The input was expected to not match the ...

This is an experimental feature.

Ruben Bridgewater #30929.

Advanced serialization for IPC

The child_process and cluster modules now support a serialization option
to change the serialization mechanism used for IPC. The option can have one of
two values:

  • 'json' (default): JSON.stringify() and JSON.parse() are used. This is
    how message serialization was done before.
  • 'advanced': The serialization API of the v8 module is used. It is based on
    the HTML structured clone algorithm
    and is able to serialize more built-in JavaScript object types, such as
    BigInt, Map, Set etc. as well as circular data structures.

Anna Henningsen #30162.

CLI flags

The new --trace-exit CLI flag makes Node.js print a stack trace whenever the
Node.js environment is exited proactively (i.e. by invoking the process.exit()
function or pressing Ctrl+C).

legendecas #30516.


The new --trace-uncaught CLI flag makes Node.js print a stack trace at the
time of throwing uncaught exceptions, rather than at the creation of the Error
object, if there is any.
This option is not enabled by default because it may affect garbage collection
behavior negatively.

Anna Henningsen #30025.


The --disallow-code-generation-from-strings V8 CLI flag is now whitelisted in
the NODE_OPTIONS environment variable.

Shelley Vohr #30094.

New crypto APIs

For DSA and ECDSA, a new signature encoding is now supported in addition to the
existing one (DER). The verify and sign methods accept a dsaEncoding
option, which can have one of two values:

  • 'der' (default): DER-encoded ASN.1 signature structure encoding (r, s).
  • 'ieee-p1363': Signature format r || s as proposed in IEEE-P1363.

Tobias Nießen #29292.


A new method was added to Hash: Hash.prototype.copy. It makes it possible to
clone the internal state of a Hash object into a new Hash object, allowing
to compute the digest between updates:

// Calculate a rolling hash.
const crypto = require('crypto');
const hash = crypto.createHash('sha256');

hash.update('one');
console.log(hash.copy().digest('hex'));

hash.update('two');
console.log(hash.copy().digest('hex'));

hash.update('three');
console.log(hash.copy().digest('hex'));

// Etc.

Ben Noordhuis #29910.

Dependency updates

libuv was updated to 1.34.0. This includes fixes to uv_fs_copyfile() and
uv_interface_addresses() and adds two new functions: uv_sleep() and
uv_fs_mkstemp().

Colin Ihrig #30783.


V8 was updated to 7.8.279.23. This includes performance improvements to object
destructuring, RegExp match failures and WebAssembly startup time.
The official release notes are available at https://v8.dev/blog/v8-release-78.

Michaël Zasso #30109.

New EventEmitter APIs

The new EventEmitter.on static method allows to async iterate over events:

const { on, EventEmitter } = require('events');

(async () => {

  const ee = new EventEmitter();

  // Emit later on
  process.nextTick(() => {
    ee.emit('foo', 'bar');
    ee.emit('foo', 42);
  });

  for await (const event of on(ee, 'foo')) {
    // The execution of this inner block is synchronous and it
    // processes one event at a time (even with await). Do not use
    // if concurrent execution is required.
    console.log(event); // prints ['bar'] [42]
  }

})();

Matteo Collina #27994.


It is now possible to monitor 'error' events on an EventEmitter without
consuming the emitted error by installing a listener using the symbol
EventEmitter.errorMonitor:

const myEmitter = new MyEmitter();

myEmitter.on(EventEmitter.errorMonitor, (err) => {
  MyMonitoringTool.log(err);
});

myEmitter.emit('error', new Error('whoops!'));
// Still throws and crashes Node.js

Gerhard Stoebich #30932.


Using async functions with event handlers is problematic, because it
can lead to an unhandled rejection in case of a thrown exception:

const ee = new EventEmitter();

ee.on('something', async (value) => {
  throw new Error('kaboom');
});

The experimental captureRejections option in the EventEmitter constructor or
the global setting change this behavior, installing a
.then(undefined, handler) handler on the Promise. This handler routes the
exception asynchronously to the Symbol.for('nodejs.rejection') method if there
is one, or to the 'error' event handler if there is none.

const ee1 = new EventEmitter({ captureRejections: true });
ee1.on('something', async (value) => {
  throw new Error('kaboom');
});

ee1.on('error', console.log);

const ee2 = new EventEmitter({ captureRejections: true });
ee2.on('something', async (value) => {
  throw new Error('kaboom');
});

ee2[Symbol.for('nodejs.rejection')] = console.log;

Setting EventEmitter.captureRejections = true will change the default for all
new instances of EventEmitter.

EventEmitter.captureRejections = true;
const ee1 = new EventEmitter();
ee1.on('something', async (value) => {
  throw new Error('kaboom');
});

ee1.on('error', console.log);

This is an experimental feature.

Matteo Collina #27867.

Performance Hooks are no longer experimental

The perf_hooks module is now considered a stable API.

legendecas #31101.

Introduction of experimental WebAssembly System Interface (WASI) support

A new core module, wasi, is introduced to provide an implementation of the
WebAssembly System Interface specification.
WASI gives sandboxed WebAssembly applications access to the
underlying operating system via a collection of POSIX-like functions.

This is an experimental feature.

Colin Ihrig #30258.

Commits

  • [fc7b27ea78] - (SEMVER-MINOR) assert: implement assert.match() and assert.doesNotMatch() (Ruben Bridgewater) #30929
  • [7d6c963b9d] - assert: DRY .throws code (Ruben Bridgewater) #28263
  • [749bc16cca] - assert: fix generatedMessage property (Ruben Bridgewater) #28263
  • [6909e3e656] - assert: use for...of (Soar) #30983
  • [b4e8f0de12] - assert: fix line number calculation after V8 upgrade (Michaël Zasso) #29694
  • [a0f338ecc1] - assert,util: stricter type comparison using deep equal comparisons (Ruben Bridgewater) #30764
  • [a9fad8524c] - async_hooks: ensure proper handling in runInAsyncScope (Anatoli Papirovski) #30965
  • [73e3c15a70] - benchmark: add more util inspect and format benchmarks (Ruben Bridgewater) #30767
  • [634389b3ee] - benchmark: use let instead of var in dgram (dnlup) #31175
  • [b55420889c] - benchmark: add benchmark on async_hooks enabled http server (legendecas) #31100
  • [1c97163f76] - benchmark: use let instead of var in crypto (dnlup) #31135
  • [3de7713aa5] - benchmark: replace var with let/const in cluster benchmark (dnlup) #31042
  • [471c59b4ba] - benchmark: include writev in benchmark (Robert Nagy) #31066
  • [c73256460d] - benchmark: use let instead of var in child_process (dnlup) #31043
  • [aa973c5cd9] - benchmark: add clear connections to sec...
Read more

2020-02-06, Version 13.8.0 (Current), @BethGriggs

06 Feb 03:28

Choose a tag to compare

Notable Changes

This is a security release.

Vulnerabilities fixed:

  • CVE-2019-15606: HTTP header values do not have trailing OWS trimmed.
  • CVE-2019-15605: HTTP request smuggling using malformed Transfer-Encoding header.
  • CVE-2019-15604: Remotely trigger an assertion on a TLS server with a malformed certificate string.

Also, HTTP parsing is more strict to be more secure. Since this may
cause problems in interoperability with some non-conformant HTTP
implementations, it is possible to disable the strict checks with the
--insecure-http-parser command line flag, or the insecureHTTPParser
http option. Using the insecure HTTP parser should be avoided.

Commits

2020-02-06, Version 12.15.0 'Erbium' (LTS), @BethGriggs

06 Feb 03:27

Choose a tag to compare

Notable changes

This is a security release.

Vulnerabilities fixed:

  • CVE-2019-15606: HTTP header values do not have trailing OWS trimmed.
  • CVE-2019-15605: HTTP request smuggling using malformed Transfer-Encoding header.
  • CVE-2019-15604: Remotely trigger an assertion on a TLS server with a malformed certificate string.

Also, HTTP parsing is more strict to be more secure. Since this may
cause problems in interoperability with some non-conformant HTTP
implementations, it is possible to disable the strict checks with the
--insecure-http-parser command line flag, or the insecureHTTPParser
http option. Using the insecure HTTP parser should be avoided.

Commits

2020-02-06, Version 10.19.0 'Dubnium' (LTS), @BethGriggs

06 Feb 03:27

Choose a tag to compare

Notable changes

This is a security release.

Vulnerabilities fixed:

  • CVE-2019-15606: HTTP header values do not have trailing OWS trimmed.
  • CVE-2019-15605: HTTP request smuggling using malformed Transfer-Encoding header.
  • CVE-2019-15604: Remotely trigger an assertion on a TLS server with a malformed certificate string.

Also, HTTP parsing is more strict to be more secure. Since this may
cause problems in interoperability with some non-conformant HTTP
implementations, it is possible to disable the strict checks with the
--insecure-http-parser command line flag, or the insecureHTTPParser
http option. Using the insecure HTTP parser should be avoided.

Commits

2020-01-21, Version 13.7.0 (Current), @codebytere

21 Jan 18:52
v13.7.0
bbab963

Choose a tag to compare

Notable Changes

  • deps:
    • upgrade to libuv 1.34.1 (cjihrig) #31332
    • upgrade npm to 6.13.6 (Ruy Adorno) #31304
  • module
    • add API for interacting with source maps (bcoe) #31132
    • loader getSource, getFormat, transform hooks (Geoffrey Booth) #30986
    • logical conditional exports ordering (Guy Bedford) #31008
    • unflag conditional exports (Guy Bedford) #31001
  • process:
    • allow monitoring uncaughtException (Gerhard Stoebich) #31257
  • Added new collaborators:

Commits

  • [9d26358cfe] - async_hooks: remove internal only error checking (Anatoli Papirovski) #30967
  • [6e978f7d73] - benchmark: add default type in getstringwidth.js (Rich Trott) #31377
  • [317d2dba45] - benchmark: benchmarking impacts of async hooks on promises (legendecas) #31188
  • [55e2b4ee3b] - build: remove enable_vtune from vcbuild.bat (Richard Lau) #31338
  • [f11406de43] - build: add vs2019 to vcbuild.bat help (Richard Lau) #31338
  • [b2180d932a] - build: fix macos runner type in GitHub Action (扩散性百万甜面包) #31327
  • [a6e1e9c6c3] - build: fix step name in GitHub Actions workflow (Richard Lau) #31323
  • [0379c319fd] - build: add GitHub actions to run linters (Richard Lau) #31323
  • [a31eed0214] - build: silence OpenSSL Windows compiler warnings (Richard Lau) #31311
  • [6b118b44e8] - build: silence c-ares Windows compiler warnings (Richard Lau) #31311
  • [7a5d4fad84] - build: test Python 3 using GitHub Actions-based CI (cclauss) #29474
  • [964371824c] - build: avoid using CMP for BZ2File (SpaceRacet5w2A6l0I) #31198
  • [22859367ca] - child_process: remove unnecessary use of inner state (Chetan Karande) #29358
  • [6d6a3e4551] - deps: V8: cherry-pick d89f4ef1cd62 (Milad Farazmand) #31354
  • [d62d06b3b7] - deps: V8: cherry-pick b9d33036e9a8 (Benjamin Coe) #31335
  • [51e4a5618b] - deps: upgrade to libuv 1.34.1 (cjihrig) #31332
  • [985f980053] - deps: upgrade npm to 6.13.6 (Ruy Adorno) #31304
  • [6f95f01f95] - deps: deactivate failing tests corresponding to experimental features (Ruben Bridgewater) #31289
  • [aed00d7d68] - doc: add missing code formatting in vm.md (cjihrig) #31350
  • [aedbfdb33a] - doc: standardize on "host name" in url.md (Rich Trott) #31326
  • [28245277d7] - doc: standardize on "host name" in tls.md (Rich Trott) #31326
  • [baeabff896] - doc: standardize on "host name" in os.md (Rich Trott) #31326
  • [94122f611a] - doc: standardize on "host name" in net.md (Rich Trott) #31326
  • [bac588e076] - doc: standardize on "host name" in https.md (Rich Trott) #31326
  • [600eb8b67c] - doc: standardize on "host name" in http2.md (Rich Trott) #31326
  • [47f71de786] - doc: standardize on "host name" in fs.md (Rich Trott) #31326
  • [ece70a8288] - doc: standardize on "host name" in errors.md (Rich Trott) #31326
  • [b8dee4540a] - doc: standardize on "host name" in dgram.md (Rich Trott) #31326
  • [8055f78995] - doc: standardize on "host name" in deprecations.md (Rich Trott) #31326
  • [6e9f0daad1] - doc: standardize on "host name" in async_hooks.md (Rich Trott) #31326
  • [e1fd6ae4fa] - doc: fix a code example in crypto.md (himself65) #31313
  • [bb9622ba5a] - doc: add an example for util.types.isExternal (Harshitha KP) #31173
  • [0608873052] - doc: fix example of parsing request.url (Egor Pavlov) #31302
  • [b9aca7849d] - doc: document readline key bindings (Harshitha KP) #31256
  • [6184f1ab70] - doc: improve doc v8.getHeapSpaceStatistics() 'GetHeapSpaceStatistics' (dev-313) #31274
  • [deff60024a] - doc: update README to make Node.js description clearer (carterbancroft) #31266
  • [8e14066578] - doc: fix a code example in zlib.md (Alexander Wang) #31264
  • [9c58aa4c75] - doc: add GeoffreyBooth to collaborators (Geoffrey Booth) #31306
  • [de6f2be0d0] - doc: update description of External (Anna Henningsen) #31255
  • [0e48d8d855] - doc: rename iterator to iterable in examples (Robert Nagy) #31252
  • [d51de787d9] - doc: fix stream async iterator sample (Robert Nagy) #31252
  • [3e7b3e3c18] - doc: correct filehandle.[read|write|append]File() (Bryan English) #31235
  • [220ea0c12e] - doc: prefer server vs srv and client vs clt (Andrew Hughes) #31224
  • [c1333ea113] - doc: explain native external types (Harshitha KP) #31214
  • [82b447c399] - doc,src: clarify that one napi_env is per-module (legendecas) #31102
  • [4981f9721a] - errors: remove dead code in ERR_INVALID_ARG_TYPE (Gerhard Stoebich) #31322
  • [b55fba2028] - fs: add missing HandleScope to FileHandle.close (Anna Henningsen) #31276
  • [57016b9e66] - fs: use async writeFile in FileHandle#appendFile (Bryan English) #31235
  • [[52504fb91e](https://github.com/nodejs/no...
Read more

2020-01-09, Version 10.18.1 'Dubnium' (LTS), @BethGriggs

09 Jan 22:16

Choose a tag to compare

Notable changes

  • http2: fix session memory accounting after pausing (Michael Lehenbauer) #30684
  • n-api: correct bug in napi_get_last_error (Octavian Soldea) #28702
  • tools: update tzdata to 2019c (Myles Borins) #30479

Commits

  • [a80c59130e] - build: fix configure script to work with Apple Clang 11 (Saagar Jha) #28071
  • [68b2b5cc51] - build,win: propagate error codes in vcbuild (João Reis) #30724
  • [3e0709cf5e] - deps: V8: backport fb63e5cf55e9 (Michaël Zasso)
  • [25b8fbda35] - doc: allow <code> in header elements (Rich Trott) #31086
  • [a1b095dd46] - doc,dns: use code markup/markdown in headers (Rich Trott) #31086
  • [8f3b8ca515] - http2: fix session memory accounting after pausing (Michael Lehenbauer) #30684
  • [20f64a96de] - http2: use the latest settings (ZYSzys) #29780
  • [81c31005fd] - lib: fix comment nits in bootstrap\loaders.js (Vse Mozhet Byt) #24641
  • [88e8b7cf83] - n-api: correct bug in napi_get_last_error (Octavian Soldea) #28702
  • [77e0318849] - stream: increase MAX_HWM (Robert Nagy) #29938
  • [894aaa2040] - stream: extract Readable.from in its own file (Matteo Collina) #30140
  • [7e941eb17d] - test: do not fail SLOW tests if they are not slow (Yang Guo) #25868
  • [0f3ae77aaf] - tools: update tzdata to 2019c (Myles Borins) #30479
  • [4ae8d204cb] - tools: move python code out of jenkins shell (Sam Roberts) #28458
  • [4879b80d87] - tools: fix v8 testing with devtoolset on ppcle (Sam Roberts) #28458

2020-01-07, Version 13.6.0 (Current), @BridgeAR

07 Jan 23:17
v13.6.0
1a552f6

Choose a tag to compare

Notable Changes

  • assert:
    • Implement assert.match() and assert.doesNotMatch() (Ruben Bridgewater) #30929
  • events:
    • Add EventEmitter.on to async iterate over events (Matteo Collina) #27994
    • Allow monitoring error events (Gerhard Stoebich) #30932
  • fs:
    • Allow overriding fs for streams (Robert Nagy) #29083
  • perf_hooks:
    • Move perf_hooks out of experimental (legendecas) #31101
  • repl:
    • Implement ZSH-like reverse-i-search (Ruben Bridgewater) #31006
  • tls:
    • Add PSK (pre-shared key) support (Denys Otrishko) #23188

Commits

  • [d831dc1b77] - (SEMVER-MINOR) assert: implement assert.match() and assert.doesNotMatch() (Ruben Bridgewater) #30929
  • [f8aa365508] - assert: use for...of (Soar) #30983
  • [5fccb508e9] - benchmark: use let instead of var in dgram (dnlup) #31175
  • [827d3fea0e] - benchmark: add benchmark on async_hooks enabled http server (legendecas) #31100
  • [b193142e0a] - benchmark: use let instead of var in crypto (dnlup) #31135
  • [b8ccf30ac1] - benchmark: replace var with let/const in cluster benchmark (dnlup) #31042
  • [01fd3be84a] - benchmark: include writev in benchmark (Robert Nagy) #31066
  • [ca53f02767] - benchmark: use let instead of var in child_process (dnlup) #31043
  • [625744d292] - benchmark: add clear connections to secure-pair (Diego Lafuente) #27971
  • [0e864a383c] - benchmark: update manywrites back pressure (Robert Nagy) #30977
  • [37ffa8c2ae] - bootstrap: use different scripts to setup different configurations (Joyee Cheung) #30862
  • [4df365256f] - buffer: improve .from() error details (Ruben Bridgewater) #29675
  • [9b7cf090c7] - build: don't use -latomic on macOS (Ryan Schmidt) #30099
  • [d2ab877b72] - build: warn upon --use-largepages config option (Gabriel Schulhof) #31103
  • [ca05a5bb64] - build: switch realpath to pwd (bcoe) #31095
  • [d131877398] - build: fixes build for some os versions (David Carlier)
  • [baf8730a47] - build: re-introduce --use-largepages as no-op (Gabriel Schulhof)
  • [ca235112ae] - deps: V8: backport a4545db (David Carlier) #31127
  • [e2ef1a9e63] - deps: V8: bump v8_embedder_string for 0e21c1e (Сковорода Никита Андреевич) #31096
  • [2ec817e02d] - deps: uvwasi: cherry-pick 75b389c (cjihrig) #31076
  • [a5937c7b6c] - deps: uvwasi: cherry-pick 64e59d5 (cjihrig) #31076
  • [647f3c7639] - deps: V8: cherry-pick 687d865fe251 (Сковорода Никита Андреевич) #31007
  • [7fe8399e08] - deps: V8: cherry-pick d406bfd64653 (Sam Roberts) #30819
  • [7e13ae7757] - deps: V8: cherry-pick d3a1a5b6c491 (Michaël Zasso) #31005
  • [32805a9525] - deps,src,test: update to uvwasi 0.0.3 (cjihrig) #30980
  • [44d03e81d4] - dgram: test to add and to drop specific membership (A. Volgin) #31047
  • [21ef3d615e] - dgram: use for...of (Trivikram Kamat) #30999
  • [7b696fe9f4] - doc: remove extra backtick (cjihrig) #31186
  • [dba2ab75d9] - doc: use code markup/markdown in headers (Ruben Bridgewater) #31149
  • [cc44325eed] - doc: update REPL documentation to instantiate the REPL (Ruben Bridgewater) #30928
  • [d3a8088cd5] - doc: improve explanation of package.json "type" field (Ronald J Kimball) #27516
  • [33352c2433] - doc: clarify role of writable.cork() (Colin Grant) #30442
  • [b657a64b77] - doc: de-duplicate security release processes (Sam Roberts) #30996
  • [18b34def41] - doc: fix createDiffieHellman generator type (Tobias Nießen) #31121
  • [1fa8e49f7e] - doc: update mode type for mkdir() functions (cjihrig) #31115
  • [a37a88f40d] - doc: update mode type for process.umask() (cjihrig) #31115
  • [2313b9e33b] - doc: update mode type for fs open() functions (cjihrig) #31115
  • [53c6a1ee34] - doc: update mode type for fchmod() functions (cjihrig) #31115
  • [68557889d3] - doc: update parameter type for fsPromises.chmod() (cjihrig) #31115
  • [72d70d5102] - doc: improve dns introduction (Rich Trott) #31090
  • [4c29a6ee15] - doc: update parameter type for fs.chmod() (Santosh Yadav) #31085
  • [dcce8b68b2] - doc: use code markup/markdown in headers in globals documentation (Rich Trott) #31086
  • [7afe69cee0] - doc: use code markup/markdown in headers in deprecations documentation (Rich Trott) #31086
  • [ff828900f6] - doc: use code markup/markdown in headers in addons documentation (Rich Trott) #31086
  • [ce60a80944] - doc: allow <code> in header elements (Rich Trott) #31086
  • [1033760874] - doc: add --inspect-publish-uid man page entry (cjihrig) #31077
  • [23013e3e31] - doc: add --force-context-aware man page entry (cjihrig) #31077
  • [efc97fd927] - doc: add --enable-source-maps man page entry (cjihrig) #31077
  • [4292f64c27] - doc: fix anchors and subtitle in BUILDING.md (sutangu) #30296
  • [[1357c97a70](https://github.com/nodejs/node/...
Read more

2020-01-07, Version 12.14.1 'Erbium' (LTS), @BethGriggs

07 Jan 18:24

Choose a tag to compare

Notable changes

  • crypto: fix key requirements in asymmetric cipher (Tobias Nießen) #30249
  • deps:
    • update llhttp to 2.0.1 (Fedor Indutny) #30553
    • update nghttp2 to 1.40.0 (gengjiawen) #30493
  • v8: mark serdes API as stable (Anna Henningsen) #30234

Commits

Read more

2019-12-18, Version 13.5.0 (Current), @MylesBorins

18 Dec 18:58

Choose a tag to compare

Notable Changes

  • cli:
    • add --trace-exit cli option (legendecas) #30516
  • http,https:
    • increase server headers timeout (Tim Costa) #30071
  • readline:
    • update ansi-regex (Ruben Bridgewater) #30907
    • promote _getCursorPos to public api (Jeremy Albright) #30687
  • repl:
    • add completion preview (Ruben Bridgewater) #30907
  • util:
    • add Set and map size to inspect output (Ruben Bridgewater) #30225
  • wasi:
    • require CLI flag to require() wasi module (Colin Ihrig) #30963

Commits

  • [e10917f8ba] - async_hooks: ensure proper handling in runInAsyncScope (Anatoli Papirovski) #30965
  • [b6ddbc1291] - benchmark: use let/const instead of var in buffers (dnlup) #30945
  • [00cbf5b1b6] - build: auto-load ICU data from --with-icu-default-data-dir (Stephen Gallagher) #30825
  • [60225c171e] - build: fix missing x64 arch suffix in binary tar name (legendecas) #30877
  • [10a77d3cd1] - build,win: fix goto exit in vcbuild (João Reis) #30931
  • [f371562e30] - build,win: support building MSI with VS2019 (João Reis) #30895
  • [d8ce9a0e23] - (SEMVER-MINOR) cli: add --trace-exit cli option (legendecas) #30516
  • [30e2d28ac5] - cluster: remove unnecessary bind (Anatoli Papirovski) #28131
  • [4f3eca5d42] - console: unregister temporary error listener (Robert Nagy) #30852
  • [a221017ee8] - crypto: cast oaepLabel to unsigned char* (Shelley Vohr) #30917
  • [3abcb69c3e] - doc: add note about fs.close() about undefined behavior (Robert Nagy) #30966
  • [13b5ace4db] - doc: explain napi_run_script (Tobias Nießen) #30918
  • [559284b20a] - doc: add "Be direct." to the style guide (Rich Trott) #30935
  • [eb6443dc11] - doc: clarify expectations for PR commit messages (Derek Lewis) #30922
  • [df5ae1a8ef] - doc: fix description of N-API exception handlers (Tobias Nießen) #30893
  • [b53e2a84ec] - doc: improve doc writable streams: 'finish' event (dev-313) #30889
  • [ad5b71525d] - fs: remove unnecessary bind (Anatoli Papirovski) #28131
  • [3bc9b09ce6] - http: use for...of in http library code (Trivikram Kamat) #30958
  • [7a756cb539] - http: remove unnecessary bind (Anatoli Papirovski) #28131
  • [172228047a] - http,https: increase server headers timeout (Tim Costa) #30071
  • [52aab47766] - http2: remove unnecessary bind from setImmediate (Anatoli Papirovski) #28131
  • [88731adff6] - lib: replace Symbol.species by SymbolSpecies (Sebastien Ahkrin) #30950
  • [f51b5bd3dc] - lib: replace Symbol.hasInstance by SymbolHasInstance (Sebastien Ahkrin) #30948
  • [92475e998d] - lib: replace Symbol.asyncIterator by SymbolAsyncIterator (Sebastien Ahkrin) #30947
  • [19f05cab39] - lib: enforce use of Promise from primordials (Michaël Zasso) #30936
  • [698e0a2095] - lib: add TypedArray constructors to primordials (Sebastien Ahkrin) #30740
  • [cbe29ce4cf] - lib: change var to let/const (rene.herrmann) #30910
  • [2430dd8ecb] - lib: use strict equality comparison (Donggeon Lim) #30898
  • [30d32492a0] - lib: refactor NativeModule (Joyee Cheung) #30856
  • [a326309a74] - lib: replace Symbol.toPrimitive to SymbolToPrimitive primordials (Sebastien Ahkrin) #30905
  • [0d2172fb5d] - lib: update Symbol.toStringTag by SymbolToStringTag primordial (Sebastien Ahkrin) #30908
  • [4e67d38f42] - perf_hooks: remove unnecessary bind (Anatoli Papirovski) #28131
  • [510edead69] - process: refs --unhandled-rejections documentation in warning message (Antoine du HAMEL) #30564
  • [954793f363] - process: fix promise catching (Rongjian Zhang) #30957
  • [5b49ded22a] - (SEMVER-MINOR) readline: promote _getCursorPos to public api (Jeremy Albright) #30687
  • [424c37baba] - (SEMVER-MINOR) readline: update ansi-regex (Ruben Bridgewater) #30907
  • [02f3fe4b60] - (SEMVER-MINOR) repl: fix preview bug in case of long lines (Ruben Bridgewater) #30907
  • [6a3e79f953] - (SEMVER-MINOR) repl: add completion preview (Ruben Bridgewater) #30907
  • [1a8f828c17] - (SEMVER-MINOR) repl: improve completion (Ruben Bridgewater) #30907
  • [8b92223ed1] - (SEMVER-MINOR) repl: simplify code (Ruben Bridgewater) #30907
  • [f7eeb8cc0b] - (SEMVER-MINOR) repl: simplify repl autocompletion (Ruben Bridgewater) #30907
  • [d549daef18] - (SEMVER-MINOR) repl: remove dead code (Ruben Bridgewater) #30907
  • [e11acc5a45] - repl: fix autocomplete when useGlobal is false (Michaël Zasso) #30883
  • [3906e145ca] - (SEMVER-MINOR) repl,readline: refactor for simplicity (Ruben Bridgewater) #30907
  • [f6f298e3cf] - (SEMVER-MINOR) repl,readline: refactor common code (Ruben Bridgewater) #30907
  • [d456aa0a57] - src: unregister Isolate with platform before disposing (Anna Henningsen) #30909
  • [c43461ac56] - src: make debug_options getters public (Shelley Vohr) #30494
  • [5ca29d860b] - stream: use for...of (Trivikram Kamat) ...
Read more