summaryrefslogtreecommitdiff
path: root/CHANGELOG.md
diff options
context:
space:
mode:
authorMyles Borins <mylesborins@google.com>2020-02-07 14:08:57 -1000
committerMichaël Zasso <targos@protonmail.com>2020-02-11 19:20:59 +0100
commit1c11ea43883256b6bc9e64a28bbc22f88c5c2b38 (patch)
treec4170fc19735aa0bf422a22e4d00b46fd35c10de /CHANGELOG.md
parent8d8f7c6e17be62771b1f0b0f02d257fc435496c2 (diff)
downloadnode-new-1c11ea43883256b6bc9e64a28bbc22f88c5c2b38.tar.gz
2020-02-11, Version 12.16.0 'Erbium' (LTS)
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 This is an experimental feature. Ruben Bridgewater [#30929](https://github.com/nodejs/node/pull/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](https://github.com/nodejs/node/pull/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](https://github.com/nodejs/node/pull/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](https://github.com/nodejs/node/pull/30025). ___ The `--disallow-code-generation-from-strings` V8 CLI flag is now whitelisted in the `NODE_OPTIONS` environment variable. Shelley Vohr [#30094](https://github.com/nodejs/node/pull/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](https://github.com/nodejs/node/pull/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. Ben Noordhuis [#29910](https://github.com/nodejs/node/pull/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](https://github.com/nodejs/node/pull/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](https://github.com/nodejs/node/pull/30109). New EventEmitter APIs The new `EventEmitter.on` static method allows to async iterate over events. Matteo Collina [#27994](https://github.com/nodejs/node/pull/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`. Gerhard Stoebich [#30932](https://github.com/nodejs/node/pull/30932). ___ Using `async` functions with event handlers is problematic, because it can lead to an unhandled rejection in case of a thrown exception. 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. Setting `EventEmitter.captureRejections = true` will change the default for all new instances of `EventEmitter`. This is an experimental feature. Matteo Collina [#27867](https://github.com/nodejs/node/pull/27867). Performance Hooks are no longer experimental The `perf_hooks` module is now considered a stable API. legendecas [#31101](https://github.com/nodejs/node/pull/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](https://wasi.dev/) 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](https://github.com/nodejs/node/pull/30258). PR-URL: https://github.com/nodejs/node/pull/31691
Diffstat (limited to 'CHANGELOG.md')
-rw-r--r--CHANGELOG.md3
1 files changed, 2 insertions, 1 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 9c377480c1..3da2f7373e 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -41,7 +41,8 @@ release.
<a href="doc/changelogs/CHANGELOG_V13.md#13.0.0">13.0.0</a><br/>
</td>
<td valign="top">
-<b><a href="doc/changelogs/CHANGELOG_V12.md#12.15.0">12.15.0</a></b><br/>
+<b><a href="doc/changelogs/CHANGELOG_V12.md#12.16.0">12.16.0</a></b><br/>
+<a href="doc/changelogs/CHANGELOG_V12.md#12.15.0">12.15.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.14.1">12.14.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.14.0">12.14.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.13.1">12.13.1</a><br/>