Skip to content

Commit

Permalink
2020-04-21, Version 14.0.0 (Current)
Browse files Browse the repository at this point in the history
Deprecations:

- (SEMVER-MAJOR) crypto: move pbkdf2 without digest to EOL
  (James M Snell) [#31166](#31166)
- (SEMVER-MAJOR) fs: deprecate closing FileHandle on garbage collection
  (James M Snell) [#28396](#28396)
- (SEMVER-MAJOR) http: move OutboundMessage.prototype.flush to EOL
  (James M Snell) [#31164](#31164)
- (SEMVER-MAJOR) lib: move GLOBAL and root aliases to EOL
  (James M Snell) [#31167](#31167)
- (SEMVER-MAJOR) os: move tmpDir() to EOL
  (James M Snell)[#31169](#31169)
- (SEMVER-MAJOR) src: remove deprecated wasm type check
  (Clemens Backes) [#32116](#32116)
- (SEMVER-MAJOR) stream: move \_writableState.buffer to EOL
  (James M Snell) [#31165](#31165)
- (SEMVER-MINOR) doc: deprecate process.mainModule
  (Antoine du HAMEL) [#32232](#32232)
- (SEMVER-MINOR) doc: deprecate process.umask() with no arguments
  (Colin Ihrig) [#32499](#32499)

ECMAScript Modules - Experimental Warning Removal:

- module: remove experimental modules warning
  (Guy Bedford) [#31974](#31974)

In Node.js 13 we removed the need to include the --experimental-modules
flag, but when running EcmaScript Modules in Node.js, this would still
result in a warning ExperimentalWarning: The ESM module loader is
experimental.

As of Node.js 14 there is no longer this warning when using ESM in
Node.js. However, the ESM implementation in Node.js remains
experimental. As per our stability index: “The feature is not subject
to Semantic Versioning rules. Non-backward compatible changes or
removal may occur in any future release.” Users should be cautious when
using the feature in production environments.

Please keep in mind that the implementation of ESM in Node.js differs
from the developer experience you might be familiar with. Most
transpilation workflows support features such as optional file
extensions or JSON modules that the Node.js ESM implementation does not
support. It is highly likely that modules from transpiled environments
will require a certain degree of refactoring to work in Node.js. It is
worth mentioning that many of our design decisions were made with two
primary goals. Spec compliance and Web Compatibility. It is our belief
that the current implementation offers a future proof model to
authoring ESM modules that paves the path to Universal JavaScript.
Please read more in our documentation.

The ESM implementation in Node.js is still experimental but we do believe
that we are getting very close to being able to call ESM in Node.js
“stable”. Removing the warning is a huge step in that direction.

New V8 ArrayBuffer API:

* **src**: migrate to new V8 ArrayBuffer API
  (Thang Tran) [#30782](#30782)

Multiple ArrayBuffers pointing to the same base address are no longer
allowed by V8. This may impact native addons.

Toolchain and Compiler Upgrades:

- (SEMVER-MAJOR) build: update macos deployment target to 10.13 for 14.x
  (AshCripps)[#32454](#32454)
- (SEMVER-MAJOR) doc: update cross compiler machine for Linux armv7
  (Richard Lau) [#32812](#32812)
- (SEMVER-MAJOR) doc: update Centos/RHEL releases use devtoolset-8
  (Richard Lau) [#32812](#32812)
- (SEMVER-MAJOR) doc: remove SmartOS from official binaries
  (Richard Lau) [#32812](#32812)
- (SEMVER-MAJOR) win: block running on EOL Windows versions
  (João Reis) [#31954](#31954)

It is expected that there will be an ABI mismatch on ARM between the
Node.js binary and native addons. Native addons are only broken if they
interact with `std::shared_ptr`. This is expected to be fixed in a
later version of Node.js 14.
- [#30786](#30786)

Update to V8 8.1:

- (SEMVER-MAJOR) deps: update V8 to 8.1.307.20
  (Matheus Marchini) [#32116](#32116)

Other Notable Changes:

- cli, report: move --report-on-fatalerror to stable
  (Colin Ihrig) [#32496](#32496)
- deps: upgrade to libuv 1.37.0
  (Colin Ihrig) [#32866](#32866)
- fs: add fs/promises alias module
  (Gus Caplan) [#31553](#31553)

PR-URL: #32181
  • Loading branch information
BethGriggs committed Apr 21, 2020
1 parent 10cc254 commit 372c7cc
Show file tree
Hide file tree
Showing 28 changed files with 368 additions and 37 deletions.
7 changes: 6 additions & 1 deletion CHANGELOG.md
Expand Up @@ -2,6 +2,7 @@

Select a Node.js version below to view the changelog history:

* [Node.js 14](doc/changelogs/CHANGELOG_V14.md) **Current**
* [Node.js 13](doc/changelogs/CHANGELOG_V13.md) **Current**
* [Node.js 12](doc/changelogs/CHANGELOG_V12.md) **Long Term Support**
* [Node.js 11](doc/changelogs/CHANGELOG_V11.md) End-of-Life
Expand All @@ -23,12 +24,16 @@ release.
<!--lint disable maximum-line-length-->
<table>
<tr>
<th title="Current"><a href="doc/changelogs/CHANGELOG_V14.md">14</a><sup>Current</sup></th>
<th title="Current"><a href="doc/changelogs/CHANGELOG_V13.md">13</a><sup>Current</sup></th>
<th title="LTS Until 2022-04"><a href="doc/changelogs/CHANGELOG_V12.md">12</a><sup>LTS</sup></th>
<th title="LTS Until 2021-04"><a href="doc/changelogs/CHANGELOG_V10.md">10</a><sup>LTS</sup></th>
</tr>
<tr>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V14.md#14.0.0">14.0.0</a></b><br/>
</td>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V13.md#13.13.0">13.13.0</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V13.md#13.12.0">13.12.0</a><br/>
<a href="doc/changelogs/CHANGELOG_V13.md#13.11.0">13.11.0</a><br/>
Expand All @@ -48,7 +53,7 @@ release.
</td>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V12.md#12.16.2">12.16.2</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.16.1">12.16.1</a><<br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.16.1">12.16.1</a><br/>
<a href="doc/changelogs/CHANGELOG_V12.md#12.16.0">12.16.0</a><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/>
Expand Down
8 changes: 4 additions & 4 deletions doc/api/assert.md
Expand Up @@ -161,7 +161,7 @@ An alias of [`assert.ok()`][].
<!-- YAML
added: v0.1.21
changes:
- version: REPLACEME
- version: v14.0.0
pr-url: https://github.com/nodejs/node/pull/30766
description: NaN is now treated as being identical in case both sides are
NaN.
Expand Down Expand Up @@ -597,7 +597,7 @@ assert.doesNotThrow(
<!-- YAML
added: v0.1.21
changes:
- version: REPLACEME
- version: v14.0.0
pr-url: https://github.com/nodejs/node/pull/30766
description: NaN is now treated as being identical in case both sides are
NaN.
Expand Down Expand Up @@ -818,7 +818,7 @@ instance of an [`Error`][] then it will be thrown instead of the
<!-- YAML
added: v0.1.21
changes:
- version: REPLACEME
- version: v14.0.0
pr-url: https://github.com/nodejs/node/pull/30766
description: NaN is now treated as being identical in case both sides are
NaN.
Expand Down Expand Up @@ -944,7 +944,7 @@ instead of the [`AssertionError`][].
<!-- YAML
added: v0.1.21
changes:
- version: REPLACEME
- version: v14.0.0
pr-url: https://github.com/nodejs/node/pull/30766
description: NaN is now treated as being identical in case both sides are
NaN.
Expand Down
2 changes: 1 addition & 1 deletion doc/api/child_process.md
Expand Up @@ -1027,7 +1027,7 @@ See [Advanced Serialization][] for more details.
<!-- YAML
added: v7.1.0
changes:
- version: REPLACEME
- version: v14.0.0
pr-url: https://github.com/nodejs/node/pull/30165
description: The object no longer accidentally exposes native C++ bindings.
-->
Expand Down
2 changes: 1 addition & 1 deletion doc/api/cli.md
Expand Up @@ -648,7 +648,7 @@ Name of the file to which the report will be written.
<!-- YAML
added: v11.8.0
changes:
- version: REPLACEME
- version: v14.0.0
pr-url: https://github.com/nodejs/node/pull/32496
description: This option is no longer considered experimental.
- version: v12.0.0
Expand Down
4 changes: 2 additions & 2 deletions doc/api/crypto.md
Expand Up @@ -2329,7 +2329,7 @@ console.log(hashes); // ['DSA', 'DSA-SHA', 'DSA-SHA1', ...]
<!-- YAML
added: v0.5.5
changes:
- version: REPLACEME
- version: v14.0.0
pr-url: https://github.com/nodejs/node/pull/30578
description: The `iterations` parameter is now restricted to positive
values. Earlier releases treated other values as one.
Expand Down Expand Up @@ -2408,7 +2408,7 @@ negative performance implications for some applications; see the
<!-- YAML
added: v0.9.3
changes:
- version: REPLACEME
- version: v14.0.0
pr-url: https://github.com/nodejs/node/pull/30578
description: The `iterations` parameter is now restricted to positive
values. Earlier releases treated other values as one.
Expand Down
16 changes: 8 additions & 8 deletions doc/api/deprecations.md
Expand Up @@ -44,7 +44,7 @@ However, the deprecation identifier will not be modified.
### DEP0001: `http.OutgoingMessage.prototype.flush`
<!-- YAML
changes:
- version: REPLACEME
- version: v14.0.0
pr-url: https://github.com/nodejs/node/pull/31164
description: End-of-Life.
- version:
Expand Down Expand Up @@ -85,7 +85,7 @@ The `_linklist` module is deprecated. Please use a userland alternative.
### DEP0003: `_writableState.buffer`
<!-- YAML
changes:
- version: REPLACEME
- version: v14.0.0
pr-url: https://github.com/nodejs/node/pull/31165
description: End-of-Life
- version:
Expand Down Expand Up @@ -239,7 +239,7 @@ to the `constants` property exposed by the relevant module. For instance,
### DEP0009: `crypto.pbkdf2` without digest
<!-- YAML
changes:
- version: REPLACEME
- version: v14.0.0
pr-url: https://github.com/nodejs/node/pull/31166
description: End-of-Life (for `digest === null`)
- version: v11.0.0
Expand Down Expand Up @@ -407,7 +407,7 @@ The [`fs.readSync()`][] legacy `String` interface is deprecated. Use the
### DEP0016: `GLOBAL`/`root`
<!-- YAML
changes:
- version: REPLACEME
- version: v14.0.0
pr-url: https://github.com/nodejs/node/pull/31167
description: End-of-Life
- version: v6.12.0
Expand Down Expand Up @@ -522,7 +522,7 @@ The `Server.listenFD()` method was deprecated and removed. Please use
### DEP0022: `os.tmpDir()`
<!-- YAML
changes:
- version: REPLACEME
- version: v14.0.0
pr-url: https://github.com/nodejs/node/pull/31169
description: End-of-Life.
- version: v7.0.0
Expand Down Expand Up @@ -2590,7 +2590,7 @@ To maintain existing behaviour `response.finished` should be replaced with
### DEP0137: Closing fs.FileHandle on garbage collection
<!-- YAML
changes:
- version: REPLACEME
- version: v14.0.0
pr-url: https://github.com/nodejs/node/pull/28396
description: Runtime deprecation.
-->
Expand Down Expand Up @@ -2621,7 +2621,7 @@ async function openAndClose() {
### DEP0138: `process.mainModule`
<!-- YAML
changes:
- version: REPLACEME
- version: v14.0.0
pr-url: https://github.com/nodejs/node/pull/32232
description: Documentation-only deprecation.
-->
Expand All @@ -2639,7 +2639,7 @@ purpose and is only available on CommonJS environment.
### DEP0139: `process.umask()` with no arguments
<!-- YAML
changes:
- version: REPLACEME
- version: v14.0.0
pr-url: https://github.com/nodejs/node/pull/32499
description: Runtime deprecation.
-->
Expand Down
2 changes: 1 addition & 1 deletion doc/api/embedding.md
@@ -1,6 +1,6 @@
# C++ Embedder API

<!--introduced_in=REPLACEME-->
<!--introduced_in=v14.0.0-->

Node.js provides a number of C++ APIs that can be used to execute JavaScript
in a Node.js environment from other C++ software.
Expand Down
2 changes: 1 addition & 1 deletion doc/api/errors.md
Expand Up @@ -2307,7 +2307,7 @@ The `repl` module was unable to parse data from the REPL history file.
### `ERR_SOCKET_CANNOT_SEND`
<!-- YAML
added: v9.0.0
removed: REPLACEME
removed: v14.0.0
-->

Data could not be sent on a socket.
Expand Down
20 changes: 10 additions & 10 deletions doc/api/fs.md
Expand Up @@ -3997,7 +3997,7 @@ This happens when:
<!-- YAML
added: v0.0.2
changes:
- version: REPLACEME
- version: v14.0.0
pr-url: https://github.com/nodejs/node/pull/31030
description: The `buffer` parameter won't coerce unsupported input to
strings anymore.
Expand Down Expand Up @@ -4058,7 +4058,7 @@ the end of the file.
<!-- YAML
added: v0.11.5
changes:
- version: REPLACEME
- version: v14.0.0
pr-url: https://github.com/nodejs/node/pull/31030
description: The `string` parameter won't coerce unsupported input to
strings anymore.
Expand Down Expand Up @@ -4117,7 +4117,7 @@ details.
<!-- YAML
added: v0.1.29
changes:
- version: REPLACEME
- version: v14.0.0
pr-url: https://github.com/nodejs/node/pull/31030
description: The `data` parameter won't coerce unsupported input to
strings anymore.
Expand Down Expand Up @@ -4207,7 +4207,7 @@ to contain only `', World'`.
<!-- YAML
added: v0.1.29
changes:
- version: REPLACEME
- version: v14.0.0
pr-url: https://github.com/nodejs/node/pull/31030
description: The `data` parameter won't coerce unsupported input to
strings anymore.
Expand Down Expand Up @@ -4239,7 +4239,7 @@ this API: [`fs.writeFile()`][].
<!-- YAML
added: v0.1.21
changes:
- version: REPLACEME
- version: v14.0.0
pr-url: https://github.com/nodejs/node/pull/31030
description: The `buffer` parameter won't coerce unsupported input to
strings anymore.
Expand Down Expand Up @@ -4269,7 +4269,7 @@ this API: [`fs.write(fd, buffer...)`][].
<!-- YAML
added: v0.11.5
changes:
- version: REPLACEME
- version: v14.0.0
pr-url: https://github.com/nodejs/node/pull/31030
description: The `string` parameter won't coerce unsupported input to
strings anymore.
Expand Down Expand Up @@ -4641,7 +4641,7 @@ This function does not work on AIX versions before 7.1, it will resolve the
<!-- YAML
added: v10.0.0
changes:
- version: REPLACEME
- version: v14.0.0
pr-url: https://github.com/nodejs/node/pull/31030
description: The `buffer` parameter won't coerce unsupported input to
buffers anymore.
Expand Down Expand Up @@ -4678,7 +4678,7 @@ the end of the file.
<!-- YAML
added: v10.0.0
changes:
- version: REPLACEME
- version: v14.0.0
pr-url: https://github.com/nodejs/node/pull/31030
description: The `string` parameter won't coerce unsupported input to
strings anymore.
Expand Down Expand Up @@ -4714,7 +4714,7 @@ the end of the file.
<!-- YAML
added: v10.0.0
changes:
- version: REPLACEME
- version: v14.0.0
pr-url: https://github.com/nodejs/node/pull/31030
description: The `data` parameter won't coerce unsupported input to
strings anymore.
Expand Down Expand Up @@ -5319,7 +5319,7 @@ The `atime` and `mtime` arguments follow these rules:
<!-- YAML
added: v10.0.0
changes:
- version: REPLACEME
- version: v14.0.0
pr-url: https://github.com/nodejs/node/pull/31030
description: The `data` parameter won't coerce unsupported input to
strings anymore.
Expand Down
6 changes: 3 additions & 3 deletions doc/api/process.md
Expand Up @@ -665,7 +665,7 @@ $ bash -c 'exec -a customArgv0 ./node'
<!-- YAML
added: v7.1.0
changes:
- version: REPLACEME
- version: v14.0.0
pr-url: https://github.com/nodejs/node/pull/30165
description: The object no longer accidentally exposes native C++ bindings.
-->
Expand Down Expand Up @@ -1499,7 +1499,7 @@ debugger. See [Signal Events][].
## `process.mainModule`
<!-- YAML
added: v0.1.17
deprecated: REPLACEME
deprecated: v14.0.0
-->

> Stability: 0 - Deprecated: Use [`require.main`][] instead.
Expand Down Expand Up @@ -2427,7 +2427,7 @@ flag's behavior.
<!-- YAML
added: v0.1.19
changes:
- version: REPLACEME
- version: v14.0.0
pr-url: https://github.com/nodejs/node/pull/32499
description: Calling `process.umask()` with no arguments is deprecated.
Expand Down
6 changes: 3 additions & 3 deletions doc/api/stream.md
Expand Up @@ -405,7 +405,7 @@ Is `true` after [`writable.destroy()`][writable-destroy] has been called.
<!-- YAML
added: v0.9.4
changes:
- version: REPLACEME
- version: v14.0.0
pr-url: https://github.com/nodejs/node/pull/29747
description: The `callback` is invoked if 'finish' or 'error' is emitted.
- version: v10.0.0
Expand Down Expand Up @@ -1796,7 +1796,7 @@ changes:
pr-url: https://github.com/nodejs/node/pull/22795
description: Add `autoDestroy` option to automatically `destroy()` the
stream when it emits `'finish'` or errors.
- version: REPLACEME
- version: v14.0.0
pr-url: https://github.com/nodejs/node/pull/30623
description: Change `autoDestroy` option default to `true`.
-->
Expand Down Expand Up @@ -2076,7 +2076,7 @@ changes:
pr-url: https://github.com/nodejs/node/pull/22795
description: Add `autoDestroy` option to automatically `destroy()` the
stream when it emits `'end'` or errors.
- version: REPLACEME
- version: v14.0.0
pr-url: https://github.com/nodejs/node/pull/30623
description: Change `autoDestroy` option default to `true`.
-->
Expand Down
2 changes: 1 addition & 1 deletion doc/api/util.md
Expand Up @@ -1897,7 +1897,7 @@ util.types.isWeakSet(new WeakSet()); // Returns true
### `util.types.isWebAssemblyCompiledModule(value)`
<!-- YAML
added: v10.0.0
deprecated: REPLACEME
deprecated: v14.0.0
-->

> Stability: 0 - Deprecated: Use `value instanceof WebAssembly.Module` instead.
Expand Down
2 changes: 2 additions & 0 deletions doc/changelogs/CHANGELOG_ARCHIVE.md
Expand Up @@ -154,6 +154,8 @@
</table>

* Other Versions
* [14.x](CHANGELOG_V14.md)
* [13.x](CHANGELOG_V13.md)
* [12.x](CHANGELOG_V12.md)
* [11.x](CHANGELOG_V11.md)
* [10.x](CHANGELOG_V10.md)
Expand Down
1 change: 1 addition & 0 deletions doc/changelogs/CHANGELOG_IOJS.md
Expand Up @@ -63,6 +63,7 @@
</table>

* Other Versions
* [14.x](CHANGELOG_V14.md)
* [13.x](CHANGELOG_V13.md)
* [12.x](CHANGELOG_V12.md)
* [11.x](CHANGELOG_V11.md)
Expand Down
1 change: 1 addition & 0 deletions doc/changelogs/CHANGELOG_V010.md
Expand Up @@ -65,6 +65,7 @@
</table>

* Other Versions
* [14.x](CHANGELOG_V14.md)
* [13.x](CHANGELOG_V13.md)
* [12.x](CHANGELOG_V12.md)
* [11.x](CHANGELOG_V11.md)
Expand Down
1 change: 1 addition & 0 deletions doc/changelogs/CHANGELOG_V012.md
Expand Up @@ -33,6 +33,7 @@
</table>

* Other Versions
* [14.x](CHANGELOG_V14.md)
* [13.x](CHANGELOG_V13.md)
* [12.x](CHANGELOG_V12.md)
* [11.x](CHANGELOG_V11.md)
Expand Down
1 change: 1 addition & 0 deletions doc/changelogs/CHANGELOG_V10.md
Expand Up @@ -50,6 +50,7 @@
</table>

* Other Versions
* [14.x](CHANGELOG_V14.md)
* [13.x](CHANGELOG_V13.md)
* [12.x](CHANGELOG_V12.md)
* [11.x](CHANGELOG_V11.md)
Expand Down
1 change: 1 addition & 0 deletions doc/changelogs/CHANGELOG_V11.md
Expand Up @@ -31,6 +31,7 @@
</table>

* Other Versions
* [14.x](CHANGELOG_V14.md)
* [13.x](CHANGELOG_V13.md)
* [12.x](CHANGELOG_V12.md)
* [10.x](CHANGELOG_V10.md)
Expand Down

0 comments on commit 372c7cc

Please sign in to comment.