2016-12-04 12:47:01 -08:00
|
|
|
# Deprecated APIs
|
|
|
|
|
2017-11-04 09:08:46 +01:00
|
|
|
<!--introduced_in=v7.7.0-->
|
2021-09-19 17:18:42 -07:00
|
|
|
|
2018-04-14 05:05:56 +03:00
|
|
|
<!-- type=misc -->
|
2017-11-04 09:08:46 +01:00
|
|
|
|
2020-08-20 17:11:53 -07:00
|
|
|
Node.js APIs might be deprecated for any of the following reasons:
|
2019-05-29 15:57:26 -07:00
|
|
|
|
2019-06-06 04:15:36 -07:00
|
|
|
* Use of the API is unsafe.
|
2019-05-29 15:57:26 -07:00
|
|
|
* An improved alternative API is available.
|
|
|
|
* Breaking changes to the API are expected in a future major release.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2023-11-28 22:34:40 +01:00
|
|
|
Node.js uses four kinds of deprecations:
|
2016-12-04 12:47:01 -08:00
|
|
|
|
|
|
|
* Documentation-only
|
2023-11-28 22:34:40 +01:00
|
|
|
* Application (non-`node_modules` code only)
|
|
|
|
* Runtime (all code)
|
2016-12-04 12:47:01 -08:00
|
|
|
* End-of-Life
|
|
|
|
|
|
|
|
A Documentation-only deprecation is one that is expressed only within the
|
|
|
|
Node.js API docs. These generate no side-effects while running Node.js.
|
2018-01-29 20:23:09 +03:00
|
|
|
Some Documentation-only deprecations trigger a runtime warning when launched
|
|
|
|
with [`--pending-deprecation`][] flag (or its alternative,
|
|
|
|
`NODE_PENDING_DEPRECATION=1` environment variable), similarly to Runtime
|
|
|
|
deprecations below. Documentation-only deprecations that support that flag
|
|
|
|
are explicitly labeled as such in the
|
2021-07-04 20:39:17 -07:00
|
|
|
[list of Deprecated APIs](#list-of-deprecated-apis).
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2023-11-28 22:34:40 +01:00
|
|
|
An Application deprecation for only non-`node_modules` code will, by default,
|
|
|
|
generate a process warning that will be printed to `stderr` the first time
|
|
|
|
the deprecated API is used in code that's not loaded from `node_modules`.
|
|
|
|
When the [`--throw-deprecation`][] command-line flag is used, a Runtime
|
|
|
|
deprecation will cause an error to be thrown. When
|
|
|
|
[`--pending-deprecation`][] is used, warnings will also be emitted for
|
|
|
|
code loaded from `node_modules`.
|
|
|
|
|
|
|
|
A runtime deprecation for all code is similar to the runtime deprecation
|
|
|
|
for non-`node_modules` code, except that it also emits a warning for
|
|
|
|
code loaded from `node_modules`.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2018-05-30 14:56:41 +02:00
|
|
|
An End-of-Life deprecation is used when functionality is or will soon be removed
|
|
|
|
from Node.js.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2018-05-04 10:22:09 -07:00
|
|
|
## Revoking deprecations
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2020-08-20 17:11:53 -07:00
|
|
|
Occasionally, the deprecation of an API might be reversed. In such situations,
|
2016-12-04 12:47:01 -08:00
|
|
|
this document will be updated with information relevant to the decision.
|
2018-05-04 10:22:09 -07:00
|
|
|
However, the deprecation identifier will not be modified.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2020-06-14 14:49:34 -07:00
|
|
|
## List of deprecated APIs
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0001: `http.OutgoingMessage.prototype.flush`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2020-03-10 17:16:08 +00:00
|
|
|
- version: v14.0.0
|
2020-01-02 13:13:19 -08:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/31164
|
|
|
|
description: End-of-Life.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v1.6.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/1156
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2020-01-02 13:13:19 -08:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2020-01-02 13:13:19 -08:00
|
|
|
`OutgoingMessage.prototype.flush()` has been removed. Use
|
2016-12-04 12:47:01 -08:00
|
|
|
`OutgoingMessage.prototype.flushHeaders()` instead.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0002: `require('_linklist')`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v8.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/12113
|
|
|
|
description: End-of-Life.
|
|
|
|
- version: v6.12.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v5.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/3078
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2017-12-21 19:30:07 -05:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
|
|
|
The `_linklist` module is deprecated. Please use a userland alternative.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0003: `_writableState.buffer`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2020-03-10 17:16:08 +00:00
|
|
|
- version: v14.0.0
|
2020-01-02 13:26:50 -08:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/31165
|
2020-10-01 19:38:33 +02:00
|
|
|
description: End-of-Life.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v0.11.15
|
|
|
|
pr-url: https://github.com/nodejs/node-v0.x-archive/pull/8826
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2020-01-02 13:26:50 -08:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2020-01-02 13:26:50 -08:00
|
|
|
The `_writableState.buffer` has been removed. Use `_writableState.getBuffer()`
|
|
|
|
instead.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0004: `CryptoStream.prototype.readyState`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v10.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/17882
|
|
|
|
description: End-of-Life.
|
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
2020-10-01 19:38:33 +02:00
|
|
|
- version: v0.4.0
|
2018-09-08 11:44:11 +02:00
|
|
|
commit: 9c7f89bf56abd37a796fea621ad2e47dd33d2b82
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2018-07-30 13:17:51 -04:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2018-07-30 13:17:51 -04:00
|
|
|
The `CryptoStream.prototype.readyState` property was removed.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0005: `Buffer()` constructor
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v10.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/19524
|
|
|
|
description: Runtime deprecation.
|
|
|
|
- version: v6.12.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v6.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/4682
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2023-11-28 22:34:40 +01:00
|
|
|
Type: Application (non-`node_modules` code only)
|
2016-12-04 12:47:01 -08:00
|
|
|
|
|
|
|
The `Buffer()` function and `new Buffer()` constructor are deprecated due to
|
2019-06-02 17:32:04 +02:00
|
|
|
API usability issues that can lead to accidental security issues.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-06-02 17:32:04 +02:00
|
|
|
As an alternative, use one of the following methods of constructing `Buffer`
|
|
|
|
objects:
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-10-23 21:28:42 -07:00
|
|
|
* [`Buffer.alloc(size[, fill[, encoding]])`][alloc]: Create a `Buffer` with
|
2021-10-10 21:55:04 -07:00
|
|
|
_initialized_ memory.
|
2019-10-23 21:28:42 -07:00
|
|
|
* [`Buffer.allocUnsafe(size)`][alloc_unsafe_size]: Create a `Buffer` with
|
2021-10-10 21:55:04 -07:00
|
|
|
_uninitialized_ memory.
|
|
|
|
* [`Buffer.allocUnsafeSlow(size)`][]: Create a `Buffer` with _uninitialized_
|
|
|
|
memory.
|
2019-10-23 21:28:42 -07:00
|
|
|
* [`Buffer.from(array)`][]: Create a `Buffer` with a copy of `array`
|
2018-02-12 02:31:55 -05:00
|
|
|
* [`Buffer.from(arrayBuffer[, byteOffset[, length]])`][from_arraybuffer] -
|
|
|
|
Create a `Buffer` that wraps the given `arrayBuffer`.
|
2019-10-23 21:28:42 -07:00
|
|
|
* [`Buffer.from(buffer)`][]: Create a `Buffer` that copies `buffer`.
|
|
|
|
* [`Buffer.from(string[, encoding])`][from_string_encoding]: Create a `Buffer`
|
2018-02-12 02:31:55 -05:00
|
|
|
that copies `string`.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-09-29 19:30:44 -07:00
|
|
|
Without `--pending-deprecation`, runtime warnings occur only for code not in
|
|
|
|
`node_modules`. This means there will not be deprecation warnings for
|
|
|
|
`Buffer()` usage in dependencies. With `--pending-deprecation`, a runtime
|
|
|
|
warning results no matter where the `Buffer()` usage occurs.
|
2018-03-22 00:30:21 +01:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0006: `child_process` `options.customFds`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2019-03-22 13:19:46 +00:00
|
|
|
- version: v12.0.0
|
2018-12-29 19:53:03 -05:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/25279
|
|
|
|
description: End-of-Life.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v0.11.14
|
|
|
|
description: Runtime deprecation.
|
2021-02-05 00:04:26 +01:00
|
|
|
- version: v0.5.10
|
2018-09-08 11:44:11 +02:00
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2018-12-29 19:53:03 -05:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
|
|
|
Within the [`child_process`][] module's `spawn()`, `fork()`, and `exec()`
|
|
|
|
methods, the `options.customFds` option is deprecated. The `options.stdio`
|
|
|
|
option should be used instead.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0007: Replace `cluster` `worker.suicide` with `worker.exitedAfterDisconnect`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v9.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/13702
|
|
|
|
description: End-of-Life.
|
|
|
|
- version: v7.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/3747
|
|
|
|
description: Runtime deprecation.
|
|
|
|
- version: v6.12.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v6.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/3743
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2017-06-15 08:22:07 -07:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2017-06-15 08:22:07 -07:00
|
|
|
In an earlier version of the Node.js `cluster`, a boolean property with the name
|
|
|
|
`suicide` was added to the `Worker` object. The intent of this property was to
|
|
|
|
provide an indication of how and why the `Worker` instance exited. In Node.js
|
|
|
|
6.0.0, the old property was deprecated and replaced with a new
|
2017-06-28 20:55:48 +02:00
|
|
|
[`worker.exitedAfterDisconnect`][] property. The old property name did not
|
2017-06-15 08:22:07 -07:00
|
|
|
precisely describe the actual semantics and was unnecessarily emotion-laden.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2022-04-20 10:23:41 +02:00
|
|
|
### DEP0008: `require('node:constants')`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v6.12.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v6.3.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/6534
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
|
|
|
Type: Documentation-only
|
|
|
|
|
2022-04-20 10:23:41 +02:00
|
|
|
The `node:constants` module is deprecated. When requiring access to constants
|
2016-12-04 12:47:01 -08:00
|
|
|
relevant to specific Node.js builtin modules, developers should instead refer
|
|
|
|
to the `constants` property exposed by the relevant module. For instance,
|
2022-04-20 10:23:41 +02:00
|
|
|
`require('node:fs').constants` and `require('node:os').constants`.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0009: `crypto.pbkdf2` without digest
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2020-03-10 17:16:08 +00:00
|
|
|
- version: v14.0.0
|
2020-01-02 13:42:50 -08:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/31166
|
2020-10-01 19:38:33 +02:00
|
|
|
description: End-of-Life (for `digest === null`).
|
2018-10-02 16:01:19 -07:00
|
|
|
- version: v11.0.0
|
2018-09-14 13:02:44 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/22861
|
|
|
|
description: Runtime deprecation (for `digest === null`).
|
2018-09-08 11:44:11 +02:00
|
|
|
- version: v8.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/11305
|
2018-09-14 13:02:44 +02:00
|
|
|
description: End-of-Life (for `digest === undefined`).
|
2018-09-08 11:44:11 +02:00
|
|
|
- version: v6.12.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v6.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/4047
|
2018-09-14 13:02:44 +02:00
|
|
|
description: Runtime deprecation (for `digest === undefined`).
|
2018-09-08 11:44:11 +02:00
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2020-01-02 13:42:50 -08:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2017-02-10 14:48:39 -08:00
|
|
|
Use of the [`crypto.pbkdf2()`][] API without specifying a digest was deprecated
|
2017-11-10 10:12:58 +05:30
|
|
|
in Node.js 6.0 because the method defaulted to using the non-recommended
|
2017-02-10 14:48:39 -08:00
|
|
|
`'SHA1'` digest. Previously, a deprecation warning was printed. Starting in
|
2018-09-14 13:02:44 +02:00
|
|
|
Node.js 8.0.0, calling `crypto.pbkdf2()` or `crypto.pbkdf2Sync()` with
|
|
|
|
`digest` set to `undefined` will throw a `TypeError`.
|
|
|
|
|
2018-10-02 16:01:19 -07:00
|
|
|
Beginning in Node.js v11.0.0, calling these functions with `digest` set to
|
2020-01-02 13:42:50 -08:00
|
|
|
`null` would print a deprecation warning to align with the behavior when `digest`
|
2018-09-14 13:02:44 +02:00
|
|
|
is `undefined`.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2020-01-02 13:42:50 -08:00
|
|
|
Now, however, passing either `undefined` or `null` will throw a `TypeError`.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0010: `crypto.createCredentials`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2018-10-02 16:01:19 -07:00
|
|
|
- version: v11.0.0
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/21153
|
|
|
|
description: End-of-Life.
|
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v0.11.13
|
|
|
|
pr-url: https://github.com/nodejs/node-v0.x-archive/pull/7265
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2018-06-25 23:31:43 +02:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2018-06-25 23:31:43 +02:00
|
|
|
The `crypto.createCredentials()` API was removed. Please use
|
2016-12-04 12:47:01 -08:00
|
|
|
[`tls.createSecureContext()`][] instead.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0011: `crypto.Credentials`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2018-10-02 16:01:19 -07:00
|
|
|
- version: v11.0.0
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/21153
|
|
|
|
description: End-of-Life.
|
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v0.11.13
|
|
|
|
pr-url: https://github.com/nodejs/node-v0.x-archive/pull/7265
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2018-06-25 23:31:43 +02:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2018-06-25 23:31:43 +02:00
|
|
|
The `crypto.Credentials` class was removed. Please use [`tls.SecureContext`][]
|
2016-12-04 12:47:01 -08:00
|
|
|
instead.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0012: `Domain.dispose`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v9.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/15412
|
|
|
|
description: End-of-Life.
|
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v0.11.7
|
|
|
|
pr-url: https://github.com/nodejs/node-v0.x-archive/pull/5021
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2017-09-14 17:58:53 +02:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2018-05-04 09:55:05 -07:00
|
|
|
`Domain.dispose()` has been removed. Recover from failed I/O actions
|
2016-12-04 12:47:01 -08:00
|
|
|
explicitly via error event handlers set on the domain instead.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0013: `fs` asynchronous function without callback
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v10.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/18668
|
|
|
|
description: End-of-Life.
|
|
|
|
- version: v7.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/7897
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2018-02-09 00:54:31 +01:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2018-02-09 00:54:31 +01:00
|
|
|
Calling an asynchronous function without a callback throws a `TypeError`
|
2019-07-09 18:57:17 -04:00
|
|
|
in Node.js 10.0.0 onwards. See <https://github.com/nodejs/node/pull/12562>.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0014: `fs.read` legacy String interface
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v8.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/9683
|
|
|
|
description: End-of-Life.
|
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
2020-10-01 19:38:33 +02:00
|
|
|
- version: v6.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/4525
|
|
|
|
description: Runtime deprecation.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version: v0.1.96
|
|
|
|
commit: c93e0aaf062081db3ec40ac45b3e2c979d5759d6
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
|
|
|
Type: End-of-Life
|
|
|
|
|
2018-04-29 20:46:41 +03:00
|
|
|
The [`fs.read()`][] legacy `String` interface is deprecated. Use the `Buffer`
|
|
|
|
API as mentioned in the documentation instead.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0015: `fs.readSync` legacy String interface
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v8.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/9683
|
|
|
|
description: End-of-Life.
|
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
2020-10-01 19:38:33 +02:00
|
|
|
- version: v6.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/4525
|
|
|
|
description: Runtime deprecation.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version: v0.1.96
|
|
|
|
commit: c93e0aaf062081db3ec40ac45b3e2c979d5759d6
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
|
|
|
Type: End-of-Life
|
|
|
|
|
2018-04-29 20:46:41 +03:00
|
|
|
The [`fs.readSync()`][] legacy `String` interface is deprecated. Use the
|
|
|
|
`Buffer` API as mentioned in the documentation instead.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0016: `GLOBAL`/`root`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2020-03-10 17:16:08 +00:00
|
|
|
- version: v14.0.0
|
2020-02-07 10:18:07 -05:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/31167
|
2020-10-01 19:38:33 +02:00
|
|
|
description: End-of-Life.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version: v6.12.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v6.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/1838
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2020-01-02 14:01:10 -08:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2020-01-02 14:01:10 -08:00
|
|
|
The `GLOBAL` and `root` aliases for the `global` property were deprecated
|
|
|
|
in Node.js 6.0.0 and have since been removed.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0017: `Intl.v8BreakIterator`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v9.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/15238
|
|
|
|
description: End-of-Life.
|
|
|
|
- version: v7.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/8908
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2017-09-07 13:26:47 +02:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2017-09-07 13:26:47 +02:00
|
|
|
`Intl.v8BreakIterator` was a non-standard extension and has been removed.
|
|
|
|
See [`Intl.Segmenter`](https://github.com/tc39/proposal-intl-segmenter).
|
2016-12-04 12:47:01 -08:00
|
|
|
|
|
|
|
### DEP0018: Unhandled promise rejections
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2020-10-20, Version 15.0.0 (Current)
Notable changes:
Deprecations and Removals:
- **build**: remove --build-v8-with-gn configure option (Yang Guo)
(https://github.com/nodejs/node/pull/27576)
- **build**: drop support for VS2017 (Michaël Zasso)
(https://github.com/nodejs/node/pull/33694)
- **doc**: move DEP0018 to End-of-Life (Rich Trott)
(https://github.com/nodejs/node/pull/35316)
- **fs**: deprecation warning on recursive rmdir (Ian Sutherland)
(https://github.com/nodejs/node/pull/35562)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(https://github.com/nodejs/node/pull/35496)
- **net**: remove long deprecated server.connections property (James M
Snell) (https://github.com/nodejs/node/pull/33647)
- **repl**: remove deprecated repl.memory function (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.turnOffEditorMode() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.parseREPLKeyword() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated bufferedCommand property (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated .rli (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **src**: remove deprecated node debug command (James M Snell)
(https://github.com/nodejs/node/pull/33648)
- **timers**: introduce timers/promises (James M Snell)
(https://github.com/nodejs/node/pull/33950)
- **util**: change default value of `maxStringLength` to 10000
(unknown) (https://github.com/nodejs/node/pull/32744)
- **wasi**: drop --experimental-wasm-bigint requirement (Colin Ihrig)
(https://github.com/nodejs/node/pull/35415)
npm 7 (https://github.com/nodejs/node/pull/35631):
Node.js 15 comes with a new major release of npm, npm 7. npm 7 comes
with many new features - including npm workspaces and a new
package-lock.json format. npm 7 also includes yarn.lock file support.
One of the big changes in npm 7 is that peer dependencies are now
installed by default.
Throw On Unhandled Rejections
(https://github.com/nodejs/node/pull/33021):
As of Node.js 15, the default mode for `unhandledRejection` is changed
to `throw` (from `warn`). In `throw` mode, if an `unhandledRejection`
hook is not set, the `unhandledRejection` is raised as an uncaught
exception. Users that have an `unhandledRejection` hook should see no
change in behavior, and it’s still possible to switch modes using the
`--unhandled-rejections=mode` process flag.
QUIC (https://github.com/nodejs/node/pull/32379):
Node.js 15 comes with experimental support QUIC, which can be enabled
by compiling Node.js with the `--experimental-quic` configuration flag.
The Node.js QUIC implementation is exposed by the core `net` module.
V8 8.6 (https://github.com/nodejs/node/pull/35415):
The V8 JavaScript engine has been updated to V8 8.6 (V8 8.4 is the
latest available in Node.js 14). Along with performance tweaks and
improvements the V8 update also brings the following language features:
* `Promise.any()` (from V8 8.5)
* `AggregateError` (from V8 8.5)
* `String.prototype.replaceAll()` (from V8 8.5)
* Logical assignment operators `&&=`, `||=`, and `??=` (from V8 8.5)
Other Notable Changes:
- **assert**: add `assert/strict` alias module (ExE Boss)
(https://github.com/nodejs/node/pull/34001)
- **dns**: add dns/promises alias (shisama)
(https://github.com/nodejs/node/pull/32953)
- **fs**: reimplement read and write streams using stream.construct
(Robert Nagy) (https://github.com/nodejs/node/pull/29656)
- **http2**: allow Host in HTTP/2 requests (Alba Mendez)
(https://github.com/nodejs/node/pull/34664)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(https://github.com/nodejs/node/pull/35496)
- **lib**: unflag AbortController (James M Snell)
(https://github.com/nodejs/node/pull/33527)
- **lib**: initial experimental AbortController implementation (James M
Snell) (https://github.com/nodejs/node/pull/33527)
- **net**: autoDestroy Socket (Robert Nagy)
(https://github.com/nodejs/node/pull/31806)
- **src**: disallow JS execution inside FreeEnvironment (Anna
Henningsen) (https://github.com/nodejs/node/pull/33874)
- **stream**: construct (Robert Nagy)
(https://github.com/nodejs/node/pull/29656)
- **worker**: make MessageEvent class more Web-compatible (Anna
Henningsen) (https://github.com/nodejs/node/pull/35496)
Semver-Major Commits:
- **assert**: add `assert/strict` alias module (ExE Boss)
(https://github.com/nodejs/node/pull/34001)
- **build**: reset embedder string to "-node.0" (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **build**: remove --build-v8-with-gn configure option (Yang Guo)
(https://github.com/nodejs/node/pull/27576)
- **build**: drop support for VS2017 (Michaël Zasso)
(https://github.com/nodejs/node/pull/33694)
- **crypto**: refactoring internals, add WebCrypto (James M Snell)
(https://github.com/nodejs/node/pull/35093)
- **crypto**: move node\_crypto files to src/crypto (James M Snell)
(https://github.com/nodejs/node/pull/35093)
- **deps**: V8: cherry-pick d76abfed3512 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: V8: cherry-pick 717543bbf0ef (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: V8: cherry-pick 6be2f6e26e8d (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: fix V8 build issue with inline methods (Jiawen Geng)
(https://github.com/nodejs/node/pull/35415)
- **deps**: fix platform-embedded-file-writer-win for ARM64 (Michaël
Zasso) (https://github.com/nodejs/node/pull/35415)
- **deps**: update V8 postmortem metadata script (Colin Ihrig)
(https://github.com/nodejs/node/pull/35415)
- **deps**: update V8 to 8.6.395 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: upgrade npm to 7.0.0 (Myles Borins)
(https://github.com/nodejs/node/pull/35631)
- **deps**: update npm to 7.0.0-rc.3 (Myles Borins)
(https://github.com/nodejs/node/pull/35474)
- **deps**: V8: cherry-pick 0d6debcc5f08 (Gus Caplan)
(https://github.com/nodejs/node/pull/33600)
- **dns**: add dns/promises alias (shisama)
(https://github.com/nodejs/node/pull/32953)
- **doc**: move DEP0018 to End-of-Life (Rich Trott)
(https://github.com/nodejs/node/pull/35316)
- **doc**: update support macos version for 15.x (Ash Cripps)
(https://github.com/nodejs/node/pull/35022)
- **fs**: deprecation warning on recursive rmdir (Ian Sutherland)
(https://github.com/nodejs/node/pull/35562)
- **fs**: reimplement read and write streams using stream.construct
(Robert Nagy) (https://github.com/nodejs/node/pull/29656)
- **http**: fixed socket.setEncoding fatal error (iskore)
(https://github.com/nodejs/node/pull/33405)
- **http**: emit 'error' on aborted server request (Robert Nagy)
(https://github.com/nodejs/node/pull/33172)
- **http**: cleanup end argument handling (Robert Nagy)
(https://github.com/nodejs/node/pull/31818)
- **http2**: allow Host in HTTP/2 requests (Alba Mendez)
(https://github.com/nodejs/node/pull/34664)
- **http2**: add `invalidheaders` test (Pranshu Srivastava)
(https://github.com/nodejs/node/pull/33161)
- **http2**: refactor state code validation for the http2Stream class
(rickyes) (https://github.com/nodejs/node/pull/33535)
- **http2**: header field valid checks (Pranshu Srivastava)
(https://github.com/nodejs/node/pull/33193)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(https://github.com/nodejs/node/pull/35496)
- **lib**: remove ERR\_INVALID\_OPT\_VALUE and
ERR\_INVALID\_OPT\_VALUE\_ENCODING (Denys Otrishko)
(https://github.com/nodejs/node/pull/34682)
- **lib**: handle one of args case in ERR\_MISSING\_ARGS (Denys
Otrishko) (https://github.com/nodejs/node/pull/34022)
- **lib**: remove NodeError from the prototype of errors with code
(Michaël Zasso) (https://github.com/nodejs/node/pull/33857)
- **lib**: unflag AbortController (James M Snell)
(https://github.com/nodejs/node/pull/33527)
- **lib**: initial experimental AbortController implementation (James M
Snell) (https://github.com/nodejs/node/pull/33527)
- **net**: check args in net.connect() and socket.connect() calls
(Denys Otrishko) (https://github.com/nodejs/node/pull/34022)
- **net**: remove long deprecated server.connections property (James M
Snell) (https://github.com/nodejs/node/pull/33647)
- **net**: autoDestroy Socket (Robert Nagy)
(https://github.com/nodejs/node/pull/31806)
- **process**: update v8 fast api calls usage (Maya Lekova)
(https://github.com/nodejs/node/pull/35415)
- **process**: change default --unhandled-rejections=throw (Dan
Fabulich) (https://github.com/nodejs/node/pull/33021)
- **process**: use v8 fast api calls for hrtime (Gus Caplan)
(https://github.com/nodejs/node/pull/33600)
- **process**: delay throwing an error using `throwDeprecation` (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/32312)
- **repl**: remove deprecated repl.memory function (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.turnOffEditorMode() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.parseREPLKeyword() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated bufferedCommand property (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated .rli (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **src**: implement NodePlatform::PostJob (Clemens Backes)
(https://github.com/nodejs/node/pull/35415)
- **src**: update NODE\_MODULE\_VERSION to 88 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **src**: error reporting on CPUUsage (Yash Ladha)
(https://github.com/nodejs/node/pull/34762)
- **src**: use node:moduleName as builtin module filename (Michaël
Zasso) (https://github.com/nodejs/node/pull/35498)
- **src**: enable wasm trap handler on windows (Gus Caplan)
(https://github.com/nodejs/node/pull/35033)
- **src**: update NODE\_MODULE\_VERSION to 86 (Michaël Zasso)
(https://github.com/nodejs/node/pull/33579)
- **src**: disallow JS execution inside FreeEnvironment (Anna
Henningsen) (https://github.com/nodejs/node/pull/33874)
- **src**: remove \_third\_party\_main support (Anna Henningsen)
(https://github.com/nodejs/node/pull/33971)
- **src**: remove deprecated node debug command (James M Snell)
(https://github.com/nodejs/node/pull/33648)
- **src**: remove unused CancelPendingDelayedTasks (Anna Henningsen)
(https://github.com/nodejs/node/pull/32859)
- **stream**: try to wait for flush to complete before 'finish' (Robert
Nagy) (https://github.com/nodejs/node/pull/34314)
- **stream**: cleanup and fix Readable.wrap (Robert Nagy)
(https://github.com/nodejs/node/pull/34204)
- **stream**: add promises version to utility functions (rickyes)
(https://github.com/nodejs/node/pull/33991)
- **stream**: fix writable.end callback behavior (Robert Nagy)
(https://github.com/nodejs/node/pull/34101)
- **stream**: construct (Robert Nagy)
(https://github.com/nodejs/node/pull/29656)
- **stream**: write should throw on unknown encoding (Robert Nagy)
(https://github.com/nodejs/node/pull/33075)
- **stream**: fix \_final and 'prefinish' timing (Robert Nagy)
(https://github.com/nodejs/node/pull/32780)
- **stream**: simplify Transform stream implementation (Robert Nagy)
(https://github.com/nodejs/node/pull/32763)
- **stream**: use callback to properly propagate error (Robert Nagy)
(https://github.com/nodejs/node/pull/29179)
- **test**: update tests after increasing typed array size to 4GB
(Kim-Anh Tran) (https://github.com/nodejs/node/pull/35415)
- **test**: fix tests for npm 7.0.0 (Myles Borins)
(https://github.com/nodejs/node/pull/35631)
- **test**: fix test suite to work with npm 7 (Myles Borins)
(https://github.com/nodejs/node/pull/35474)
- **test**: update WPT harness and tests (Michaël Zasso)
(https://github.com/nodejs/node/pull/33770)
- **timers**: introduce timers/promises (James M Snell)
(https://github.com/nodejs/node/pull/33950)
- **tools**: disable x86 safe exception handlers in V8 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **tools**: update V8 gypfiles for 8.6 (Ujjwal Sharma)
(https://github.com/nodejs/node/pull/35415)
- **tools**: update V8 gypfiles for 8.5 (Ujjwal Sharma)
(https://github.com/nodejs/node/pull/35415)
- **url**: file URL path normalization (Daijiro Wachi)
(https://github.com/nodejs/node/pull/35477)
- **url**: verify domain is not empty after "ToASCII" (Michaël Zasso)
(https://github.com/nodejs/node/pull/33770)
- **url**: remove U+0000 case in the fragment state (Michaël Zasso)
(https://github.com/nodejs/node/pull/33770)
- **url**: remove gopher from special schemes (Michaël Zasso)
(https://github.com/nodejs/node/pull/33325)
- **url**: forbid lt and gt in url host code point (Yash Ladha)
(https://github.com/nodejs/node/pull/33328)
- **util**: change default value of `maxStringLength` to 10000
(unknown) (https://github.com/nodejs/node/pull/32744)
- **wasi**: drop --experimental-wasm-bigint requirement (Colin Ihrig)
(https://github.com/nodejs/node/pull/35415)
- **win, child_process**: sanitize env variables (Bartosz Sosnowski)
(https://github.com/nodejs/node/pull/35210)
- **worker**: make MessageEvent class more Web-compatible (Anna
Henningsen) (https://github.com/nodejs/node/pull/35496)
- **worker**: set trackUnmanagedFds to true by default (Anna
Henningsen) (https://github.com/nodejs/node/pull/34394)
- **worker**: rename error code to be more accurate (Anna Henningsen)
(https://github.com/nodejs/node/pull/33872)
PR-URL: https://github.com/nodejs/node/pull/35014
2020-09-01 21:16:46 +01:00
|
|
|
- version: v15.0.0
|
2020-09-23 03:53:37 -07:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/35316
|
|
|
|
description: End-of-Life.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version: v7.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/8217
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2020-09-23 03:53:37 -07:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2020-09-23 03:53:37 -07:00
|
|
|
Unhandled promise rejections are deprecated. By default, promise rejections
|
|
|
|
that are not handled terminate the Node.js process with a non-zero exit
|
|
|
|
code. To change the way Node.js treats unhandled rejections, use the
|
|
|
|
[`--unhandled-rejections`][] command-line option.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0019: `require('.')` resolved outside directory
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2019-03-22 13:19:46 +00:00
|
|
|
- version: v12.0.0
|
2019-03-29 03:11:41 +01:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/26973
|
|
|
|
description: Removed functionality.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v1.8.1
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/1363
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-03-29 03:11:41 +01:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-03-29 03:11:41 +01:00
|
|
|
In certain cases, `require('.')` could resolve outside the package directory.
|
|
|
|
This behavior has been removed.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0020: `Server.connections`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2020-10-20, Version 15.0.0 (Current)
Notable changes:
Deprecations and Removals:
- **build**: remove --build-v8-with-gn configure option (Yang Guo)
(https://github.com/nodejs/node/pull/27576)
- **build**: drop support for VS2017 (Michaël Zasso)
(https://github.com/nodejs/node/pull/33694)
- **doc**: move DEP0018 to End-of-Life (Rich Trott)
(https://github.com/nodejs/node/pull/35316)
- **fs**: deprecation warning on recursive rmdir (Ian Sutherland)
(https://github.com/nodejs/node/pull/35562)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(https://github.com/nodejs/node/pull/35496)
- **net**: remove long deprecated server.connections property (James M
Snell) (https://github.com/nodejs/node/pull/33647)
- **repl**: remove deprecated repl.memory function (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.turnOffEditorMode() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.parseREPLKeyword() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated bufferedCommand property (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated .rli (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **src**: remove deprecated node debug command (James M Snell)
(https://github.com/nodejs/node/pull/33648)
- **timers**: introduce timers/promises (James M Snell)
(https://github.com/nodejs/node/pull/33950)
- **util**: change default value of `maxStringLength` to 10000
(unknown) (https://github.com/nodejs/node/pull/32744)
- **wasi**: drop --experimental-wasm-bigint requirement (Colin Ihrig)
(https://github.com/nodejs/node/pull/35415)
npm 7 (https://github.com/nodejs/node/pull/35631):
Node.js 15 comes with a new major release of npm, npm 7. npm 7 comes
with many new features - including npm workspaces and a new
package-lock.json format. npm 7 also includes yarn.lock file support.
One of the big changes in npm 7 is that peer dependencies are now
installed by default.
Throw On Unhandled Rejections
(https://github.com/nodejs/node/pull/33021):
As of Node.js 15, the default mode for `unhandledRejection` is changed
to `throw` (from `warn`). In `throw` mode, if an `unhandledRejection`
hook is not set, the `unhandledRejection` is raised as an uncaught
exception. Users that have an `unhandledRejection` hook should see no
change in behavior, and it’s still possible to switch modes using the
`--unhandled-rejections=mode` process flag.
QUIC (https://github.com/nodejs/node/pull/32379):
Node.js 15 comes with experimental support QUIC, which can be enabled
by compiling Node.js with the `--experimental-quic` configuration flag.
The Node.js QUIC implementation is exposed by the core `net` module.
V8 8.6 (https://github.com/nodejs/node/pull/35415):
The V8 JavaScript engine has been updated to V8 8.6 (V8 8.4 is the
latest available in Node.js 14). Along with performance tweaks and
improvements the V8 update also brings the following language features:
* `Promise.any()` (from V8 8.5)
* `AggregateError` (from V8 8.5)
* `String.prototype.replaceAll()` (from V8 8.5)
* Logical assignment operators `&&=`, `||=`, and `??=` (from V8 8.5)
Other Notable Changes:
- **assert**: add `assert/strict` alias module (ExE Boss)
(https://github.com/nodejs/node/pull/34001)
- **dns**: add dns/promises alias (shisama)
(https://github.com/nodejs/node/pull/32953)
- **fs**: reimplement read and write streams using stream.construct
(Robert Nagy) (https://github.com/nodejs/node/pull/29656)
- **http2**: allow Host in HTTP/2 requests (Alba Mendez)
(https://github.com/nodejs/node/pull/34664)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(https://github.com/nodejs/node/pull/35496)
- **lib**: unflag AbortController (James M Snell)
(https://github.com/nodejs/node/pull/33527)
- **lib**: initial experimental AbortController implementation (James M
Snell) (https://github.com/nodejs/node/pull/33527)
- **net**: autoDestroy Socket (Robert Nagy)
(https://github.com/nodejs/node/pull/31806)
- **src**: disallow JS execution inside FreeEnvironment (Anna
Henningsen) (https://github.com/nodejs/node/pull/33874)
- **stream**: construct (Robert Nagy)
(https://github.com/nodejs/node/pull/29656)
- **worker**: make MessageEvent class more Web-compatible (Anna
Henningsen) (https://github.com/nodejs/node/pull/35496)
Semver-Major Commits:
- **assert**: add `assert/strict` alias module (ExE Boss)
(https://github.com/nodejs/node/pull/34001)
- **build**: reset embedder string to "-node.0" (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **build**: remove --build-v8-with-gn configure option (Yang Guo)
(https://github.com/nodejs/node/pull/27576)
- **build**: drop support for VS2017 (Michaël Zasso)
(https://github.com/nodejs/node/pull/33694)
- **crypto**: refactoring internals, add WebCrypto (James M Snell)
(https://github.com/nodejs/node/pull/35093)
- **crypto**: move node\_crypto files to src/crypto (James M Snell)
(https://github.com/nodejs/node/pull/35093)
- **deps**: V8: cherry-pick d76abfed3512 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: V8: cherry-pick 717543bbf0ef (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: V8: cherry-pick 6be2f6e26e8d (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: fix V8 build issue with inline methods (Jiawen Geng)
(https://github.com/nodejs/node/pull/35415)
- **deps**: fix platform-embedded-file-writer-win for ARM64 (Michaël
Zasso) (https://github.com/nodejs/node/pull/35415)
- **deps**: update V8 postmortem metadata script (Colin Ihrig)
(https://github.com/nodejs/node/pull/35415)
- **deps**: update V8 to 8.6.395 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: upgrade npm to 7.0.0 (Myles Borins)
(https://github.com/nodejs/node/pull/35631)
- **deps**: update npm to 7.0.0-rc.3 (Myles Borins)
(https://github.com/nodejs/node/pull/35474)
- **deps**: V8: cherry-pick 0d6debcc5f08 (Gus Caplan)
(https://github.com/nodejs/node/pull/33600)
- **dns**: add dns/promises alias (shisama)
(https://github.com/nodejs/node/pull/32953)
- **doc**: move DEP0018 to End-of-Life (Rich Trott)
(https://github.com/nodejs/node/pull/35316)
- **doc**: update support macos version for 15.x (Ash Cripps)
(https://github.com/nodejs/node/pull/35022)
- **fs**: deprecation warning on recursive rmdir (Ian Sutherland)
(https://github.com/nodejs/node/pull/35562)
- **fs**: reimplement read and write streams using stream.construct
(Robert Nagy) (https://github.com/nodejs/node/pull/29656)
- **http**: fixed socket.setEncoding fatal error (iskore)
(https://github.com/nodejs/node/pull/33405)
- **http**: emit 'error' on aborted server request (Robert Nagy)
(https://github.com/nodejs/node/pull/33172)
- **http**: cleanup end argument handling (Robert Nagy)
(https://github.com/nodejs/node/pull/31818)
- **http2**: allow Host in HTTP/2 requests (Alba Mendez)
(https://github.com/nodejs/node/pull/34664)
- **http2**: add `invalidheaders` test (Pranshu Srivastava)
(https://github.com/nodejs/node/pull/33161)
- **http2**: refactor state code validation for the http2Stream class
(rickyes) (https://github.com/nodejs/node/pull/33535)
- **http2**: header field valid checks (Pranshu Srivastava)
(https://github.com/nodejs/node/pull/33193)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(https://github.com/nodejs/node/pull/35496)
- **lib**: remove ERR\_INVALID\_OPT\_VALUE and
ERR\_INVALID\_OPT\_VALUE\_ENCODING (Denys Otrishko)
(https://github.com/nodejs/node/pull/34682)
- **lib**: handle one of args case in ERR\_MISSING\_ARGS (Denys
Otrishko) (https://github.com/nodejs/node/pull/34022)
- **lib**: remove NodeError from the prototype of errors with code
(Michaël Zasso) (https://github.com/nodejs/node/pull/33857)
- **lib**: unflag AbortController (James M Snell)
(https://github.com/nodejs/node/pull/33527)
- **lib**: initial experimental AbortController implementation (James M
Snell) (https://github.com/nodejs/node/pull/33527)
- **net**: check args in net.connect() and socket.connect() calls
(Denys Otrishko) (https://github.com/nodejs/node/pull/34022)
- **net**: remove long deprecated server.connections property (James M
Snell) (https://github.com/nodejs/node/pull/33647)
- **net**: autoDestroy Socket (Robert Nagy)
(https://github.com/nodejs/node/pull/31806)
- **process**: update v8 fast api calls usage (Maya Lekova)
(https://github.com/nodejs/node/pull/35415)
- **process**: change default --unhandled-rejections=throw (Dan
Fabulich) (https://github.com/nodejs/node/pull/33021)
- **process**: use v8 fast api calls for hrtime (Gus Caplan)
(https://github.com/nodejs/node/pull/33600)
- **process**: delay throwing an error using `throwDeprecation` (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/32312)
- **repl**: remove deprecated repl.memory function (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.turnOffEditorMode() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.parseREPLKeyword() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated bufferedCommand property (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated .rli (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **src**: implement NodePlatform::PostJob (Clemens Backes)
(https://github.com/nodejs/node/pull/35415)
- **src**: update NODE\_MODULE\_VERSION to 88 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **src**: error reporting on CPUUsage (Yash Ladha)
(https://github.com/nodejs/node/pull/34762)
- **src**: use node:moduleName as builtin module filename (Michaël
Zasso) (https://github.com/nodejs/node/pull/35498)
- **src**: enable wasm trap handler on windows (Gus Caplan)
(https://github.com/nodejs/node/pull/35033)
- **src**: update NODE\_MODULE\_VERSION to 86 (Michaël Zasso)
(https://github.com/nodejs/node/pull/33579)
- **src**: disallow JS execution inside FreeEnvironment (Anna
Henningsen) (https://github.com/nodejs/node/pull/33874)
- **src**: remove \_third\_party\_main support (Anna Henningsen)
(https://github.com/nodejs/node/pull/33971)
- **src**: remove deprecated node debug command (James M Snell)
(https://github.com/nodejs/node/pull/33648)
- **src**: remove unused CancelPendingDelayedTasks (Anna Henningsen)
(https://github.com/nodejs/node/pull/32859)
- **stream**: try to wait for flush to complete before 'finish' (Robert
Nagy) (https://github.com/nodejs/node/pull/34314)
- **stream**: cleanup and fix Readable.wrap (Robert Nagy)
(https://github.com/nodejs/node/pull/34204)
- **stream**: add promises version to utility functions (rickyes)
(https://github.com/nodejs/node/pull/33991)
- **stream**: fix writable.end callback behavior (Robert Nagy)
(https://github.com/nodejs/node/pull/34101)
- **stream**: construct (Robert Nagy)
(https://github.com/nodejs/node/pull/29656)
- **stream**: write should throw on unknown encoding (Robert Nagy)
(https://github.com/nodejs/node/pull/33075)
- **stream**: fix \_final and 'prefinish' timing (Robert Nagy)
(https://github.com/nodejs/node/pull/32780)
- **stream**: simplify Transform stream implementation (Robert Nagy)
(https://github.com/nodejs/node/pull/32763)
- **stream**: use callback to properly propagate error (Robert Nagy)
(https://github.com/nodejs/node/pull/29179)
- **test**: update tests after increasing typed array size to 4GB
(Kim-Anh Tran) (https://github.com/nodejs/node/pull/35415)
- **test**: fix tests for npm 7.0.0 (Myles Borins)
(https://github.com/nodejs/node/pull/35631)
- **test**: fix test suite to work with npm 7 (Myles Borins)
(https://github.com/nodejs/node/pull/35474)
- **test**: update WPT harness and tests (Michaël Zasso)
(https://github.com/nodejs/node/pull/33770)
- **timers**: introduce timers/promises (James M Snell)
(https://github.com/nodejs/node/pull/33950)
- **tools**: disable x86 safe exception handlers in V8 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **tools**: update V8 gypfiles for 8.6 (Ujjwal Sharma)
(https://github.com/nodejs/node/pull/35415)
- **tools**: update V8 gypfiles for 8.5 (Ujjwal Sharma)
(https://github.com/nodejs/node/pull/35415)
- **url**: file URL path normalization (Daijiro Wachi)
(https://github.com/nodejs/node/pull/35477)
- **url**: verify domain is not empty after "ToASCII" (Michaël Zasso)
(https://github.com/nodejs/node/pull/33770)
- **url**: remove U+0000 case in the fragment state (Michaël Zasso)
(https://github.com/nodejs/node/pull/33770)
- **url**: remove gopher from special schemes (Michaël Zasso)
(https://github.com/nodejs/node/pull/33325)
- **url**: forbid lt and gt in url host code point (Yash Ladha)
(https://github.com/nodejs/node/pull/33328)
- **util**: change default value of `maxStringLength` to 10000
(unknown) (https://github.com/nodejs/node/pull/32744)
- **wasi**: drop --experimental-wasm-bigint requirement (Colin Ihrig)
(https://github.com/nodejs/node/pull/35415)
- **win, child_process**: sanitize env variables (Bartosz Sosnowski)
(https://github.com/nodejs/node/pull/35210)
- **worker**: make MessageEvent class more Web-compatible (Anna
Henningsen) (https://github.com/nodejs/node/pull/35496)
- **worker**: set trackUnmanagedFds to true by default (Anna
Henningsen) (https://github.com/nodejs/node/pull/34394)
- **worker**: rename error code to be more accurate (Anna Henningsen)
(https://github.com/nodejs/node/pull/33872)
PR-URL: https://github.com/nodejs/node/pull/35014
2020-09-01 21:16:46 +01:00
|
|
|
- version: v15.0.0
|
2020-05-28 13:51:10 -07:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/33647
|
|
|
|
description: Server.connections has been removed.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v0.9.7
|
|
|
|
pr-url: https://github.com/nodejs/node-v0.x-archive/pull/4595
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2020-06-01 19:49:06 -04:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2020-05-28 13:51:10 -07:00
|
|
|
The `Server.connections` property was deprecated in Node.js v0.9.7 and has
|
|
|
|
been removed. Please use the [`Server.getConnections()`][] method instead.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0021: `Server.listenFD`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2019-03-22 13:19:46 +00:00
|
|
|
- version: v12.0.0
|
2019-04-07 22:22:35 -04:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/27127
|
|
|
|
description: End-of-Life.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v0.7.12
|
|
|
|
commit: 41421ff9da1288aa241a5e9dcf915b685ade1c23
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-04-07 22:22:35 -04:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-04-07 22:22:35 -04:00
|
|
|
The `Server.listenFD()` method was deprecated and removed. Please use
|
2016-12-04 12:47:01 -08:00
|
|
|
[`Server.listen({fd: <number>})`][] instead.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0022: `os.tmpDir()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2020-03-10 17:16:08 +00:00
|
|
|
- version: v14.0.0
|
2020-02-07 10:20:06 -05:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/31169
|
2020-01-02 14:45:24 -08:00
|
|
|
description: End-of-Life.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version: v7.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/6739
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2020-01-02 14:45:24 -08:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2020-02-07 10:21:55 -05:00
|
|
|
The `os.tmpDir()` API was deprecated in Node.js 7.0.0 and has since been
|
2020-01-02 14:45:24 -08:00
|
|
|
removed. Please use [`os.tmpdir()`][] instead.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0023: `os.getNetworkInterfaces()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2019-03-22 13:19:46 +00:00
|
|
|
- version: v12.0.0
|
2018-12-29 20:30:48 -05:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/25280
|
|
|
|
description: End-of-Life.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v0.6.0
|
|
|
|
commit: 37bb37d151fb6ee4696730e63ff28bb7a4924f97
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2018-12-29 20:30:48 -05:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
|
|
|
The `os.getNetworkInterfaces()` method is deprecated. Please use the
|
2018-12-29 20:30:48 -05:00
|
|
|
[`os.networkInterfaces()`][] method instead.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0024: `REPLServer.prototype.convertToContext()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v9.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/13434
|
|
|
|
description: End-of-Life.
|
|
|
|
- version: v7.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/7829
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2017-06-03 14:11:13 +03:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2018-09-07 22:21:56 +02:00
|
|
|
The `REPLServer.prototype.convertToContext()` API has been removed.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2022-04-20 10:23:41 +02:00
|
|
|
### DEP0025: `require('node:sys')`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v1.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/317
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
|
|
|
Type: Runtime
|
|
|
|
|
2022-04-20 10:23:41 +02:00
|
|
|
The `node:sys` module is deprecated. Please use the [`util`][] module instead.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0026: `util.print()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2019-03-22 13:19:46 +00:00
|
|
|
- version: v12.0.0
|
2019-01-10 12:51:08 -05:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/25377
|
2019-01-07 12:42:17 -05:00
|
|
|
description: End-of-Life.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v0.11.3
|
|
|
|
commit: 896b2aa7074fc886efd7dd0a397d694763cac7ce
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-01-07 12:42:17 -05:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-01-07 12:42:17 -05:00
|
|
|
`util.print()` has been removed. Please use [`console.log()`][] instead.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0027: `util.puts()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2019-03-22 13:19:46 +00:00
|
|
|
- version: v12.0.0
|
2019-01-10 12:51:08 -05:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/25377
|
2019-01-07 12:53:58 -05:00
|
|
|
description: End-of-Life.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v0.11.3
|
|
|
|
commit: 896b2aa7074fc886efd7dd0a397d694763cac7ce
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-01-07 12:53:58 -05:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-01-07 12:53:58 -05:00
|
|
|
`util.puts()` has been removed. Please use [`console.log()`][] instead.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0028: `util.debug()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2019-03-22 13:19:46 +00:00
|
|
|
- version: v12.0.0
|
2019-01-10 12:51:08 -05:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/25377
|
2019-01-07 13:19:49 -05:00
|
|
|
description: End-of-Life.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v0.11.3
|
|
|
|
commit: 896b2aa7074fc886efd7dd0a397d694763cac7ce
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-01-07 13:19:49 -05:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-01-07 13:19:49 -05:00
|
|
|
`util.debug()` has been removed. Please use [`console.error()`][] instead.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0029: `util.error()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2019-03-22 13:19:46 +00:00
|
|
|
- version: v12.0.0
|
2019-01-10 12:51:08 -05:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/25377
|
2019-01-07 14:11:47 -05:00
|
|
|
description: End-of-Life.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v0.11.3
|
|
|
|
commit: 896b2aa7074fc886efd7dd0a397d694763cac7ce
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-01-07 14:11:47 -05:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-01-07 14:11:47 -05:00
|
|
|
`util.error()` has been removed. Please use [`console.error()`][] instead.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0030: `SlowBuffer`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2025-04-24 07:50:22 -07:00
|
|
|
- version: REPLACEME
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/58008
|
|
|
|
description: End-of-Life.
|
2024-10-15 18:24:39 -03:00
|
|
|
- version: REPLACEME
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/55175
|
|
|
|
description: Runtime deprecation.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version: v6.12.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v6.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/5833
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2025-04-24 07:50:22 -07:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2025-04-24 07:50:22 -07:00
|
|
|
The `SlowBuffer` class has been removed. Please use
|
2016-12-04 12:47:01 -08:00
|
|
|
[`Buffer.allocUnsafeSlow(size)`][] instead.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0031: `ecdh.setPublicKey()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v6.12.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v5.2.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/3511
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
|
|
|
Type: Documentation-only
|
|
|
|
|
|
|
|
The [`ecdh.setPublicKey()`][] method is now deprecated as its inclusion in the
|
|
|
|
API is not useful.
|
|
|
|
|
2022-04-20 10:23:41 +02:00
|
|
|
### DEP0032: `node:domain` module
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v1.4.2
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/943
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
|
|
|
Type: Documentation-only
|
|
|
|
|
|
|
|
The [`domain`][] module is deprecated and should not be used.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0033: `EventEmitter.listenerCount()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v3.2.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/2349
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
|
|
|
Type: Documentation-only
|
|
|
|
|
2020-11-12 10:02:12 -08:00
|
|
|
The [`events.listenerCount(emitter, eventName)`][] API is
|
2016-12-04 12:47:01 -08:00
|
|
|
deprecated. Please use [`emitter.listenerCount(eventName)`][] instead.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0034: `fs.exists(path, callback)`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v1.0.0
|
2020-10-09 21:08:06 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/166
|
2018-09-08 11:44:11 +02:00
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
|
|
|
Type: Documentation-only
|
|
|
|
|
2018-05-30 14:56:41 +02:00
|
|
|
The [`fs.exists(path, callback)`][] API is deprecated. Please use
|
2016-12-04 12:47:01 -08:00
|
|
|
[`fs.stat()`][] or [`fs.access()`][] instead.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0035: `fs.lchmod(path, mode, callback)`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v0.4.7
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
|
|
|
Type: Documentation-only
|
|
|
|
|
2018-05-30 14:56:41 +02:00
|
|
|
The [`fs.lchmod(path, mode, callback)`][] API is deprecated.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0036: `fs.lchmodSync(path, mode)`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v0.4.7
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
|
|
|
Type: Documentation-only
|
|
|
|
|
2018-05-30 14:56:41 +02:00
|
|
|
The [`fs.lchmodSync(path, mode)`][] API is deprecated.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0037: `fs.lchown(path, uid, gid, callback)`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v10.6.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/21498
|
|
|
|
description: Deprecation revoked.
|
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v0.4.7
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
|
|
|
Type: Deprecation revoked
|
|
|
|
|
2019-05-29 10:16:49 -04:00
|
|
|
The [`fs.lchown(path, uid, gid, callback)`][] API was deprecated. The
|
|
|
|
deprecation was revoked because the requisite supporting APIs were added in
|
|
|
|
libuv.
|
2018-09-08 11:44:11 +02:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0038: `fs.lchownSync(path, uid, gid)`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v10.6.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/21498
|
|
|
|
description: Deprecation revoked.
|
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v0.4.7
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
|
|
|
Type: Deprecation revoked
|
|
|
|
|
2019-05-29 10:16:49 -04:00
|
|
|
The [`fs.lchownSync(path, uid, gid)`][] API was deprecated. The deprecation was
|
|
|
|
revoked because the requisite supporting APIs were added in libuv.
|
2018-09-08 11:44:11 +02:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0039: `require.extensions`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v0.10.6
|
|
|
|
commit: 7bd8a5a2a60b75266f89f9a32877d55294a3881c
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
|
|
|
Type: Documentation-only
|
|
|
|
|
2018-05-30 14:56:41 +02:00
|
|
|
The [`require.extensions`][] property is deprecated.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2022-04-20 10:23:41 +02:00
|
|
|
### DEP0040: `node:punycode` module
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2023-09-26 15:03:53 +08:00
|
|
|
- version: v21.0.0
|
2023-04-03 13:47:28 -04:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/47202
|
|
|
|
description: Runtime deprecation.
|
2021-07-26 17:42:52 +01:00
|
|
|
- version: v16.6.0
|
2020-09-08 00:10:44 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/38444
|
|
|
|
description: Added support for `--pending-deprecation`.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version: v7.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/7941
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2023-04-03 13:47:28 -04:00
|
|
|
Type: Runtime
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2018-05-30 14:56:41 +02:00
|
|
|
The [`punycode`][] module is deprecated. Please use a userland alternative
|
2016-12-04 12:47:01 -08:00
|
|
|
instead.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0041: `NODE_REPL_HISTORY_FILE` environment variable
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v10.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/13876
|
|
|
|
description: End-of-Life.
|
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v3.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/2224
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2018-04-11 14:48:10 +02:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2017-06-22 18:47:44 +02:00
|
|
|
The `NODE_REPL_HISTORY_FILE` environment variable was removed. Please use
|
|
|
|
`NODE_REPL_HISTORY` instead.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0042: `tls.CryptoStream`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v10.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/17882
|
|
|
|
description: End-of-Life.
|
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v0.11.3
|
|
|
|
commit: af80e7bc6e6f33c582eb1f7d37c7f5bbe9f910f7
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2018-07-30 13:17:51 -04:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2025-03-23 10:51:41 -04:00
|
|
|
The `tls.CryptoStream` class was removed. Please use
|
2016-12-04 12:47:01 -08:00
|
|
|
[`tls.TLSSocket`][] instead.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0043: `tls.SecurePair`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2025-03-11 19:01:28 -04:00
|
|
|
- version: REPLACEME
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/57361
|
|
|
|
description: End-of-Life.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version: v8.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/11349
|
|
|
|
description: Runtime deprecation.
|
|
|
|
- version: v6.12.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v6.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/6063
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
- version: v0.11.15
|
|
|
|
pr-url:
|
|
|
|
- https://github.com/nodejs/node-v0.x-archive/pull/8695
|
|
|
|
- https://github.com/nodejs/node-v0.x-archive/pull/8700
|
|
|
|
description: Deprecation revoked.
|
|
|
|
- version: v0.11.3
|
|
|
|
commit: af80e7bc6e6f33c582eb1f7d37c7f5bbe9f910f7
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2025-03-11 19:01:28 -04:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2025-03-11 19:01:28 -04:00
|
|
|
The `tls.SecurePair` class is deprecated. Please use
|
2016-12-04 12:47:01 -08:00
|
|
|
[`tls.TLSSocket`][] instead.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0044: `util.isArray()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2024-04-12 15:30:46 -03:00
|
|
|
- version: v22.0.0
|
2023-10-31 12:32:34 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/50488
|
|
|
|
description: Runtime deprecation.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version:
|
|
|
|
- v4.0.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v3.3.1
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/2447
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2023-10-31 12:32:34 +02:00
|
|
|
Type: Runtime
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2018-05-30 14:56:41 +02:00
|
|
|
The [`util.isArray()`][] API is deprecated. Please use `Array.isArray()`
|
2016-12-04 12:47:01 -08:00
|
|
|
instead.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0045: `util.isBoolean()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2024-10-09 14:48:01 -03:00
|
|
|
- version: v23.0.0
|
2024-04-29 10:17:44 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/52744
|
|
|
|
description: End-of-Life deprecation.
|
2024-04-12 15:30:46 -03:00
|
|
|
- version: v22.0.0
|
2023-10-31 12:37:55 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/50488
|
|
|
|
description: Runtime deprecation.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version:
|
|
|
|
- v4.0.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v3.3.1
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/2447
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2024-04-29 10:17:44 +02:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2024-04-29 10:17:44 +02:00
|
|
|
The `util.isBoolean()` API has been removed. Please use
|
2023-10-31 15:37:19 +02:00
|
|
|
`typeof arg === 'boolean'` instead.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0046: `util.isBuffer()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2024-10-09 14:48:01 -03:00
|
|
|
- version: v23.0.0
|
2024-04-29 10:29:49 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/52744
|
|
|
|
description: End-of-Life deprecation.
|
2024-04-12 15:30:46 -03:00
|
|
|
- version: v22.0.0
|
2023-10-31 12:43:12 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/50488
|
|
|
|
description: Runtime deprecation.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version:
|
|
|
|
- v4.0.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v3.3.1
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/2447
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2024-04-29 10:29:49 +02:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2024-04-29 10:29:49 +02:00
|
|
|
The `util.isBuffer()` API has been removed. Please use
|
2016-12-04 12:47:01 -08:00
|
|
|
[`Buffer.isBuffer()`][] instead.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0047: `util.isDate()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2024-10-09 14:48:01 -03:00
|
|
|
- version: v23.0.0
|
2024-04-29 11:10:00 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/52744
|
|
|
|
description: End-of-Life deprecation.
|
2024-04-12 15:30:46 -03:00
|
|
|
- version: v22.0.0
|
2023-10-31 12:44:51 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/50488
|
|
|
|
description: Runtime deprecation.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version:
|
|
|
|
- v4.0.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v3.3.1
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/2447
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2024-04-29 11:10:00 +02:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2024-04-29 11:10:00 +02:00
|
|
|
The `util.isDate()` API has been removed. Please use
|
2023-10-31 15:37:19 +02:00
|
|
|
`arg instanceof Date` instead.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0048: `util.isError()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2024-10-09 14:48:01 -03:00
|
|
|
- version: v23.0.0
|
2024-04-29 11:22:43 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/52744
|
|
|
|
description: End-of-Life deprecation.
|
2024-04-12 15:30:46 -03:00
|
|
|
- version: v22.0.0
|
2023-10-31 12:46:05 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/50488
|
|
|
|
description: Runtime deprecation.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version:
|
|
|
|
- v4.0.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v3.3.1
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/2447
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2024-04-29 11:22:43 +02:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2024-04-29 11:22:43 +02:00
|
|
|
The `util.isError()` API has been removed. Please use
|
2023-10-31 12:46:05 +02:00
|
|
|
`Object.prototype.toString(arg) === '[object Error]' || arg instanceof Error`
|
|
|
|
instead.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0049: `util.isFunction()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2024-10-09 14:48:01 -03:00
|
|
|
- version: v23.0.0
|
2024-04-29 11:27:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/52744
|
|
|
|
description: End-of-Life deprecation.
|
2024-04-12 15:30:46 -03:00
|
|
|
- version: v22.0.0
|
2023-10-31 12:48:45 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/50488
|
|
|
|
description: Runtime deprecation.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version:
|
|
|
|
- v4.0.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v3.3.1
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/2447
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2024-04-29 11:27:11 +02:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2024-04-29 11:27:11 +02:00
|
|
|
The `util.isFunction()` API has been removed. Please use
|
2023-10-31 15:37:19 +02:00
|
|
|
`typeof arg === 'function'` instead.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0050: `util.isNull()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2024-10-09 14:48:01 -03:00
|
|
|
- version: v23.0.0
|
2024-04-29 10:33:39 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/52744
|
|
|
|
description: End-of-Life deprecation.
|
2024-04-12 15:30:46 -03:00
|
|
|
- version: v22.0.0
|
2023-10-31 12:50:30 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/50488
|
|
|
|
description: Runtime deprecation.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version:
|
|
|
|
- v4.0.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v3.3.1
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/2447
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2024-04-29 10:33:39 +02:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2024-04-29 10:33:39 +02:00
|
|
|
The `util.isNull()` API has been removed. Please use
|
2023-10-31 15:37:19 +02:00
|
|
|
`arg === null` instead.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0051: `util.isNullOrUndefined()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2024-10-09 14:48:01 -03:00
|
|
|
- version: v23.0.0
|
2024-04-29 10:36:48 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/52744
|
|
|
|
description: End-of-Life deprecation.
|
2024-04-12 15:30:46 -03:00
|
|
|
- version: v22.0.0
|
2023-10-31 12:51:34 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/50488
|
|
|
|
description: Runtime deprecation.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version:
|
|
|
|
- v4.0.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v3.3.1
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/2447
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2024-04-29 10:36:48 +02:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2024-04-29 10:36:48 +02:00
|
|
|
The `util.isNullOrUndefined()` API has been removed. Please use
|
2023-10-31 15:37:19 +02:00
|
|
|
`arg === null || arg === undefined` instead.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0052: `util.isNumber()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2024-10-09 14:48:01 -03:00
|
|
|
- version: v23.0.0
|
2024-04-29 10:41:03 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/52744
|
|
|
|
description: End-of-Life deprecation.
|
2024-04-12 15:30:46 -03:00
|
|
|
- version: v22.0.0
|
2023-10-31 12:54:26 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/50488
|
|
|
|
description: Runtime deprecation.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version:
|
|
|
|
- v4.0.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v3.3.1
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/2447
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2024-04-29 10:41:03 +02:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2024-04-29 10:41:03 +02:00
|
|
|
The `util.isNumber()` API has been removed. Please use
|
2023-10-31 15:37:19 +02:00
|
|
|
`typeof arg === 'number'` instead.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2020-10-01 19:38:33 +02:00
|
|
|
### DEP0053: `util.isObject()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2024-10-09 14:48:01 -03:00
|
|
|
- version: v23.0.0
|
2024-04-29 11:07:03 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/52744
|
|
|
|
description: End-of-Life deprecation.
|
2024-04-12 15:30:46 -03:00
|
|
|
- version: v22.0.0
|
2023-10-31 12:55:32 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/50488
|
|
|
|
description: Runtime deprecation.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version:
|
|
|
|
- v4.0.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v3.3.1
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/2447
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2024-04-29 11:07:03 +02:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2024-04-29 11:07:03 +02:00
|
|
|
The `util.isObject()` API has been removed. Please use
|
2023-10-31 15:37:19 +02:00
|
|
|
`arg && typeof arg === 'object'` instead.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0054: `util.isPrimitive()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2024-10-09 14:48:01 -03:00
|
|
|
- version: v23.0.0
|
2024-04-29 11:28:59 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/52744
|
|
|
|
description: End-of-Life deprecation.
|
2024-04-12 15:30:46 -03:00
|
|
|
- version: v22.0.0
|
2023-10-31 12:57:14 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/50488
|
|
|
|
description: Runtime deprecation.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version:
|
|
|
|
- v4.0.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v3.3.1
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/2447
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2024-04-29 11:28:59 +02:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2024-04-29 11:28:59 +02:00
|
|
|
The `util.isPrimitive()` API has been removed. Please use
|
2023-10-31 15:37:19 +02:00
|
|
|
`arg === null || (typeof arg !=='object' && typeof arg !== 'function')`
|
|
|
|
instead.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0055: `util.isRegExp()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2024-10-09 14:48:01 -03:00
|
|
|
- version: v23.0.0
|
2024-04-29 10:59:10 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/52744
|
|
|
|
description: End-of-Life deprecation.
|
2024-04-12 15:30:46 -03:00
|
|
|
- version: v22.0.0
|
2023-10-31 12:58:40 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/50488
|
|
|
|
description: Runtime deprecation.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version:
|
|
|
|
- v4.0.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v3.3.1
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/2447
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2024-04-29 10:59:10 +02:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2024-04-29 10:59:10 +02:00
|
|
|
The `util.isRegExp()` API has been removed. Please use
|
2023-10-31 15:37:19 +02:00
|
|
|
`arg instanceof RegExp` instead.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0056: `util.isString()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2024-10-09 14:48:01 -03:00
|
|
|
- version: v23.0.0
|
2024-04-29 10:43:01 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/52744
|
|
|
|
description: End-of-Life deprecation.
|
2024-04-12 15:30:46 -03:00
|
|
|
- version: v22.0.0
|
2023-10-31 13:00:24 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/50488
|
|
|
|
description: Runtime deprecation.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version:
|
|
|
|
- v4.0.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v3.3.1
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/2447
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2024-04-29 10:43:01 +02:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2024-04-29 10:43:01 +02:00
|
|
|
The `util.isString()` API has been removed. Please use
|
2023-10-31 15:37:19 +02:00
|
|
|
`typeof arg === 'string'` instead.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0057: `util.isSymbol()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2024-10-09 14:48:01 -03:00
|
|
|
- version: v23.0.0
|
2024-04-29 10:44:34 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/52744
|
|
|
|
description: End-of-Life deprecation.
|
2024-04-12 15:30:46 -03:00
|
|
|
- version: v22.0.0
|
2023-10-31 13:02:20 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/50488
|
|
|
|
description: Runtime deprecation.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version:
|
|
|
|
- v4.0.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v3.3.1
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/2447
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2024-04-29 10:44:34 +02:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2024-04-29 10:44:34 +02:00
|
|
|
The `util.isSymbol()` API has been removed. Please use
|
2023-10-31 15:37:19 +02:00
|
|
|
`typeof arg === 'symbol'` instead.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0058: `util.isUndefined()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2024-10-09 14:48:01 -03:00
|
|
|
- version: v23.0.0
|
2024-04-29 10:47:03 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/52744
|
|
|
|
description: End-of-Life deprecation.
|
2024-04-12 15:30:46 -03:00
|
|
|
- version: v22.0.0
|
2023-10-31 13:03:27 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/50488
|
|
|
|
description: Runtime deprecation.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version:
|
|
|
|
- v6.12.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v4.8.6
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version:
|
|
|
|
- v4.0.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v3.3.1
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/2447
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2024-04-29 10:47:03 +02:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2024-04-29 10:47:03 +02:00
|
|
|
The `util.isUndefined()` API has been removed. Please use
|
2023-10-31 15:37:19 +02:00
|
|
|
`arg === undefined` instead.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0059: `util.log()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2024-10-09 14:48:01 -03:00
|
|
|
- version: v23.0.0
|
2024-04-29 11:38:00 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/52744
|
|
|
|
description: End-of-Life deprecation.
|
2024-04-12 15:30:46 -03:00
|
|
|
- version: v22.0.0
|
2023-10-31 13:04:21 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/50488
|
|
|
|
description: Runtime deprecation.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version: v6.12.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v6.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/6161
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2024-04-29 11:38:00 +02:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2024-04-29 11:38:00 +02:00
|
|
|
The `util.log()` API has been removed because it's an unmaintained
|
2023-10-31 15:37:19 +02:00
|
|
|
legacy API that was exposed to user land by accident. Instead,
|
|
|
|
consider the following alternatives based on your specific needs:
|
|
|
|
|
|
|
|
* **Third-Party Logging Libraries**
|
|
|
|
|
|
|
|
* **Use `console.log(new Date().toLocaleString(), message)`**
|
|
|
|
|
|
|
|
By adopting one of these alternatives, you can transition away from `util.log()`
|
|
|
|
and choose a logging strategy that aligns with the specific
|
|
|
|
requirements and complexity of your application.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0060: `util._extend()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2024-04-12 15:30:46 -03:00
|
|
|
- version: v22.0.0
|
2023-10-31 12:22:30 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/50488
|
|
|
|
description: Runtime deprecation.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version: v6.12.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v6.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/4903
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2024-06-14 15:07:58 +02:00
|
|
|
Type: Runtime
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2024-06-14 15:07:58 +02:00
|
|
|
The [`util._extend()`][] API is deprecated because it's an unmaintained
|
2023-10-31 15:37:19 +02:00
|
|
|
legacy API that was exposed to user land by accident.
|
|
|
|
Please use `target = Object.assign(target, source)` instead.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0061: `fs.SyncWriteStream`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2018-10-02 16:01:19 -07:00
|
|
|
- version: v11.0.0
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/20735
|
|
|
|
description: End-of-Life.
|
|
|
|
- version: v8.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/10467
|
|
|
|
description: Runtime deprecation.
|
|
|
|
- version: v7.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/6749
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2018-05-14 17:55:46 -07:00
|
|
|
Type: End-of-Life
|
2016-12-04 12:47:01 -08:00
|
|
|
|
|
|
|
The `fs.SyncWriteStream` class was never intended to be a publicly accessible
|
2018-05-14 17:55:46 -07:00
|
|
|
API and has been removed. No alternative API is available. Please use a userland
|
|
|
|
alternative.
|
2016-12-04 12:47:01 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0062: `node --debug`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2019-03-22 13:19:46 +00:00
|
|
|
- version: v12.0.0
|
2019-01-31 03:29:30 +08:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/25828
|
|
|
|
description: End-of-Life.
|
2020-10-01 19:38:33 +02:00
|
|
|
- version: v8.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/10970
|
|
|
|
description: Runtime deprecation.
|
2018-09-08 11:44:11 +02:00
|
|
|
-->
|
2017-01-23 15:08:30 -08:00
|
|
|
|
2019-02-21 21:45:41 +01:00
|
|
|
Type: End-of-Life
|
2017-01-23 15:08:30 -08:00
|
|
|
|
2018-05-30 14:56:41 +02:00
|
|
|
`--debug` activates the legacy V8 debugger interface, which was removed as
|
2017-01-23 15:08:30 -08:00
|
|
|
of V8 5.8. It is replaced by Inspector which is activated with `--inspect`
|
|
|
|
instead.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0063: `ServerResponse.prototype.writeHeader()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v8.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/11355
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2017-02-16 13:10:21 -08:00
|
|
|
|
|
|
|
Type: Documentation-only
|
|
|
|
|
2022-04-20 10:23:41 +02:00
|
|
|
The `node:http` module `ServerResponse.prototype.writeHeader()` API is
|
2017-02-16 13:10:21 -08:00
|
|
|
deprecated. Please use `ServerResponse.prototype.writeHead()` instead.
|
|
|
|
|
2018-02-05 21:55:16 -08:00
|
|
|
The `ServerResponse.prototype.writeHeader()` method was never documented as an
|
|
|
|
officially supported API.
|
2017-02-16 13:10:21 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0064: `tls.createSecurePair()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2025-03-11 19:01:28 -04:00
|
|
|
- version: REPLACEME
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/57361
|
|
|
|
description: End-of-Life.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version: v8.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/11349
|
|
|
|
description: Runtime deprecation.
|
|
|
|
- version: v6.12.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/10116
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v6.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/6063
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
- version: v0.11.15
|
|
|
|
pr-url:
|
|
|
|
- https://github.com/nodejs/node-v0.x-archive/pull/8695
|
|
|
|
- https://github.com/nodejs/node-v0.x-archive/pull/8700
|
|
|
|
description: Deprecation revoked.
|
|
|
|
- version: v0.11.3
|
|
|
|
commit: af80e7bc6e6f33c582eb1f7d37c7f5bbe9f910f7
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2017-02-16 14:30:29 -08:00
|
|
|
|
2025-03-11 19:01:28 -04:00
|
|
|
Type: End-of-Life
|
2017-02-16 14:30:29 -08:00
|
|
|
|
|
|
|
The `tls.createSecurePair()` API was deprecated in documentation in Node.js
|
|
|
|
0.11.3. Users should use `tls.Socket` instead.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0065: `repl.REPL_MODE_MAGIC` and `NODE_REPL_MODE=magic`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v10.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/19187
|
|
|
|
description: End-of-Life.
|
|
|
|
- version: v8.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/11599
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2017-02-27 18:45:53 -08:00
|
|
|
|
2018-03-06 18:32:16 +01:00
|
|
|
Type: End-of-Life
|
2017-02-27 18:45:53 -08:00
|
|
|
|
2022-04-20 10:23:41 +02:00
|
|
|
The `node:repl` module's `REPL_MODE_MAGIC` constant, used for `replMode` option,
|
|
|
|
has been removed. Its behavior has been functionally identical to that of
|
2018-05-04 10:11:02 -07:00
|
|
|
`REPL_MODE_SLOPPY` since Node.js 6.0.0, when V8 5.0 was imported. Please use
|
2017-02-27 18:45:53 -08:00
|
|
|
`REPL_MODE_SLOPPY` instead.
|
|
|
|
|
|
|
|
The `NODE_REPL_MODE` environment variable is used to set the underlying
|
2018-03-06 18:32:16 +01:00
|
|
|
`replMode` of an interactive `node` session. Its value, `magic`, is also
|
|
|
|
removed. Please use `sloppy` instead.
|
2017-02-27 18:45:53 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0066: `OutgoingMessage.prototype._headers, OutgoingMessage.prototype._headerNames`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2025-04-02 19:17:51 -04:00
|
|
|
- version: REPLACEME
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/57551
|
|
|
|
description: End-of-Life.
|
2019-03-22 13:19:46 +00:00
|
|
|
- version: v12.0.0
|
2018-11-06 15:24:26 +00:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/24167
|
|
|
|
description: Runtime deprecation.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version: v8.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/10941
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2017-03-05 21:11:32 -05:00
|
|
|
|
2025-04-02 19:17:51 -04:00
|
|
|
Type: End-of-Life
|
2017-03-05 21:11:32 -05:00
|
|
|
|
2022-04-20 10:23:41 +02:00
|
|
|
The `node:http` module `OutgoingMessage.prototype._headers` and
|
2019-05-06 12:31:46 -04:00
|
|
|
`OutgoingMessage.prototype._headerNames` properties are deprecated. Use one of
|
|
|
|
the public methods (e.g. `OutgoingMessage.prototype.getHeader()`,
|
|
|
|
`OutgoingMessage.prototype.getHeaders()`,
|
|
|
|
`OutgoingMessage.prototype.getHeaderNames()`,
|
2021-03-08 21:27:49 +02:00
|
|
|
`OutgoingMessage.prototype.getRawHeaderNames()`,
|
2019-05-06 12:31:46 -04:00
|
|
|
`OutgoingMessage.prototype.hasHeader()`,
|
|
|
|
`OutgoingMessage.prototype.removeHeader()`,
|
|
|
|
`OutgoingMessage.prototype.setHeader()`) for working with outgoing headers.
|
|
|
|
|
|
|
|
The `OutgoingMessage.prototype._headers` and
|
|
|
|
`OutgoingMessage.prototype._headerNames` properties were never documented as
|
|
|
|
officially supported properties.
|
2017-03-05 21:11:32 -05:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0067: `OutgoingMessage.prototype._renderHeaders`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v8.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/10941
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2017-03-05 21:11:32 -05:00
|
|
|
|
|
|
|
Type: Documentation-only
|
|
|
|
|
2022-04-20 10:23:41 +02:00
|
|
|
The `node:http` module `OutgoingMessage.prototype._renderHeaders()` API is
|
2017-03-05 21:11:32 -05:00
|
|
|
deprecated.
|
|
|
|
|
2018-02-05 21:55:16 -08:00
|
|
|
The `OutgoingMessage.prototype._renderHeaders` property was never documented as
|
2017-03-05 21:11:32 -05:00
|
|
|
an officially supported API.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0068: `node debug`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2020-10-20, Version 15.0.0 (Current)
Notable changes:
Deprecations and Removals:
- **build**: remove --build-v8-with-gn configure option (Yang Guo)
(https://github.com/nodejs/node/pull/27576)
- **build**: drop support for VS2017 (Michaël Zasso)
(https://github.com/nodejs/node/pull/33694)
- **doc**: move DEP0018 to End-of-Life (Rich Trott)
(https://github.com/nodejs/node/pull/35316)
- **fs**: deprecation warning on recursive rmdir (Ian Sutherland)
(https://github.com/nodejs/node/pull/35562)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(https://github.com/nodejs/node/pull/35496)
- **net**: remove long deprecated server.connections property (James M
Snell) (https://github.com/nodejs/node/pull/33647)
- **repl**: remove deprecated repl.memory function (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.turnOffEditorMode() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.parseREPLKeyword() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated bufferedCommand property (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated .rli (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **src**: remove deprecated node debug command (James M Snell)
(https://github.com/nodejs/node/pull/33648)
- **timers**: introduce timers/promises (James M Snell)
(https://github.com/nodejs/node/pull/33950)
- **util**: change default value of `maxStringLength` to 10000
(unknown) (https://github.com/nodejs/node/pull/32744)
- **wasi**: drop --experimental-wasm-bigint requirement (Colin Ihrig)
(https://github.com/nodejs/node/pull/35415)
npm 7 (https://github.com/nodejs/node/pull/35631):
Node.js 15 comes with a new major release of npm, npm 7. npm 7 comes
with many new features - including npm workspaces and a new
package-lock.json format. npm 7 also includes yarn.lock file support.
One of the big changes in npm 7 is that peer dependencies are now
installed by default.
Throw On Unhandled Rejections
(https://github.com/nodejs/node/pull/33021):
As of Node.js 15, the default mode for `unhandledRejection` is changed
to `throw` (from `warn`). In `throw` mode, if an `unhandledRejection`
hook is not set, the `unhandledRejection` is raised as an uncaught
exception. Users that have an `unhandledRejection` hook should see no
change in behavior, and it’s still possible to switch modes using the
`--unhandled-rejections=mode` process flag.
QUIC (https://github.com/nodejs/node/pull/32379):
Node.js 15 comes with experimental support QUIC, which can be enabled
by compiling Node.js with the `--experimental-quic` configuration flag.
The Node.js QUIC implementation is exposed by the core `net` module.
V8 8.6 (https://github.com/nodejs/node/pull/35415):
The V8 JavaScript engine has been updated to V8 8.6 (V8 8.4 is the
latest available in Node.js 14). Along with performance tweaks and
improvements the V8 update also brings the following language features:
* `Promise.any()` (from V8 8.5)
* `AggregateError` (from V8 8.5)
* `String.prototype.replaceAll()` (from V8 8.5)
* Logical assignment operators `&&=`, `||=`, and `??=` (from V8 8.5)
Other Notable Changes:
- **assert**: add `assert/strict` alias module (ExE Boss)
(https://github.com/nodejs/node/pull/34001)
- **dns**: add dns/promises alias (shisama)
(https://github.com/nodejs/node/pull/32953)
- **fs**: reimplement read and write streams using stream.construct
(Robert Nagy) (https://github.com/nodejs/node/pull/29656)
- **http2**: allow Host in HTTP/2 requests (Alba Mendez)
(https://github.com/nodejs/node/pull/34664)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(https://github.com/nodejs/node/pull/35496)
- **lib**: unflag AbortController (James M Snell)
(https://github.com/nodejs/node/pull/33527)
- **lib**: initial experimental AbortController implementation (James M
Snell) (https://github.com/nodejs/node/pull/33527)
- **net**: autoDestroy Socket (Robert Nagy)
(https://github.com/nodejs/node/pull/31806)
- **src**: disallow JS execution inside FreeEnvironment (Anna
Henningsen) (https://github.com/nodejs/node/pull/33874)
- **stream**: construct (Robert Nagy)
(https://github.com/nodejs/node/pull/29656)
- **worker**: make MessageEvent class more Web-compatible (Anna
Henningsen) (https://github.com/nodejs/node/pull/35496)
Semver-Major Commits:
- **assert**: add `assert/strict` alias module (ExE Boss)
(https://github.com/nodejs/node/pull/34001)
- **build**: reset embedder string to "-node.0" (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **build**: remove --build-v8-with-gn configure option (Yang Guo)
(https://github.com/nodejs/node/pull/27576)
- **build**: drop support for VS2017 (Michaël Zasso)
(https://github.com/nodejs/node/pull/33694)
- **crypto**: refactoring internals, add WebCrypto (James M Snell)
(https://github.com/nodejs/node/pull/35093)
- **crypto**: move node\_crypto files to src/crypto (James M Snell)
(https://github.com/nodejs/node/pull/35093)
- **deps**: V8: cherry-pick d76abfed3512 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: V8: cherry-pick 717543bbf0ef (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: V8: cherry-pick 6be2f6e26e8d (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: fix V8 build issue with inline methods (Jiawen Geng)
(https://github.com/nodejs/node/pull/35415)
- **deps**: fix platform-embedded-file-writer-win for ARM64 (Michaël
Zasso) (https://github.com/nodejs/node/pull/35415)
- **deps**: update V8 postmortem metadata script (Colin Ihrig)
(https://github.com/nodejs/node/pull/35415)
- **deps**: update V8 to 8.6.395 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: upgrade npm to 7.0.0 (Myles Borins)
(https://github.com/nodejs/node/pull/35631)
- **deps**: update npm to 7.0.0-rc.3 (Myles Borins)
(https://github.com/nodejs/node/pull/35474)
- **deps**: V8: cherry-pick 0d6debcc5f08 (Gus Caplan)
(https://github.com/nodejs/node/pull/33600)
- **dns**: add dns/promises alias (shisama)
(https://github.com/nodejs/node/pull/32953)
- **doc**: move DEP0018 to End-of-Life (Rich Trott)
(https://github.com/nodejs/node/pull/35316)
- **doc**: update support macos version for 15.x (Ash Cripps)
(https://github.com/nodejs/node/pull/35022)
- **fs**: deprecation warning on recursive rmdir (Ian Sutherland)
(https://github.com/nodejs/node/pull/35562)
- **fs**: reimplement read and write streams using stream.construct
(Robert Nagy) (https://github.com/nodejs/node/pull/29656)
- **http**: fixed socket.setEncoding fatal error (iskore)
(https://github.com/nodejs/node/pull/33405)
- **http**: emit 'error' on aborted server request (Robert Nagy)
(https://github.com/nodejs/node/pull/33172)
- **http**: cleanup end argument handling (Robert Nagy)
(https://github.com/nodejs/node/pull/31818)
- **http2**: allow Host in HTTP/2 requests (Alba Mendez)
(https://github.com/nodejs/node/pull/34664)
- **http2**: add `invalidheaders` test (Pranshu Srivastava)
(https://github.com/nodejs/node/pull/33161)
- **http2**: refactor state code validation for the http2Stream class
(rickyes) (https://github.com/nodejs/node/pull/33535)
- **http2**: header field valid checks (Pranshu Srivastava)
(https://github.com/nodejs/node/pull/33193)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(https://github.com/nodejs/node/pull/35496)
- **lib**: remove ERR\_INVALID\_OPT\_VALUE and
ERR\_INVALID\_OPT\_VALUE\_ENCODING (Denys Otrishko)
(https://github.com/nodejs/node/pull/34682)
- **lib**: handle one of args case in ERR\_MISSING\_ARGS (Denys
Otrishko) (https://github.com/nodejs/node/pull/34022)
- **lib**: remove NodeError from the prototype of errors with code
(Michaël Zasso) (https://github.com/nodejs/node/pull/33857)
- **lib**: unflag AbortController (James M Snell)
(https://github.com/nodejs/node/pull/33527)
- **lib**: initial experimental AbortController implementation (James M
Snell) (https://github.com/nodejs/node/pull/33527)
- **net**: check args in net.connect() and socket.connect() calls
(Denys Otrishko) (https://github.com/nodejs/node/pull/34022)
- **net**: remove long deprecated server.connections property (James M
Snell) (https://github.com/nodejs/node/pull/33647)
- **net**: autoDestroy Socket (Robert Nagy)
(https://github.com/nodejs/node/pull/31806)
- **process**: update v8 fast api calls usage (Maya Lekova)
(https://github.com/nodejs/node/pull/35415)
- **process**: change default --unhandled-rejections=throw (Dan
Fabulich) (https://github.com/nodejs/node/pull/33021)
- **process**: use v8 fast api calls for hrtime (Gus Caplan)
(https://github.com/nodejs/node/pull/33600)
- **process**: delay throwing an error using `throwDeprecation` (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/32312)
- **repl**: remove deprecated repl.memory function (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.turnOffEditorMode() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.parseREPLKeyword() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated bufferedCommand property (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated .rli (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **src**: implement NodePlatform::PostJob (Clemens Backes)
(https://github.com/nodejs/node/pull/35415)
- **src**: update NODE\_MODULE\_VERSION to 88 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **src**: error reporting on CPUUsage (Yash Ladha)
(https://github.com/nodejs/node/pull/34762)
- **src**: use node:moduleName as builtin module filename (Michaël
Zasso) (https://github.com/nodejs/node/pull/35498)
- **src**: enable wasm trap handler on windows (Gus Caplan)
(https://github.com/nodejs/node/pull/35033)
- **src**: update NODE\_MODULE\_VERSION to 86 (Michaël Zasso)
(https://github.com/nodejs/node/pull/33579)
- **src**: disallow JS execution inside FreeEnvironment (Anna
Henningsen) (https://github.com/nodejs/node/pull/33874)
- **src**: remove \_third\_party\_main support (Anna Henningsen)
(https://github.com/nodejs/node/pull/33971)
- **src**: remove deprecated node debug command (James M Snell)
(https://github.com/nodejs/node/pull/33648)
- **src**: remove unused CancelPendingDelayedTasks (Anna Henningsen)
(https://github.com/nodejs/node/pull/32859)
- **stream**: try to wait for flush to complete before 'finish' (Robert
Nagy) (https://github.com/nodejs/node/pull/34314)
- **stream**: cleanup and fix Readable.wrap (Robert Nagy)
(https://github.com/nodejs/node/pull/34204)
- **stream**: add promises version to utility functions (rickyes)
(https://github.com/nodejs/node/pull/33991)
- **stream**: fix writable.end callback behavior (Robert Nagy)
(https://github.com/nodejs/node/pull/34101)
- **stream**: construct (Robert Nagy)
(https://github.com/nodejs/node/pull/29656)
- **stream**: write should throw on unknown encoding (Robert Nagy)
(https://github.com/nodejs/node/pull/33075)
- **stream**: fix \_final and 'prefinish' timing (Robert Nagy)
(https://github.com/nodejs/node/pull/32780)
- **stream**: simplify Transform stream implementation (Robert Nagy)
(https://github.com/nodejs/node/pull/32763)
- **stream**: use callback to properly propagate error (Robert Nagy)
(https://github.com/nodejs/node/pull/29179)
- **test**: update tests after increasing typed array size to 4GB
(Kim-Anh Tran) (https://github.com/nodejs/node/pull/35415)
- **test**: fix tests for npm 7.0.0 (Myles Borins)
(https://github.com/nodejs/node/pull/35631)
- **test**: fix test suite to work with npm 7 (Myles Borins)
(https://github.com/nodejs/node/pull/35474)
- **test**: update WPT harness and tests (Michaël Zasso)
(https://github.com/nodejs/node/pull/33770)
- **timers**: introduce timers/promises (James M Snell)
(https://github.com/nodejs/node/pull/33950)
- **tools**: disable x86 safe exception handlers in V8 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **tools**: update V8 gypfiles for 8.6 (Ujjwal Sharma)
(https://github.com/nodejs/node/pull/35415)
- **tools**: update V8 gypfiles for 8.5 (Ujjwal Sharma)
(https://github.com/nodejs/node/pull/35415)
- **url**: file URL path normalization (Daijiro Wachi)
(https://github.com/nodejs/node/pull/35477)
- **url**: verify domain is not empty after "ToASCII" (Michaël Zasso)
(https://github.com/nodejs/node/pull/33770)
- **url**: remove U+0000 case in the fragment state (Michaël Zasso)
(https://github.com/nodejs/node/pull/33770)
- **url**: remove gopher from special schemes (Michaël Zasso)
(https://github.com/nodejs/node/pull/33325)
- **url**: forbid lt and gt in url host code point (Yash Ladha)
(https://github.com/nodejs/node/pull/33328)
- **util**: change default value of `maxStringLength` to 10000
(unknown) (https://github.com/nodejs/node/pull/32744)
- **wasi**: drop --experimental-wasm-bigint requirement (Colin Ihrig)
(https://github.com/nodejs/node/pull/35415)
- **win, child_process**: sanitize env variables (Bartosz Sosnowski)
(https://github.com/nodejs/node/pull/35210)
- **worker**: make MessageEvent class more Web-compatible (Anna
Henningsen) (https://github.com/nodejs/node/pull/35496)
- **worker**: set trackUnmanagedFds to true by default (Anna
Henningsen) (https://github.com/nodejs/node/pull/34394)
- **worker**: rename error code to be more accurate (Anna Henningsen)
(https://github.com/nodejs/node/pull/33872)
PR-URL: https://github.com/nodejs/node/pull/35014
2020-09-01 21:16:46 +01:00
|
|
|
- version: v15.0.0
|
2020-05-28 15:51:57 -07:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/33648
|
|
|
|
description: The legacy `node debug` command was removed.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version: v8.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/11441
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2017-03-14 14:20:38 -07:00
|
|
|
|
2020-06-01 19:49:06 -04:00
|
|
|
Type: End-of-Life
|
2017-03-14 14:20:38 -07:00
|
|
|
|
|
|
|
`node debug` corresponds to the legacy CLI debugger which has been replaced with
|
|
|
|
a V8-inspector based CLI debugger available through `node inspect`.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0069: `vm.runInDebugContext(string)`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v10.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/13295
|
|
|
|
description: End-of-Life.
|
|
|
|
- version: v9.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/12815
|
|
|
|
description: Runtime deprecation.
|
|
|
|
- version: v8.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/12243
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2017-05-03 11:38:56 -07:00
|
|
|
|
2017-11-24 00:13:44 +01:00
|
|
|
Type: End-of-Life
|
2017-05-03 11:38:56 -07:00
|
|
|
|
2018-03-04 22:46:49 +09:00
|
|
|
DebugContext has been removed in V8 and is not available in Node.js 10+.
|
2017-05-03 11:38:56 -07:00
|
|
|
|
2018-02-05 21:55:16 -08:00
|
|
|
DebugContext was an experimental API.
|
2017-06-14 12:39:53 +02:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0070: `async_hooks.currentId()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v9.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/14414
|
|
|
|
description: End-of-Life.
|
|
|
|
- version: v8.2.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/13490
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2017-06-14 12:39:53 +02:00
|
|
|
|
2017-07-21 19:24:28 +02:00
|
|
|
Type: End-of-Life
|
2017-06-14 12:39:53 +02:00
|
|
|
|
|
|
|
`async_hooks.currentId()` was renamed to `async_hooks.executionAsyncId()` for
|
|
|
|
clarity.
|
|
|
|
|
2018-02-05 21:55:16 -08:00
|
|
|
This change was made while `async_hooks` was an experimental API.
|
2017-06-14 12:39:53 +02:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0071: `async_hooks.triggerId()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v9.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/14414
|
|
|
|
description: End-of-Life.
|
|
|
|
- version: v8.2.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/13490
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2017-06-14 12:39:53 +02:00
|
|
|
|
2017-07-21 19:24:28 +02:00
|
|
|
Type: End-of-Life
|
2017-06-14 12:39:53 +02:00
|
|
|
|
|
|
|
`async_hooks.triggerId()` was renamed to `async_hooks.triggerAsyncId()` for
|
|
|
|
clarity.
|
|
|
|
|
2018-02-05 21:55:16 -08:00
|
|
|
This change was made while `async_hooks` was an experimental API.
|
2017-06-14 12:39:53 +02:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0072: `async_hooks.AsyncResource.triggerId()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v9.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/14414
|
|
|
|
description: End-of-Life.
|
|
|
|
- version: v8.2.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/13490
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2017-06-14 12:39:53 +02:00
|
|
|
|
2017-07-21 19:24:28 +02:00
|
|
|
Type: End-of-Life
|
2017-06-14 12:39:53 +02:00
|
|
|
|
|
|
|
`async_hooks.AsyncResource.triggerId()` was renamed to
|
|
|
|
`async_hooks.AsyncResource.triggerAsyncId()` for clarity.
|
|
|
|
|
2018-02-05 21:55:16 -08:00
|
|
|
This change was made while `async_hooks` was an experimental API.
|
2017-05-03 11:38:56 -07:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0073: Several internal properties of `net.Server`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v10.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/17141
|
|
|
|
description: End-of-Life.
|
|
|
|
- version: v9.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/14449
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2017-07-24 16:52:38 +02:00
|
|
|
|
2017-11-19 22:24:22 +01:00
|
|
|
Type: End-of-Life
|
2017-07-24 16:52:38 +02:00
|
|
|
|
|
|
|
Accessing several internal, undocumented properties of `net.Server` instances
|
2018-05-30 14:56:41 +02:00
|
|
|
with inappropriate names is deprecated.
|
2017-07-24 16:52:38 +02:00
|
|
|
|
2018-02-05 21:55:16 -08:00
|
|
|
As the original API was undocumented and not generally useful for non-internal
|
|
|
|
code, no replacement API is provided.
|
2017-07-24 16:52:38 +02:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0074: `REPLServer.bufferedCommand`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2020-10-20, Version 15.0.0 (Current)
Notable changes:
Deprecations and Removals:
- **build**: remove --build-v8-with-gn configure option (Yang Guo)
(https://github.com/nodejs/node/pull/27576)
- **build**: drop support for VS2017 (Michaël Zasso)
(https://github.com/nodejs/node/pull/33694)
- **doc**: move DEP0018 to End-of-Life (Rich Trott)
(https://github.com/nodejs/node/pull/35316)
- **fs**: deprecation warning on recursive rmdir (Ian Sutherland)
(https://github.com/nodejs/node/pull/35562)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(https://github.com/nodejs/node/pull/35496)
- **net**: remove long deprecated server.connections property (James M
Snell) (https://github.com/nodejs/node/pull/33647)
- **repl**: remove deprecated repl.memory function (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.turnOffEditorMode() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.parseREPLKeyword() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated bufferedCommand property (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated .rli (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **src**: remove deprecated node debug command (James M Snell)
(https://github.com/nodejs/node/pull/33648)
- **timers**: introduce timers/promises (James M Snell)
(https://github.com/nodejs/node/pull/33950)
- **util**: change default value of `maxStringLength` to 10000
(unknown) (https://github.com/nodejs/node/pull/32744)
- **wasi**: drop --experimental-wasm-bigint requirement (Colin Ihrig)
(https://github.com/nodejs/node/pull/35415)
npm 7 (https://github.com/nodejs/node/pull/35631):
Node.js 15 comes with a new major release of npm, npm 7. npm 7 comes
with many new features - including npm workspaces and a new
package-lock.json format. npm 7 also includes yarn.lock file support.
One of the big changes in npm 7 is that peer dependencies are now
installed by default.
Throw On Unhandled Rejections
(https://github.com/nodejs/node/pull/33021):
As of Node.js 15, the default mode for `unhandledRejection` is changed
to `throw` (from `warn`). In `throw` mode, if an `unhandledRejection`
hook is not set, the `unhandledRejection` is raised as an uncaught
exception. Users that have an `unhandledRejection` hook should see no
change in behavior, and it’s still possible to switch modes using the
`--unhandled-rejections=mode` process flag.
QUIC (https://github.com/nodejs/node/pull/32379):
Node.js 15 comes with experimental support QUIC, which can be enabled
by compiling Node.js with the `--experimental-quic` configuration flag.
The Node.js QUIC implementation is exposed by the core `net` module.
V8 8.6 (https://github.com/nodejs/node/pull/35415):
The V8 JavaScript engine has been updated to V8 8.6 (V8 8.4 is the
latest available in Node.js 14). Along with performance tweaks and
improvements the V8 update also brings the following language features:
* `Promise.any()` (from V8 8.5)
* `AggregateError` (from V8 8.5)
* `String.prototype.replaceAll()` (from V8 8.5)
* Logical assignment operators `&&=`, `||=`, and `??=` (from V8 8.5)
Other Notable Changes:
- **assert**: add `assert/strict` alias module (ExE Boss)
(https://github.com/nodejs/node/pull/34001)
- **dns**: add dns/promises alias (shisama)
(https://github.com/nodejs/node/pull/32953)
- **fs**: reimplement read and write streams using stream.construct
(Robert Nagy) (https://github.com/nodejs/node/pull/29656)
- **http2**: allow Host in HTTP/2 requests (Alba Mendez)
(https://github.com/nodejs/node/pull/34664)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(https://github.com/nodejs/node/pull/35496)
- **lib**: unflag AbortController (James M Snell)
(https://github.com/nodejs/node/pull/33527)
- **lib**: initial experimental AbortController implementation (James M
Snell) (https://github.com/nodejs/node/pull/33527)
- **net**: autoDestroy Socket (Robert Nagy)
(https://github.com/nodejs/node/pull/31806)
- **src**: disallow JS execution inside FreeEnvironment (Anna
Henningsen) (https://github.com/nodejs/node/pull/33874)
- **stream**: construct (Robert Nagy)
(https://github.com/nodejs/node/pull/29656)
- **worker**: make MessageEvent class more Web-compatible (Anna
Henningsen) (https://github.com/nodejs/node/pull/35496)
Semver-Major Commits:
- **assert**: add `assert/strict` alias module (ExE Boss)
(https://github.com/nodejs/node/pull/34001)
- **build**: reset embedder string to "-node.0" (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **build**: remove --build-v8-with-gn configure option (Yang Guo)
(https://github.com/nodejs/node/pull/27576)
- **build**: drop support for VS2017 (Michaël Zasso)
(https://github.com/nodejs/node/pull/33694)
- **crypto**: refactoring internals, add WebCrypto (James M Snell)
(https://github.com/nodejs/node/pull/35093)
- **crypto**: move node\_crypto files to src/crypto (James M Snell)
(https://github.com/nodejs/node/pull/35093)
- **deps**: V8: cherry-pick d76abfed3512 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: V8: cherry-pick 717543bbf0ef (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: V8: cherry-pick 6be2f6e26e8d (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: fix V8 build issue with inline methods (Jiawen Geng)
(https://github.com/nodejs/node/pull/35415)
- **deps**: fix platform-embedded-file-writer-win for ARM64 (Michaël
Zasso) (https://github.com/nodejs/node/pull/35415)
- **deps**: update V8 postmortem metadata script (Colin Ihrig)
(https://github.com/nodejs/node/pull/35415)
- **deps**: update V8 to 8.6.395 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: upgrade npm to 7.0.0 (Myles Borins)
(https://github.com/nodejs/node/pull/35631)
- **deps**: update npm to 7.0.0-rc.3 (Myles Borins)
(https://github.com/nodejs/node/pull/35474)
- **deps**: V8: cherry-pick 0d6debcc5f08 (Gus Caplan)
(https://github.com/nodejs/node/pull/33600)
- **dns**: add dns/promises alias (shisama)
(https://github.com/nodejs/node/pull/32953)
- **doc**: move DEP0018 to End-of-Life (Rich Trott)
(https://github.com/nodejs/node/pull/35316)
- **doc**: update support macos version for 15.x (Ash Cripps)
(https://github.com/nodejs/node/pull/35022)
- **fs**: deprecation warning on recursive rmdir (Ian Sutherland)
(https://github.com/nodejs/node/pull/35562)
- **fs**: reimplement read and write streams using stream.construct
(Robert Nagy) (https://github.com/nodejs/node/pull/29656)
- **http**: fixed socket.setEncoding fatal error (iskore)
(https://github.com/nodejs/node/pull/33405)
- **http**: emit 'error' on aborted server request (Robert Nagy)
(https://github.com/nodejs/node/pull/33172)
- **http**: cleanup end argument handling (Robert Nagy)
(https://github.com/nodejs/node/pull/31818)
- **http2**: allow Host in HTTP/2 requests (Alba Mendez)
(https://github.com/nodejs/node/pull/34664)
- **http2**: add `invalidheaders` test (Pranshu Srivastava)
(https://github.com/nodejs/node/pull/33161)
- **http2**: refactor state code validation for the http2Stream class
(rickyes) (https://github.com/nodejs/node/pull/33535)
- **http2**: header field valid checks (Pranshu Srivastava)
(https://github.com/nodejs/node/pull/33193)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(https://github.com/nodejs/node/pull/35496)
- **lib**: remove ERR\_INVALID\_OPT\_VALUE and
ERR\_INVALID\_OPT\_VALUE\_ENCODING (Denys Otrishko)
(https://github.com/nodejs/node/pull/34682)
- **lib**: handle one of args case in ERR\_MISSING\_ARGS (Denys
Otrishko) (https://github.com/nodejs/node/pull/34022)
- **lib**: remove NodeError from the prototype of errors with code
(Michaël Zasso) (https://github.com/nodejs/node/pull/33857)
- **lib**: unflag AbortController (James M Snell)
(https://github.com/nodejs/node/pull/33527)
- **lib**: initial experimental AbortController implementation (James M
Snell) (https://github.com/nodejs/node/pull/33527)
- **net**: check args in net.connect() and socket.connect() calls
(Denys Otrishko) (https://github.com/nodejs/node/pull/34022)
- **net**: remove long deprecated server.connections property (James M
Snell) (https://github.com/nodejs/node/pull/33647)
- **net**: autoDestroy Socket (Robert Nagy)
(https://github.com/nodejs/node/pull/31806)
- **process**: update v8 fast api calls usage (Maya Lekova)
(https://github.com/nodejs/node/pull/35415)
- **process**: change default --unhandled-rejections=throw (Dan
Fabulich) (https://github.com/nodejs/node/pull/33021)
- **process**: use v8 fast api calls for hrtime (Gus Caplan)
(https://github.com/nodejs/node/pull/33600)
- **process**: delay throwing an error using `throwDeprecation` (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/32312)
- **repl**: remove deprecated repl.memory function (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.turnOffEditorMode() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.parseREPLKeyword() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated bufferedCommand property (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated .rli (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **src**: implement NodePlatform::PostJob (Clemens Backes)
(https://github.com/nodejs/node/pull/35415)
- **src**: update NODE\_MODULE\_VERSION to 88 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **src**: error reporting on CPUUsage (Yash Ladha)
(https://github.com/nodejs/node/pull/34762)
- **src**: use node:moduleName as builtin module filename (Michaël
Zasso) (https://github.com/nodejs/node/pull/35498)
- **src**: enable wasm trap handler on windows (Gus Caplan)
(https://github.com/nodejs/node/pull/35033)
- **src**: update NODE\_MODULE\_VERSION to 86 (Michaël Zasso)
(https://github.com/nodejs/node/pull/33579)
- **src**: disallow JS execution inside FreeEnvironment (Anna
Henningsen) (https://github.com/nodejs/node/pull/33874)
- **src**: remove \_third\_party\_main support (Anna Henningsen)
(https://github.com/nodejs/node/pull/33971)
- **src**: remove deprecated node debug command (James M Snell)
(https://github.com/nodejs/node/pull/33648)
- **src**: remove unused CancelPendingDelayedTasks (Anna Henningsen)
(https://github.com/nodejs/node/pull/32859)
- **stream**: try to wait for flush to complete before 'finish' (Robert
Nagy) (https://github.com/nodejs/node/pull/34314)
- **stream**: cleanup and fix Readable.wrap (Robert Nagy)
(https://github.com/nodejs/node/pull/34204)
- **stream**: add promises version to utility functions (rickyes)
(https://github.com/nodejs/node/pull/33991)
- **stream**: fix writable.end callback behavior (Robert Nagy)
(https://github.com/nodejs/node/pull/34101)
- **stream**: construct (Robert Nagy)
(https://github.com/nodejs/node/pull/29656)
- **stream**: write should throw on unknown encoding (Robert Nagy)
(https://github.com/nodejs/node/pull/33075)
- **stream**: fix \_final and 'prefinish' timing (Robert Nagy)
(https://github.com/nodejs/node/pull/32780)
- **stream**: simplify Transform stream implementation (Robert Nagy)
(https://github.com/nodejs/node/pull/32763)
- **stream**: use callback to properly propagate error (Robert Nagy)
(https://github.com/nodejs/node/pull/29179)
- **test**: update tests after increasing typed array size to 4GB
(Kim-Anh Tran) (https://github.com/nodejs/node/pull/35415)
- **test**: fix tests for npm 7.0.0 (Myles Borins)
(https://github.com/nodejs/node/pull/35631)
- **test**: fix test suite to work with npm 7 (Myles Borins)
(https://github.com/nodejs/node/pull/35474)
- **test**: update WPT harness and tests (Michaël Zasso)
(https://github.com/nodejs/node/pull/33770)
- **timers**: introduce timers/promises (James M Snell)
(https://github.com/nodejs/node/pull/33950)
- **tools**: disable x86 safe exception handlers in V8 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **tools**: update V8 gypfiles for 8.6 (Ujjwal Sharma)
(https://github.com/nodejs/node/pull/35415)
- **tools**: update V8 gypfiles for 8.5 (Ujjwal Sharma)
(https://github.com/nodejs/node/pull/35415)
- **url**: file URL path normalization (Daijiro Wachi)
(https://github.com/nodejs/node/pull/35477)
- **url**: verify domain is not empty after "ToASCII" (Michaël Zasso)
(https://github.com/nodejs/node/pull/33770)
- **url**: remove U+0000 case in the fragment state (Michaël Zasso)
(https://github.com/nodejs/node/pull/33770)
- **url**: remove gopher from special schemes (Michaël Zasso)
(https://github.com/nodejs/node/pull/33325)
- **url**: forbid lt and gt in url host code point (Yash Ladha)
(https://github.com/nodejs/node/pull/33328)
- **util**: change default value of `maxStringLength` to 10000
(unknown) (https://github.com/nodejs/node/pull/32744)
- **wasi**: drop --experimental-wasm-bigint requirement (Colin Ihrig)
(https://github.com/nodejs/node/pull/35415)
- **win, child_process**: sanitize env variables (Bartosz Sosnowski)
(https://github.com/nodejs/node/pull/35210)
- **worker**: make MessageEvent class more Web-compatible (Anna
Henningsen) (https://github.com/nodejs/node/pull/35496)
- **worker**: set trackUnmanagedFds to true by default (Anna
Henningsen) (https://github.com/nodejs/node/pull/34394)
- **worker**: rename error code to be more accurate (Anna Henningsen)
(https://github.com/nodejs/node/pull/33872)
PR-URL: https://github.com/nodejs/node/pull/35014
2020-09-01 21:16:46 +01:00
|
|
|
- version: v15.0.0
|
2020-05-07 20:22:12 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/33286
|
|
|
|
description: End-of-Life.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version: v9.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/13687
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2017-06-14 15:52:15 -04:00
|
|
|
|
2020-05-07 20:22:12 +02:00
|
|
|
Type: End-of-Life
|
2017-06-14 15:52:15 -04:00
|
|
|
|
|
|
|
The `REPLServer.bufferedCommand` property was deprecated in favor of
|
|
|
|
[`REPLServer.clearBufferedCommand()`][].
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0075: `REPLServer.parseREPLKeyword()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2020-10-20, Version 15.0.0 (Current)
Notable changes:
Deprecations and Removals:
- **build**: remove --build-v8-with-gn configure option (Yang Guo)
(https://github.com/nodejs/node/pull/27576)
- **build**: drop support for VS2017 (Michaël Zasso)
(https://github.com/nodejs/node/pull/33694)
- **doc**: move DEP0018 to End-of-Life (Rich Trott)
(https://github.com/nodejs/node/pull/35316)
- **fs**: deprecation warning on recursive rmdir (Ian Sutherland)
(https://github.com/nodejs/node/pull/35562)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(https://github.com/nodejs/node/pull/35496)
- **net**: remove long deprecated server.connections property (James M
Snell) (https://github.com/nodejs/node/pull/33647)
- **repl**: remove deprecated repl.memory function (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.turnOffEditorMode() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.parseREPLKeyword() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated bufferedCommand property (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated .rli (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **src**: remove deprecated node debug command (James M Snell)
(https://github.com/nodejs/node/pull/33648)
- **timers**: introduce timers/promises (James M Snell)
(https://github.com/nodejs/node/pull/33950)
- **util**: change default value of `maxStringLength` to 10000
(unknown) (https://github.com/nodejs/node/pull/32744)
- **wasi**: drop --experimental-wasm-bigint requirement (Colin Ihrig)
(https://github.com/nodejs/node/pull/35415)
npm 7 (https://github.com/nodejs/node/pull/35631):
Node.js 15 comes with a new major release of npm, npm 7. npm 7 comes
with many new features - including npm workspaces and a new
package-lock.json format. npm 7 also includes yarn.lock file support.
One of the big changes in npm 7 is that peer dependencies are now
installed by default.
Throw On Unhandled Rejections
(https://github.com/nodejs/node/pull/33021):
As of Node.js 15, the default mode for `unhandledRejection` is changed
to `throw` (from `warn`). In `throw` mode, if an `unhandledRejection`
hook is not set, the `unhandledRejection` is raised as an uncaught
exception. Users that have an `unhandledRejection` hook should see no
change in behavior, and it’s still possible to switch modes using the
`--unhandled-rejections=mode` process flag.
QUIC (https://github.com/nodejs/node/pull/32379):
Node.js 15 comes with experimental support QUIC, which can be enabled
by compiling Node.js with the `--experimental-quic` configuration flag.
The Node.js QUIC implementation is exposed by the core `net` module.
V8 8.6 (https://github.com/nodejs/node/pull/35415):
The V8 JavaScript engine has been updated to V8 8.6 (V8 8.4 is the
latest available in Node.js 14). Along with performance tweaks and
improvements the V8 update also brings the following language features:
* `Promise.any()` (from V8 8.5)
* `AggregateError` (from V8 8.5)
* `String.prototype.replaceAll()` (from V8 8.5)
* Logical assignment operators `&&=`, `||=`, and `??=` (from V8 8.5)
Other Notable Changes:
- **assert**: add `assert/strict` alias module (ExE Boss)
(https://github.com/nodejs/node/pull/34001)
- **dns**: add dns/promises alias (shisama)
(https://github.com/nodejs/node/pull/32953)
- **fs**: reimplement read and write streams using stream.construct
(Robert Nagy) (https://github.com/nodejs/node/pull/29656)
- **http2**: allow Host in HTTP/2 requests (Alba Mendez)
(https://github.com/nodejs/node/pull/34664)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(https://github.com/nodejs/node/pull/35496)
- **lib**: unflag AbortController (James M Snell)
(https://github.com/nodejs/node/pull/33527)
- **lib**: initial experimental AbortController implementation (James M
Snell) (https://github.com/nodejs/node/pull/33527)
- **net**: autoDestroy Socket (Robert Nagy)
(https://github.com/nodejs/node/pull/31806)
- **src**: disallow JS execution inside FreeEnvironment (Anna
Henningsen) (https://github.com/nodejs/node/pull/33874)
- **stream**: construct (Robert Nagy)
(https://github.com/nodejs/node/pull/29656)
- **worker**: make MessageEvent class more Web-compatible (Anna
Henningsen) (https://github.com/nodejs/node/pull/35496)
Semver-Major Commits:
- **assert**: add `assert/strict` alias module (ExE Boss)
(https://github.com/nodejs/node/pull/34001)
- **build**: reset embedder string to "-node.0" (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **build**: remove --build-v8-with-gn configure option (Yang Guo)
(https://github.com/nodejs/node/pull/27576)
- **build**: drop support for VS2017 (Michaël Zasso)
(https://github.com/nodejs/node/pull/33694)
- **crypto**: refactoring internals, add WebCrypto (James M Snell)
(https://github.com/nodejs/node/pull/35093)
- **crypto**: move node\_crypto files to src/crypto (James M Snell)
(https://github.com/nodejs/node/pull/35093)
- **deps**: V8: cherry-pick d76abfed3512 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: V8: cherry-pick 717543bbf0ef (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: V8: cherry-pick 6be2f6e26e8d (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: fix V8 build issue with inline methods (Jiawen Geng)
(https://github.com/nodejs/node/pull/35415)
- **deps**: fix platform-embedded-file-writer-win for ARM64 (Michaël
Zasso) (https://github.com/nodejs/node/pull/35415)
- **deps**: update V8 postmortem metadata script (Colin Ihrig)
(https://github.com/nodejs/node/pull/35415)
- **deps**: update V8 to 8.6.395 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: upgrade npm to 7.0.0 (Myles Borins)
(https://github.com/nodejs/node/pull/35631)
- **deps**: update npm to 7.0.0-rc.3 (Myles Borins)
(https://github.com/nodejs/node/pull/35474)
- **deps**: V8: cherry-pick 0d6debcc5f08 (Gus Caplan)
(https://github.com/nodejs/node/pull/33600)
- **dns**: add dns/promises alias (shisama)
(https://github.com/nodejs/node/pull/32953)
- **doc**: move DEP0018 to End-of-Life (Rich Trott)
(https://github.com/nodejs/node/pull/35316)
- **doc**: update support macos version for 15.x (Ash Cripps)
(https://github.com/nodejs/node/pull/35022)
- **fs**: deprecation warning on recursive rmdir (Ian Sutherland)
(https://github.com/nodejs/node/pull/35562)
- **fs**: reimplement read and write streams using stream.construct
(Robert Nagy) (https://github.com/nodejs/node/pull/29656)
- **http**: fixed socket.setEncoding fatal error (iskore)
(https://github.com/nodejs/node/pull/33405)
- **http**: emit 'error' on aborted server request (Robert Nagy)
(https://github.com/nodejs/node/pull/33172)
- **http**: cleanup end argument handling (Robert Nagy)
(https://github.com/nodejs/node/pull/31818)
- **http2**: allow Host in HTTP/2 requests (Alba Mendez)
(https://github.com/nodejs/node/pull/34664)
- **http2**: add `invalidheaders` test (Pranshu Srivastava)
(https://github.com/nodejs/node/pull/33161)
- **http2**: refactor state code validation for the http2Stream class
(rickyes) (https://github.com/nodejs/node/pull/33535)
- **http2**: header field valid checks (Pranshu Srivastava)
(https://github.com/nodejs/node/pull/33193)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(https://github.com/nodejs/node/pull/35496)
- **lib**: remove ERR\_INVALID\_OPT\_VALUE and
ERR\_INVALID\_OPT\_VALUE\_ENCODING (Denys Otrishko)
(https://github.com/nodejs/node/pull/34682)
- **lib**: handle one of args case in ERR\_MISSING\_ARGS (Denys
Otrishko) (https://github.com/nodejs/node/pull/34022)
- **lib**: remove NodeError from the prototype of errors with code
(Michaël Zasso) (https://github.com/nodejs/node/pull/33857)
- **lib**: unflag AbortController (James M Snell)
(https://github.com/nodejs/node/pull/33527)
- **lib**: initial experimental AbortController implementation (James M
Snell) (https://github.com/nodejs/node/pull/33527)
- **net**: check args in net.connect() and socket.connect() calls
(Denys Otrishko) (https://github.com/nodejs/node/pull/34022)
- **net**: remove long deprecated server.connections property (James M
Snell) (https://github.com/nodejs/node/pull/33647)
- **net**: autoDestroy Socket (Robert Nagy)
(https://github.com/nodejs/node/pull/31806)
- **process**: update v8 fast api calls usage (Maya Lekova)
(https://github.com/nodejs/node/pull/35415)
- **process**: change default --unhandled-rejections=throw (Dan
Fabulich) (https://github.com/nodejs/node/pull/33021)
- **process**: use v8 fast api calls for hrtime (Gus Caplan)
(https://github.com/nodejs/node/pull/33600)
- **process**: delay throwing an error using `throwDeprecation` (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/32312)
- **repl**: remove deprecated repl.memory function (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.turnOffEditorMode() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.parseREPLKeyword() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated bufferedCommand property (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated .rli (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **src**: implement NodePlatform::PostJob (Clemens Backes)
(https://github.com/nodejs/node/pull/35415)
- **src**: update NODE\_MODULE\_VERSION to 88 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **src**: error reporting on CPUUsage (Yash Ladha)
(https://github.com/nodejs/node/pull/34762)
- **src**: use node:moduleName as builtin module filename (Michaël
Zasso) (https://github.com/nodejs/node/pull/35498)
- **src**: enable wasm trap handler on windows (Gus Caplan)
(https://github.com/nodejs/node/pull/35033)
- **src**: update NODE\_MODULE\_VERSION to 86 (Michaël Zasso)
(https://github.com/nodejs/node/pull/33579)
- **src**: disallow JS execution inside FreeEnvironment (Anna
Henningsen) (https://github.com/nodejs/node/pull/33874)
- **src**: remove \_third\_party\_main support (Anna Henningsen)
(https://github.com/nodejs/node/pull/33971)
- **src**: remove deprecated node debug command (James M Snell)
(https://github.com/nodejs/node/pull/33648)
- **src**: remove unused CancelPendingDelayedTasks (Anna Henningsen)
(https://github.com/nodejs/node/pull/32859)
- **stream**: try to wait for flush to complete before 'finish' (Robert
Nagy) (https://github.com/nodejs/node/pull/34314)
- **stream**: cleanup and fix Readable.wrap (Robert Nagy)
(https://github.com/nodejs/node/pull/34204)
- **stream**: add promises version to utility functions (rickyes)
(https://github.com/nodejs/node/pull/33991)
- **stream**: fix writable.end callback behavior (Robert Nagy)
(https://github.com/nodejs/node/pull/34101)
- **stream**: construct (Robert Nagy)
(https://github.com/nodejs/node/pull/29656)
- **stream**: write should throw on unknown encoding (Robert Nagy)
(https://github.com/nodejs/node/pull/33075)
- **stream**: fix \_final and 'prefinish' timing (Robert Nagy)
(https://github.com/nodejs/node/pull/32780)
- **stream**: simplify Transform stream implementation (Robert Nagy)
(https://github.com/nodejs/node/pull/32763)
- **stream**: use callback to properly propagate error (Robert Nagy)
(https://github.com/nodejs/node/pull/29179)
- **test**: update tests after increasing typed array size to 4GB
(Kim-Anh Tran) (https://github.com/nodejs/node/pull/35415)
- **test**: fix tests for npm 7.0.0 (Myles Borins)
(https://github.com/nodejs/node/pull/35631)
- **test**: fix test suite to work with npm 7 (Myles Borins)
(https://github.com/nodejs/node/pull/35474)
- **test**: update WPT harness and tests (Michaël Zasso)
(https://github.com/nodejs/node/pull/33770)
- **timers**: introduce timers/promises (James M Snell)
(https://github.com/nodejs/node/pull/33950)
- **tools**: disable x86 safe exception handlers in V8 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **tools**: update V8 gypfiles for 8.6 (Ujjwal Sharma)
(https://github.com/nodejs/node/pull/35415)
- **tools**: update V8 gypfiles for 8.5 (Ujjwal Sharma)
(https://github.com/nodejs/node/pull/35415)
- **url**: file URL path normalization (Daijiro Wachi)
(https://github.com/nodejs/node/pull/35477)
- **url**: verify domain is not empty after "ToASCII" (Michaël Zasso)
(https://github.com/nodejs/node/pull/33770)
- **url**: remove U+0000 case in the fragment state (Michaël Zasso)
(https://github.com/nodejs/node/pull/33770)
- **url**: remove gopher from special schemes (Michaël Zasso)
(https://github.com/nodejs/node/pull/33325)
- **url**: forbid lt and gt in url host code point (Yash Ladha)
(https://github.com/nodejs/node/pull/33328)
- **util**: change default value of `maxStringLength` to 10000
(unknown) (https://github.com/nodejs/node/pull/32744)
- **wasi**: drop --experimental-wasm-bigint requirement (Colin Ihrig)
(https://github.com/nodejs/node/pull/35415)
- **win, child_process**: sanitize env variables (Bartosz Sosnowski)
(https://github.com/nodejs/node/pull/35210)
- **worker**: make MessageEvent class more Web-compatible (Anna
Henningsen) (https://github.com/nodejs/node/pull/35496)
- **worker**: set trackUnmanagedFds to true by default (Anna
Henningsen) (https://github.com/nodejs/node/pull/34394)
- **worker**: rename error code to be more accurate (Anna Henningsen)
(https://github.com/nodejs/node/pull/33872)
PR-URL: https://github.com/nodejs/node/pull/35014
2020-09-01 21:16:46 +01:00
|
|
|
- version: v15.0.0
|
2020-05-07 20:28:19 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/33286
|
|
|
|
description: End-of-Life.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version: v9.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/14223
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2017-07-13 14:17:33 -04:00
|
|
|
|
2020-05-07 20:28:19 +02:00
|
|
|
Type: End-of-Life
|
2017-07-13 14:17:33 -04:00
|
|
|
|
|
|
|
`REPLServer.parseREPLKeyword()` was removed from userland visibility.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0076: `tls.parseCertString()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2022-04-19, Version 18.0.0 (Current)
Notable Changes:
Deprecations and Removals:
- (SEMVER-MAJOR) fs: runtime deprecate string coercion in `fs.write`,
`fs.writeFileSync`
(Livia Medeiros) (https://github.com/nodejs/node/pull/42607)
- (SEMVER-MAJOR) dns: remove `dns.lookup` and `dnsPromises.lookup`
options type coercion
(Antoine du Hamel) (https://github.com/nodejs/node/pull/41431)
- (SEMVER-MAJOR) process: runtime deprecate multipleResolves
(Benjamin Gruenbaum) (https://github.com/nodejs/node/pull/41896)
- (SEMVER-MAJOR) stream: remove thenable support (Robert Nagy)
(https://github.com/nodejs/node/pull/40773)
- (SEMVER-MAJOR) tls: move tls.parseCertString to end-of-life
(Tobias Nießen) (https://github.com/nodejs/node/pull/41479)
fetch (experimental):
An experimental fetch API is available on the global scope by default.
The implementation is based upon https://undici.nodejs.org/#/,
an HTTP/1.1 client written for Node.js by contributors to the project.
Through this addition, the following globals are made available: `fetch`
, `FormData`, `Headers`, `Request`, `Response`.
Disable this API with the `--no-experimental-fetch` command-line flag.
Contributed by Michaël Zasso in https://github.com/nodejs/node/pull/41811.
HTTP Timeouts:
`server.headersTimeout`, which limits the amount of time the parser will
wait to receive the complete HTTP headers, is now set to `60000` (60
seconds) by default.
`server.requestTimeout`, which sets the timeout value in milliseconds
for receiving the entire request from the client, is now set to `300000`
(5 minutes) by default.
If these timeouts expire, the server responds with status 408 without
forwarding the request to the request listener and then closes the
connection.
Both timeouts must be set to a non-zero value to protect against
potential Denial-of-Service attacks in case the server is deployed
without a reverse proxy in front.
Contributed by Paolo Insogna in https://github.com/nodejs/node/pull/41263.
Test Runner module (experimental):
The `node:test` module facilitates the creation of JavaScript tests that
report results in TAP format. This module is only available under the
`node:` scheme.
Contributed by Colin Ihrig in https://github.com/nodejs/node/pull/42325.
Toolchain and Compiler Upgrades:
- Prebuilt binaries for Linux are now built on Red Hat Enterprise Linux
(RHEL) 8 and are compatible with Linux distributions based on glibc
2.28 or later, for example, Debian 10, RHEL 8, Ubuntu 20.04.
- Prebuilt binaries for macOS now require macOS 10.15 or later.
- For AIX the minimum supported architecture has been raised from Power
7 to Power 8.
Prebuilt binaries for 32-bit Windows will initially not be available due
to issues building the V8 dependency in Node.js. We hope to restore
32-bit Windows binaries for Node.js 18 with a future V8 update.
Node.js does not support running on operating systems that are no longer
supported by their vendor. For operating systems where their vendor has
planned to end support earlier than April 2025, such as Windows 8.1
(January 2023) and Windows Server 2012 R2 (October 2023), support for
Node.js 18 will end at the earlier date.
Full details about the supported toolchains and compilers are documented
in the Node.js `BUILDING.md` file.
Contributed by Richard Lau in https://github.com/nodejs/node/pull/42292,
https://github.com/nodejs/node/pull/42604 and https://github.com/nodejs/node/pull/42659
, and Michaël Zasso in https://github.com/nodejs/node/pull/42105 and
https://github.com/nodejs/node/pull/42666.
V8 10.1:
The V8 engine is updated to version 10.1, which is part of Chromium 101.
Compared to the version included in Node.js 17.9.0, the following new
features are included:
- The `findLast` and `findLastIndex` array methods.
- Improvements to the `Intl.Locale` API.
- The `Intl.supportedValuesOf` function.
- Improved performance of class fields and private class methods (the
initialization of them is now as fast as ordinary property stores).
The data format returned by the serialization API (`v8.serialize(value)`)
has changed, and cannot be deserialized by earlier versions of Node.js.
On the other hand, it is still possible to deserialize the previous
format, as the API is backwards-compatible.
Contributed by Michaël Zasso in https://github.com/nodejs/node/pull/42657.
Web Streams API (experimental):
Node.js now exposes the experimental implementation of the Web Streams
API on the global scope. This means the following APIs are now globally
available:
- `ReadableStream`, `ReadableStreamDefaultReader`,
`ReadableStreamBYOBReader`, `ReadableStreamBYOBRequest`,
`ReadableByteStreamController`, `ReadableStreamDefaultController`,
`TransformStream`, `TransformStreamDefaultController`, `WritableStream`,
`WritableStreamDefaultWriter`, `WritableStreamDefaultController`,
`ByteLengthQueuingStrategy`, `CountQueuingStrategy`, `TextEncoderStream`,
`TextDecoderStream`, `CompressionStream`, `DecompressionStream`.
Contributed James Snell in https://github.com/nodejs/node/pull/39062,
and Antoine du Hamel in https://github.com/nodejs/node/pull/42225.
Other Notable Changes:
- (SEMVER-MAJOR) buffer: expose Blob as a global
(James M Snell) (https://github.com/nodejs/node/pull/41270)
- (SEMVER-MAJOR) child\_process: improve argument validation
(Rich Trott) (https://github.com/nodejs/node/pull/41305)
- doc: add RafaelGSS to collaborators
(RafaelGSS) (https://github.com/nodejs/node/pull/42718)
- (SEMVER-MAJOR) http: make TCP noDelay enabled by default
(Paolo Insogna) (https://github.com/nodejs/node/pull/42163)
- (SEMVER-MAJOR) net: make `server.address()` return an integer for
`family`
(Antoine du Hamel) (https://github.com/nodejs/node/pull/41431)
- (SEMVER-MAJOR) worker: expose BroadcastChannel as a global
(James M Snell) (https://github.com/nodejs/node/pull/41271)
- (SEMVER-MAJOR) worker: graduate BroadcastChannel to supported
(James M Snell) (https://github.com/nodejs/node/pull/41271)
Semver-Major Commits:
- (SEMVER-MAJOR) assert,util: compare RegExp.lastIndex while using deep
equal checks
(Ruben Bridgewater) (https://github.com/nodejs/node/pull/41020)
- (SEMVER-MAJOR) buffer: refactor `byteLength` to remove outdated
optimizations
(Rongjian Zhang) (https://github.com/nodejs/node/pull/38545)
- (SEMVER-MAJOR) buffer: expose Blob as a global
(James M Snell) (https://github.com/nodejs/node/pull/41270)
- (SEMVER-MAJOR) buffer: graduate Blob from experimental
(James M Snell) (https://github.com/nodejs/node/pull/41270)
- (SEMVER-MAJOR) build: make x86 Windows support temporarily
experimental
(Michaël Zasso) (https://github.com/nodejs/node/pull/42666)
- (SEMVER-MAJOR) build: bump macOS deployment target to 10.15
(Richard Lau) (https://github.com/nodejs/node/pull/42292)
- (SEMVER-MAJOR) build: downgrade Windows 8.1 and server 2012 R2 to
experimental
(Michaël Zasso) (https://github.com/nodejs/node/pull/42105)
- (SEMVER-MAJOR) child\_process: improve argument validation
(Rich Trott) (https://github.com/nodejs/node/pull/41305)
- (SEMVER-MAJOR) cluster: make `kill` to be just `process.kill`
(Bar Admoni) (https://github.com/nodejs/node/pull/34312)
- (SEMVER-MAJOR) crypto: cleanup validation
(Mohammed Keyvanzadeh) (https://github.com/nodejs/node/pull/39841)
- (SEMVER-MAJOR) crypto: prettify othername in PrintGeneralName
(Tobias Nießen) (https://github.com/nodejs/node/pull/42123)
- (SEMVER-MAJOR) crypto: fix X509Certificate toLegacyObject
(Tobias Nießen) (https://github.com/nodejs/node/pull/42124)
- (SEMVER-MAJOR) crypto: use RFC2253 format in PrintGeneralName
(Tobias Nießen) (https://github.com/nodejs/node/pull/42002)
- (SEMVER-MAJOR) crypto: change default check(Host|Email) behavior
(Tobias Nießen) (https://github.com/nodejs/node/pull/41600)
- (SEMVER-MAJOR) deps: V8: cherry-pick semver-major commits from 10.2
(Michaël Zasso) (https://github.com/nodejs/node/pull/42657)
- (SEMVER-MAJOR) deps: update V8 to 10.1.124.6
(Michaël Zasso) (https://github.com/nodejs/node/pull/42657)
- (SEMVER-MAJOR) deps: update V8 to 9.8.177.9
(Michaël Zasso) (https://github.com/nodejs/node/pull/41610)
- (SEMVER-MAJOR) deps: update V8 to 9.7.106.18
(Michaël Zasso) (https://github.com/nodejs/node/pull/40907)
- (SEMVER-MAJOR) dns: remove `dns.lookup` and `dnsPromises.lookup`
options type coercion
(Antoine du Hamel) (https://github.com/nodejs/node/pull/41431)
- (SEMVER-MAJOR) doc: update minimum glibc requirements for Linux
(Richard Lau) (https://github.com/nodejs/node/pull/42659)
- (SEMVER-MAJOR) doc: update AIX minimum supported arch
(Richard Lau) (https://github.com/nodejs/node/pull/42604)
- (SEMVER-MAJOR) fs: runtime deprecate string coercion in `fs.write`,
`fs.writeFileSync`
(Livia Medeiros) (https://github.com/nodejs/node/pull/42607)
- (SEMVER-MAJOR) http: refactor headersTimeout and requestTimeout logic
(Paolo Insogna) (https://github.com/nodejs/node/pull/41263)
- (SEMVER-MAJOR) http: make TCP noDelay enabled by default
(Paolo Insogna) (https://github.com/nodejs/node/pull/42163)
- (SEMVER-MAJOR) lib: enable fetch by default
(Michaël Zasso) (https://github.com/nodejs/node/pull/41811)
- (SEMVER-MAJOR) lib: replace validator and error
(Mohammed Keyvanzadeh) (https://github.com/nodejs/node/pull/41678)
- (SEMVER-MAJOR) module,repl: support 'node:'-only core modules
(Colin Ihrig) (https://github.com/nodejs/node/pull/42325)
- (SEMVER-MAJOR) net: make `server.address()` return an integer for
`family`
(Antoine du Hamel) (https://github.com/nodejs/node/pull/41431)
- (SEMVER-MAJOR) process: disallow some uses of Object.defineProperty()
on process.env
(Himself65) (https://github.com/nodejs/node/pull/28006)
- (SEMVER-MAJOR) process: runtime deprecate multipleResolves
(Benjamin Gruenbaum) (https://github.com/nodejs/node/pull/41896)
- (SEMVER-MAJOR) readline: fix question still called after closed
(Xuguang Mei) (https://github.com/nodejs/node/pull/42464)
- (SEMVER-MAJOR) stream: remove thenable support
(Robert Nagy) (https://github.com/nodejs/node/pull/40773)
- (SEMVER-MAJOR) stream: expose web streams globals, remove runtime
experimental warning
(Antoine du Hamel) (https://github.com/nodejs/node/pull/42225)
- (SEMVER-MAJOR) stream: need to cleanup event listeners if last stream
is readable
(Xuguang Mei) (https://github.com/nodejs/node/pull/41954)
- (SEMVER-MAJOR) stream: revert revert `map` spec compliance
(Benjamin Gruenbaum) (https://github.com/nodejs/node/pull/41933)
- (SEMVER-MAJOR) stream: throw invalid arg type from End Of Stream
(Jithil P Ponnan) (https://github.com/nodejs/node/pull/41766)
- (SEMVER-MAJOR) stream: don't emit finish after destroy
(Robert Nagy) (https://github.com/nodejs/node/pull/40852)
- (SEMVER-MAJOR) stream: add errored and closed props
(Robert Nagy) (https://github.com/nodejs/node/pull/40696)
- (SEMVER-MAJOR) test: add initial test module
(Colin Ihrig) (https://github.com/nodejs/node/pull/42325)
- (SEMVER-MAJOR) timers: refactor internal classes to ES2015 syntax
(Rabbit) (https://github.com/nodejs/node/pull/37408)
- (SEMVER-MAJOR) tls: represent registeredID numerically always
(Tobias Nießen) (https://github.com/nodejs/node/pull/41561)
- (SEMVER-MAJOR) tls: move tls.parseCertString to end-of-life
(Tobias Nießen) (https://github.com/nodejs/node/pull/41479)
- (SEMVER-MAJOR) url: throw on NULL in IPv6 hostname
(Rich Trott) (https://github.com/nodejs/node/pull/42313)
- (SEMVER-MAJOR) v8: make v8.writeHeapSnapshot() error codes consistent
(Darshan Sen) (https://github.com/nodejs/node/pull/42577)
- (SEMVER-MAJOR) v8: make writeHeapSnapshot throw if fopen fails
(Antonio Román) (https://github.com/nodejs/node/pull/41373)
- (SEMVER-MAJOR) worker: expose BroadcastChannel as a global
(James M Snell) (https://github.com/nodejs/node/pull/41271)
- (SEMVER-MAJOR) worker: graduate BroadcastChannel to supported
(James M Snell) (https://github.com/nodejs/node/pull/41271)
PR-URL: https://github.com/nodejs/node/pull/42262
2022-03-08 01:39:47 +00:00
|
|
|
- version: v18.0.0
|
2022-01-11 16:11:55 +00:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/41479
|
|
|
|
description: End-of-Life.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version: v9.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/14249
|
|
|
|
description: Runtime deprecation.
|
|
|
|
- version: v8.6.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/14245
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2017-08-10 11:16:44 +08:00
|
|
|
|
2022-01-11 16:11:55 +00:00
|
|
|
Type: End-of-Life
|
2017-08-10 11:16:44 +08:00
|
|
|
|
2022-01-11 16:11:55 +00:00
|
|
|
`tls.parseCertString()` was a trivial parsing helper that was made public by
|
|
|
|
mistake. While it was supposed to parse certificate subject and issuer strings,
|
|
|
|
it never handled multi-value Relative Distinguished Names correctly.
|
2017-08-10 11:16:44 +08:00
|
|
|
|
2022-01-11 16:11:55 +00:00
|
|
|
Earlier versions of this document suggested using `querystring.parse()` as an
|
|
|
|
alternative to `tls.parseCertString()`. However, `querystring.parse()` also does
|
|
|
|
not handle all certificate subjects correctly and should not be used.
|
2017-07-13 14:17:33 -04:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0077: `Module._debug()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v9.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/13948
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2017-06-28 01:20:12 +08:00
|
|
|
|
|
|
|
Type: Runtime
|
|
|
|
|
2018-05-30 14:56:41 +02:00
|
|
|
`Module._debug()` is deprecated.
|
2017-06-28 01:20:12 +08:00
|
|
|
|
2018-04-02 08:38:48 +03:00
|
|
|
The `Module._debug()` function was never documented as an officially
|
2018-02-12 02:31:55 -05:00
|
|
|
supported API.
|
2017-06-28 01:20:12 +08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0078: `REPLServer.turnOffEditorMode()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2020-10-20, Version 15.0.0 (Current)
Notable changes:
Deprecations and Removals:
- **build**: remove --build-v8-with-gn configure option (Yang Guo)
(https://github.com/nodejs/node/pull/27576)
- **build**: drop support for VS2017 (Michaël Zasso)
(https://github.com/nodejs/node/pull/33694)
- **doc**: move DEP0018 to End-of-Life (Rich Trott)
(https://github.com/nodejs/node/pull/35316)
- **fs**: deprecation warning on recursive rmdir (Ian Sutherland)
(https://github.com/nodejs/node/pull/35562)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(https://github.com/nodejs/node/pull/35496)
- **net**: remove long deprecated server.connections property (James M
Snell) (https://github.com/nodejs/node/pull/33647)
- **repl**: remove deprecated repl.memory function (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.turnOffEditorMode() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.parseREPLKeyword() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated bufferedCommand property (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated .rli (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **src**: remove deprecated node debug command (James M Snell)
(https://github.com/nodejs/node/pull/33648)
- **timers**: introduce timers/promises (James M Snell)
(https://github.com/nodejs/node/pull/33950)
- **util**: change default value of `maxStringLength` to 10000
(unknown) (https://github.com/nodejs/node/pull/32744)
- **wasi**: drop --experimental-wasm-bigint requirement (Colin Ihrig)
(https://github.com/nodejs/node/pull/35415)
npm 7 (https://github.com/nodejs/node/pull/35631):
Node.js 15 comes with a new major release of npm, npm 7. npm 7 comes
with many new features - including npm workspaces and a new
package-lock.json format. npm 7 also includes yarn.lock file support.
One of the big changes in npm 7 is that peer dependencies are now
installed by default.
Throw On Unhandled Rejections
(https://github.com/nodejs/node/pull/33021):
As of Node.js 15, the default mode for `unhandledRejection` is changed
to `throw` (from `warn`). In `throw` mode, if an `unhandledRejection`
hook is not set, the `unhandledRejection` is raised as an uncaught
exception. Users that have an `unhandledRejection` hook should see no
change in behavior, and it’s still possible to switch modes using the
`--unhandled-rejections=mode` process flag.
QUIC (https://github.com/nodejs/node/pull/32379):
Node.js 15 comes with experimental support QUIC, which can be enabled
by compiling Node.js with the `--experimental-quic` configuration flag.
The Node.js QUIC implementation is exposed by the core `net` module.
V8 8.6 (https://github.com/nodejs/node/pull/35415):
The V8 JavaScript engine has been updated to V8 8.6 (V8 8.4 is the
latest available in Node.js 14). Along with performance tweaks and
improvements the V8 update also brings the following language features:
* `Promise.any()` (from V8 8.5)
* `AggregateError` (from V8 8.5)
* `String.prototype.replaceAll()` (from V8 8.5)
* Logical assignment operators `&&=`, `||=`, and `??=` (from V8 8.5)
Other Notable Changes:
- **assert**: add `assert/strict` alias module (ExE Boss)
(https://github.com/nodejs/node/pull/34001)
- **dns**: add dns/promises alias (shisama)
(https://github.com/nodejs/node/pull/32953)
- **fs**: reimplement read and write streams using stream.construct
(Robert Nagy) (https://github.com/nodejs/node/pull/29656)
- **http2**: allow Host in HTTP/2 requests (Alba Mendez)
(https://github.com/nodejs/node/pull/34664)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(https://github.com/nodejs/node/pull/35496)
- **lib**: unflag AbortController (James M Snell)
(https://github.com/nodejs/node/pull/33527)
- **lib**: initial experimental AbortController implementation (James M
Snell) (https://github.com/nodejs/node/pull/33527)
- **net**: autoDestroy Socket (Robert Nagy)
(https://github.com/nodejs/node/pull/31806)
- **src**: disallow JS execution inside FreeEnvironment (Anna
Henningsen) (https://github.com/nodejs/node/pull/33874)
- **stream**: construct (Robert Nagy)
(https://github.com/nodejs/node/pull/29656)
- **worker**: make MessageEvent class more Web-compatible (Anna
Henningsen) (https://github.com/nodejs/node/pull/35496)
Semver-Major Commits:
- **assert**: add `assert/strict` alias module (ExE Boss)
(https://github.com/nodejs/node/pull/34001)
- **build**: reset embedder string to "-node.0" (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **build**: remove --build-v8-with-gn configure option (Yang Guo)
(https://github.com/nodejs/node/pull/27576)
- **build**: drop support for VS2017 (Michaël Zasso)
(https://github.com/nodejs/node/pull/33694)
- **crypto**: refactoring internals, add WebCrypto (James M Snell)
(https://github.com/nodejs/node/pull/35093)
- **crypto**: move node\_crypto files to src/crypto (James M Snell)
(https://github.com/nodejs/node/pull/35093)
- **deps**: V8: cherry-pick d76abfed3512 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: V8: cherry-pick 717543bbf0ef (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: V8: cherry-pick 6be2f6e26e8d (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: fix V8 build issue with inline methods (Jiawen Geng)
(https://github.com/nodejs/node/pull/35415)
- **deps**: fix platform-embedded-file-writer-win for ARM64 (Michaël
Zasso) (https://github.com/nodejs/node/pull/35415)
- **deps**: update V8 postmortem metadata script (Colin Ihrig)
(https://github.com/nodejs/node/pull/35415)
- **deps**: update V8 to 8.6.395 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: upgrade npm to 7.0.0 (Myles Borins)
(https://github.com/nodejs/node/pull/35631)
- **deps**: update npm to 7.0.0-rc.3 (Myles Borins)
(https://github.com/nodejs/node/pull/35474)
- **deps**: V8: cherry-pick 0d6debcc5f08 (Gus Caplan)
(https://github.com/nodejs/node/pull/33600)
- **dns**: add dns/promises alias (shisama)
(https://github.com/nodejs/node/pull/32953)
- **doc**: move DEP0018 to End-of-Life (Rich Trott)
(https://github.com/nodejs/node/pull/35316)
- **doc**: update support macos version for 15.x (Ash Cripps)
(https://github.com/nodejs/node/pull/35022)
- **fs**: deprecation warning on recursive rmdir (Ian Sutherland)
(https://github.com/nodejs/node/pull/35562)
- **fs**: reimplement read and write streams using stream.construct
(Robert Nagy) (https://github.com/nodejs/node/pull/29656)
- **http**: fixed socket.setEncoding fatal error (iskore)
(https://github.com/nodejs/node/pull/33405)
- **http**: emit 'error' on aborted server request (Robert Nagy)
(https://github.com/nodejs/node/pull/33172)
- **http**: cleanup end argument handling (Robert Nagy)
(https://github.com/nodejs/node/pull/31818)
- **http2**: allow Host in HTTP/2 requests (Alba Mendez)
(https://github.com/nodejs/node/pull/34664)
- **http2**: add `invalidheaders` test (Pranshu Srivastava)
(https://github.com/nodejs/node/pull/33161)
- **http2**: refactor state code validation for the http2Stream class
(rickyes) (https://github.com/nodejs/node/pull/33535)
- **http2**: header field valid checks (Pranshu Srivastava)
(https://github.com/nodejs/node/pull/33193)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(https://github.com/nodejs/node/pull/35496)
- **lib**: remove ERR\_INVALID\_OPT\_VALUE and
ERR\_INVALID\_OPT\_VALUE\_ENCODING (Denys Otrishko)
(https://github.com/nodejs/node/pull/34682)
- **lib**: handle one of args case in ERR\_MISSING\_ARGS (Denys
Otrishko) (https://github.com/nodejs/node/pull/34022)
- **lib**: remove NodeError from the prototype of errors with code
(Michaël Zasso) (https://github.com/nodejs/node/pull/33857)
- **lib**: unflag AbortController (James M Snell)
(https://github.com/nodejs/node/pull/33527)
- **lib**: initial experimental AbortController implementation (James M
Snell) (https://github.com/nodejs/node/pull/33527)
- **net**: check args in net.connect() and socket.connect() calls
(Denys Otrishko) (https://github.com/nodejs/node/pull/34022)
- **net**: remove long deprecated server.connections property (James M
Snell) (https://github.com/nodejs/node/pull/33647)
- **net**: autoDestroy Socket (Robert Nagy)
(https://github.com/nodejs/node/pull/31806)
- **process**: update v8 fast api calls usage (Maya Lekova)
(https://github.com/nodejs/node/pull/35415)
- **process**: change default --unhandled-rejections=throw (Dan
Fabulich) (https://github.com/nodejs/node/pull/33021)
- **process**: use v8 fast api calls for hrtime (Gus Caplan)
(https://github.com/nodejs/node/pull/33600)
- **process**: delay throwing an error using `throwDeprecation` (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/32312)
- **repl**: remove deprecated repl.memory function (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.turnOffEditorMode() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.parseREPLKeyword() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated bufferedCommand property (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated .rli (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **src**: implement NodePlatform::PostJob (Clemens Backes)
(https://github.com/nodejs/node/pull/35415)
- **src**: update NODE\_MODULE\_VERSION to 88 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **src**: error reporting on CPUUsage (Yash Ladha)
(https://github.com/nodejs/node/pull/34762)
- **src**: use node:moduleName as builtin module filename (Michaël
Zasso) (https://github.com/nodejs/node/pull/35498)
- **src**: enable wasm trap handler on windows (Gus Caplan)
(https://github.com/nodejs/node/pull/35033)
- **src**: update NODE\_MODULE\_VERSION to 86 (Michaël Zasso)
(https://github.com/nodejs/node/pull/33579)
- **src**: disallow JS execution inside FreeEnvironment (Anna
Henningsen) (https://github.com/nodejs/node/pull/33874)
- **src**: remove \_third\_party\_main support (Anna Henningsen)
(https://github.com/nodejs/node/pull/33971)
- **src**: remove deprecated node debug command (James M Snell)
(https://github.com/nodejs/node/pull/33648)
- **src**: remove unused CancelPendingDelayedTasks (Anna Henningsen)
(https://github.com/nodejs/node/pull/32859)
- **stream**: try to wait for flush to complete before 'finish' (Robert
Nagy) (https://github.com/nodejs/node/pull/34314)
- **stream**: cleanup and fix Readable.wrap (Robert Nagy)
(https://github.com/nodejs/node/pull/34204)
- **stream**: add promises version to utility functions (rickyes)
(https://github.com/nodejs/node/pull/33991)
- **stream**: fix writable.end callback behavior (Robert Nagy)
(https://github.com/nodejs/node/pull/34101)
- **stream**: construct (Robert Nagy)
(https://github.com/nodejs/node/pull/29656)
- **stream**: write should throw on unknown encoding (Robert Nagy)
(https://github.com/nodejs/node/pull/33075)
- **stream**: fix \_final and 'prefinish' timing (Robert Nagy)
(https://github.com/nodejs/node/pull/32780)
- **stream**: simplify Transform stream implementation (Robert Nagy)
(https://github.com/nodejs/node/pull/32763)
- **stream**: use callback to properly propagate error (Robert Nagy)
(https://github.com/nodejs/node/pull/29179)
- **test**: update tests after increasing typed array size to 4GB
(Kim-Anh Tran) (https://github.com/nodejs/node/pull/35415)
- **test**: fix tests for npm 7.0.0 (Myles Borins)
(https://github.com/nodejs/node/pull/35631)
- **test**: fix test suite to work with npm 7 (Myles Borins)
(https://github.com/nodejs/node/pull/35474)
- **test**: update WPT harness and tests (Michaël Zasso)
(https://github.com/nodejs/node/pull/33770)
- **timers**: introduce timers/promises (James M Snell)
(https://github.com/nodejs/node/pull/33950)
- **tools**: disable x86 safe exception handlers in V8 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **tools**: update V8 gypfiles for 8.6 (Ujjwal Sharma)
(https://github.com/nodejs/node/pull/35415)
- **tools**: update V8 gypfiles for 8.5 (Ujjwal Sharma)
(https://github.com/nodejs/node/pull/35415)
- **url**: file URL path normalization (Daijiro Wachi)
(https://github.com/nodejs/node/pull/35477)
- **url**: verify domain is not empty after "ToASCII" (Michaël Zasso)
(https://github.com/nodejs/node/pull/33770)
- **url**: remove U+0000 case in the fragment state (Michaël Zasso)
(https://github.com/nodejs/node/pull/33770)
- **url**: remove gopher from special schemes (Michaël Zasso)
(https://github.com/nodejs/node/pull/33325)
- **url**: forbid lt and gt in url host code point (Yash Ladha)
(https://github.com/nodejs/node/pull/33328)
- **util**: change default value of `maxStringLength` to 10000
(unknown) (https://github.com/nodejs/node/pull/32744)
- **wasi**: drop --experimental-wasm-bigint requirement (Colin Ihrig)
(https://github.com/nodejs/node/pull/35415)
- **win, child_process**: sanitize env variables (Bartosz Sosnowski)
(https://github.com/nodejs/node/pull/35210)
- **worker**: make MessageEvent class more Web-compatible (Anna
Henningsen) (https://github.com/nodejs/node/pull/35496)
- **worker**: set trackUnmanagedFds to true by default (Anna
Henningsen) (https://github.com/nodejs/node/pull/34394)
- **worker**: rename error code to be more accurate (Anna Henningsen)
(https://github.com/nodejs/node/pull/33872)
PR-URL: https://github.com/nodejs/node/pull/35014
2020-09-01 21:16:46 +01:00
|
|
|
- version: v15.0.0
|
2020-05-07 20:31:03 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/33286
|
|
|
|
description: End-of-Life.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version: v9.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/15136
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2017-09-01 12:52:18 -04:00
|
|
|
|
2020-05-07 20:31:03 +02:00
|
|
|
Type: End-of-Life
|
2017-09-01 12:52:18 -04:00
|
|
|
|
|
|
|
`REPLServer.turnOffEditorMode()` was removed from userland visibility.
|
|
|
|
|
2020-06-14 14:49:34 -07:00
|
|
|
### DEP0079: Custom inspection function on objects via `.inspect()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2018-10-02 16:01:19 -07:00
|
|
|
- version: v11.0.0
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/20722
|
|
|
|
description: End-of-Life.
|
|
|
|
- version: v10.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/16393
|
|
|
|
description: Runtime deprecation.
|
|
|
|
- version: v8.7.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/15631
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2017-09-26 14:14:21 -07:00
|
|
|
|
2018-05-14 18:44:30 +02:00
|
|
|
Type: End-of-Life
|
2017-09-26 14:14:21 -07:00
|
|
|
|
|
|
|
Using a property named `inspect` on an object to specify a custom inspection
|
|
|
|
function for [`util.inspect()`][] is deprecated. Use [`util.inspect.custom`][]
|
2018-05-04 10:05:44 -07:00
|
|
|
instead. For backward compatibility with Node.js prior to version 6.4.0, both
|
2020-08-20 17:11:53 -07:00
|
|
|
can be specified.
|
2017-09-26 14:14:21 -07:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0080: `path._makeLong()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v9.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/14956
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2017-08-20 22:44:47 -07:00
|
|
|
|
|
|
|
Type: Documentation-only
|
|
|
|
|
|
|
|
The internal `path._makeLong()` was not intended for public use. However,
|
2018-06-04 11:58:47 -07:00
|
|
|
userland modules have found it useful. The internal API is deprecated
|
2017-08-20 22:44:47 -07:00
|
|
|
and replaced with an identical, public `path.toNamespacedPath()` method.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0081: `fs.truncate()` using a file descriptor
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2025-03-22 15:39:44 -04:00
|
|
|
- version: REPLACEME
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/57567
|
|
|
|
description: End-of-Life.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version: v9.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/15990
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2017-10-06 11:06:35 -07:00
|
|
|
|
2025-03-22 15:39:44 -04:00
|
|
|
Type: End-of-Life
|
2017-10-06 11:06:35 -07:00
|
|
|
|
2018-06-04 11:58:47 -07:00
|
|
|
`fs.truncate()` `fs.truncateSync()` usage with a file descriptor is
|
2017-10-06 11:06:35 -07:00
|
|
|
deprecated. Please use `fs.ftruncate()` or `fs.ftruncateSync()` to work with
|
|
|
|
file descriptors.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0082: `REPLServer.prototype.memory()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2020-10-20, Version 15.0.0 (Current)
Notable changes:
Deprecations and Removals:
- **build**: remove --build-v8-with-gn configure option (Yang Guo)
(https://github.com/nodejs/node/pull/27576)
- **build**: drop support for VS2017 (Michaël Zasso)
(https://github.com/nodejs/node/pull/33694)
- **doc**: move DEP0018 to End-of-Life (Rich Trott)
(https://github.com/nodejs/node/pull/35316)
- **fs**: deprecation warning on recursive rmdir (Ian Sutherland)
(https://github.com/nodejs/node/pull/35562)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(https://github.com/nodejs/node/pull/35496)
- **net**: remove long deprecated server.connections property (James M
Snell) (https://github.com/nodejs/node/pull/33647)
- **repl**: remove deprecated repl.memory function (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.turnOffEditorMode() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.parseREPLKeyword() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated bufferedCommand property (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated .rli (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **src**: remove deprecated node debug command (James M Snell)
(https://github.com/nodejs/node/pull/33648)
- **timers**: introduce timers/promises (James M Snell)
(https://github.com/nodejs/node/pull/33950)
- **util**: change default value of `maxStringLength` to 10000
(unknown) (https://github.com/nodejs/node/pull/32744)
- **wasi**: drop --experimental-wasm-bigint requirement (Colin Ihrig)
(https://github.com/nodejs/node/pull/35415)
npm 7 (https://github.com/nodejs/node/pull/35631):
Node.js 15 comes with a new major release of npm, npm 7. npm 7 comes
with many new features - including npm workspaces and a new
package-lock.json format. npm 7 also includes yarn.lock file support.
One of the big changes in npm 7 is that peer dependencies are now
installed by default.
Throw On Unhandled Rejections
(https://github.com/nodejs/node/pull/33021):
As of Node.js 15, the default mode for `unhandledRejection` is changed
to `throw` (from `warn`). In `throw` mode, if an `unhandledRejection`
hook is not set, the `unhandledRejection` is raised as an uncaught
exception. Users that have an `unhandledRejection` hook should see no
change in behavior, and it’s still possible to switch modes using the
`--unhandled-rejections=mode` process flag.
QUIC (https://github.com/nodejs/node/pull/32379):
Node.js 15 comes with experimental support QUIC, which can be enabled
by compiling Node.js with the `--experimental-quic` configuration flag.
The Node.js QUIC implementation is exposed by the core `net` module.
V8 8.6 (https://github.com/nodejs/node/pull/35415):
The V8 JavaScript engine has been updated to V8 8.6 (V8 8.4 is the
latest available in Node.js 14). Along with performance tweaks and
improvements the V8 update also brings the following language features:
* `Promise.any()` (from V8 8.5)
* `AggregateError` (from V8 8.5)
* `String.prototype.replaceAll()` (from V8 8.5)
* Logical assignment operators `&&=`, `||=`, and `??=` (from V8 8.5)
Other Notable Changes:
- **assert**: add `assert/strict` alias module (ExE Boss)
(https://github.com/nodejs/node/pull/34001)
- **dns**: add dns/promises alias (shisama)
(https://github.com/nodejs/node/pull/32953)
- **fs**: reimplement read and write streams using stream.construct
(Robert Nagy) (https://github.com/nodejs/node/pull/29656)
- **http2**: allow Host in HTTP/2 requests (Alba Mendez)
(https://github.com/nodejs/node/pull/34664)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(https://github.com/nodejs/node/pull/35496)
- **lib**: unflag AbortController (James M Snell)
(https://github.com/nodejs/node/pull/33527)
- **lib**: initial experimental AbortController implementation (James M
Snell) (https://github.com/nodejs/node/pull/33527)
- **net**: autoDestroy Socket (Robert Nagy)
(https://github.com/nodejs/node/pull/31806)
- **src**: disallow JS execution inside FreeEnvironment (Anna
Henningsen) (https://github.com/nodejs/node/pull/33874)
- **stream**: construct (Robert Nagy)
(https://github.com/nodejs/node/pull/29656)
- **worker**: make MessageEvent class more Web-compatible (Anna
Henningsen) (https://github.com/nodejs/node/pull/35496)
Semver-Major Commits:
- **assert**: add `assert/strict` alias module (ExE Boss)
(https://github.com/nodejs/node/pull/34001)
- **build**: reset embedder string to "-node.0" (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **build**: remove --build-v8-with-gn configure option (Yang Guo)
(https://github.com/nodejs/node/pull/27576)
- **build**: drop support for VS2017 (Michaël Zasso)
(https://github.com/nodejs/node/pull/33694)
- **crypto**: refactoring internals, add WebCrypto (James M Snell)
(https://github.com/nodejs/node/pull/35093)
- **crypto**: move node\_crypto files to src/crypto (James M Snell)
(https://github.com/nodejs/node/pull/35093)
- **deps**: V8: cherry-pick d76abfed3512 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: V8: cherry-pick 717543bbf0ef (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: V8: cherry-pick 6be2f6e26e8d (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: fix V8 build issue with inline methods (Jiawen Geng)
(https://github.com/nodejs/node/pull/35415)
- **deps**: fix platform-embedded-file-writer-win for ARM64 (Michaël
Zasso) (https://github.com/nodejs/node/pull/35415)
- **deps**: update V8 postmortem metadata script (Colin Ihrig)
(https://github.com/nodejs/node/pull/35415)
- **deps**: update V8 to 8.6.395 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: upgrade npm to 7.0.0 (Myles Borins)
(https://github.com/nodejs/node/pull/35631)
- **deps**: update npm to 7.0.0-rc.3 (Myles Borins)
(https://github.com/nodejs/node/pull/35474)
- **deps**: V8: cherry-pick 0d6debcc5f08 (Gus Caplan)
(https://github.com/nodejs/node/pull/33600)
- **dns**: add dns/promises alias (shisama)
(https://github.com/nodejs/node/pull/32953)
- **doc**: move DEP0018 to End-of-Life (Rich Trott)
(https://github.com/nodejs/node/pull/35316)
- **doc**: update support macos version for 15.x (Ash Cripps)
(https://github.com/nodejs/node/pull/35022)
- **fs**: deprecation warning on recursive rmdir (Ian Sutherland)
(https://github.com/nodejs/node/pull/35562)
- **fs**: reimplement read and write streams using stream.construct
(Robert Nagy) (https://github.com/nodejs/node/pull/29656)
- **http**: fixed socket.setEncoding fatal error (iskore)
(https://github.com/nodejs/node/pull/33405)
- **http**: emit 'error' on aborted server request (Robert Nagy)
(https://github.com/nodejs/node/pull/33172)
- **http**: cleanup end argument handling (Robert Nagy)
(https://github.com/nodejs/node/pull/31818)
- **http2**: allow Host in HTTP/2 requests (Alba Mendez)
(https://github.com/nodejs/node/pull/34664)
- **http2**: add `invalidheaders` test (Pranshu Srivastava)
(https://github.com/nodejs/node/pull/33161)
- **http2**: refactor state code validation for the http2Stream class
(rickyes) (https://github.com/nodejs/node/pull/33535)
- **http2**: header field valid checks (Pranshu Srivastava)
(https://github.com/nodejs/node/pull/33193)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(https://github.com/nodejs/node/pull/35496)
- **lib**: remove ERR\_INVALID\_OPT\_VALUE and
ERR\_INVALID\_OPT\_VALUE\_ENCODING (Denys Otrishko)
(https://github.com/nodejs/node/pull/34682)
- **lib**: handle one of args case in ERR\_MISSING\_ARGS (Denys
Otrishko) (https://github.com/nodejs/node/pull/34022)
- **lib**: remove NodeError from the prototype of errors with code
(Michaël Zasso) (https://github.com/nodejs/node/pull/33857)
- **lib**: unflag AbortController (James M Snell)
(https://github.com/nodejs/node/pull/33527)
- **lib**: initial experimental AbortController implementation (James M
Snell) (https://github.com/nodejs/node/pull/33527)
- **net**: check args in net.connect() and socket.connect() calls
(Denys Otrishko) (https://github.com/nodejs/node/pull/34022)
- **net**: remove long deprecated server.connections property (James M
Snell) (https://github.com/nodejs/node/pull/33647)
- **net**: autoDestroy Socket (Robert Nagy)
(https://github.com/nodejs/node/pull/31806)
- **process**: update v8 fast api calls usage (Maya Lekova)
(https://github.com/nodejs/node/pull/35415)
- **process**: change default --unhandled-rejections=throw (Dan
Fabulich) (https://github.com/nodejs/node/pull/33021)
- **process**: use v8 fast api calls for hrtime (Gus Caplan)
(https://github.com/nodejs/node/pull/33600)
- **process**: delay throwing an error using `throwDeprecation` (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/32312)
- **repl**: remove deprecated repl.memory function (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.turnOffEditorMode() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.parseREPLKeyword() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated bufferedCommand property (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated .rli (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **src**: implement NodePlatform::PostJob (Clemens Backes)
(https://github.com/nodejs/node/pull/35415)
- **src**: update NODE\_MODULE\_VERSION to 88 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **src**: error reporting on CPUUsage (Yash Ladha)
(https://github.com/nodejs/node/pull/34762)
- **src**: use node:moduleName as builtin module filename (Michaël
Zasso) (https://github.com/nodejs/node/pull/35498)
- **src**: enable wasm trap handler on windows (Gus Caplan)
(https://github.com/nodejs/node/pull/35033)
- **src**: update NODE\_MODULE\_VERSION to 86 (Michaël Zasso)
(https://github.com/nodejs/node/pull/33579)
- **src**: disallow JS execution inside FreeEnvironment (Anna
Henningsen) (https://github.com/nodejs/node/pull/33874)
- **src**: remove \_third\_party\_main support (Anna Henningsen)
(https://github.com/nodejs/node/pull/33971)
- **src**: remove deprecated node debug command (James M Snell)
(https://github.com/nodejs/node/pull/33648)
- **src**: remove unused CancelPendingDelayedTasks (Anna Henningsen)
(https://github.com/nodejs/node/pull/32859)
- **stream**: try to wait for flush to complete before 'finish' (Robert
Nagy) (https://github.com/nodejs/node/pull/34314)
- **stream**: cleanup and fix Readable.wrap (Robert Nagy)
(https://github.com/nodejs/node/pull/34204)
- **stream**: add promises version to utility functions (rickyes)
(https://github.com/nodejs/node/pull/33991)
- **stream**: fix writable.end callback behavior (Robert Nagy)
(https://github.com/nodejs/node/pull/34101)
- **stream**: construct (Robert Nagy)
(https://github.com/nodejs/node/pull/29656)
- **stream**: write should throw on unknown encoding (Robert Nagy)
(https://github.com/nodejs/node/pull/33075)
- **stream**: fix \_final and 'prefinish' timing (Robert Nagy)
(https://github.com/nodejs/node/pull/32780)
- **stream**: simplify Transform stream implementation (Robert Nagy)
(https://github.com/nodejs/node/pull/32763)
- **stream**: use callback to properly propagate error (Robert Nagy)
(https://github.com/nodejs/node/pull/29179)
- **test**: update tests after increasing typed array size to 4GB
(Kim-Anh Tran) (https://github.com/nodejs/node/pull/35415)
- **test**: fix tests for npm 7.0.0 (Myles Borins)
(https://github.com/nodejs/node/pull/35631)
- **test**: fix test suite to work with npm 7 (Myles Borins)
(https://github.com/nodejs/node/pull/35474)
- **test**: update WPT harness and tests (Michaël Zasso)
(https://github.com/nodejs/node/pull/33770)
- **timers**: introduce timers/promises (James M Snell)
(https://github.com/nodejs/node/pull/33950)
- **tools**: disable x86 safe exception handlers in V8 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **tools**: update V8 gypfiles for 8.6 (Ujjwal Sharma)
(https://github.com/nodejs/node/pull/35415)
- **tools**: update V8 gypfiles for 8.5 (Ujjwal Sharma)
(https://github.com/nodejs/node/pull/35415)
- **url**: file URL path normalization (Daijiro Wachi)
(https://github.com/nodejs/node/pull/35477)
- **url**: verify domain is not empty after "ToASCII" (Michaël Zasso)
(https://github.com/nodejs/node/pull/33770)
- **url**: remove U+0000 case in the fragment state (Michaël Zasso)
(https://github.com/nodejs/node/pull/33770)
- **url**: remove gopher from special schemes (Michaël Zasso)
(https://github.com/nodejs/node/pull/33325)
- **url**: forbid lt and gt in url host code point (Yash Ladha)
(https://github.com/nodejs/node/pull/33328)
- **util**: change default value of `maxStringLength` to 10000
(unknown) (https://github.com/nodejs/node/pull/32744)
- **wasi**: drop --experimental-wasm-bigint requirement (Colin Ihrig)
(https://github.com/nodejs/node/pull/35415)
- **win, child_process**: sanitize env variables (Bartosz Sosnowski)
(https://github.com/nodejs/node/pull/35210)
- **worker**: make MessageEvent class more Web-compatible (Anna
Henningsen) (https://github.com/nodejs/node/pull/35496)
- **worker**: set trackUnmanagedFds to true by default (Anna
Henningsen) (https://github.com/nodejs/node/pull/34394)
- **worker**: rename error code to be more accurate (Anna Henningsen)
(https://github.com/nodejs/node/pull/33872)
PR-URL: https://github.com/nodejs/node/pull/35014
2020-09-01 21:16:46 +01:00
|
|
|
- version: v15.0.0
|
2020-05-07 20:33:01 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/33286
|
|
|
|
description: End-of-Life.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version: v9.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/16242
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2017-10-16 17:24:17 -04:00
|
|
|
|
2020-05-07 20:33:01 +02:00
|
|
|
Type: End-of-Life
|
2017-10-16 17:24:17 -04:00
|
|
|
|
2018-05-04 10:03:45 -07:00
|
|
|
`REPLServer.prototype.memory()` is only necessary for the internal mechanics of
|
|
|
|
the `REPLServer` itself. Do not use this function.
|
2017-10-16 17:24:17 -04:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0083: Disabling ECDH by setting `ecdhCurve` to `false`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2018-09-19 19:40:44 +02:00
|
|
|
- version: v10.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/19794
|
|
|
|
description: End-of-Life.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version: v9.2.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/16130
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2017-10-21 13:29:18 -04:00
|
|
|
|
2025-03-19 01:34:18 +01:00
|
|
|
Type: End-of-Life
|
2017-10-21 13:29:18 -04:00
|
|
|
|
|
|
|
The `ecdhCurve` option to `tls.createSecureContext()` and `tls.TLSSocket` could
|
2018-09-19 19:40:44 +02:00
|
|
|
be set to `false` to disable ECDH entirely on the server only. This mode was
|
2017-10-21 13:29:18 -04:00
|
|
|
deprecated in preparation for migrating to OpenSSL 1.1.0 and consistency with
|
2018-09-19 19:40:44 +02:00
|
|
|
the client and is now unsupported. Use the `ciphers` parameter instead.
|
2017-10-21 13:29:18 -04:00
|
|
|
|
2017-10-22 12:16:48 -07:00
|
|
|
### DEP0084: requiring bundled internal dependencies
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2019-03-22 13:19:46 +00:00
|
|
|
- version: v12.0.0
|
2018-12-19 20:55:52 +01:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/25138
|
|
|
|
description: This functionality has been removed.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version: v10.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/16392
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2017-10-22 12:16:48 -07:00
|
|
|
|
2018-12-19 20:55:52 +01:00
|
|
|
Type: End-of-Life
|
2017-10-22 12:16:48 -07:00
|
|
|
|
|
|
|
Since Node.js versions 4.4.0 and 5.2.0, several modules only intended for
|
2018-12-19 20:55:52 +01:00
|
|
|
internal usage were mistakenly exposed to user code through `require()`. These
|
|
|
|
modules were:
|
2017-10-22 12:16:48 -07:00
|
|
|
|
2019-09-13 00:22:29 -04:00
|
|
|
* `v8/tools/codemap`
|
|
|
|
* `v8/tools/consarray`
|
|
|
|
* `v8/tools/csvparser`
|
|
|
|
* `v8/tools/logreader`
|
|
|
|
* `v8/tools/profile_view`
|
|
|
|
* `v8/tools/profile`
|
|
|
|
* `v8/tools/SourceMap`
|
|
|
|
* `v8/tools/splaytree`
|
|
|
|
* `v8/tools/tickprocessor-driver`
|
|
|
|
* `v8/tools/tickprocessor`
|
|
|
|
* `node-inspect/lib/_inspect` (from 7.6.0)
|
|
|
|
* `node-inspect/lib/internal/inspect_client` (from 7.6.0)
|
|
|
|
* `node-inspect/lib/internal/inspect_repl` (from 7.6.0)
|
2017-10-22 12:16:48 -07:00
|
|
|
|
|
|
|
The `v8/*` modules do not have any exports, and if not imported in a specific
|
|
|
|
order would in fact throw errors. As such there are virtually no legitimate use
|
|
|
|
cases for importing them through `require()`.
|
|
|
|
|
2020-08-20 17:11:53 -07:00
|
|
|
On the other hand, `node-inspect` can be installed locally through a package
|
2017-10-22 12:16:48 -07:00
|
|
|
manager, as it is published on the npm registry under the same name. No source
|
|
|
|
code modification is necessary if that is done.
|
|
|
|
|
2020-06-14 14:49:34 -07:00
|
|
|
### DEP0085: AsyncHooks sensitive API
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2020-10-01 19:38:33 +02:00
|
|
|
- version: v10.0.0
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/17147
|
|
|
|
description: End-of-Life.
|
|
|
|
- version:
|
|
|
|
- v9.4.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v8.10.0
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/16972
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2017-11-12 18:46:55 +01:00
|
|
|
|
2017-11-22 11:25:03 +01:00
|
|
|
Type: End-of-Life
|
2017-11-12 18:46:55 +01:00
|
|
|
|
2020-06-14 14:49:34 -07:00
|
|
|
The AsyncHooks sensitive API was never documented and had various minor issues.
|
2019-07-09 18:57:17 -04:00
|
|
|
Use the `AsyncResource` API instead. See
|
|
|
|
<https://github.com/nodejs/node/issues/15572>.
|
2017-11-12 18:46:55 +01:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0086: Remove `runInAsyncIdScope`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2020-10-01 19:38:33 +02:00
|
|
|
- version: v10.0.0
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/17147
|
|
|
|
description: End-of-Life.
|
|
|
|
- version:
|
|
|
|
- v9.4.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v8.10.0
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/16972
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2017-11-12 18:46:55 +01:00
|
|
|
|
2017-11-22 11:25:03 +01:00
|
|
|
Type: End-of-Life
|
2017-11-12 18:46:55 +01:00
|
|
|
|
2018-04-09 19:30:22 +03:00
|
|
|
`runInAsyncIdScope` doesn't emit the `'before'` or `'after'` event and can thus
|
2019-07-09 18:57:17 -04:00
|
|
|
cause a lot of issues. See <https://github.com/nodejs/node/issues/14328>.
|
2017-08-20 22:44:47 -07:00
|
|
|
|
2022-02-19 18:14:09 +01:00
|
|
|
<!-- md-lint skip-deprecation DEP0087 -->
|
|
|
|
|
|
|
|
<!-- md-lint skip-deprecation DEP0088 -->
|
|
|
|
|
2022-04-20 10:23:41 +02:00
|
|
|
### DEP0089: `require('node:assert')`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2019-08-06 15:06:33 +02:00
|
|
|
- version: v12.8.0
|
2019-07-29 04:56:59 -10:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/28892
|
|
|
|
description: Deprecation revoked.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version:
|
|
|
|
- v9.9.0
|
2020-10-02 00:34:58 +02:00
|
|
|
- v8.13.0
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/17002
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2017-11-13 18:15:24 -02:00
|
|
|
|
2019-07-29 04:56:59 -10:00
|
|
|
Type: Deprecation revoked
|
2017-11-13 18:15:24 -02:00
|
|
|
|
2019-07-29 04:56:59 -10:00
|
|
|
Importing assert directly was not recommended as the exposed functions use
|
2022-04-20 10:23:41 +02:00
|
|
|
loose equality checks. The deprecation was revoked because use of the
|
|
|
|
`node:assert` module is not discouraged, and the deprecation caused developer
|
|
|
|
confusion.
|
2017-11-13 18:15:24 -02:00
|
|
|
|
2018-01-06 15:30:58 +01:00
|
|
|
### DEP0090: Invalid GCM authentication tag lengths
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2018-10-02 16:01:19 -07:00
|
|
|
- version: v11.0.0
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/17825
|
|
|
|
description: End-of-Life.
|
|
|
|
- version: v10.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/18017
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2018-01-06 15:30:58 +01:00
|
|
|
|
2018-04-11 13:52:51 +02:00
|
|
|
Type: End-of-Life
|
2018-01-06 15:30:58 +01:00
|
|
|
|
2018-04-11 13:52:51 +02:00
|
|
|
Node.js used to support all GCM authentication tag lengths which are accepted by
|
2019-06-06 04:06:09 -07:00
|
|
|
OpenSSL when calling [`decipher.setAuthTag()`][]. Beginning with Node.js
|
|
|
|
v11.0.0, only authentication tag lengths of 128, 120, 112, 104, 96, 64, and 32
|
|
|
|
bits are allowed. Authentication tags of other lengths are invalid per
|
|
|
|
[NIST SP 800-38D][].
|
2018-01-06 15:30:58 +01:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0091: `crypto.DEFAULT_ENCODING`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2023-04-03 11:30:30 +01:00
|
|
|
- version: v20.0.0
|
2023-03-26 20:03:58 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/47182
|
|
|
|
description: End-of-Life.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version: v10.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/18333
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2018-01-23 15:58:14 -08:00
|
|
|
|
2023-03-26 20:03:58 +02:00
|
|
|
Type: End-of-Life
|
2018-01-23 15:58:14 -08:00
|
|
|
|
2023-03-26 20:03:58 +02:00
|
|
|
The `crypto.DEFAULT_ENCODING` property only existed for compatibility with
|
|
|
|
Node.js releases prior to versions 0.9.3 and has been removed.
|
2018-01-23 15:58:14 -08:00
|
|
|
|
2018-01-31 17:50:21 -08:00
|
|
|
### DEP0092: Top-level `this` bound to `module.exports`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v10.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/16878
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2017-11-08 08:28:34 -06:00
|
|
|
|
|
|
|
Type: Documentation-only
|
|
|
|
|
|
|
|
Assigning properties to the top-level `this` as an alternative
|
|
|
|
to `module.exports` is deprecated. Developers should use `exports`
|
|
|
|
or `module.exports` instead.
|
|
|
|
|
2021-07-01 05:51:16 -07:00
|
|
|
### DEP0093: `crypto.fips` is deprecated and replaced
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2024-10-09 14:48:01 -03:00
|
|
|
- version: v23.0.0
|
2024-09-25 18:31:03 -04:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/55019
|
|
|
|
description: Runtime deprecation.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version: v10.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/18335
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2018-01-23 16:32:19 -08:00
|
|
|
|
2024-09-25 18:31:03 -04:00
|
|
|
Type: Runtime
|
2018-01-23 16:32:19 -08:00
|
|
|
|
|
|
|
The [`crypto.fips`][] property is deprecated. Please use `crypto.setFips()`
|
|
|
|
and `crypto.getFips()` instead.
|
|
|
|
|
2021-07-01 05:51:16 -07:00
|
|
|
### DEP0094: Using `assert.fail()` with more than one argument
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v10.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/18418
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2018-01-28 12:07:18 +01:00
|
|
|
|
|
|
|
Type: Runtime
|
|
|
|
|
2018-05-04 09:56:45 -07:00
|
|
|
Using `assert.fail()` with more than one argument is deprecated. Use
|
2022-04-20 10:23:41 +02:00
|
|
|
`assert.fail()` with only one argument or use a different `node:assert` module
|
2018-05-04 09:56:45 -07:00
|
|
|
method.
|
2018-01-28 12:07:18 +01:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0095: `timers.enroll()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2025-02-10 16:09:41 -05:00
|
|
|
- version: REPLACEME
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/56966
|
|
|
|
description: End-of-Life.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version: v10.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/18066
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2018-01-09 13:25:20 -05:00
|
|
|
|
2025-02-10 16:09:41 -05:00
|
|
|
Type: End-of-Life
|
2018-01-09 13:25:20 -05:00
|
|
|
|
2025-02-10 16:09:41 -05:00
|
|
|
`timers.enroll()` has been removed. Please use the publicly documented
|
2018-02-12 02:31:55 -05:00
|
|
|
[`setTimeout()`][] or [`setInterval()`][] instead.
|
2018-01-09 13:25:20 -05:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0096: `timers.unenroll()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2025-02-10 16:09:41 -05:00
|
|
|
- version: REPLACEME
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/56966
|
|
|
|
description: End-of-Life.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version: v10.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/18066
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2018-01-09 13:25:20 -05:00
|
|
|
|
2025-02-10 16:09:41 -05:00
|
|
|
Type: End-of-Life
|
2018-01-09 13:25:20 -05:00
|
|
|
|
2025-02-10 16:09:41 -05:00
|
|
|
`timers.unenroll()` has been removed. Please use the publicly documented
|
2018-02-12 02:31:55 -05:00
|
|
|
[`clearTimeout()`][] or [`clearInterval()`][] instead.
|
2018-01-09 13:25:20 -05:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0097: `MakeCallback` with `domain` property
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v10.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/17417
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2018-02-07 20:05:45 +01:00
|
|
|
|
|
|
|
Type: Runtime
|
|
|
|
|
|
|
|
Users of `MakeCallback` that add the `domain` property to carry context,
|
|
|
|
should start using the `async_context` variant of `MakeCallback` or
|
2018-02-27 01:06:50 +09:00
|
|
|
`CallbackScope`, or the high-level `AsyncResource` class.
|
2018-02-07 20:05:45 +01:00
|
|
|
|
2020-06-14 14:49:34 -07:00
|
|
|
### DEP0098: AsyncHooks embedder `AsyncResource.emitBefore` and `AsyncResource.emitAfter` APIs
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2019-03-22 13:19:46 +00:00
|
|
|
- version: v12.0.0
|
2019-03-18 14:56:57 -04:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/26530
|
2020-10-01 19:38:33 +02:00
|
|
|
description: End-of-Life.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version:
|
|
|
|
- v10.0.0
|
2020-10-01 19:38:33 +02:00
|
|
|
- v9.6.0
|
|
|
|
- v8.12.0
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/18632
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2018-02-01 15:25:41 -08:00
|
|
|
|
2019-03-08 16:42:21 +01:00
|
|
|
Type: End-of-Life
|
2018-02-01 15:25:41 -08:00
|
|
|
|
2018-04-08 16:53:47 +03:00
|
|
|
The embedded API provided by AsyncHooks exposes `.emitBefore()` and
|
|
|
|
`.emitAfter()` methods which are very easy to use incorrectly which can lead
|
|
|
|
to unrecoverable errors.
|
2018-02-01 15:25:41 -08:00
|
|
|
|
|
|
|
Use [`asyncResource.runInAsyncScope()`][] API instead which provides a much
|
|
|
|
safer, and more convenient, alternative. See
|
2019-07-09 18:57:17 -04:00
|
|
|
<https://github.com/nodejs/node/pull/18513>.
|
2018-02-01 15:25:41 -08:00
|
|
|
|
2020-06-14 14:49:34 -07:00
|
|
|
### DEP0099: Async context-unaware `node::MakeCallback` C++ APIs
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v10.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/18632
|
|
|
|
description: Compile-time deprecation.
|
|
|
|
-->
|
2018-01-24 18:09:53 -08:00
|
|
|
|
|
|
|
Type: Compile-time
|
|
|
|
|
2022-08-05 02:32:06 +08:00
|
|
|
Certain versions of `node::MakeCallback` APIs available to native addons are
|
2018-01-24 18:09:53 -08:00
|
|
|
deprecated. Please use the versions of the API that accept an `async_context`
|
|
|
|
parameter.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0100: `process.assert()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2024-10-09 14:48:01 -03:00
|
|
|
- version: v23.0.0
|
2024-09-23 12:29:23 -04:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/55035
|
|
|
|
description: End-of-Life.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version: v10.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/18666
|
|
|
|
description: Runtime deprecation.
|
|
|
|
- version: v0.3.7
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2018-02-08 23:50:34 +01:00
|
|
|
|
2024-09-23 12:29:23 -04:00
|
|
|
Type: End-of-Life
|
2018-02-08 23:50:34 +01:00
|
|
|
|
|
|
|
`process.assert()` is deprecated. Please use the [`assert`][] module instead.
|
|
|
|
|
|
|
|
This was never a documented feature.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0101: `--with-lttng`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v10.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/18982
|
|
|
|
description: End-of-Life.
|
|
|
|
-->
|
2018-02-26 22:38:16 +00:00
|
|
|
|
|
|
|
Type: End-of-Life
|
|
|
|
|
2018-05-04 09:53:42 -07:00
|
|
|
The `--with-lttng` compile-time option has been removed.
|
2018-02-26 22:38:16 +00:00
|
|
|
|
2021-07-01 05:51:16 -07:00
|
|
|
### DEP0102: Using `noAssert` in `Buffer#(read|write)` operations
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v10.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/18395
|
|
|
|
description: End-of-Life.
|
|
|
|
-->
|
2018-02-15 14:22:57 +01:00
|
|
|
|
|
|
|
Type: End-of-Life
|
|
|
|
|
2022-03-31 20:02:35 -07:00
|
|
|
Using the `noAssert` argument has no functionality anymore. All input is
|
|
|
|
verified regardless of the value of `noAssert`. Skipping the verification
|
|
|
|
could lead to hard-to-find errors and crashes.
|
2018-02-15 14:22:57 +01:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0103: `process.binding('util').is[...]` typechecks
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v10.9.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/22004
|
|
|
|
description: Superseded by [DEP0111](#DEP0111).
|
|
|
|
- version: v10.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/18415
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2018-01-27 22:01:32 +01:00
|
|
|
|
|
|
|
Type: Documentation-only (supports [`--pending-deprecation`][])
|
|
|
|
|
|
|
|
Using `process.binding()` in general should be avoided. The type checking
|
|
|
|
methods in particular can be replaced by using [`util.types`][].
|
|
|
|
|
2018-07-27 08:54:53 -07:00
|
|
|
This deprecation has been superseded by the deprecation of the
|
2018-07-31 17:15:45 -07:00
|
|
|
`process.binding()` API ([DEP0111](#DEP0111)).
|
2018-07-27 08:54:53 -07:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0104: `process.env` string coercion
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v10.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/18990
|
2025-03-19 01:34:18 +01:00
|
|
|
description: Documentation-only deprecation
|
|
|
|
with `--pending-deprecation` support.
|
2018-09-08 11:44:11 +02:00
|
|
|
-->
|
2018-02-25 13:42:10 -08:00
|
|
|
|
|
|
|
Type: Documentation-only (supports [`--pending-deprecation`][])
|
|
|
|
|
2018-05-04 09:51:44 -07:00
|
|
|
When assigning a non-string property to [`process.env`][], the assigned value is
|
|
|
|
implicitly converted to a string. This behavior is deprecated if the assigned
|
2020-08-20 17:11:53 -07:00
|
|
|
value is not a string, boolean, or number. In the future, such assignment might
|
2018-05-04 09:51:44 -07:00
|
|
|
result in a thrown error. Please convert the property to a string before
|
|
|
|
assigning it to `process.env`.
|
2018-02-25 13:42:10 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0105: `decipher.finaltol`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2018-10-02 16:01:19 -07:00
|
|
|
- version: v11.0.0
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/19941
|
|
|
|
description: End-of-Life.
|
|
|
|
- version: v10.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/19353
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2018-03-14 18:15:41 +01:00
|
|
|
|
2018-04-11 14:26:09 +02:00
|
|
|
Type: End-of-Life
|
2018-03-14 18:15:41 +01:00
|
|
|
|
2018-04-11 14:26:09 +02:00
|
|
|
`decipher.finaltol()` has never been documented and was an alias for
|
|
|
|
[`decipher.final()`][]. This API has been removed, and it is recommended to use
|
|
|
|
[`decipher.final()`][] instead.
|
2018-03-14 18:15:41 +01:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0106: `crypto.createCipher` and `crypto.createDecipher`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2024-04-12 15:30:46 -03:00
|
|
|
- version: v22.0.0
|
2023-12-15 22:00:52 +08:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/50973
|
|
|
|
description: End-of-Life.
|
2018-10-02 16:01:19 -07:00
|
|
|
- version: v11.0.0
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/22089
|
|
|
|
description: Runtime deprecation.
|
|
|
|
- version: v10.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/19343
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2018-03-14 01:54:42 +01:00
|
|
|
|
2023-12-15 22:00:52 +08:00
|
|
|
Type: End-of-Life
|
2018-03-14 01:54:42 +01:00
|
|
|
|
2023-12-15 22:00:52 +08:00
|
|
|
`crypto.createCipher()` and `crypto.createDecipher()` have been removed
|
|
|
|
as they use a weak key derivation function (MD5 with no salt) and static
|
|
|
|
initialization vectors.
|
|
|
|
It is recommended to derive a key using
|
doc: emphasize that createCipher is never secure
The current documentation clearly states that createCipher() and
createDecipher() should not be used with ciphers in counter mode, but
(1) this is an understatement, and (2) these functions are
(semantically) insecure for ciphers in any other supported block cipher
mode as well.
Semantic security requires IND-CPA, but a deterministic cipher with
fixed key and IV, such as those generated by these functions, does not
fulfill IND-CPA.
Are there justified use cases for createCipher() and createDecipher()?
Yes and no. The only case in which these functions can be used in a
semantically secure manner arises only when the password argument is
not actually a password but rather a random or pseudo-random sequence
that is unpredictable and that is never reused (e.g., securely derived
from a password with a proper salt). Insofar, it is possible to use
these APIs without immediately creating a vulnerability. However,
- any application that manages to fulfill this requirement should also
be able to fulfill the similar requirements of crypto.createCipheriv()
and those of crypto.createDecipheriv(), which give much more control
over key and initialization vector, and
- the MD5-based key derivation step generally does not help and might
even reduce the overall security due to its many weaknesses.
Refs: https://github.com/nodejs/node/pull/13821
Refs: https://github.com/nodejs/node/pull/19343
Refs: https://github.com/nodejs/node/pull/22089
PR-URL: https://github.com/nodejs/node/pull/44538
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
2022-09-08 20:36:07 +02:00
|
|
|
[`crypto.pbkdf2()`][] or [`crypto.scrypt()`][] with random salts and to use
|
2018-08-02 15:26:39 +02:00
|
|
|
[`crypto.createCipheriv()`][] and [`crypto.createDecipheriv()`][] to obtain the
|
2025-03-01 16:25:58 -08:00
|
|
|
[`Cipheriv`][] and [`Decipheriv`][] objects respectively.
|
2018-03-14 01:54:42 +01:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0107: `tls.convertNPNProtocols()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2018-10-02 16:01:19 -07:00
|
|
|
- version: v11.0.0
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/20736
|
|
|
|
description: End-of-Life.
|
|
|
|
- version: v10.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/19403
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2018-03-17 05:41:41 +01:00
|
|
|
|
2018-05-14 18:15:30 -07:00
|
|
|
Type: End-of-Life
|
2018-03-17 05:41:41 +01:00
|
|
|
|
|
|
|
This was an undocumented helper function not intended for use outside Node.js
|
|
|
|
core and obsoleted by the removal of NPN (Next Protocol Negotiation) support.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0108: `zlib.bytesRead`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2024-10-09 14:48:01 -03:00
|
|
|
- version: v23.0.0
|
2024-09-28 19:46:21 -04:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/55020
|
|
|
|
description: End-of-Life.
|
2018-10-02 16:01:19 -07:00
|
|
|
- version: v11.0.0
|
2018-10-06 18:24:08 -07:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/23308
|
|
|
|
description: Runtime deprecation.
|
2018-09-08 11:44:11 +02:00
|
|
|
- version: v10.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/19414
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2018-03-17 16:59:54 +01:00
|
|
|
|
2024-09-28 19:46:21 -04:00
|
|
|
Type: End-of-Life
|
2018-03-17 16:59:54 +01:00
|
|
|
|
|
|
|
Deprecated alias for [`zlib.bytesWritten`][]. This original name was chosen
|
|
|
|
because it also made sense to interpret the value as the number of bytes
|
|
|
|
read by the engine, but is inconsistent with other streams in Node.js that
|
|
|
|
expose values under these names.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0109: `http`, `https`, and `tls` support for invalid URLs
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2021-03-03 15:36:13 +00:00
|
|
|
- version: v16.0.0
|
2021-01-09 18:17:43 +05:30
|
|
|
pr-url: https://github.com/nodejs/node/pull/36853
|
|
|
|
description: End-of-Life.
|
2018-10-02 16:01:19 -07:00
|
|
|
- version: v11.0.0
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/20270
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2018-04-24 19:37:43 -05:00
|
|
|
|
2021-01-09 18:17:43 +05:30
|
|
|
Type: End-of-Life
|
2018-04-24 19:37:43 -05:00
|
|
|
|
|
|
|
Some previously supported (but strictly invalid) URLs were accepted through the
|
|
|
|
[`http.request()`][], [`http.get()`][], [`https.request()`][],
|
|
|
|
[`https.get()`][], and [`tls.checkServerIdentity()`][] APIs because those were
|
|
|
|
accepted by the legacy `url.parse()` API. The mentioned APIs now use the WHATWG
|
|
|
|
URL parser that requires strictly valid URLs. Passing an invalid URL is
|
|
|
|
deprecated and support will be removed in the future.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0110: `vm.Script` cached data
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: v10.6.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/20300
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2018-04-25 12:22:20 -05:00
|
|
|
|
|
|
|
Type: Documentation-only
|
|
|
|
|
2018-08-27 19:41:47 +02:00
|
|
|
The `produceCachedData` option is deprecated. Use
|
2018-04-25 12:22:20 -05:00
|
|
|
[`script.createCachedData()`][] instead.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0111: `process.binding()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2019-03-13 22:59:36 +01:00
|
|
|
- version: v11.12.0
|
2019-02-25 22:28:35 +01:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/26500
|
|
|
|
description: Added support for `--pending-deprecation`.
|
2020-10-01 19:38:33 +02:00
|
|
|
- version: v10.9.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/22004
|
|
|
|
description: Documentation-only deprecation.
|
2018-09-08 11:44:11 +02:00
|
|
|
-->
|
2018-07-27 08:54:53 -07:00
|
|
|
|
2019-02-25 22:28:35 +01:00
|
|
|
Type: Documentation-only (supports [`--pending-deprecation`][])
|
2018-07-27 08:54:53 -07:00
|
|
|
|
2019-01-22 17:23:35 -08:00
|
|
|
`process.binding()` is for use by Node.js internal code only.
|
2018-07-27 08:54:53 -07:00
|
|
|
|
2023-04-16 22:26:47 +02:00
|
|
|
While `process.binding()` has not reached End-of-Life status in general, it is
|
2024-05-07 13:25:45 -03:00
|
|
|
unavailable when the [permission model][] is enabled.
|
2023-04-16 22:26:47 +02:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0112: `dgram` private APIs
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2018-10-02 16:01:19 -07:00
|
|
|
- version: v11.0.0
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/22011
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2018-07-21 10:29:39 -04:00
|
|
|
|
|
|
|
Type: Runtime
|
|
|
|
|
2022-04-20 10:23:41 +02:00
|
|
|
The `node:dgram` module previously contained several APIs that were never meant
|
|
|
|
to accessed outside of Node.js core: `Socket.prototype._handle`,
|
2018-07-21 10:29:39 -04:00
|
|
|
`Socket.prototype._receiving`, `Socket.prototype._bindState`,
|
|
|
|
`Socket.prototype._queue`, `Socket.prototype._reuseAddr`,
|
|
|
|
`Socket.prototype._healthCheck()`, `Socket.prototype._stopReceiving()`, and
|
|
|
|
`dgram._createSocketHandle()`.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0113: `Cipher.setAuthTag()`, `Decipher.getAuthTag()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2019-03-22 13:19:46 +00:00
|
|
|
- version: v12.0.0
|
2019-02-21 20:52:45 +01:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/26249
|
|
|
|
description: End-of-Life.
|
2018-10-02 16:01:19 -07:00
|
|
|
- version: v11.0.0
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/22126
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2018-08-04 18:13:05 +02:00
|
|
|
|
2019-02-21 20:52:45 +01:00
|
|
|
Type: End-of-Life
|
2018-08-04 18:13:05 +02:00
|
|
|
|
2019-02-21 20:52:45 +01:00
|
|
|
`Cipher.setAuthTag()` and `Decipher.getAuthTag()` are no longer available. They
|
|
|
|
were never documented and would throw when called.
|
2018-08-04 18:13:05 +02:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0114: `crypto._toBuf()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2019-03-22 13:19:46 +00:00
|
|
|
- version: v12.0.0
|
2019-02-21 21:33:19 +01:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/25338
|
2019-01-04 13:35:00 +01:00
|
|
|
description: End-of-Life.
|
2018-10-02 16:01:19 -07:00
|
|
|
- version: v11.0.0
|
2018-09-08 11:44:11 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/22501
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
2018-08-24 10:37:45 +02:00
|
|
|
|
2019-02-21 21:45:41 +01:00
|
|
|
Type: End-of-Life
|
2018-08-24 10:37:45 +02:00
|
|
|
|
|
|
|
The `crypto._toBuf()` function was not designed to be used by modules outside
|
2019-01-04 13:35:00 +01:00
|
|
|
of Node.js core and was removed.
|
2018-08-24 10:37:45 +02:00
|
|
|
|
2020-10-09 21:08:06 +02:00
|
|
|
<!--lint disable nodejs-yaml-comments -->
|
|
|
|
|
2022-02-19 18:14:09 +01:00
|
|
|
### DEP0115: `crypto.prng()`, `crypto.pseudoRandomBytes()`, `crypto.rng()`
|
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2018-10-02 16:01:19 -07:00
|
|
|
- version: v11.0.0
|
2018-09-22 11:45:42 +02:00
|
|
|
pr-url:
|
|
|
|
- https://github.com/nodejs/node/pull/22519
|
|
|
|
- https://github.com/nodejs/node/pull/23017
|
2025-03-19 01:34:18 +01:00
|
|
|
description: Documentation-only deprecation
|
2018-09-22 11:45:42 +02:00
|
|
|
with `--pending-deprecation` support.
|
2018-09-08 11:44:11 +02:00
|
|
|
-->
|
2018-08-25 12:04:35 +02:00
|
|
|
|
2018-09-22 11:45:42 +02:00
|
|
|
Type: Documentation-only (supports [`--pending-deprecation`][])
|
2018-08-25 12:04:35 +02:00
|
|
|
|
2022-02-19 18:14:09 +01:00
|
|
|
<!--lint enable nodejs-yaml-comments -->
|
|
|
|
|
2018-08-25 12:04:35 +02:00
|
|
|
In recent versions of Node.js, there is no difference between
|
|
|
|
[`crypto.randomBytes()`][] and `crypto.pseudoRandomBytes()`. The latter is
|
|
|
|
deprecated along with the undocumented aliases `crypto.prng()` and
|
2020-08-20 17:11:53 -07:00
|
|
|
`crypto.rng()` in favor of [`crypto.randomBytes()`][] and might be removed in a
|
2018-08-25 12:04:35 +02:00
|
|
|
future release.
|
|
|
|
|
2018-09-05 11:33:20 -07:00
|
|
|
### DEP0116: Legacy URL API
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-08 11:44:11 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2023-01-05, Version 18.13.0 'Hydrogen' (LTS)
Notable changes:
Add support for externally shared js builtins:
By default Node.js is built so that all dependencies are bundled into the
Node.js binary itself. Some Node.js distributions prefer to manage dependencies
externally. There are existing build options that allow dependencies with
native code to be externalized. This commit adds additional options so that
dependencies with JavaScript code (including WASM) can also be externalized.
This addition does not affect binaries shipped by the Node.js project but
will allow other distributions to externalize additional dependencies when
needed.
Contributed by Michael Dawson in https://github.com/nodejs/node/pull/44376
Introduce `File`:
The File class is part of the [FileAPI](https://w3c.github.io/FileAPI/).
It can be used anywhere a Blob can, for example in `URL.createObjectURL`
and `FormData`. It contains two properties that Blobs do not have: `lastModified`,
the last time the file was modified in ms, and `name`, the name of the file.
Contributed by Khafra in https://github.com/nodejs/node/pull/45139
Support function mocking on Node.js test runner:
The `node:test` module supports mocking during testing via a top-level `mock`
object.
```js
test('spies on an object method', (t) => {
const number = {
value: 5,
add(a) {
return this.value + a;
},
};
t.mock.method(number, 'add');
assert.strictEqual(number.add(3), 8);
assert.strictEqual(number.add.mock.calls.length, 1);
});
```
Contributed by Colin Ihrig in https://github.com/nodejs/node/pull/45326
Other notable changes:
build:
* disable v8 snapshot compression by default (Joyee Cheung) https://github.com/nodejs/node/pull/45716
crypto:
* update root certificates (Luigi Pinca) https://github.com/nodejs/node/pull/45490
deps:
* update ICU to 72.1 (Michaël Zasso) https://github.com/nodejs/node/pull/45068
doc:
* add doc-only deprecation for headers/trailers setters (Rich Trott) https://github.com/nodejs/node/pull/45697
* add Rafael to the tsc (Michael Dawson) https://github.com/nodejs/node/pull/45691
* deprecate use of invalid ports in `url.parse` (Antoine du Hamel) https://github.com/nodejs/node/pull/45576
* add lukekarrys to collaborators (Luke Karrys) https://github.com/nodejs/node/pull/45180
* add anonrig to collaborators (Yagiz Nizipli) https://github.com/nodejs/node/pull/45002
* deprecate url.parse() (Rich Trott) https://github.com/nodejs/node/pull/44919
lib:
* drop fetch experimental warning (Matteo Collina) https://github.com/nodejs/node/pull/45287
net:
* (SEMVER-MINOR) add autoSelectFamily and autoSelectFamilyAttemptTimeout options (Paolo Insogna) https://github.com/nodejs/node/pull/44731
* src:
* (SEMVER-MINOR) add uvwasi version (Jithil P Ponnan) https://github.com/nodejs/node/pull/45639
* (SEMVER-MINOR) add initial shadow realm support (Chengzhong Wu) https://github.com/nodejs/node/pull/42869
test_runner:
* (SEMVER-MINOR) add t.after() hook (Colin Ihrig) https://github.com/nodejs/node/pull/45792
* (SEMVER-MINOR) don't use a symbol for runHook() (Colin Ihrig) https://github.com/nodejs/node/pull/45792
tls:
* (SEMVER-MINOR) add "ca" property to certificate object (Ben Noordhuis) https://github.com/nodejs/node/pull/44935
* remove trustcor root ca certificates (Ben Noordhuis) https://github.com/nodejs/node/pull/45776
tools:
* update certdata.txt (Luigi Pinca) https://github.com/nodejs/node/pull/45490
util:
* add fast path for utf8 encoding (Yagiz Nizipli) https://github.com/nodejs/node/pull/45412
* improve textdecoder decode performance (Yagiz Nizipli) https://github.com/nodejs/node/pull/45294
* (SEMVER-MINOR) add MIME utilities (#21128) (Bradley Farias) https://github.com/nodejs/node/pull/21128
PR-URL: https://github.com/nodejs/node/pull/46025
2022-12-30 15:18:44 -05:00
|
|
|
- version:
|
|
|
|
- v19.0.0
|
|
|
|
- v18.13.0
|
2022-10-11 15:35:52 -07:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/44919
|
|
|
|
description: \`url.parse()` is deprecated again in DEP0169.
|
2021-05-11, Version 14.17.0 'Fermium' (LTS)
Notable Changes:
Diagnostics channel (experimental module):
`diagnostics_channel` is a new experimental module that provides an API
to create named channels to report arbitrary message data for
diagnostics purposes.
The module was initially introduced in Node.js v15.1.0 and is
backported to v14.17.0 to enable testing it at a larger scale.
With `diagnostics_channel`, Node.js core and module authors can publish
contextual data about what they are doing at a given time. This could
be the hostname and query string of a mysql query, for example. Just
create a named channel with `dc.channel(name)` and call
`channel.publish(data)` to send the data to any listeners to that
channel.
```js
const dc = require('diagnostics_channel');
const channel = dc.channel('mysql.query');
MySQL.prototype.query = function query(queryString, values, callback) {
// Broadcast query information whenever a query is made
channel.publish({
query: queryString,
host: this.hostname,
});
this.doQuery(queryString, values, callback);
};
```
Channels are like one big global event emitter but are split into
separate objects to ensure they get the best performance. If nothing is
listening to the channel, the publishing overhead should be as close to
zero as possible. Consuming channel data is as easy as using
`channel.subscribe(listener)` to run a function whenever a message is
published to that channel.
```js
const dc = require('diagnostics_channel');
const channel = dc.channel('mysql.query');
channel.subscribe(({ query, host }) => {
console.log(`mysql query to ${host}: ${query}`);
});
```
The data captured can be used to provide context for what an app is
doing at a given time. This can be used for things like augmenting
tracing data, tracking network and filesystem activity, logging
queries, and many other things. It's also a very useful data source
for diagnostics tools to provide a clearer picture of exactly what the
application is doing at a given point in the data they are presenting.
Contributed by Stephen Belanger (https://github.com/nodejs/node/pull/34895).
UUID support in the crypto module:
The new `crypto.randomUUID()` method now allows to generate random
[RFC 4122](https://www.rfc-editor.org/rfc/rfc4122.txt) Version 4
UUID strings:
```js
const { randomUUID } = require('crypto');
console.log(randomUUID());
// 'aa7c91a1-f8fc-4339-b9db-f93fc7233429'
```
Contributed by James M Snell (https://github.com/nodejs/node/pull/36729).
Experimental support for `AbortController` and `AbortSignal`:
Node.js 14.17.0 adds experimental partial support for `AbortController`
and `AbortSignal`.
Both constructors can be enabled globally using the
`--experimental-abortcontroller` flag.
Additionally, several Node.js APIs have been updated to support
`AbortSignal` for cancellation.
It is not mandatory to use the built-in constructors with them. Any
spec-compliant third-party alternatives should be compatible.
`AbortSignal` support was added to the following methods:
* `child_process.exec`
* `child_process.execFile`
* `child_process.fork`
* `child_process.spawn`
* `dgram.createSocket`
* `events.on`
* `events.once`
* `fs.readFile`
* `fs.watch`
* `fs.writeFile`
* `http.request`
* `https.request`
* `http2Session.request`
* The promisified variants of `setImmediate` and `setTimeout`
Other notable changes:
* doc:
* revoke deprecation of legacy url, change status to legacy (James M Snell) (https://github.com/nodejs/node/pull/37784)
* add legacy status to stability index (James M Snell) (https://github.com/nodejs/node/pull/37784)
* upgrade stability status of report API (Gireesh Punathil) (https://github.com/nodejs/node/pull/35654)
* deps:
* V8: Backport various patches for Apple Silicon support (BoHong Li) (https://github.com/nodejs/node/pull/38051)
* update ICU to 68.1 (Michaël Zasso) (https://github.com/nodejs/node/pull/36187)
* upgrade to libuv 1.41.0 (Colin Ihrig) (https://github.com/nodejs/node/pull/37360)
* http:
* add http.ClientRequest.getRawHeaderNames() (simov) (https://github.com/nodejs/node/pull/37660)
* report request start and end with diagnostics\_channel (Stephen Belanger) (https://github.com/nodejs/node/pull/34895)
* util:
* add getSystemErrorMap() impl (eladkeyshawn) (https://github.com/nodejs/node/pull/38101)
PR-URL: https://github.com/nodejs/node/pull/38507
2021-05-02 23:12:18 -04:00
|
|
|
- version:
|
|
|
|
- v15.13.0
|
|
|
|
- v14.17.0
|
2021-03-17 12:40:58 -07:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/37784
|
|
|
|
description: Deprecation revoked. Status changed to "Legacy".
|
2018-09-08 11:44:11 +02:00
|
|
|
- version: v11.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/22715
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2018-09-05 11:33:20 -07:00
|
|
|
|
2021-03-17 12:40:58 -07:00
|
|
|
Type: Deprecation revoked
|
2018-09-05 11:33:20 -07:00
|
|
|
|
2022-10-11 15:35:52 -07:00
|
|
|
The [legacy URL API][] is deprecated. This includes [`url.format()`][],
|
2018-09-05 11:33:20 -07:00
|
|
|
[`url.parse()`][], [`url.resolve()`][], and the [legacy `urlObject`][]. Please
|
|
|
|
use the [WHATWG URL API][] instead.
|
|
|
|
|
2018-09-12 22:54:43 +02:00
|
|
|
### DEP0117: Native crypto handles
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-05 11:55:00 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2019-03-22 13:19:46 +00:00
|
|
|
- version: v12.0.0
|
2019-03-30 11:01:45 +01:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/27011
|
|
|
|
description: End-of-Life.
|
2018-10-02 16:01:19 -07:00
|
|
|
- version: v11.0.0
|
2018-09-05 11:55:00 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/22747
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
|
|
|
|
2019-03-30 11:01:45 +01:00
|
|
|
Type: End-of-Life
|
2018-09-05 11:55:00 +02:00
|
|
|
|
|
|
|
Previous versions of Node.js exposed handles to internal native objects through
|
|
|
|
the `_handle` property of the `Cipher`, `Decipher`, `DiffieHellman`,
|
|
|
|
`DiffieHellmanGroup`, `ECDH`, `Hash`, `Hmac`, `Sign`, and `Verify` classes.
|
2019-03-30 11:01:45 +01:00
|
|
|
The `_handle` property has been removed because improper use of the native
|
|
|
|
object can lead to crashing the application.
|
2018-09-05 11:33:20 -07:00
|
|
|
|
2020-01-12 07:20:36 -08:00
|
|
|
### DEP0118: `dns.lookup()` support for a falsy host name
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-09-30 18:17:36 +08:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2018-10-02 16:01:19 -07:00
|
|
|
- version: v11.0.0
|
2018-09-30 18:17:36 +08:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/23173
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
|
|
|
|
|
|
|
Type: Runtime
|
|
|
|
|
2020-01-12 07:20:36 -08:00
|
|
|
Previous versions of Node.js supported `dns.lookup()` with a falsy host name
|
2018-09-30 18:17:36 +08:00
|
|
|
like `dns.lookup(false)` due to backward compatibility.
|
|
|
|
This behavior is undocumented and is thought to be unused in real world apps.
|
|
|
|
It will become an error in future versions of Node.js.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0119: `process.binding('uv').errname()` private API
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-10-21 12:37:26 -07:00
|
|
|
<!-- YAML
|
2018-10-12 11:11:44 -07:00
|
|
|
changes:
|
2018-10-02 16:01:19 -07:00
|
|
|
- version: v11.0.0
|
2018-10-12 11:11:44 -07:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/23597
|
2025-03-19 01:34:18 +01:00
|
|
|
description: Documentation-only deprecation
|
|
|
|
with `--pending-deprecation` support.
|
2018-10-12 11:11:44 -07:00
|
|
|
-->
|
|
|
|
|
|
|
|
Type: Documentation-only (supports [`--pending-deprecation`][])
|
|
|
|
|
2018-12-29 18:28:02 -05:00
|
|
|
`process.binding('uv').errname()` is deprecated. Please use
|
|
|
|
[`util.getSystemErrorName()`][] instead.
|
2018-10-12 11:11:44 -07:00
|
|
|
|
2020-06-14 14:49:34 -07:00
|
|
|
### DEP0120: Windows Performance Counter support
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-10-21 12:37:26 -07:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2019-03-22 13:19:46 +00:00
|
|
|
- version: v12.0.0
|
2018-12-05 23:50:28 -05:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/24862
|
|
|
|
description: End-of-Life.
|
2018-10-02 16:01:19 -07:00
|
|
|
- version: v11.0.0
|
2018-10-21 12:37:26 -07:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/22485
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
|
|
|
|
2018-12-05 23:50:28 -05:00
|
|
|
Type: End-of-Life
|
2018-10-21 12:37:26 -07:00
|
|
|
|
|
|
|
Windows Performance Counter support has been removed from Node.js. The
|
|
|
|
undocumented `COUNTER_NET_SERVER_CONNECTION()`,
|
|
|
|
`COUNTER_NET_SERVER_CONNECTION_CLOSE()`, `COUNTER_HTTP_SERVER_REQUEST()`,
|
|
|
|
`COUNTER_HTTP_SERVER_RESPONSE()`, `COUNTER_HTTP_CLIENT_REQUEST()`, and
|
|
|
|
`COUNTER_HTTP_CLIENT_RESPONSE()` functions have been deprecated.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0121: `net._setSimultaneousAccepts()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-10-19 11:21:42 -07:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2025-03-21 21:00:06 -04:00
|
|
|
- version: REPLACEME
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/57550
|
|
|
|
description: End-of-Life.
|
2019-03-22 13:19:46 +00:00
|
|
|
- version: v12.0.0
|
2018-10-19 11:21:42 -07:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/23760
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
|
|
|
|
2025-03-21 21:00:06 -04:00
|
|
|
Type: End-of-Life
|
2019-05-29 09:26:40 -04:00
|
|
|
|
2018-10-19 11:21:42 -07:00
|
|
|
The undocumented `net._setSimultaneousAccepts()` function was originally
|
2022-04-20 10:23:41 +02:00
|
|
|
intended for debugging and performance tuning when using the
|
|
|
|
`node:child_process` and `node:cluster` modules on Windows. The function is not
|
|
|
|
generally useful and is being removed. See discussion here:
|
2020-04-05 23:26:24 -04:00
|
|
|
<https://github.com/nodejs/node/issues/18391>
|
2018-10-12 11:11:44 -07:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0122: `tls` `Server.prototype.setOptions()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-10-22 15:17:06 -04:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2025-03-07 16:29:18 -05:00
|
|
|
- version: REPLACEME
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/57339
|
|
|
|
description: End-of-Life.
|
2019-03-22 13:19:46 +00:00
|
|
|
- version: v12.0.0
|
2018-10-22 15:17:06 -04:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/23820
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
|
|
|
|
2025-03-07 16:29:18 -05:00
|
|
|
Type: End-of-Life
|
2018-10-22 15:17:06 -04:00
|
|
|
|
|
|
|
Please use `Server.prototype.setSecureContext()` instead.
|
|
|
|
|
2018-01-12 17:36:21 -06:00
|
|
|
### DEP0123: setting the TLS ServerName to an IP address
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2018-01-12 17:36:21 -06:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2019-03-22 13:19:46 +00:00
|
|
|
- version: v12.0.0
|
2018-11-18 00:58:23 +08:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/23329
|
2018-01-12 17:36:21 -06:00
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
|
|
|
|
|
|
|
Type: Runtime
|
|
|
|
|
|
|
|
Setting the TLS ServerName to an IP address is not permitted by
|
|
|
|
[RFC 6066][]. This will be ignored in a future version.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0124: using `REPLServer.rli`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2019-01-21 01:08:22 +01:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2020-10-20, Version 15.0.0 (Current)
Notable changes:
Deprecations and Removals:
- **build**: remove --build-v8-with-gn configure option (Yang Guo)
(https://github.com/nodejs/node/pull/27576)
- **build**: drop support for VS2017 (Michaël Zasso)
(https://github.com/nodejs/node/pull/33694)
- **doc**: move DEP0018 to End-of-Life (Rich Trott)
(https://github.com/nodejs/node/pull/35316)
- **fs**: deprecation warning on recursive rmdir (Ian Sutherland)
(https://github.com/nodejs/node/pull/35562)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(https://github.com/nodejs/node/pull/35496)
- **net**: remove long deprecated server.connections property (James M
Snell) (https://github.com/nodejs/node/pull/33647)
- **repl**: remove deprecated repl.memory function (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.turnOffEditorMode() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.parseREPLKeyword() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated bufferedCommand property (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated .rli (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **src**: remove deprecated node debug command (James M Snell)
(https://github.com/nodejs/node/pull/33648)
- **timers**: introduce timers/promises (James M Snell)
(https://github.com/nodejs/node/pull/33950)
- **util**: change default value of `maxStringLength` to 10000
(unknown) (https://github.com/nodejs/node/pull/32744)
- **wasi**: drop --experimental-wasm-bigint requirement (Colin Ihrig)
(https://github.com/nodejs/node/pull/35415)
npm 7 (https://github.com/nodejs/node/pull/35631):
Node.js 15 comes with a new major release of npm, npm 7. npm 7 comes
with many new features - including npm workspaces and a new
package-lock.json format. npm 7 also includes yarn.lock file support.
One of the big changes in npm 7 is that peer dependencies are now
installed by default.
Throw On Unhandled Rejections
(https://github.com/nodejs/node/pull/33021):
As of Node.js 15, the default mode for `unhandledRejection` is changed
to `throw` (from `warn`). In `throw` mode, if an `unhandledRejection`
hook is not set, the `unhandledRejection` is raised as an uncaught
exception. Users that have an `unhandledRejection` hook should see no
change in behavior, and it’s still possible to switch modes using the
`--unhandled-rejections=mode` process flag.
QUIC (https://github.com/nodejs/node/pull/32379):
Node.js 15 comes with experimental support QUIC, which can be enabled
by compiling Node.js with the `--experimental-quic` configuration flag.
The Node.js QUIC implementation is exposed by the core `net` module.
V8 8.6 (https://github.com/nodejs/node/pull/35415):
The V8 JavaScript engine has been updated to V8 8.6 (V8 8.4 is the
latest available in Node.js 14). Along with performance tweaks and
improvements the V8 update also brings the following language features:
* `Promise.any()` (from V8 8.5)
* `AggregateError` (from V8 8.5)
* `String.prototype.replaceAll()` (from V8 8.5)
* Logical assignment operators `&&=`, `||=`, and `??=` (from V8 8.5)
Other Notable Changes:
- **assert**: add `assert/strict` alias module (ExE Boss)
(https://github.com/nodejs/node/pull/34001)
- **dns**: add dns/promises alias (shisama)
(https://github.com/nodejs/node/pull/32953)
- **fs**: reimplement read and write streams using stream.construct
(Robert Nagy) (https://github.com/nodejs/node/pull/29656)
- **http2**: allow Host in HTTP/2 requests (Alba Mendez)
(https://github.com/nodejs/node/pull/34664)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(https://github.com/nodejs/node/pull/35496)
- **lib**: unflag AbortController (James M Snell)
(https://github.com/nodejs/node/pull/33527)
- **lib**: initial experimental AbortController implementation (James M
Snell) (https://github.com/nodejs/node/pull/33527)
- **net**: autoDestroy Socket (Robert Nagy)
(https://github.com/nodejs/node/pull/31806)
- **src**: disallow JS execution inside FreeEnvironment (Anna
Henningsen) (https://github.com/nodejs/node/pull/33874)
- **stream**: construct (Robert Nagy)
(https://github.com/nodejs/node/pull/29656)
- **worker**: make MessageEvent class more Web-compatible (Anna
Henningsen) (https://github.com/nodejs/node/pull/35496)
Semver-Major Commits:
- **assert**: add `assert/strict` alias module (ExE Boss)
(https://github.com/nodejs/node/pull/34001)
- **build**: reset embedder string to "-node.0" (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **build**: remove --build-v8-with-gn configure option (Yang Guo)
(https://github.com/nodejs/node/pull/27576)
- **build**: drop support for VS2017 (Michaël Zasso)
(https://github.com/nodejs/node/pull/33694)
- **crypto**: refactoring internals, add WebCrypto (James M Snell)
(https://github.com/nodejs/node/pull/35093)
- **crypto**: move node\_crypto files to src/crypto (James M Snell)
(https://github.com/nodejs/node/pull/35093)
- **deps**: V8: cherry-pick d76abfed3512 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: V8: cherry-pick 717543bbf0ef (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: V8: cherry-pick 6be2f6e26e8d (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: fix V8 build issue with inline methods (Jiawen Geng)
(https://github.com/nodejs/node/pull/35415)
- **deps**: fix platform-embedded-file-writer-win for ARM64 (Michaël
Zasso) (https://github.com/nodejs/node/pull/35415)
- **deps**: update V8 postmortem metadata script (Colin Ihrig)
(https://github.com/nodejs/node/pull/35415)
- **deps**: update V8 to 8.6.395 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: upgrade npm to 7.0.0 (Myles Borins)
(https://github.com/nodejs/node/pull/35631)
- **deps**: update npm to 7.0.0-rc.3 (Myles Borins)
(https://github.com/nodejs/node/pull/35474)
- **deps**: V8: cherry-pick 0d6debcc5f08 (Gus Caplan)
(https://github.com/nodejs/node/pull/33600)
- **dns**: add dns/promises alias (shisama)
(https://github.com/nodejs/node/pull/32953)
- **doc**: move DEP0018 to End-of-Life (Rich Trott)
(https://github.com/nodejs/node/pull/35316)
- **doc**: update support macos version for 15.x (Ash Cripps)
(https://github.com/nodejs/node/pull/35022)
- **fs**: deprecation warning on recursive rmdir (Ian Sutherland)
(https://github.com/nodejs/node/pull/35562)
- **fs**: reimplement read and write streams using stream.construct
(Robert Nagy) (https://github.com/nodejs/node/pull/29656)
- **http**: fixed socket.setEncoding fatal error (iskore)
(https://github.com/nodejs/node/pull/33405)
- **http**: emit 'error' on aborted server request (Robert Nagy)
(https://github.com/nodejs/node/pull/33172)
- **http**: cleanup end argument handling (Robert Nagy)
(https://github.com/nodejs/node/pull/31818)
- **http2**: allow Host in HTTP/2 requests (Alba Mendez)
(https://github.com/nodejs/node/pull/34664)
- **http2**: add `invalidheaders` test (Pranshu Srivastava)
(https://github.com/nodejs/node/pull/33161)
- **http2**: refactor state code validation for the http2Stream class
(rickyes) (https://github.com/nodejs/node/pull/33535)
- **http2**: header field valid checks (Pranshu Srivastava)
(https://github.com/nodejs/node/pull/33193)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(https://github.com/nodejs/node/pull/35496)
- **lib**: remove ERR\_INVALID\_OPT\_VALUE and
ERR\_INVALID\_OPT\_VALUE\_ENCODING (Denys Otrishko)
(https://github.com/nodejs/node/pull/34682)
- **lib**: handle one of args case in ERR\_MISSING\_ARGS (Denys
Otrishko) (https://github.com/nodejs/node/pull/34022)
- **lib**: remove NodeError from the prototype of errors with code
(Michaël Zasso) (https://github.com/nodejs/node/pull/33857)
- **lib**: unflag AbortController (James M Snell)
(https://github.com/nodejs/node/pull/33527)
- **lib**: initial experimental AbortController implementation (James M
Snell) (https://github.com/nodejs/node/pull/33527)
- **net**: check args in net.connect() and socket.connect() calls
(Denys Otrishko) (https://github.com/nodejs/node/pull/34022)
- **net**: remove long deprecated server.connections property (James M
Snell) (https://github.com/nodejs/node/pull/33647)
- **net**: autoDestroy Socket (Robert Nagy)
(https://github.com/nodejs/node/pull/31806)
- **process**: update v8 fast api calls usage (Maya Lekova)
(https://github.com/nodejs/node/pull/35415)
- **process**: change default --unhandled-rejections=throw (Dan
Fabulich) (https://github.com/nodejs/node/pull/33021)
- **process**: use v8 fast api calls for hrtime (Gus Caplan)
(https://github.com/nodejs/node/pull/33600)
- **process**: delay throwing an error using `throwDeprecation` (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/32312)
- **repl**: remove deprecated repl.memory function (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.turnOffEditorMode() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.parseREPLKeyword() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated bufferedCommand property (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated .rli (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **src**: implement NodePlatform::PostJob (Clemens Backes)
(https://github.com/nodejs/node/pull/35415)
- **src**: update NODE\_MODULE\_VERSION to 88 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **src**: error reporting on CPUUsage (Yash Ladha)
(https://github.com/nodejs/node/pull/34762)
- **src**: use node:moduleName as builtin module filename (Michaël
Zasso) (https://github.com/nodejs/node/pull/35498)
- **src**: enable wasm trap handler on windows (Gus Caplan)
(https://github.com/nodejs/node/pull/35033)
- **src**: update NODE\_MODULE\_VERSION to 86 (Michaël Zasso)
(https://github.com/nodejs/node/pull/33579)
- **src**: disallow JS execution inside FreeEnvironment (Anna
Henningsen) (https://github.com/nodejs/node/pull/33874)
- **src**: remove \_third\_party\_main support (Anna Henningsen)
(https://github.com/nodejs/node/pull/33971)
- **src**: remove deprecated node debug command (James M Snell)
(https://github.com/nodejs/node/pull/33648)
- **src**: remove unused CancelPendingDelayedTasks (Anna Henningsen)
(https://github.com/nodejs/node/pull/32859)
- **stream**: try to wait for flush to complete before 'finish' (Robert
Nagy) (https://github.com/nodejs/node/pull/34314)
- **stream**: cleanup and fix Readable.wrap (Robert Nagy)
(https://github.com/nodejs/node/pull/34204)
- **stream**: add promises version to utility functions (rickyes)
(https://github.com/nodejs/node/pull/33991)
- **stream**: fix writable.end callback behavior (Robert Nagy)
(https://github.com/nodejs/node/pull/34101)
- **stream**: construct (Robert Nagy)
(https://github.com/nodejs/node/pull/29656)
- **stream**: write should throw on unknown encoding (Robert Nagy)
(https://github.com/nodejs/node/pull/33075)
- **stream**: fix \_final and 'prefinish' timing (Robert Nagy)
(https://github.com/nodejs/node/pull/32780)
- **stream**: simplify Transform stream implementation (Robert Nagy)
(https://github.com/nodejs/node/pull/32763)
- **stream**: use callback to properly propagate error (Robert Nagy)
(https://github.com/nodejs/node/pull/29179)
- **test**: update tests after increasing typed array size to 4GB
(Kim-Anh Tran) (https://github.com/nodejs/node/pull/35415)
- **test**: fix tests for npm 7.0.0 (Myles Borins)
(https://github.com/nodejs/node/pull/35631)
- **test**: fix test suite to work with npm 7 (Myles Borins)
(https://github.com/nodejs/node/pull/35474)
- **test**: update WPT harness and tests (Michaël Zasso)
(https://github.com/nodejs/node/pull/33770)
- **timers**: introduce timers/promises (James M Snell)
(https://github.com/nodejs/node/pull/33950)
- **tools**: disable x86 safe exception handlers in V8 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **tools**: update V8 gypfiles for 8.6 (Ujjwal Sharma)
(https://github.com/nodejs/node/pull/35415)
- **tools**: update V8 gypfiles for 8.5 (Ujjwal Sharma)
(https://github.com/nodejs/node/pull/35415)
- **url**: file URL path normalization (Daijiro Wachi)
(https://github.com/nodejs/node/pull/35477)
- **url**: verify domain is not empty after "ToASCII" (Michaël Zasso)
(https://github.com/nodejs/node/pull/33770)
- **url**: remove U+0000 case in the fragment state (Michaël Zasso)
(https://github.com/nodejs/node/pull/33770)
- **url**: remove gopher from special schemes (Michaël Zasso)
(https://github.com/nodejs/node/pull/33325)
- **url**: forbid lt and gt in url host code point (Yash Ladha)
(https://github.com/nodejs/node/pull/33328)
- **util**: change default value of `maxStringLength` to 10000
(unknown) (https://github.com/nodejs/node/pull/32744)
- **wasi**: drop --experimental-wasm-bigint requirement (Colin Ihrig)
(https://github.com/nodejs/node/pull/35415)
- **win, child_process**: sanitize env variables (Bartosz Sosnowski)
(https://github.com/nodejs/node/pull/35210)
- **worker**: make MessageEvent class more Web-compatible (Anna
Henningsen) (https://github.com/nodejs/node/pull/35496)
- **worker**: set trackUnmanagedFds to true by default (Anna
Henningsen) (https://github.com/nodejs/node/pull/34394)
- **worker**: rename error code to be more accurate (Anna Henningsen)
(https://github.com/nodejs/node/pull/33872)
PR-URL: https://github.com/nodejs/node/pull/35014
2020-09-01 21:16:46 +01:00
|
|
|
- version: v15.0.0
|
2020-05-07 20:19:08 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/33286
|
|
|
|
description: End-of-Life.
|
2019-03-22 13:19:46 +00:00
|
|
|
- version: v12.0.0
|
2019-01-21 01:08:22 +01:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/26260
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
|
|
|
|
2020-05-07 20:19:08 +02:00
|
|
|
Type: End-of-Life
|
2019-01-21 01:08:22 +01:00
|
|
|
|
|
|
|
This property is a reference to the instance itself.
|
|
|
|
|
2022-04-20 10:23:41 +02:00
|
|
|
### DEP0125: `require('node:_stream_wrap')`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2019-02-21 10:42:04 -08:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2019-03-22 13:19:46 +00:00
|
|
|
- version: v12.0.0
|
2019-02-21 10:42:04 -08:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/26245
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
|
|
|
|
|
|
|
Type: Runtime
|
|
|
|
|
2022-04-20 10:23:41 +02:00
|
|
|
The `node:_stream_wrap` module is deprecated.
|
2019-02-21 10:42:04 -08:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0126: `timers.active()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2019-03-18 15:56:49 -07:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2025-02-10 16:09:41 -05:00
|
|
|
- version: REPLACEME
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/56966
|
|
|
|
description: End-of-Life.
|
2019-04-09 23:55:02 +01:00
|
|
|
- version: v11.14.0
|
2019-03-18 15:56:49 -07:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/26760
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
|
|
|
|
2025-02-10 16:09:41 -05:00
|
|
|
Type: End-of-Life
|
2019-03-18 15:56:49 -07:00
|
|
|
|
2025-02-10 16:09:41 -05:00
|
|
|
The previously undocumented `timers.active()` has been removed.
|
2019-03-18 15:56:49 -07:00
|
|
|
Please use the publicly documented [`timeout.refresh()`][] instead.
|
|
|
|
If re-referencing the timeout is necessary, [`timeout.ref()`][] can be used
|
|
|
|
with no performance impact since Node.js 10.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0127: `timers._unrefActive()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2019-03-18 15:56:49 -07:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2025-02-10 16:09:41 -05:00
|
|
|
- version: REPLACEME
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/56966
|
|
|
|
description: End-of-Life.
|
2019-04-09 23:55:02 +01:00
|
|
|
- version: v11.14.0
|
2019-03-18 15:56:49 -07:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/26760
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
|
|
|
|
2025-02-10 16:09:41 -05:00
|
|
|
Type: End-of-Life
|
2019-03-18 15:56:49 -07:00
|
|
|
|
2025-02-10 16:09:41 -05:00
|
|
|
The previously undocumented and "private" `timers._unrefActive()` has been removed.
|
2019-03-18 15:56:49 -07:00
|
|
|
Please use the publicly documented [`timeout.refresh()`][] instead.
|
|
|
|
If unreferencing the timeout is necessary, [`timeout.unref()`][] can be used
|
|
|
|
with no performance impact since Node.js 10.
|
|
|
|
|
2019-03-20 17:00:57 +01:00
|
|
|
### DEP0128: modules with an invalid `main` entry and an `index.js` file
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2019-03-20 17:00:57 +01:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2021-03-03 15:36:13 +00:00
|
|
|
- version: v16.0.0
|
2021-02-03 14:19:24 +01:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/37204
|
|
|
|
description: Runtime deprecation.
|
2019-03-22 13:19:46 +00:00
|
|
|
- version: v12.0.0
|
2019-03-20 17:00:57 +01:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/26823
|
|
|
|
description: Documentation-only.
|
|
|
|
-->
|
|
|
|
|
2021-02-03 14:19:24 +01:00
|
|
|
Type: Runtime
|
2019-03-20 17:00:57 +01:00
|
|
|
|
|
|
|
Modules that have an invalid `main` entry (e.g., `./does-not-exist.js`) and
|
|
|
|
also have an `index.js` file in the top level directory will resolve the
|
|
|
|
`index.js` file. That is deprecated and is going to throw an error in future
|
|
|
|
Node.js versions.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0129: `ChildProcess._channel`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2019-03-29 10:36:57 -04:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2019-09-09 13:32:18 +01:00
|
|
|
- version: v13.0.0
|
2019-05-29 09:22:52 -04:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/27949
|
|
|
|
description: Runtime deprecation.
|
2019-04-09 23:55:02 +01:00
|
|
|
- version: v11.14.0
|
2019-03-29 10:36:57 -04:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/26982
|
|
|
|
description: Documentation-only.
|
|
|
|
-->
|
|
|
|
|
2019-05-29 09:22:52 -04:00
|
|
|
Type: Runtime
|
2019-03-29 10:36:57 -04:00
|
|
|
|
|
|
|
The `_channel` property of child process objects returned by `spawn()` and
|
|
|
|
similar functions is not intended for public use. Use `ChildProcess.channel`
|
|
|
|
instead.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0130: `Module.createRequireFromPath()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2019-04-25 00:29:22 -04:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2021-03-03 15:36:13 +00:00
|
|
|
- version: v16.0.0
|
2021-02-03 12:31:38 +01:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/37201
|
|
|
|
description: End-of-life.
|
2019-09-09 13:32:18 +01:00
|
|
|
- version: v13.0.0
|
2019-05-29 09:59:08 -04:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/27951
|
|
|
|
description: Runtime deprecation.
|
2019-05-06 14:40:25 +02:00
|
|
|
- version: v12.2.0
|
2019-04-25 00:29:22 -04:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/27405
|
|
|
|
description: Documentation-only.
|
|
|
|
-->
|
|
|
|
|
2021-02-03 12:31:38 +01:00
|
|
|
Type: End-of-Life
|
2019-04-25 00:29:22 -04:00
|
|
|
|
2021-02-03 12:31:38 +01:00
|
|
|
Use [`module.createRequire()`][] instead.
|
2019-04-25 00:29:22 -04:00
|
|
|
|
2019-05-09 15:27:10 -04:00
|
|
|
### DEP0131: Legacy HTTP parser
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2019-05-09 15:27:10 -04:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2019-09-09 13:32:18 +01:00
|
|
|
- version: v13.0.0
|
2019-09-17 14:17:08 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/29589
|
|
|
|
description: This feature has been removed.
|
2021-03-18 16:52:00 +00:00
|
|
|
- version: v12.22.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/37603
|
|
|
|
description: Runtime deprecation.
|
2019-05-21 13:49:35 +02:00
|
|
|
- version: v12.3.0
|
2019-05-09 15:27:10 -04:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/27498
|
|
|
|
description: Documentation-only.
|
|
|
|
-->
|
|
|
|
|
2019-09-17 14:17:08 +02:00
|
|
|
Type: End-of-Life
|
2019-05-09 15:27:10 -04:00
|
|
|
|
|
|
|
The legacy HTTP parser, used by default in versions of Node.js prior to 12.0.0,
|
2019-09-09 13:32:18 +01:00
|
|
|
is deprecated and has been removed in v13.0.0. Prior to v13.0.0, the
|
2019-09-17 14:17:08 +02:00
|
|
|
`--http-parser=legacy` command-line flag could be used to revert to using the
|
|
|
|
legacy parser.
|
2019-05-09 15:27:10 -04:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0132: `worker.terminate()` with callback
|
2021-10-10 21:55:04 -07:00
|
|
|
|
worker: refactor `worker.terminate()`
At the collaborator summit in Berlin, the behaviour of
`worker.terminate()` was discussed.
In particular, switching from a callback-based to a Promise-based API
was suggested. While investigating that possibility later, it was
discovered that `.terminate()` was unintentionally synchronous up
until now (including calling its callback synchronously).
Also, the topic of its stability has been brought up. I have performed
two manual reviews of the native codebase for compatibility with
`.terminate()`, and performed some manual fuzz testing with the test
suite. At this point, bugs with `.terminate()` should, in my opinion,
be treated like bugs in other Node.js features.
(It is possible to make Node.js crash with `.terminate()` by messing
with internals and/or built-in prototype objects, but that is already
the case without `.terminate()` as well.)
This commit:
- Makes `.terminate()` an asynchronous operation.
- Makes `.terminate()` return a `Promise`.
- Runtime-deprecates passing a callback.
- Removes a warning about its stability from the documentation.
- Eliminates an unnecessary extra function from the C++ code.
A possible alternative to returning a `Promise` would be to keep the
method synchronous and just drop the callback. Generally, providing
an asynchronous API does provide us with a bit more flexibility.
Refs: https://github.com/nodejs/summit/issues/141
PR-URL: https://github.com/nodejs/node/pull/28021
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2019-06-02 15:09:57 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2019-06-17 21:31:37 +02:00
|
|
|
- version: v12.5.0
|
worker: refactor `worker.terminate()`
At the collaborator summit in Berlin, the behaviour of
`worker.terminate()` was discussed.
In particular, switching from a callback-based to a Promise-based API
was suggested. While investigating that possibility later, it was
discovered that `.terminate()` was unintentionally synchronous up
until now (including calling its callback synchronously).
Also, the topic of its stability has been brought up. I have performed
two manual reviews of the native codebase for compatibility with
`.terminate()`, and performed some manual fuzz testing with the test
suite. At this point, bugs with `.terminate()` should, in my opinion,
be treated like bugs in other Node.js features.
(It is possible to make Node.js crash with `.terminate()` by messing
with internals and/or built-in prototype objects, but that is already
the case without `.terminate()` as well.)
This commit:
- Makes `.terminate()` an asynchronous operation.
- Makes `.terminate()` return a `Promise`.
- Runtime-deprecates passing a callback.
- Removes a warning about its stability from the documentation.
- Eliminates an unnecessary extra function from the C++ code.
A possible alternative to returning a `Promise` would be to keep the
method synchronous and just drop the callback. Generally, providing
an asynchronous API does provide us with a bit more flexibility.
Refs: https://github.com/nodejs/summit/issues/141
PR-URL: https://github.com/nodejs/node/pull/28021
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2019-06-02 15:09:57 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/28021
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
|
|
|
|
|
|
|
Type: Runtime
|
|
|
|
|
|
|
|
Passing a callback to [`worker.terminate()`][] is deprecated. Use the returned
|
2022-05-17 21:04:51 +02:00
|
|
|
`Promise` instead, or a listener to the worker's `'exit'` event.
|
worker: refactor `worker.terminate()`
At the collaborator summit in Berlin, the behaviour of
`worker.terminate()` was discussed.
In particular, switching from a callback-based to a Promise-based API
was suggested. While investigating that possibility later, it was
discovered that `.terminate()` was unintentionally synchronous up
until now (including calling its callback synchronously).
Also, the topic of its stability has been brought up. I have performed
two manual reviews of the native codebase for compatibility with
`.terminate()`, and performed some manual fuzz testing with the test
suite. At this point, bugs with `.terminate()` should, in my opinion,
be treated like bugs in other Node.js features.
(It is possible to make Node.js crash with `.terminate()` by messing
with internals and/or built-in prototype objects, but that is already
the case without `.terminate()` as well.)
This commit:
- Makes `.terminate()` an asynchronous operation.
- Makes `.terminate()` return a `Promise`.
- Runtime-deprecates passing a callback.
- Removes a warning about its stability from the documentation.
- Eliminates an unnecessary extra function from the C++ code.
A possible alternative to returning a `Promise` would be to keep the
method synchronous and just drop the callback. Generally, providing
an asynchronous API does provide us with a bit more flexibility.
Refs: https://github.com/nodejs/summit/issues/141
PR-URL: https://github.com/nodejs/node/pull/28021
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Tiancheng "Timothy" Gu <timothygu99@gmail.com>
Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2019-06-02 15:09:57 +02:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0133: `http` `connection`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2019-08-06 13:56:52 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2019-10-10 14:31:33 +02:00
|
|
|
- version: v12.12.0
|
2019-08-06 13:56:52 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/29015
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
|
|
|
Type: Documentation-only
|
|
|
|
|
2019-10-02 00:31:57 -04:00
|
|
|
Prefer [`response.socket`][] over [`response.connection`][] and
|
|
|
|
[`request.socket`][] over [`request.connection`][].
|
2019-08-06 13:56:52 +02:00
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0134: `process._tickCallback`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2019-09-30 13:56:26 -04:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2019-10-10 14:31:33 +02:00
|
|
|
- version: v12.12.0
|
2019-09-30 13:56:26 -04:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/29781
|
2025-03-19 01:34:18 +01:00
|
|
|
description: Documentation-only deprecation
|
|
|
|
with `--pending-deprecation` support.
|
2019-09-30 13:56:26 -04:00
|
|
|
-->
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2019-09-30 13:56:26 -04:00
|
|
|
Type: Documentation-only (supports [`--pending-deprecation`][])
|
|
|
|
|
|
|
|
The `process._tickCallback` property was never documented as
|
|
|
|
an officially supported API.
|
|
|
|
|
2019-10-14 11:39:27 -04:00
|
|
|
### DEP0135: `WriteStream.open()` and `ReadStream.open()` are internal
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2019-08-09 09:01:43 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2019-09-09 13:32:18 +01:00
|
|
|
- version: v13.0.0
|
2019-08-09 09:01:43 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/29061
|
2020-10-01 19:38:33 +02:00
|
|
|
description: Runtime deprecation.
|
2019-08-09 09:01:43 +02:00
|
|
|
-->
|
|
|
|
|
|
|
|
Type: Runtime
|
|
|
|
|
|
|
|
[`WriteStream.open()`][] and [`ReadStream.open()`][] are undocumented internal
|
|
|
|
APIs that do not make sense to use in userland. File streams should always be
|
|
|
|
opened through their corresponding factory methods [`fs.createWriteStream()`][]
|
|
|
|
and [`fs.createReadStream()`][]) or by passing a file descriptor in options.
|
|
|
|
|
2019-12-23 17:21:47 -08:00
|
|
|
### DEP0136: `http` `finished`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2019-07-14 16:59:25 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2020-04-24 18:43:06 +02:00
|
|
|
- version:
|
|
|
|
- v13.4.0
|
|
|
|
- v12.16.0
|
2019-07-14 16:59:25 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/28679
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
|
|
|
Type: Documentation-only
|
|
|
|
|
|
|
|
[`response.finished`][] indicates whether [`response.end()`][] has been
|
|
|
|
called, not whether `'finish'` has been emitted and the underlying data
|
|
|
|
is flushed.
|
|
|
|
|
|
|
|
Use [`response.writableFinished`][] or [`response.writableEnded`][]
|
2021-02-09 00:09:32 +05:30
|
|
|
accordingly instead to avoid the ambiguity.
|
2019-07-14 16:59:25 +02:00
|
|
|
|
2021-06-15 19:44:11 -04:00
|
|
|
To maintain existing behavior `response.finished` should be replaced with
|
2019-07-14 16:59:25 +02:00
|
|
|
`response.writableEnded`.
|
|
|
|
|
2020-02-07 10:07:02 -05:00
|
|
|
### DEP0137: Closing fs.FileHandle on garbage collection
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2019-06-23 08:35:04 -05:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2020-03-10 17:16:08 +00:00
|
|
|
- version: v14.0.0
|
2019-06-23 08:35:04 -05:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/28396
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
|
|
|
|
|
|
|
Type: Runtime
|
|
|
|
|
|
|
|
Allowing a [`fs.FileHandle`][] object to be closed on garbage collection is
|
2020-08-20 17:11:53 -07:00
|
|
|
deprecated. In the future, doing so might result in a thrown error that will
|
2019-06-23 08:35:04 -05:00
|
|
|
terminate the process.
|
|
|
|
|
|
|
|
Please ensure that all `fs.FileHandle` objects are explicitly closed using
|
|
|
|
`FileHandle.prototype.close()` when the `fs.FileHandle` is no longer needed:
|
|
|
|
|
|
|
|
```js
|
2022-04-20 10:23:41 +02:00
|
|
|
const fsPromises = require('node:fs').promises;
|
2019-06-23 08:35:04 -05:00
|
|
|
async function openAndClose() {
|
|
|
|
let filehandle;
|
|
|
|
try {
|
|
|
|
filehandle = await fsPromises.open('thefile.txt', 'r');
|
|
|
|
} finally {
|
|
|
|
if (filehandle !== undefined)
|
|
|
|
await filehandle.close();
|
|
|
|
}
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
2020-03-12 19:18:09 +01:00
|
|
|
### DEP0138: `process.mainModule`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2020-03-12 19:18:09 +01:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2020-03-10 17:16:08 +00:00
|
|
|
- version: v14.0.0
|
2020-03-12 19:18:09 +01:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/32232
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
|
|
|
Type: Documentation-only
|
|
|
|
|
|
|
|
[`process.mainModule`][] is a CommonJS-only feature while `process` global
|
|
|
|
object is shared with non-CommonJS environment. Its use within ECMAScript
|
|
|
|
modules is unsupported.
|
|
|
|
|
|
|
|
It is deprecated in favor of [`require.main`][], because it serves the same
|
|
|
|
purpose and is only available on CommonJS environment.
|
|
|
|
|
2020-03-26 00:55:39 -04:00
|
|
|
### DEP0139: `process.umask()` with no arguments
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2020-03-26 01:07:31 -04:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2020-09-28 10:54:13 -07:00
|
|
|
- version:
|
|
|
|
- v14.0.0
|
2020-10-09 21:08:06 +02:00
|
|
|
- v12.19.0
|
2020-03-26 01:07:31 -04:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/32499
|
2020-09-24 23:02:33 +01:00
|
|
|
description: Documentation-only deprecation.
|
2020-03-26 01:07:31 -04:00
|
|
|
-->
|
|
|
|
|
2020-09-24 23:02:33 +01:00
|
|
|
Type: Documentation-only
|
2020-03-26 01:07:31 -04:00
|
|
|
|
2020-04-07 16:17:14 -07:00
|
|
|
Calling `process.umask()` with no argument causes the process-wide umask to be
|
2020-03-26 01:07:31 -04:00
|
|
|
written twice. This introduces a race condition between threads, and is a
|
|
|
|
potential security vulnerability. There is no safe, cross-platform alternative
|
|
|
|
API.
|
|
|
|
|
2020-04-27 18:36:43 -04:00
|
|
|
### DEP0140: Use `request.destroy()` instead of `request.abort()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2020-04-13 11:02:03 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2020-04-28 13:54:04 +02:00
|
|
|
- version:
|
2020-10-02 00:34:58 +02:00
|
|
|
- v14.1.0
|
|
|
|
- v13.14.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/32807
|
2020-04-13 11:02:03 +02:00
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
|
|
|
Type: Documentation-only
|
|
|
|
|
|
|
|
Use [`request.destroy()`][] instead of [`request.abort()`][].
|
|
|
|
|
2020-05-16 12:28:31 +02:00
|
|
|
### DEP0141: `repl.inputStream` and `repl.outputStream`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2020-05-08 00:20:08 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2020-05-17 18:45:37 -07:00
|
|
|
- version: v14.3.0
|
2020-05-08 00:20:08 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/33294
|
2025-03-19 01:34:18 +01:00
|
|
|
description: Documentation-only deprecation
|
|
|
|
with `--pending-deprecation` support.
|
2020-05-08 00:20:08 +02:00
|
|
|
-->
|
|
|
|
|
|
|
|
Type: Documentation-only (supports [`--pending-deprecation`][])
|
|
|
|
|
2022-04-20 10:23:41 +02:00
|
|
|
The `node:repl` module exported the input and output stream twice. Use `.input`
|
2020-05-08 00:20:08 +02:00
|
|
|
instead of `.inputStream` and `.output` instead of `.outputStream`.
|
|
|
|
|
2020-05-16 12:28:31 +02:00
|
|
|
### DEP0142: `repl._builtinLibs`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2020-05-08 00:35:15 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2020-05-17 18:45:37 -07:00
|
|
|
- version: v14.3.0
|
2020-05-08 00:35:15 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/33294
|
2025-03-19 01:34:18 +01:00
|
|
|
description: Documentation-only deprecation
|
|
|
|
with `--pending-deprecation` support.
|
2020-05-08 00:35:15 +02:00
|
|
|
-->
|
|
|
|
|
2025-03-19 01:34:18 +01:00
|
|
|
Type: Documentation-only (supports [`--pending-deprecation`][])
|
2020-05-08 00:35:15 +02:00
|
|
|
|
2022-04-20 10:23:41 +02:00
|
|
|
The `node:repl` module exports a `_builtinLibs` property that contains an array
|
2022-08-05 02:32:06 +08:00
|
|
|
of built-in modules. It was incomplete so far and instead it's better to rely
|
2022-04-20 10:23:41 +02:00
|
|
|
upon `require('node:module').builtinModules`.
|
2020-05-08 00:35:15 +02:00
|
|
|
|
2020-07-14 19:27:52 +01:00
|
|
|
### DEP0143: `Transform._transformState`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2020-03-11 23:44:31 +01:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2020-06-27 20:26:32 -07:00
|
|
|
- version: v14.5.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/33126
|
|
|
|
description: Runtime deprecation.
|
2020-03-11 23:44:31 +01:00
|
|
|
-->
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2020-07-14 19:27:52 +01:00
|
|
|
Type: Runtime
|
2025-03-19 01:34:18 +01:00
|
|
|
|
2020-07-14 19:27:52 +01:00
|
|
|
`Transform._transformState` will be removed in future versions where it is
|
|
|
|
no longer required due to simplification of the implementation.
|
|
|
|
|
|
|
|
### DEP0144: `module.parent`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2020-07-14 19:27:52 +01:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2020-10-02 00:34:58 +02:00
|
|
|
- version:
|
|
|
|
- v14.6.0
|
|
|
|
- v12.19.0
|
2020-07-14 19:27:52 +01:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/32217
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
2020-03-11 23:44:31 +01:00
|
|
|
|
|
|
|
Type: Documentation-only (supports [`--pending-deprecation`][])
|
|
|
|
|
|
|
|
A CommonJS module can access the first module that required it using
|
|
|
|
`module.parent`. This feature is deprecated because it does not work
|
|
|
|
consistently in the presence of ECMAScript modules and because it gives an
|
|
|
|
inaccurate representation of the CommonJS module graph.
|
|
|
|
|
|
|
|
Some modules use it to check if they are the entry point of the current process.
|
|
|
|
Instead, it is recommended to compare `require.main` and `module`:
|
|
|
|
|
|
|
|
```js
|
|
|
|
if (require.main === module) {
|
|
|
|
// Code section that will run only if current file is the entry point.
|
|
|
|
}
|
|
|
|
```
|
|
|
|
|
|
|
|
When looking for the CommonJS modules that have required the current one,
|
|
|
|
`require.cache` and `module.children` can be used:
|
|
|
|
|
|
|
|
```js
|
|
|
|
const moduleParents = Object.values(require.cache)
|
|
|
|
.filter((m) => m.children.includes(module));
|
|
|
|
```
|
|
|
|
|
2020-07-14 19:27:52 +01:00
|
|
|
### DEP0145: `socket.bufferSize`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2020-06-28 14:44:38 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2020-07-15 14:11:29 -04:00
|
|
|
- version: v14.6.0
|
2020-07-14 19:27:52 +01:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/34088
|
2020-06-28 14:44:38 +02:00
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
|
|
|
Type: Documentation-only
|
|
|
|
|
|
|
|
[`socket.bufferSize`][] is just an alias for [`writable.writableLength`][].
|
|
|
|
|
2020-08-26 22:12:24 +01:00
|
|
|
### DEP0146: `new crypto.Certificate()`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2020-08-16 09:54:27 -07:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2020-08-20 09:06:02 -04:00
|
|
|
- version: v14.9.0
|
2020-08-16 09:54:27 -07:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/34697
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
|
|
|
Type: Documentation-only
|
|
|
|
|
|
|
|
The [`crypto.Certificate()` constructor][] is deprecated. Use
|
|
|
|
[static methods of `crypto.Certificate()`][] instead.
|
|
|
|
|
2020-10-13 08:23:05 -07:00
|
|
|
### DEP0147: `fs.rmdir(path, { recursive: true })`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2020-10-09 14:56:56 -07:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2021-03-03 15:36:13 +00:00
|
|
|
- version: v16.0.0
|
2021-02-08 12:24:06 +01:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/37302
|
|
|
|
description: Runtime deprecation.
|
2020-10-20, Version 15.0.0 (Current)
Notable changes:
Deprecations and Removals:
- **build**: remove --build-v8-with-gn configure option (Yang Guo)
(https://github.com/nodejs/node/pull/27576)
- **build**: drop support for VS2017 (Michaël Zasso)
(https://github.com/nodejs/node/pull/33694)
- **doc**: move DEP0018 to End-of-Life (Rich Trott)
(https://github.com/nodejs/node/pull/35316)
- **fs**: deprecation warning on recursive rmdir (Ian Sutherland)
(https://github.com/nodejs/node/pull/35562)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(https://github.com/nodejs/node/pull/35496)
- **net**: remove long deprecated server.connections property (James M
Snell) (https://github.com/nodejs/node/pull/33647)
- **repl**: remove deprecated repl.memory function (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.turnOffEditorMode() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.parseREPLKeyword() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated bufferedCommand property (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated .rli (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **src**: remove deprecated node debug command (James M Snell)
(https://github.com/nodejs/node/pull/33648)
- **timers**: introduce timers/promises (James M Snell)
(https://github.com/nodejs/node/pull/33950)
- **util**: change default value of `maxStringLength` to 10000
(unknown) (https://github.com/nodejs/node/pull/32744)
- **wasi**: drop --experimental-wasm-bigint requirement (Colin Ihrig)
(https://github.com/nodejs/node/pull/35415)
npm 7 (https://github.com/nodejs/node/pull/35631):
Node.js 15 comes with a new major release of npm, npm 7. npm 7 comes
with many new features - including npm workspaces and a new
package-lock.json format. npm 7 also includes yarn.lock file support.
One of the big changes in npm 7 is that peer dependencies are now
installed by default.
Throw On Unhandled Rejections
(https://github.com/nodejs/node/pull/33021):
As of Node.js 15, the default mode for `unhandledRejection` is changed
to `throw` (from `warn`). In `throw` mode, if an `unhandledRejection`
hook is not set, the `unhandledRejection` is raised as an uncaught
exception. Users that have an `unhandledRejection` hook should see no
change in behavior, and it’s still possible to switch modes using the
`--unhandled-rejections=mode` process flag.
QUIC (https://github.com/nodejs/node/pull/32379):
Node.js 15 comes with experimental support QUIC, which can be enabled
by compiling Node.js with the `--experimental-quic` configuration flag.
The Node.js QUIC implementation is exposed by the core `net` module.
V8 8.6 (https://github.com/nodejs/node/pull/35415):
The V8 JavaScript engine has been updated to V8 8.6 (V8 8.4 is the
latest available in Node.js 14). Along with performance tweaks and
improvements the V8 update also brings the following language features:
* `Promise.any()` (from V8 8.5)
* `AggregateError` (from V8 8.5)
* `String.prototype.replaceAll()` (from V8 8.5)
* Logical assignment operators `&&=`, `||=`, and `??=` (from V8 8.5)
Other Notable Changes:
- **assert**: add `assert/strict` alias module (ExE Boss)
(https://github.com/nodejs/node/pull/34001)
- **dns**: add dns/promises alias (shisama)
(https://github.com/nodejs/node/pull/32953)
- **fs**: reimplement read and write streams using stream.construct
(Robert Nagy) (https://github.com/nodejs/node/pull/29656)
- **http2**: allow Host in HTTP/2 requests (Alba Mendez)
(https://github.com/nodejs/node/pull/34664)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(https://github.com/nodejs/node/pull/35496)
- **lib**: unflag AbortController (James M Snell)
(https://github.com/nodejs/node/pull/33527)
- **lib**: initial experimental AbortController implementation (James M
Snell) (https://github.com/nodejs/node/pull/33527)
- **net**: autoDestroy Socket (Robert Nagy)
(https://github.com/nodejs/node/pull/31806)
- **src**: disallow JS execution inside FreeEnvironment (Anna
Henningsen) (https://github.com/nodejs/node/pull/33874)
- **stream**: construct (Robert Nagy)
(https://github.com/nodejs/node/pull/29656)
- **worker**: make MessageEvent class more Web-compatible (Anna
Henningsen) (https://github.com/nodejs/node/pull/35496)
Semver-Major Commits:
- **assert**: add `assert/strict` alias module (ExE Boss)
(https://github.com/nodejs/node/pull/34001)
- **build**: reset embedder string to "-node.0" (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **build**: remove --build-v8-with-gn configure option (Yang Guo)
(https://github.com/nodejs/node/pull/27576)
- **build**: drop support for VS2017 (Michaël Zasso)
(https://github.com/nodejs/node/pull/33694)
- **crypto**: refactoring internals, add WebCrypto (James M Snell)
(https://github.com/nodejs/node/pull/35093)
- **crypto**: move node\_crypto files to src/crypto (James M Snell)
(https://github.com/nodejs/node/pull/35093)
- **deps**: V8: cherry-pick d76abfed3512 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: V8: cherry-pick 717543bbf0ef (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: V8: cherry-pick 6be2f6e26e8d (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: fix V8 build issue with inline methods (Jiawen Geng)
(https://github.com/nodejs/node/pull/35415)
- **deps**: fix platform-embedded-file-writer-win for ARM64 (Michaël
Zasso) (https://github.com/nodejs/node/pull/35415)
- **deps**: update V8 postmortem metadata script (Colin Ihrig)
(https://github.com/nodejs/node/pull/35415)
- **deps**: update V8 to 8.6.395 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **deps**: upgrade npm to 7.0.0 (Myles Borins)
(https://github.com/nodejs/node/pull/35631)
- **deps**: update npm to 7.0.0-rc.3 (Myles Borins)
(https://github.com/nodejs/node/pull/35474)
- **deps**: V8: cherry-pick 0d6debcc5f08 (Gus Caplan)
(https://github.com/nodejs/node/pull/33600)
- **dns**: add dns/promises alias (shisama)
(https://github.com/nodejs/node/pull/32953)
- **doc**: move DEP0018 to End-of-Life (Rich Trott)
(https://github.com/nodejs/node/pull/35316)
- **doc**: update support macos version for 15.x (Ash Cripps)
(https://github.com/nodejs/node/pull/35022)
- **fs**: deprecation warning on recursive rmdir (Ian Sutherland)
(https://github.com/nodejs/node/pull/35562)
- **fs**: reimplement read and write streams using stream.construct
(Robert Nagy) (https://github.com/nodejs/node/pull/29656)
- **http**: fixed socket.setEncoding fatal error (iskore)
(https://github.com/nodejs/node/pull/33405)
- **http**: emit 'error' on aborted server request (Robert Nagy)
(https://github.com/nodejs/node/pull/33172)
- **http**: cleanup end argument handling (Robert Nagy)
(https://github.com/nodejs/node/pull/31818)
- **http2**: allow Host in HTTP/2 requests (Alba Mendez)
(https://github.com/nodejs/node/pull/34664)
- **http2**: add `invalidheaders` test (Pranshu Srivastava)
(https://github.com/nodejs/node/pull/33161)
- **http2**: refactor state code validation for the http2Stream class
(rickyes) (https://github.com/nodejs/node/pull/33535)
- **http2**: header field valid checks (Pranshu Srivastava)
(https://github.com/nodejs/node/pull/33193)
- **lib**: add EventTarget-related browser globals (Anna Henningsen)
(https://github.com/nodejs/node/pull/35496)
- **lib**: remove ERR\_INVALID\_OPT\_VALUE and
ERR\_INVALID\_OPT\_VALUE\_ENCODING (Denys Otrishko)
(https://github.com/nodejs/node/pull/34682)
- **lib**: handle one of args case in ERR\_MISSING\_ARGS (Denys
Otrishko) (https://github.com/nodejs/node/pull/34022)
- **lib**: remove NodeError from the prototype of errors with code
(Michaël Zasso) (https://github.com/nodejs/node/pull/33857)
- **lib**: unflag AbortController (James M Snell)
(https://github.com/nodejs/node/pull/33527)
- **lib**: initial experimental AbortController implementation (James M
Snell) (https://github.com/nodejs/node/pull/33527)
- **net**: check args in net.connect() and socket.connect() calls
(Denys Otrishko) (https://github.com/nodejs/node/pull/34022)
- **net**: remove long deprecated server.connections property (James M
Snell) (https://github.com/nodejs/node/pull/33647)
- **net**: autoDestroy Socket (Robert Nagy)
(https://github.com/nodejs/node/pull/31806)
- **process**: update v8 fast api calls usage (Maya Lekova)
(https://github.com/nodejs/node/pull/35415)
- **process**: change default --unhandled-rejections=throw (Dan
Fabulich) (https://github.com/nodejs/node/pull/33021)
- **process**: use v8 fast api calls for hrtime (Gus Caplan)
(https://github.com/nodejs/node/pull/33600)
- **process**: delay throwing an error using `throwDeprecation` (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/32312)
- **repl**: remove deprecated repl.memory function (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.turnOffEditorMode() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated repl.parseREPLKeyword() function (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated bufferedCommand property (Ruben
Bridgewater) (https://github.com/nodejs/node/pull/33286)
- **repl**: remove deprecated .rli (Ruben Bridgewater)
(https://github.com/nodejs/node/pull/33286)
- **src**: implement NodePlatform::PostJob (Clemens Backes)
(https://github.com/nodejs/node/pull/35415)
- **src**: update NODE\_MODULE\_VERSION to 88 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **src**: error reporting on CPUUsage (Yash Ladha)
(https://github.com/nodejs/node/pull/34762)
- **src**: use node:moduleName as builtin module filename (Michaël
Zasso) (https://github.com/nodejs/node/pull/35498)
- **src**: enable wasm trap handler on windows (Gus Caplan)
(https://github.com/nodejs/node/pull/35033)
- **src**: update NODE\_MODULE\_VERSION to 86 (Michaël Zasso)
(https://github.com/nodejs/node/pull/33579)
- **src**: disallow JS execution inside FreeEnvironment (Anna
Henningsen) (https://github.com/nodejs/node/pull/33874)
- **src**: remove \_third\_party\_main support (Anna Henningsen)
(https://github.com/nodejs/node/pull/33971)
- **src**: remove deprecated node debug command (James M Snell)
(https://github.com/nodejs/node/pull/33648)
- **src**: remove unused CancelPendingDelayedTasks (Anna Henningsen)
(https://github.com/nodejs/node/pull/32859)
- **stream**: try to wait for flush to complete before 'finish' (Robert
Nagy) (https://github.com/nodejs/node/pull/34314)
- **stream**: cleanup and fix Readable.wrap (Robert Nagy)
(https://github.com/nodejs/node/pull/34204)
- **stream**: add promises version to utility functions (rickyes)
(https://github.com/nodejs/node/pull/33991)
- **stream**: fix writable.end callback behavior (Robert Nagy)
(https://github.com/nodejs/node/pull/34101)
- **stream**: construct (Robert Nagy)
(https://github.com/nodejs/node/pull/29656)
- **stream**: write should throw on unknown encoding (Robert Nagy)
(https://github.com/nodejs/node/pull/33075)
- **stream**: fix \_final and 'prefinish' timing (Robert Nagy)
(https://github.com/nodejs/node/pull/32780)
- **stream**: simplify Transform stream implementation (Robert Nagy)
(https://github.com/nodejs/node/pull/32763)
- **stream**: use callback to properly propagate error (Robert Nagy)
(https://github.com/nodejs/node/pull/29179)
- **test**: update tests after increasing typed array size to 4GB
(Kim-Anh Tran) (https://github.com/nodejs/node/pull/35415)
- **test**: fix tests for npm 7.0.0 (Myles Borins)
(https://github.com/nodejs/node/pull/35631)
- **test**: fix test suite to work with npm 7 (Myles Borins)
(https://github.com/nodejs/node/pull/35474)
- **test**: update WPT harness and tests (Michaël Zasso)
(https://github.com/nodejs/node/pull/33770)
- **timers**: introduce timers/promises (James M Snell)
(https://github.com/nodejs/node/pull/33950)
- **tools**: disable x86 safe exception handlers in V8 (Michaël Zasso)
(https://github.com/nodejs/node/pull/35415)
- **tools**: update V8 gypfiles for 8.6 (Ujjwal Sharma)
(https://github.com/nodejs/node/pull/35415)
- **tools**: update V8 gypfiles for 8.5 (Ujjwal Sharma)
(https://github.com/nodejs/node/pull/35415)
- **url**: file URL path normalization (Daijiro Wachi)
(https://github.com/nodejs/node/pull/35477)
- **url**: verify domain is not empty after "ToASCII" (Michaël Zasso)
(https://github.com/nodejs/node/pull/33770)
- **url**: remove U+0000 case in the fragment state (Michaël Zasso)
(https://github.com/nodejs/node/pull/33770)
- **url**: remove gopher from special schemes (Michaël Zasso)
(https://github.com/nodejs/node/pull/33325)
- **url**: forbid lt and gt in url host code point (Yash Ladha)
(https://github.com/nodejs/node/pull/33328)
- **util**: change default value of `maxStringLength` to 10000
(unknown) (https://github.com/nodejs/node/pull/32744)
- **wasi**: drop --experimental-wasm-bigint requirement (Colin Ihrig)
(https://github.com/nodejs/node/pull/35415)
- **win, child_process**: sanitize env variables (Bartosz Sosnowski)
(https://github.com/nodejs/node/pull/35210)
- **worker**: make MessageEvent class more Web-compatible (Anna
Henningsen) (https://github.com/nodejs/node/pull/35496)
- **worker**: set trackUnmanagedFds to true by default (Anna
Henningsen) (https://github.com/nodejs/node/pull/34394)
- **worker**: rename error code to be more accurate (Anna Henningsen)
(https://github.com/nodejs/node/pull/33872)
PR-URL: https://github.com/nodejs/node/pull/35014
2020-09-01 21:16:46 +01:00
|
|
|
- version: v15.0.0
|
2020-10-08 15:21:56 -06:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/35562
|
2021-02-08 12:24:06 +01:00
|
|
|
description: Runtime deprecation for permissive behavior.
|
2020-10-15 21:17:04 -07:00
|
|
|
- version: v14.14.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/35579
|
|
|
|
description: Documentation-only deprecation.
|
2020-10-09 14:56:56 -07:00
|
|
|
-->
|
|
|
|
|
2020-10-08 15:21:56 -06:00
|
|
|
Type: Runtime
|
2020-10-09 14:56:56 -07:00
|
|
|
|
2021-02-08 12:24:06 +01:00
|
|
|
In future versions of Node.js, `recursive` option will be ignored for
|
|
|
|
`fs.rmdir`, `fs.rmdirSync`, and `fs.promises.rmdir`.
|
|
|
|
|
|
|
|
Use `fs.rm(path, { recursive: true, force: true })`,
|
|
|
|
`fs.rmSync(path, { recursive: true, force: true })` or
|
|
|
|
`fs.promises.rm(path, { recursive: true, force: true })` instead.
|
2020-10-09 14:56:56 -07:00
|
|
|
|
2020-10-21 17:40:24 -07:00
|
|
|
### DEP0148: Folder mappings in `"exports"` (trailing `"/"`)
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2020-10-21 17:40:24 -07:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2021-10-19, Version 17.0.0 (Current)
Notable Changes:
Deprecations and Removals:
- (SEMVER-MAJOR) dns: runtime deprecate type coercion of `dns.lookup`
options
(Antoine du Hamel) [https://github.com/nodejs/node/pull/39793]
- doc: deprecate (doc-only) http abort related
(dr-js) [https://github.com/nodejs/node/pull/36670]
- (SEMVER-MAJOR) module: subpath folder mappings EOL
(Guy Bedford) [https://github.com/nodejs/node/pull/40121]
- (SEMVER-MAJOR) module: runtime deprecate trailing slash patterns
(Guy Bedford) [https://github.com/nodejs/node/pull/40117]
OpenSSL 3.0:
Node.js now includes OpenSSL 3.0, specifically https://github.com/quictls/openssl
which provides QUIC support.
While OpenSSL 3.0 APIs should be mostly compatible with those provided
by OpenSSL 1.1.1, we do anticipate some ecosystem impact due to
tightened restrictions on the allowed algorithms and key sizes.
If you hit an `ERR_OSSL_EVP_UNSUPPORTED` error in your application with
Node.js 17, it’s likely that your application or a module you’re using
is attempting to use an algorithm or key size which is no longer allowed
by default with OpenSSL 3.0. A command-line option,
`--openssl-legacy-provider`, has been added to revert to the legacy
provider as a temporary workaround for these tightened restrictions.
For details about all the features in
OpenSSL 3.0 please see https://www.openssl.org/blog/blog/2021/09/07/OpenSSL3.Final.
(Daniel Bevenius) [https://github.com/nodejs/node/pull/38512]
Contributed in https://github.com/nodejs/node/pull/38512, https://github.com/nodejs/node/pull/40478
V8 9.5:
The V8 JavaScript engine is updated to V8 9.5. This release comes with
additional supported types for the `Intl.DisplayNames` API and Extended
`timeZoneName` options in the `Intl.DateTimeFormat` API. You can read
more details in the V8 9.5 release post https://v8.dev/blog/v8-release-95.
(Michaël Zasso) [https://github.com/nodejs/node/pull/40178]
Readline Promise API:
The `readline` module provides an interface for reading data from a
Readable stream (such as `process.stdin`) one line at a time.
(Antoine du Hamel) [https://github.com/nodejs/node/pull/37947]
Other Notable Changes:
- (SEMVER-MAJOR) dns: default to verbatim=true in dns.lookup()
(treysis) [https://github.com/nodejs/node/pull/39987]
- (SEMVER-MAJOR) errors: print Node.js version on fatal exceptions that
cause exit
(Divlo) [https://github.com/nodejs/node/pull/38332]
- deps: upgrade npm to 8.1.0
(npm team) [https://github.com/nodejs/node/pull/40463]
- (SEMVER-MINOR) fs: add FileHandle.prototype.readableWebStream()
(James M Snell) [https://github.com/nodejs/node/pull/39331]
- (SEMVER-MAJOR) lib: add structuredClone() global
(Ethan Arrowood) [https://github.com/nodejs/node/pull/39759]
- (SEMVER-MAJOR) lib: expose `DOMException` as global
(Khaidi Chu) [https://github.com/nodejs/node/pull/39176]
- (SEMVER-MAJOR) stream: finished should error on errored stream
(Robert Nagy) [https://github.com/nodejs/node/pull/39235]
Semver-Major Commits:
- (SEMVER-MAJOR) build: compile with C++17 (MSVC)
(Richard Lau) [https://github.com/nodejs/node/pull/38807]
- (SEMVER-MAJOR) build: compile with --gnu++17
(Richard Lau) [https://github.com/nodejs/node/pull/38807]
- (SEMVER-MAJOR) deps: update V8 to 9.5.172.19
(Michaël Zasso) [https://github.com/nodejs/node/pull/40178]
- (SEMVER-MAJOR) deps,test,src,doc,tools: update to OpenSSL 3.0
(Daniel Bevenius) [https://github.com/nodejs/node/pull/38512]
- (SEMVER-MAJOR) dgram: tighten `address` validation in `socket.send`
(Voltrex) [https://github.com/nodejs/node/pull/39190]
- (SEMVER-MAJOR) dns: runtime deprecate type coercion of `dns.lookup` options
(Antoine du Hamel) [https://github.com/nodejs/node/pull/39793]
- (SEMVER-MAJOR) dns: default to verbatim=true in dns.lookup()
(treysis) [https://github.com/nodejs/node/pull/39987]
- (SEMVER-MAJOR) doc: update minimum supported FreeBSD to 12.2
(Michaël Zasso) [https://github.com/nodejs/node/pull/40179]
- (SEMVER-MAJOR) errors: disp ver on fatal except that causes exit
(Divlo) [https://github.com/nodejs/node/pull/38332]
- (SEMVER-MAJOR) fs: fix rmsync error swallowing
(Nitzan Uziely) [https://github.com/nodejs/node/pull/38684]
- (SEMVER-MAJOR) fs: aggregate errors in fsPromises to avoid error swallowing
(Nitzan Uziely) [https://github.com/nodejs/node/pull/38259]
- (SEMVER-MAJOR) lib: add structuredClone() global
(Ethan Arrowood) [https://github.com/nodejs/node/pull/39759]
- (SEMVER-MAJOR) lib: expose `DOMException` as global
(Khaidi Chu) [https://github.com/nodejs/node/pull/39176]
- (SEMVER-MAJOR) module: subpath folder mappings EOL
(Guy Bedford) [https://github.com/nodejs/node/pull/40121]
- (SEMVER-MAJOR) module: runtime deprecate trailing slash patterns
(Guy Bedford) [https://github.com/nodejs/node/pull/40117]
- (SEMVER-MAJOR) readline: validate `AbortSignal`s and remove unused event listeners
(Antoine du Hamel) [https://github.com/nodejs/node/pull/37947]
- (SEMVER-MAJOR) readline: introduce promise-based API
(Antoine du Hamel) [https://github.com/nodejs/node/pull/37947]
- (SEMVER-MAJOR) readline: refactor `Interface` to ES2015 class
(Antoine du Hamel) [https://github.com/nodejs/node/pull/37947]
- (SEMVER-MAJOR) src: allow CAP\_NET\_BIND\_SERVICE in SafeGetenv
(Daniel Bevenius) [https://github.com/nodejs/node/pull/37727]
- (SEMVER-MAJOR) src: return Maybe from a couple of functions
(Darshan Sen) [https://github.com/nodejs/node/pull/39603]
- (SEMVER-MAJOR) src: allow custom PageAllocator in NodePlatform
(Shelley Vohr) [https://github.com/nodejs/node/pull/38362]
- (SEMVER-MAJOR) stream: fix highwatermark threshold and add the missing error
(Rongjian Zhang) [https://github.com/nodejs/node/pull/38700]
- (SEMVER-MAJOR) stream: don't emit 'data' after 'error' or 'close'
(Robert Nagy) [https://github.com/nodejs/node/pull/39639]
- (SEMVER-MAJOR) stream: do not emit `end` on readable error
(Szymon Marczak) [https://github.com/nodejs/node/pull/39607]
- (SEMVER-MAJOR) stream: forward errored to callback
(Robert Nagy) [https://github.com/nodejs/node/pull/39364]
- (SEMVER-MAJOR) stream: destroy readable on read error
(Robert Nagy) [https://github.com/nodejs/node/pull/39342]
- (SEMVER-MAJOR) stream: validate abort signal
(Robert Nagy) [https://github.com/nodejs/node/pull/39346]
- (SEMVER-MAJOR) stream: unify stream utils
(Robert Nagy) [https://github.com/nodejs/node/pull/39294]
- (SEMVER-MAJOR) stream: throw on premature close in Readable\
(Darshan Sen) [https://github.com/nodejs/node/pull/39117]
- (SEMVER-MAJOR) stream: finished should error on errored stream
(Robert Nagy) [https://github.com/nodejs/node/pull/39235]
- (SEMVER-MAJOR) stream: error Duplex write/read if not writable/readable
(Robert Nagy) [https://github.com/nodejs/node/pull/34385]
- (SEMVER-MAJOR) stream: bypass legacy destroy for pipeline and async iteration
(Robert Nagy) [https://github.com/nodejs/node/pull/38505]
- (SEMVER-MAJOR) url: throw invalid this on detached accessors
(James M Snell) [https://github.com/nodejs/node/pull/39752]
- (SEMVER-MAJOR) url: forbid certain confusable changes from being introduced by toASCII
(Timothy Gu) [https://github.com/nodejs/node/pull/38631]
PR-URL: https://github.com/nodejs/node/pull/40119
2021-09-15 01:55:37 +01:00
|
|
|
- version: v17.0.0
|
2021-09-15 02:52:40 -07:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/40121
|
|
|
|
description: End-of-Life.
|
2021-03-03 15:36:13 +00:00
|
|
|
- version: v16.0.0
|
2021-02-03 18:55:15 +01:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/37215
|
|
|
|
description: Runtime deprecation.
|
2020-11-03 17:57:08 +01:00
|
|
|
- version: v15.1.0
|
2021-02-03 14:26:07 +01:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/35747
|
2021-02-03 18:55:15 +01:00
|
|
|
description: Runtime deprecation for self-referencing imports.
|
2020-10-21 17:40:24 -07:00
|
|
|
- version: v14.13.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/34718
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
2025-04-09 23:36:40 +09:00
|
|
|
Type: End-of-Life
|
2020-10-21 17:40:24 -07:00
|
|
|
|
2021-09-15 02:52:40 -07:00
|
|
|
Using a trailing `"/"` to define subpath folder mappings in the
|
2025-04-09 23:36:40 +09:00
|
|
|
[subpath exports][] or [subpath imports][] fields is no longer supported.
|
|
|
|
Use [subpath patterns][] instead.
|
2020-10-21 17:40:24 -07:00
|
|
|
|
2021-01-13 15:30:37 -05:00
|
|
|
### DEP0149: `http.IncomingMessage#connection`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2020-06-06 11:57:04 +05:30
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2021-03-03 15:36:13 +00:00
|
|
|
- version: v16.0.0
|
2020-06-06 11:57:04 +05:30
|
|
|
pr-url: https://github.com/nodejs/node/pull/33768
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
2025-03-19 01:34:18 +01:00
|
|
|
Type: Documentation-only
|
2020-06-06 11:57:04 +05:30
|
|
|
|
|
|
|
Prefer [`message.socket`][] over [`message.connection`][].
|
|
|
|
|
2021-01-26 21:57:58 -05:00
|
|
|
### DEP0150: Changing the value of `process.config`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2021-01-12 15:38:00 -08:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2022-12-19 18:29:49 +01:00
|
|
|
- version: v19.0.0
|
2022-09-11 00:00:23 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/43627
|
|
|
|
description: End-of-Life.
|
2021-03-03 15:36:13 +00:00
|
|
|
- version: v16.0.0
|
2021-01-12 15:38:00 -08:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/36902
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
|
|
|
|
2022-09-11 00:00:23 +02:00
|
|
|
Type: End-of-Life
|
2021-01-12 15:38:00 -08:00
|
|
|
|
2022-02-09 22:41:58 -08:00
|
|
|
The `process.config` property provides access to Node.js compile-time settings.
|
|
|
|
However, the property is mutable and therefore subject to tampering. The ability
|
|
|
|
to change the value will be removed in a future version of Node.js.
|
2021-01-12 15:38:00 -08:00
|
|
|
|
2021-01-30 09:48:49 -05:00
|
|
|
### DEP0151: Main index lookup and extension searching
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2021-01-13 16:09:17 -05:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2021-03-03 15:36:13 +00:00
|
|
|
- version: v16.0.0
|
2021-02-03 16:00:01 +01:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/37206
|
|
|
|
description: Runtime deprecation.
|
2021-09-04 15:29:35 +02:00
|
|
|
- version:
|
|
|
|
- v15.8.0
|
|
|
|
- v14.18.0
|
2021-01-13 16:09:17 -05:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/36918
|
|
|
|
description: Documentation-only deprecation
|
|
|
|
with `--pending-deprecation` support.
|
|
|
|
-->
|
|
|
|
|
2021-02-03 16:00:01 +01:00
|
|
|
Type: Runtime
|
2021-01-13 16:09:17 -05:00
|
|
|
|
|
|
|
Previously, `index.js` and extension searching lookups would apply to
|
|
|
|
`import 'pkg'` main entry point resolution, even when resolving ES modules.
|
|
|
|
|
|
|
|
With this deprecation, all ES module main entry point resolutions require
|
|
|
|
an explicit [`"exports"` or `"main"` entry][] with the exact file extension.
|
|
|
|
|
2021-02-27 14:20:19 -05:00
|
|
|
### DEP0152: Extension PerformanceEntry properties
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2021-01-28 16:34:27 -08:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2021-03-03 15:36:13 +00:00
|
|
|
- version: v16.0.0
|
2021-01-28 16:34:27 -08:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/37136
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
|
|
|
|
|
|
|
Type: Runtime
|
|
|
|
|
|
|
|
The `'gc'`, `'http2'`, and `'http'` {PerformanceEntry} object types have
|
|
|
|
additional properties assigned to them that provide additional information.
|
|
|
|
These properties are now available within the standard `detail` property
|
|
|
|
of the `PerformanceEntry` object. The existing accessors have been
|
|
|
|
deprecated and should no longer be used.
|
|
|
|
|
2021-06-11 16:26:17 +02:00
|
|
|
### DEP0153: `dns.lookup` and `dnsPromises.lookup` options type coercion
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2021-06-02 19:40:44 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2022-04-19, Version 18.0.0 (Current)
Notable Changes:
Deprecations and Removals:
- (SEMVER-MAJOR) fs: runtime deprecate string coercion in `fs.write`,
`fs.writeFileSync`
(Livia Medeiros) (https://github.com/nodejs/node/pull/42607)
- (SEMVER-MAJOR) dns: remove `dns.lookup` and `dnsPromises.lookup`
options type coercion
(Antoine du Hamel) (https://github.com/nodejs/node/pull/41431)
- (SEMVER-MAJOR) process: runtime deprecate multipleResolves
(Benjamin Gruenbaum) (https://github.com/nodejs/node/pull/41896)
- (SEMVER-MAJOR) stream: remove thenable support (Robert Nagy)
(https://github.com/nodejs/node/pull/40773)
- (SEMVER-MAJOR) tls: move tls.parseCertString to end-of-life
(Tobias Nießen) (https://github.com/nodejs/node/pull/41479)
fetch (experimental):
An experimental fetch API is available on the global scope by default.
The implementation is based upon https://undici.nodejs.org/#/,
an HTTP/1.1 client written for Node.js by contributors to the project.
Through this addition, the following globals are made available: `fetch`
, `FormData`, `Headers`, `Request`, `Response`.
Disable this API with the `--no-experimental-fetch` command-line flag.
Contributed by Michaël Zasso in https://github.com/nodejs/node/pull/41811.
HTTP Timeouts:
`server.headersTimeout`, which limits the amount of time the parser will
wait to receive the complete HTTP headers, is now set to `60000` (60
seconds) by default.
`server.requestTimeout`, which sets the timeout value in milliseconds
for receiving the entire request from the client, is now set to `300000`
(5 minutes) by default.
If these timeouts expire, the server responds with status 408 without
forwarding the request to the request listener and then closes the
connection.
Both timeouts must be set to a non-zero value to protect against
potential Denial-of-Service attacks in case the server is deployed
without a reverse proxy in front.
Contributed by Paolo Insogna in https://github.com/nodejs/node/pull/41263.
Test Runner module (experimental):
The `node:test` module facilitates the creation of JavaScript tests that
report results in TAP format. This module is only available under the
`node:` scheme.
Contributed by Colin Ihrig in https://github.com/nodejs/node/pull/42325.
Toolchain and Compiler Upgrades:
- Prebuilt binaries for Linux are now built on Red Hat Enterprise Linux
(RHEL) 8 and are compatible with Linux distributions based on glibc
2.28 or later, for example, Debian 10, RHEL 8, Ubuntu 20.04.
- Prebuilt binaries for macOS now require macOS 10.15 or later.
- For AIX the minimum supported architecture has been raised from Power
7 to Power 8.
Prebuilt binaries for 32-bit Windows will initially not be available due
to issues building the V8 dependency in Node.js. We hope to restore
32-bit Windows binaries for Node.js 18 with a future V8 update.
Node.js does not support running on operating systems that are no longer
supported by their vendor. For operating systems where their vendor has
planned to end support earlier than April 2025, such as Windows 8.1
(January 2023) and Windows Server 2012 R2 (October 2023), support for
Node.js 18 will end at the earlier date.
Full details about the supported toolchains and compilers are documented
in the Node.js `BUILDING.md` file.
Contributed by Richard Lau in https://github.com/nodejs/node/pull/42292,
https://github.com/nodejs/node/pull/42604 and https://github.com/nodejs/node/pull/42659
, and Michaël Zasso in https://github.com/nodejs/node/pull/42105 and
https://github.com/nodejs/node/pull/42666.
V8 10.1:
The V8 engine is updated to version 10.1, which is part of Chromium 101.
Compared to the version included in Node.js 17.9.0, the following new
features are included:
- The `findLast` and `findLastIndex` array methods.
- Improvements to the `Intl.Locale` API.
- The `Intl.supportedValuesOf` function.
- Improved performance of class fields and private class methods (the
initialization of them is now as fast as ordinary property stores).
The data format returned by the serialization API (`v8.serialize(value)`)
has changed, and cannot be deserialized by earlier versions of Node.js.
On the other hand, it is still possible to deserialize the previous
format, as the API is backwards-compatible.
Contributed by Michaël Zasso in https://github.com/nodejs/node/pull/42657.
Web Streams API (experimental):
Node.js now exposes the experimental implementation of the Web Streams
API on the global scope. This means the following APIs are now globally
available:
- `ReadableStream`, `ReadableStreamDefaultReader`,
`ReadableStreamBYOBReader`, `ReadableStreamBYOBRequest`,
`ReadableByteStreamController`, `ReadableStreamDefaultController`,
`TransformStream`, `TransformStreamDefaultController`, `WritableStream`,
`WritableStreamDefaultWriter`, `WritableStreamDefaultController`,
`ByteLengthQueuingStrategy`, `CountQueuingStrategy`, `TextEncoderStream`,
`TextDecoderStream`, `CompressionStream`, `DecompressionStream`.
Contributed James Snell in https://github.com/nodejs/node/pull/39062,
and Antoine du Hamel in https://github.com/nodejs/node/pull/42225.
Other Notable Changes:
- (SEMVER-MAJOR) buffer: expose Blob as a global
(James M Snell) (https://github.com/nodejs/node/pull/41270)
- (SEMVER-MAJOR) child\_process: improve argument validation
(Rich Trott) (https://github.com/nodejs/node/pull/41305)
- doc: add RafaelGSS to collaborators
(RafaelGSS) (https://github.com/nodejs/node/pull/42718)
- (SEMVER-MAJOR) http: make TCP noDelay enabled by default
(Paolo Insogna) (https://github.com/nodejs/node/pull/42163)
- (SEMVER-MAJOR) net: make `server.address()` return an integer for
`family`
(Antoine du Hamel) (https://github.com/nodejs/node/pull/41431)
- (SEMVER-MAJOR) worker: expose BroadcastChannel as a global
(James M Snell) (https://github.com/nodejs/node/pull/41271)
- (SEMVER-MAJOR) worker: graduate BroadcastChannel to supported
(James M Snell) (https://github.com/nodejs/node/pull/41271)
Semver-Major Commits:
- (SEMVER-MAJOR) assert,util: compare RegExp.lastIndex while using deep
equal checks
(Ruben Bridgewater) (https://github.com/nodejs/node/pull/41020)
- (SEMVER-MAJOR) buffer: refactor `byteLength` to remove outdated
optimizations
(Rongjian Zhang) (https://github.com/nodejs/node/pull/38545)
- (SEMVER-MAJOR) buffer: expose Blob as a global
(James M Snell) (https://github.com/nodejs/node/pull/41270)
- (SEMVER-MAJOR) buffer: graduate Blob from experimental
(James M Snell) (https://github.com/nodejs/node/pull/41270)
- (SEMVER-MAJOR) build: make x86 Windows support temporarily
experimental
(Michaël Zasso) (https://github.com/nodejs/node/pull/42666)
- (SEMVER-MAJOR) build: bump macOS deployment target to 10.15
(Richard Lau) (https://github.com/nodejs/node/pull/42292)
- (SEMVER-MAJOR) build: downgrade Windows 8.1 and server 2012 R2 to
experimental
(Michaël Zasso) (https://github.com/nodejs/node/pull/42105)
- (SEMVER-MAJOR) child\_process: improve argument validation
(Rich Trott) (https://github.com/nodejs/node/pull/41305)
- (SEMVER-MAJOR) cluster: make `kill` to be just `process.kill`
(Bar Admoni) (https://github.com/nodejs/node/pull/34312)
- (SEMVER-MAJOR) crypto: cleanup validation
(Mohammed Keyvanzadeh) (https://github.com/nodejs/node/pull/39841)
- (SEMVER-MAJOR) crypto: prettify othername in PrintGeneralName
(Tobias Nießen) (https://github.com/nodejs/node/pull/42123)
- (SEMVER-MAJOR) crypto: fix X509Certificate toLegacyObject
(Tobias Nießen) (https://github.com/nodejs/node/pull/42124)
- (SEMVER-MAJOR) crypto: use RFC2253 format in PrintGeneralName
(Tobias Nießen) (https://github.com/nodejs/node/pull/42002)
- (SEMVER-MAJOR) crypto: change default check(Host|Email) behavior
(Tobias Nießen) (https://github.com/nodejs/node/pull/41600)
- (SEMVER-MAJOR) deps: V8: cherry-pick semver-major commits from 10.2
(Michaël Zasso) (https://github.com/nodejs/node/pull/42657)
- (SEMVER-MAJOR) deps: update V8 to 10.1.124.6
(Michaël Zasso) (https://github.com/nodejs/node/pull/42657)
- (SEMVER-MAJOR) deps: update V8 to 9.8.177.9
(Michaël Zasso) (https://github.com/nodejs/node/pull/41610)
- (SEMVER-MAJOR) deps: update V8 to 9.7.106.18
(Michaël Zasso) (https://github.com/nodejs/node/pull/40907)
- (SEMVER-MAJOR) dns: remove `dns.lookup` and `dnsPromises.lookup`
options type coercion
(Antoine du Hamel) (https://github.com/nodejs/node/pull/41431)
- (SEMVER-MAJOR) doc: update minimum glibc requirements for Linux
(Richard Lau) (https://github.com/nodejs/node/pull/42659)
- (SEMVER-MAJOR) doc: update AIX minimum supported arch
(Richard Lau) (https://github.com/nodejs/node/pull/42604)
- (SEMVER-MAJOR) fs: runtime deprecate string coercion in `fs.write`,
`fs.writeFileSync`
(Livia Medeiros) (https://github.com/nodejs/node/pull/42607)
- (SEMVER-MAJOR) http: refactor headersTimeout and requestTimeout logic
(Paolo Insogna) (https://github.com/nodejs/node/pull/41263)
- (SEMVER-MAJOR) http: make TCP noDelay enabled by default
(Paolo Insogna) (https://github.com/nodejs/node/pull/42163)
- (SEMVER-MAJOR) lib: enable fetch by default
(Michaël Zasso) (https://github.com/nodejs/node/pull/41811)
- (SEMVER-MAJOR) lib: replace validator and error
(Mohammed Keyvanzadeh) (https://github.com/nodejs/node/pull/41678)
- (SEMVER-MAJOR) module,repl: support 'node:'-only core modules
(Colin Ihrig) (https://github.com/nodejs/node/pull/42325)
- (SEMVER-MAJOR) net: make `server.address()` return an integer for
`family`
(Antoine du Hamel) (https://github.com/nodejs/node/pull/41431)
- (SEMVER-MAJOR) process: disallow some uses of Object.defineProperty()
on process.env
(Himself65) (https://github.com/nodejs/node/pull/28006)
- (SEMVER-MAJOR) process: runtime deprecate multipleResolves
(Benjamin Gruenbaum) (https://github.com/nodejs/node/pull/41896)
- (SEMVER-MAJOR) readline: fix question still called after closed
(Xuguang Mei) (https://github.com/nodejs/node/pull/42464)
- (SEMVER-MAJOR) stream: remove thenable support
(Robert Nagy) (https://github.com/nodejs/node/pull/40773)
- (SEMVER-MAJOR) stream: expose web streams globals, remove runtime
experimental warning
(Antoine du Hamel) (https://github.com/nodejs/node/pull/42225)
- (SEMVER-MAJOR) stream: need to cleanup event listeners if last stream
is readable
(Xuguang Mei) (https://github.com/nodejs/node/pull/41954)
- (SEMVER-MAJOR) stream: revert revert `map` spec compliance
(Benjamin Gruenbaum) (https://github.com/nodejs/node/pull/41933)
- (SEMVER-MAJOR) stream: throw invalid arg type from End Of Stream
(Jithil P Ponnan) (https://github.com/nodejs/node/pull/41766)
- (SEMVER-MAJOR) stream: don't emit finish after destroy
(Robert Nagy) (https://github.com/nodejs/node/pull/40852)
- (SEMVER-MAJOR) stream: add errored and closed props
(Robert Nagy) (https://github.com/nodejs/node/pull/40696)
- (SEMVER-MAJOR) test: add initial test module
(Colin Ihrig) (https://github.com/nodejs/node/pull/42325)
- (SEMVER-MAJOR) timers: refactor internal classes to ES2015 syntax
(Rabbit) (https://github.com/nodejs/node/pull/37408)
- (SEMVER-MAJOR) tls: represent registeredID numerically always
(Tobias Nießen) (https://github.com/nodejs/node/pull/41561)
- (SEMVER-MAJOR) tls: move tls.parseCertString to end-of-life
(Tobias Nießen) (https://github.com/nodejs/node/pull/41479)
- (SEMVER-MAJOR) url: throw on NULL in IPv6 hostname
(Rich Trott) (https://github.com/nodejs/node/pull/42313)
- (SEMVER-MAJOR) v8: make v8.writeHeapSnapshot() error codes consistent
(Darshan Sen) (https://github.com/nodejs/node/pull/42577)
- (SEMVER-MAJOR) v8: make writeHeapSnapshot throw if fopen fails
(Antonio Román) (https://github.com/nodejs/node/pull/41373)
- (SEMVER-MAJOR) worker: expose BroadcastChannel as a global
(James M Snell) (https://github.com/nodejs/node/pull/41271)
- (SEMVER-MAJOR) worker: graduate BroadcastChannel to supported
(James M Snell) (https://github.com/nodejs/node/pull/41271)
PR-URL: https://github.com/nodejs/node/pull/42262
2022-03-08 01:39:47 +00:00
|
|
|
- version: v18.0.0
|
2022-01-07 12:00:10 +01:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/41431
|
|
|
|
description: End-of-Life.
|
2021-10-19, Version 17.0.0 (Current)
Notable Changes:
Deprecations and Removals:
- (SEMVER-MAJOR) dns: runtime deprecate type coercion of `dns.lookup`
options
(Antoine du Hamel) [https://github.com/nodejs/node/pull/39793]
- doc: deprecate (doc-only) http abort related
(dr-js) [https://github.com/nodejs/node/pull/36670]
- (SEMVER-MAJOR) module: subpath folder mappings EOL
(Guy Bedford) [https://github.com/nodejs/node/pull/40121]
- (SEMVER-MAJOR) module: runtime deprecate trailing slash patterns
(Guy Bedford) [https://github.com/nodejs/node/pull/40117]
OpenSSL 3.0:
Node.js now includes OpenSSL 3.0, specifically https://github.com/quictls/openssl
which provides QUIC support.
While OpenSSL 3.0 APIs should be mostly compatible with those provided
by OpenSSL 1.1.1, we do anticipate some ecosystem impact due to
tightened restrictions on the allowed algorithms and key sizes.
If you hit an `ERR_OSSL_EVP_UNSUPPORTED` error in your application with
Node.js 17, it’s likely that your application or a module you’re using
is attempting to use an algorithm or key size which is no longer allowed
by default with OpenSSL 3.0. A command-line option,
`--openssl-legacy-provider`, has been added to revert to the legacy
provider as a temporary workaround for these tightened restrictions.
For details about all the features in
OpenSSL 3.0 please see https://www.openssl.org/blog/blog/2021/09/07/OpenSSL3.Final.
(Daniel Bevenius) [https://github.com/nodejs/node/pull/38512]
Contributed in https://github.com/nodejs/node/pull/38512, https://github.com/nodejs/node/pull/40478
V8 9.5:
The V8 JavaScript engine is updated to V8 9.5. This release comes with
additional supported types for the `Intl.DisplayNames` API and Extended
`timeZoneName` options in the `Intl.DateTimeFormat` API. You can read
more details in the V8 9.5 release post https://v8.dev/blog/v8-release-95.
(Michaël Zasso) [https://github.com/nodejs/node/pull/40178]
Readline Promise API:
The `readline` module provides an interface for reading data from a
Readable stream (such as `process.stdin`) one line at a time.
(Antoine du Hamel) [https://github.com/nodejs/node/pull/37947]
Other Notable Changes:
- (SEMVER-MAJOR) dns: default to verbatim=true in dns.lookup()
(treysis) [https://github.com/nodejs/node/pull/39987]
- (SEMVER-MAJOR) errors: print Node.js version on fatal exceptions that
cause exit
(Divlo) [https://github.com/nodejs/node/pull/38332]
- deps: upgrade npm to 8.1.0
(npm team) [https://github.com/nodejs/node/pull/40463]
- (SEMVER-MINOR) fs: add FileHandle.prototype.readableWebStream()
(James M Snell) [https://github.com/nodejs/node/pull/39331]
- (SEMVER-MAJOR) lib: add structuredClone() global
(Ethan Arrowood) [https://github.com/nodejs/node/pull/39759]
- (SEMVER-MAJOR) lib: expose `DOMException` as global
(Khaidi Chu) [https://github.com/nodejs/node/pull/39176]
- (SEMVER-MAJOR) stream: finished should error on errored stream
(Robert Nagy) [https://github.com/nodejs/node/pull/39235]
Semver-Major Commits:
- (SEMVER-MAJOR) build: compile with C++17 (MSVC)
(Richard Lau) [https://github.com/nodejs/node/pull/38807]
- (SEMVER-MAJOR) build: compile with --gnu++17
(Richard Lau) [https://github.com/nodejs/node/pull/38807]
- (SEMVER-MAJOR) deps: update V8 to 9.5.172.19
(Michaël Zasso) [https://github.com/nodejs/node/pull/40178]
- (SEMVER-MAJOR) deps,test,src,doc,tools: update to OpenSSL 3.0
(Daniel Bevenius) [https://github.com/nodejs/node/pull/38512]
- (SEMVER-MAJOR) dgram: tighten `address` validation in `socket.send`
(Voltrex) [https://github.com/nodejs/node/pull/39190]
- (SEMVER-MAJOR) dns: runtime deprecate type coercion of `dns.lookup` options
(Antoine du Hamel) [https://github.com/nodejs/node/pull/39793]
- (SEMVER-MAJOR) dns: default to verbatim=true in dns.lookup()
(treysis) [https://github.com/nodejs/node/pull/39987]
- (SEMVER-MAJOR) doc: update minimum supported FreeBSD to 12.2
(Michaël Zasso) [https://github.com/nodejs/node/pull/40179]
- (SEMVER-MAJOR) errors: disp ver on fatal except that causes exit
(Divlo) [https://github.com/nodejs/node/pull/38332]
- (SEMVER-MAJOR) fs: fix rmsync error swallowing
(Nitzan Uziely) [https://github.com/nodejs/node/pull/38684]
- (SEMVER-MAJOR) fs: aggregate errors in fsPromises to avoid error swallowing
(Nitzan Uziely) [https://github.com/nodejs/node/pull/38259]
- (SEMVER-MAJOR) lib: add structuredClone() global
(Ethan Arrowood) [https://github.com/nodejs/node/pull/39759]
- (SEMVER-MAJOR) lib: expose `DOMException` as global
(Khaidi Chu) [https://github.com/nodejs/node/pull/39176]
- (SEMVER-MAJOR) module: subpath folder mappings EOL
(Guy Bedford) [https://github.com/nodejs/node/pull/40121]
- (SEMVER-MAJOR) module: runtime deprecate trailing slash patterns
(Guy Bedford) [https://github.com/nodejs/node/pull/40117]
- (SEMVER-MAJOR) readline: validate `AbortSignal`s and remove unused event listeners
(Antoine du Hamel) [https://github.com/nodejs/node/pull/37947]
- (SEMVER-MAJOR) readline: introduce promise-based API
(Antoine du Hamel) [https://github.com/nodejs/node/pull/37947]
- (SEMVER-MAJOR) readline: refactor `Interface` to ES2015 class
(Antoine du Hamel) [https://github.com/nodejs/node/pull/37947]
- (SEMVER-MAJOR) src: allow CAP\_NET\_BIND\_SERVICE in SafeGetenv
(Daniel Bevenius) [https://github.com/nodejs/node/pull/37727]
- (SEMVER-MAJOR) src: return Maybe from a couple of functions
(Darshan Sen) [https://github.com/nodejs/node/pull/39603]
- (SEMVER-MAJOR) src: allow custom PageAllocator in NodePlatform
(Shelley Vohr) [https://github.com/nodejs/node/pull/38362]
- (SEMVER-MAJOR) stream: fix highwatermark threshold and add the missing error
(Rongjian Zhang) [https://github.com/nodejs/node/pull/38700]
- (SEMVER-MAJOR) stream: don't emit 'data' after 'error' or 'close'
(Robert Nagy) [https://github.com/nodejs/node/pull/39639]
- (SEMVER-MAJOR) stream: do not emit `end` on readable error
(Szymon Marczak) [https://github.com/nodejs/node/pull/39607]
- (SEMVER-MAJOR) stream: forward errored to callback
(Robert Nagy) [https://github.com/nodejs/node/pull/39364]
- (SEMVER-MAJOR) stream: destroy readable on read error
(Robert Nagy) [https://github.com/nodejs/node/pull/39342]
- (SEMVER-MAJOR) stream: validate abort signal
(Robert Nagy) [https://github.com/nodejs/node/pull/39346]
- (SEMVER-MAJOR) stream: unify stream utils
(Robert Nagy) [https://github.com/nodejs/node/pull/39294]
- (SEMVER-MAJOR) stream: throw on premature close in Readable\
(Darshan Sen) [https://github.com/nodejs/node/pull/39117]
- (SEMVER-MAJOR) stream: finished should error on errored stream
(Robert Nagy) [https://github.com/nodejs/node/pull/39235]
- (SEMVER-MAJOR) stream: error Duplex write/read if not writable/readable
(Robert Nagy) [https://github.com/nodejs/node/pull/34385]
- (SEMVER-MAJOR) stream: bypass legacy destroy for pipeline and async iteration
(Robert Nagy) [https://github.com/nodejs/node/pull/38505]
- (SEMVER-MAJOR) url: throw invalid this on detached accessors
(James M Snell) [https://github.com/nodejs/node/pull/39752]
- (SEMVER-MAJOR) url: forbid certain confusable changes from being introduced by toASCII
(Timothy Gu) [https://github.com/nodejs/node/pull/38631]
PR-URL: https://github.com/nodejs/node/pull/40119
2021-09-15 01:55:37 +01:00
|
|
|
- version: v17.0.0
|
2021-08-17 20:08:46 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/39793
|
|
|
|
description: Runtime deprecation.
|
2021-08-25 09:01:17 +02:00
|
|
|
- version: v16.8.0
|
2021-06-02 19:40:44 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/38906
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
2022-01-07 12:00:10 +01:00
|
|
|
Type: End-of-Life
|
2021-06-02 19:40:44 +02:00
|
|
|
|
2021-06-11 16:26:17 +02:00
|
|
|
Using a non-nullish non-integer value for `family` option, a non-nullish
|
|
|
|
non-number value for `hints` option, a non-nullish non-boolean value for `all`
|
|
|
|
option, or a non-nullish non-boolean value for `verbatim` option in
|
2022-01-07 12:00:10 +01:00
|
|
|
[`dns.lookup()`][] and [`dnsPromises.lookup()`][] throws an
|
|
|
|
`ERR_INVALID_ARG_TYPE` error.
|
2021-06-02 19:40:44 +02:00
|
|
|
|
2021-08-29 10:09:48 +02:00
|
|
|
### DEP0154: RSA-PSS generate key pair options
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2021-08-29 10:09:48 +02:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2023-04-03 11:30:30 +01:00
|
|
|
- version: v20.0.0
|
2022-11-30 22:14:33 +01:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/45653
|
|
|
|
description: Runtime deprecation.
|
2021-09-22 00:43:16 +01:00
|
|
|
- version: v16.10.0
|
2021-08-29 10:09:48 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/39927
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
2022-11-30 22:14:33 +01:00
|
|
|
Type: Runtime
|
2021-08-29 10:09:48 +02:00
|
|
|
|
|
|
|
The `'hash'` and `'mgf1Hash'` options are replaced with `'hashAlgorithm'`
|
|
|
|
and `'mgf1HashAlgorithm'`.
|
|
|
|
|
2021-09-08 10:36:52 -07:00
|
|
|
### DEP0155: Trailing slashes in pattern specifier resolutions
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2021-09-08 10:36:52 -07:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2021-10-19, Version 17.0.0 (Current)
Notable Changes:
Deprecations and Removals:
- (SEMVER-MAJOR) dns: runtime deprecate type coercion of `dns.lookup`
options
(Antoine du Hamel) [https://github.com/nodejs/node/pull/39793]
- doc: deprecate (doc-only) http abort related
(dr-js) [https://github.com/nodejs/node/pull/36670]
- (SEMVER-MAJOR) module: subpath folder mappings EOL
(Guy Bedford) [https://github.com/nodejs/node/pull/40121]
- (SEMVER-MAJOR) module: runtime deprecate trailing slash patterns
(Guy Bedford) [https://github.com/nodejs/node/pull/40117]
OpenSSL 3.0:
Node.js now includes OpenSSL 3.0, specifically https://github.com/quictls/openssl
which provides QUIC support.
While OpenSSL 3.0 APIs should be mostly compatible with those provided
by OpenSSL 1.1.1, we do anticipate some ecosystem impact due to
tightened restrictions on the allowed algorithms and key sizes.
If you hit an `ERR_OSSL_EVP_UNSUPPORTED` error in your application with
Node.js 17, it’s likely that your application or a module you’re using
is attempting to use an algorithm or key size which is no longer allowed
by default with OpenSSL 3.0. A command-line option,
`--openssl-legacy-provider`, has been added to revert to the legacy
provider as a temporary workaround for these tightened restrictions.
For details about all the features in
OpenSSL 3.0 please see https://www.openssl.org/blog/blog/2021/09/07/OpenSSL3.Final.
(Daniel Bevenius) [https://github.com/nodejs/node/pull/38512]
Contributed in https://github.com/nodejs/node/pull/38512, https://github.com/nodejs/node/pull/40478
V8 9.5:
The V8 JavaScript engine is updated to V8 9.5. This release comes with
additional supported types for the `Intl.DisplayNames` API and Extended
`timeZoneName` options in the `Intl.DateTimeFormat` API. You can read
more details in the V8 9.5 release post https://v8.dev/blog/v8-release-95.
(Michaël Zasso) [https://github.com/nodejs/node/pull/40178]
Readline Promise API:
The `readline` module provides an interface for reading data from a
Readable stream (such as `process.stdin`) one line at a time.
(Antoine du Hamel) [https://github.com/nodejs/node/pull/37947]
Other Notable Changes:
- (SEMVER-MAJOR) dns: default to verbatim=true in dns.lookup()
(treysis) [https://github.com/nodejs/node/pull/39987]
- (SEMVER-MAJOR) errors: print Node.js version on fatal exceptions that
cause exit
(Divlo) [https://github.com/nodejs/node/pull/38332]
- deps: upgrade npm to 8.1.0
(npm team) [https://github.com/nodejs/node/pull/40463]
- (SEMVER-MINOR) fs: add FileHandle.prototype.readableWebStream()
(James M Snell) [https://github.com/nodejs/node/pull/39331]
- (SEMVER-MAJOR) lib: add structuredClone() global
(Ethan Arrowood) [https://github.com/nodejs/node/pull/39759]
- (SEMVER-MAJOR) lib: expose `DOMException` as global
(Khaidi Chu) [https://github.com/nodejs/node/pull/39176]
- (SEMVER-MAJOR) stream: finished should error on errored stream
(Robert Nagy) [https://github.com/nodejs/node/pull/39235]
Semver-Major Commits:
- (SEMVER-MAJOR) build: compile with C++17 (MSVC)
(Richard Lau) [https://github.com/nodejs/node/pull/38807]
- (SEMVER-MAJOR) build: compile with --gnu++17
(Richard Lau) [https://github.com/nodejs/node/pull/38807]
- (SEMVER-MAJOR) deps: update V8 to 9.5.172.19
(Michaël Zasso) [https://github.com/nodejs/node/pull/40178]
- (SEMVER-MAJOR) deps,test,src,doc,tools: update to OpenSSL 3.0
(Daniel Bevenius) [https://github.com/nodejs/node/pull/38512]
- (SEMVER-MAJOR) dgram: tighten `address` validation in `socket.send`
(Voltrex) [https://github.com/nodejs/node/pull/39190]
- (SEMVER-MAJOR) dns: runtime deprecate type coercion of `dns.lookup` options
(Antoine du Hamel) [https://github.com/nodejs/node/pull/39793]
- (SEMVER-MAJOR) dns: default to verbatim=true in dns.lookup()
(treysis) [https://github.com/nodejs/node/pull/39987]
- (SEMVER-MAJOR) doc: update minimum supported FreeBSD to 12.2
(Michaël Zasso) [https://github.com/nodejs/node/pull/40179]
- (SEMVER-MAJOR) errors: disp ver on fatal except that causes exit
(Divlo) [https://github.com/nodejs/node/pull/38332]
- (SEMVER-MAJOR) fs: fix rmsync error swallowing
(Nitzan Uziely) [https://github.com/nodejs/node/pull/38684]
- (SEMVER-MAJOR) fs: aggregate errors in fsPromises to avoid error swallowing
(Nitzan Uziely) [https://github.com/nodejs/node/pull/38259]
- (SEMVER-MAJOR) lib: add structuredClone() global
(Ethan Arrowood) [https://github.com/nodejs/node/pull/39759]
- (SEMVER-MAJOR) lib: expose `DOMException` as global
(Khaidi Chu) [https://github.com/nodejs/node/pull/39176]
- (SEMVER-MAJOR) module: subpath folder mappings EOL
(Guy Bedford) [https://github.com/nodejs/node/pull/40121]
- (SEMVER-MAJOR) module: runtime deprecate trailing slash patterns
(Guy Bedford) [https://github.com/nodejs/node/pull/40117]
- (SEMVER-MAJOR) readline: validate `AbortSignal`s and remove unused event listeners
(Antoine du Hamel) [https://github.com/nodejs/node/pull/37947]
- (SEMVER-MAJOR) readline: introduce promise-based API
(Antoine du Hamel) [https://github.com/nodejs/node/pull/37947]
- (SEMVER-MAJOR) readline: refactor `Interface` to ES2015 class
(Antoine du Hamel) [https://github.com/nodejs/node/pull/37947]
- (SEMVER-MAJOR) src: allow CAP\_NET\_BIND\_SERVICE in SafeGetenv
(Daniel Bevenius) [https://github.com/nodejs/node/pull/37727]
- (SEMVER-MAJOR) src: return Maybe from a couple of functions
(Darshan Sen) [https://github.com/nodejs/node/pull/39603]
- (SEMVER-MAJOR) src: allow custom PageAllocator in NodePlatform
(Shelley Vohr) [https://github.com/nodejs/node/pull/38362]
- (SEMVER-MAJOR) stream: fix highwatermark threshold and add the missing error
(Rongjian Zhang) [https://github.com/nodejs/node/pull/38700]
- (SEMVER-MAJOR) stream: don't emit 'data' after 'error' or 'close'
(Robert Nagy) [https://github.com/nodejs/node/pull/39639]
- (SEMVER-MAJOR) stream: do not emit `end` on readable error
(Szymon Marczak) [https://github.com/nodejs/node/pull/39607]
- (SEMVER-MAJOR) stream: forward errored to callback
(Robert Nagy) [https://github.com/nodejs/node/pull/39364]
- (SEMVER-MAJOR) stream: destroy readable on read error
(Robert Nagy) [https://github.com/nodejs/node/pull/39342]
- (SEMVER-MAJOR) stream: validate abort signal
(Robert Nagy) [https://github.com/nodejs/node/pull/39346]
- (SEMVER-MAJOR) stream: unify stream utils
(Robert Nagy) [https://github.com/nodejs/node/pull/39294]
- (SEMVER-MAJOR) stream: throw on premature close in Readable\
(Darshan Sen) [https://github.com/nodejs/node/pull/39117]
- (SEMVER-MAJOR) stream: finished should error on errored stream
(Robert Nagy) [https://github.com/nodejs/node/pull/39235]
- (SEMVER-MAJOR) stream: error Duplex write/read if not writable/readable
(Robert Nagy) [https://github.com/nodejs/node/pull/34385]
- (SEMVER-MAJOR) stream: bypass legacy destroy for pipeline and async iteration
(Robert Nagy) [https://github.com/nodejs/node/pull/38505]
- (SEMVER-MAJOR) url: throw invalid this on detached accessors
(James M Snell) [https://github.com/nodejs/node/pull/39752]
- (SEMVER-MAJOR) url: forbid certain confusable changes from being introduced by toASCII
(Timothy Gu) [https://github.com/nodejs/node/pull/38631]
PR-URL: https://github.com/nodejs/node/pull/40119
2021-09-15 01:55:37 +01:00
|
|
|
- version: v17.0.0
|
2021-09-15 01:09:47 -07:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/40117
|
|
|
|
description: Runtime deprecation.
|
2021-09-22 00:43:16 +01:00
|
|
|
- version: v16.10.0
|
2021-09-08 10:36:52 -07:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/40039
|
|
|
|
description: Documentation-only deprecation
|
|
|
|
with `--pending-deprecation` support.
|
|
|
|
-->
|
|
|
|
|
2021-09-15 01:09:47 -07:00
|
|
|
Type: Runtime
|
2021-09-08 10:36:52 -07:00
|
|
|
|
|
|
|
The remapping of specifiers ending in `"/"` like `import 'pkg/x/'` is deprecated
|
|
|
|
for package `"exports"` and `"imports"` pattern resolutions.
|
|
|
|
|
2021-10-05 07:26:08 +02:00
|
|
|
### DEP0156: `.aborted` property and `'abort'`, `'aborted'` event in `http`
|
2021-10-10 21:55:04 -07:00
|
|
|
|
2021-01-19 07:55:57 +08:00
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2021-10-18 12:00:42 -04:00
|
|
|
- version:
|
|
|
|
- v17.0.0
|
|
|
|
- v16.12.0
|
2021-01-19 07:55:57 +08:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/36670
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
|
|
|
Type: Documentation-only
|
|
|
|
|
|
|
|
Move to {Stream} API instead, as the [`http.ClientRequest`][],
|
|
|
|
[`http.ServerResponse`][], and [`http.IncomingMessage`][] are all stream-based.
|
|
|
|
Check `stream.destroyed` instead of the `.aborted` property, and listen for
|
|
|
|
`'close'` instead of `'abort'`, `'aborted'` event.
|
|
|
|
|
|
|
|
The `.aborted` property and `'abort'` event are only useful for detecting
|
|
|
|
`.abort()` calls. For closing a request early, use the Stream
|
|
|
|
`.destroy([error])` then check the `.destroyed` property and `'close'` event
|
|
|
|
should have the same effect. The receiving end should also check the
|
|
|
|
[`readable.readableEnded`][] value on [`http.IncomingMessage`][] to get whether
|
|
|
|
it was an aborted or graceful destroy.
|
|
|
|
|
2021-11-26 09:58:24 +01:00
|
|
|
### DEP0157: Thenable support in streams
|
|
|
|
|
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2022-04-19, Version 18.0.0 (Current)
Notable Changes:
Deprecations and Removals:
- (SEMVER-MAJOR) fs: runtime deprecate string coercion in `fs.write`,
`fs.writeFileSync`
(Livia Medeiros) (https://github.com/nodejs/node/pull/42607)
- (SEMVER-MAJOR) dns: remove `dns.lookup` and `dnsPromises.lookup`
options type coercion
(Antoine du Hamel) (https://github.com/nodejs/node/pull/41431)
- (SEMVER-MAJOR) process: runtime deprecate multipleResolves
(Benjamin Gruenbaum) (https://github.com/nodejs/node/pull/41896)
- (SEMVER-MAJOR) stream: remove thenable support (Robert Nagy)
(https://github.com/nodejs/node/pull/40773)
- (SEMVER-MAJOR) tls: move tls.parseCertString to end-of-life
(Tobias Nießen) (https://github.com/nodejs/node/pull/41479)
fetch (experimental):
An experimental fetch API is available on the global scope by default.
The implementation is based upon https://undici.nodejs.org/#/,
an HTTP/1.1 client written for Node.js by contributors to the project.
Through this addition, the following globals are made available: `fetch`
, `FormData`, `Headers`, `Request`, `Response`.
Disable this API with the `--no-experimental-fetch` command-line flag.
Contributed by Michaël Zasso in https://github.com/nodejs/node/pull/41811.
HTTP Timeouts:
`server.headersTimeout`, which limits the amount of time the parser will
wait to receive the complete HTTP headers, is now set to `60000` (60
seconds) by default.
`server.requestTimeout`, which sets the timeout value in milliseconds
for receiving the entire request from the client, is now set to `300000`
(5 minutes) by default.
If these timeouts expire, the server responds with status 408 without
forwarding the request to the request listener and then closes the
connection.
Both timeouts must be set to a non-zero value to protect against
potential Denial-of-Service attacks in case the server is deployed
without a reverse proxy in front.
Contributed by Paolo Insogna in https://github.com/nodejs/node/pull/41263.
Test Runner module (experimental):
The `node:test` module facilitates the creation of JavaScript tests that
report results in TAP format. This module is only available under the
`node:` scheme.
Contributed by Colin Ihrig in https://github.com/nodejs/node/pull/42325.
Toolchain and Compiler Upgrades:
- Prebuilt binaries for Linux are now built on Red Hat Enterprise Linux
(RHEL) 8 and are compatible with Linux distributions based on glibc
2.28 or later, for example, Debian 10, RHEL 8, Ubuntu 20.04.
- Prebuilt binaries for macOS now require macOS 10.15 or later.
- For AIX the minimum supported architecture has been raised from Power
7 to Power 8.
Prebuilt binaries for 32-bit Windows will initially not be available due
to issues building the V8 dependency in Node.js. We hope to restore
32-bit Windows binaries for Node.js 18 with a future V8 update.
Node.js does not support running on operating systems that are no longer
supported by their vendor. For operating systems where their vendor has
planned to end support earlier than April 2025, such as Windows 8.1
(January 2023) and Windows Server 2012 R2 (October 2023), support for
Node.js 18 will end at the earlier date.
Full details about the supported toolchains and compilers are documented
in the Node.js `BUILDING.md` file.
Contributed by Richard Lau in https://github.com/nodejs/node/pull/42292,
https://github.com/nodejs/node/pull/42604 and https://github.com/nodejs/node/pull/42659
, and Michaël Zasso in https://github.com/nodejs/node/pull/42105 and
https://github.com/nodejs/node/pull/42666.
V8 10.1:
The V8 engine is updated to version 10.1, which is part of Chromium 101.
Compared to the version included in Node.js 17.9.0, the following new
features are included:
- The `findLast` and `findLastIndex` array methods.
- Improvements to the `Intl.Locale` API.
- The `Intl.supportedValuesOf` function.
- Improved performance of class fields and private class methods (the
initialization of them is now as fast as ordinary property stores).
The data format returned by the serialization API (`v8.serialize(value)`)
has changed, and cannot be deserialized by earlier versions of Node.js.
On the other hand, it is still possible to deserialize the previous
format, as the API is backwards-compatible.
Contributed by Michaël Zasso in https://github.com/nodejs/node/pull/42657.
Web Streams API (experimental):
Node.js now exposes the experimental implementation of the Web Streams
API on the global scope. This means the following APIs are now globally
available:
- `ReadableStream`, `ReadableStreamDefaultReader`,
`ReadableStreamBYOBReader`, `ReadableStreamBYOBRequest`,
`ReadableByteStreamController`, `ReadableStreamDefaultController`,
`TransformStream`, `TransformStreamDefaultController`, `WritableStream`,
`WritableStreamDefaultWriter`, `WritableStreamDefaultController`,
`ByteLengthQueuingStrategy`, `CountQueuingStrategy`, `TextEncoderStream`,
`TextDecoderStream`, `CompressionStream`, `DecompressionStream`.
Contributed James Snell in https://github.com/nodejs/node/pull/39062,
and Antoine du Hamel in https://github.com/nodejs/node/pull/42225.
Other Notable Changes:
- (SEMVER-MAJOR) buffer: expose Blob as a global
(James M Snell) (https://github.com/nodejs/node/pull/41270)
- (SEMVER-MAJOR) child\_process: improve argument validation
(Rich Trott) (https://github.com/nodejs/node/pull/41305)
- doc: add RafaelGSS to collaborators
(RafaelGSS) (https://github.com/nodejs/node/pull/42718)
- (SEMVER-MAJOR) http: make TCP noDelay enabled by default
(Paolo Insogna) (https://github.com/nodejs/node/pull/42163)
- (SEMVER-MAJOR) net: make `server.address()` return an integer for
`family`
(Antoine du Hamel) (https://github.com/nodejs/node/pull/41431)
- (SEMVER-MAJOR) worker: expose BroadcastChannel as a global
(James M Snell) (https://github.com/nodejs/node/pull/41271)
- (SEMVER-MAJOR) worker: graduate BroadcastChannel to supported
(James M Snell) (https://github.com/nodejs/node/pull/41271)
Semver-Major Commits:
- (SEMVER-MAJOR) assert,util: compare RegExp.lastIndex while using deep
equal checks
(Ruben Bridgewater) (https://github.com/nodejs/node/pull/41020)
- (SEMVER-MAJOR) buffer: refactor `byteLength` to remove outdated
optimizations
(Rongjian Zhang) (https://github.com/nodejs/node/pull/38545)
- (SEMVER-MAJOR) buffer: expose Blob as a global
(James M Snell) (https://github.com/nodejs/node/pull/41270)
- (SEMVER-MAJOR) buffer: graduate Blob from experimental
(James M Snell) (https://github.com/nodejs/node/pull/41270)
- (SEMVER-MAJOR) build: make x86 Windows support temporarily
experimental
(Michaël Zasso) (https://github.com/nodejs/node/pull/42666)
- (SEMVER-MAJOR) build: bump macOS deployment target to 10.15
(Richard Lau) (https://github.com/nodejs/node/pull/42292)
- (SEMVER-MAJOR) build: downgrade Windows 8.1 and server 2012 R2 to
experimental
(Michaël Zasso) (https://github.com/nodejs/node/pull/42105)
- (SEMVER-MAJOR) child\_process: improve argument validation
(Rich Trott) (https://github.com/nodejs/node/pull/41305)
- (SEMVER-MAJOR) cluster: make `kill` to be just `process.kill`
(Bar Admoni) (https://github.com/nodejs/node/pull/34312)
- (SEMVER-MAJOR) crypto: cleanup validation
(Mohammed Keyvanzadeh) (https://github.com/nodejs/node/pull/39841)
- (SEMVER-MAJOR) crypto: prettify othername in PrintGeneralName
(Tobias Nießen) (https://github.com/nodejs/node/pull/42123)
- (SEMVER-MAJOR) crypto: fix X509Certificate toLegacyObject
(Tobias Nießen) (https://github.com/nodejs/node/pull/42124)
- (SEMVER-MAJOR) crypto: use RFC2253 format in PrintGeneralName
(Tobias Nießen) (https://github.com/nodejs/node/pull/42002)
- (SEMVER-MAJOR) crypto: change default check(Host|Email) behavior
(Tobias Nießen) (https://github.com/nodejs/node/pull/41600)
- (SEMVER-MAJOR) deps: V8: cherry-pick semver-major commits from 10.2
(Michaël Zasso) (https://github.com/nodejs/node/pull/42657)
- (SEMVER-MAJOR) deps: update V8 to 10.1.124.6
(Michaël Zasso) (https://github.com/nodejs/node/pull/42657)
- (SEMVER-MAJOR) deps: update V8 to 9.8.177.9
(Michaël Zasso) (https://github.com/nodejs/node/pull/41610)
- (SEMVER-MAJOR) deps: update V8 to 9.7.106.18
(Michaël Zasso) (https://github.com/nodejs/node/pull/40907)
- (SEMVER-MAJOR) dns: remove `dns.lookup` and `dnsPromises.lookup`
options type coercion
(Antoine du Hamel) (https://github.com/nodejs/node/pull/41431)
- (SEMVER-MAJOR) doc: update minimum glibc requirements for Linux
(Richard Lau) (https://github.com/nodejs/node/pull/42659)
- (SEMVER-MAJOR) doc: update AIX minimum supported arch
(Richard Lau) (https://github.com/nodejs/node/pull/42604)
- (SEMVER-MAJOR) fs: runtime deprecate string coercion in `fs.write`,
`fs.writeFileSync`
(Livia Medeiros) (https://github.com/nodejs/node/pull/42607)
- (SEMVER-MAJOR) http: refactor headersTimeout and requestTimeout logic
(Paolo Insogna) (https://github.com/nodejs/node/pull/41263)
- (SEMVER-MAJOR) http: make TCP noDelay enabled by default
(Paolo Insogna) (https://github.com/nodejs/node/pull/42163)
- (SEMVER-MAJOR) lib: enable fetch by default
(Michaël Zasso) (https://github.com/nodejs/node/pull/41811)
- (SEMVER-MAJOR) lib: replace validator and error
(Mohammed Keyvanzadeh) (https://github.com/nodejs/node/pull/41678)
- (SEMVER-MAJOR) module,repl: support 'node:'-only core modules
(Colin Ihrig) (https://github.com/nodejs/node/pull/42325)
- (SEMVER-MAJOR) net: make `server.address()` return an integer for
`family`
(Antoine du Hamel) (https://github.com/nodejs/node/pull/41431)
- (SEMVER-MAJOR) process: disallow some uses of Object.defineProperty()
on process.env
(Himself65) (https://github.com/nodejs/node/pull/28006)
- (SEMVER-MAJOR) process: runtime deprecate multipleResolves
(Benjamin Gruenbaum) (https://github.com/nodejs/node/pull/41896)
- (SEMVER-MAJOR) readline: fix question still called after closed
(Xuguang Mei) (https://github.com/nodejs/node/pull/42464)
- (SEMVER-MAJOR) stream: remove thenable support
(Robert Nagy) (https://github.com/nodejs/node/pull/40773)
- (SEMVER-MAJOR) stream: expose web streams globals, remove runtime
experimental warning
(Antoine du Hamel) (https://github.com/nodejs/node/pull/42225)
- (SEMVER-MAJOR) stream: need to cleanup event listeners if last stream
is readable
(Xuguang Mei) (https://github.com/nodejs/node/pull/41954)
- (SEMVER-MAJOR) stream: revert revert `map` spec compliance
(Benjamin Gruenbaum) (https://github.com/nodejs/node/pull/41933)
- (SEMVER-MAJOR) stream: throw invalid arg type from End Of Stream
(Jithil P Ponnan) (https://github.com/nodejs/node/pull/41766)
- (SEMVER-MAJOR) stream: don't emit finish after destroy
(Robert Nagy) (https://github.com/nodejs/node/pull/40852)
- (SEMVER-MAJOR) stream: add errored and closed props
(Robert Nagy) (https://github.com/nodejs/node/pull/40696)
- (SEMVER-MAJOR) test: add initial test module
(Colin Ihrig) (https://github.com/nodejs/node/pull/42325)
- (SEMVER-MAJOR) timers: refactor internal classes to ES2015 syntax
(Rabbit) (https://github.com/nodejs/node/pull/37408)
- (SEMVER-MAJOR) tls: represent registeredID numerically always
(Tobias Nießen) (https://github.com/nodejs/node/pull/41561)
- (SEMVER-MAJOR) tls: move tls.parseCertString to end-of-life
(Tobias Nießen) (https://github.com/nodejs/node/pull/41479)
- (SEMVER-MAJOR) url: throw on NULL in IPv6 hostname
(Rich Trott) (https://github.com/nodejs/node/pull/42313)
- (SEMVER-MAJOR) v8: make v8.writeHeapSnapshot() error codes consistent
(Darshan Sen) (https://github.com/nodejs/node/pull/42577)
- (SEMVER-MAJOR) v8: make writeHeapSnapshot throw if fopen fails
(Antonio Román) (https://github.com/nodejs/node/pull/41373)
- (SEMVER-MAJOR) worker: expose BroadcastChannel as a global
(James M Snell) (https://github.com/nodejs/node/pull/41271)
- (SEMVER-MAJOR) worker: graduate BroadcastChannel to supported
(James M Snell) (https://github.com/nodejs/node/pull/41271)
PR-URL: https://github.com/nodejs/node/pull/42262
2022-03-08 01:39:47 +00:00
|
|
|
- version: v18.0.0
|
2022-04-08 12:29:24 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/40773
|
|
|
|
description: End-of-life.
|
2022-02-01 00:34:51 -05:00
|
|
|
- version:
|
|
|
|
- v17.2.0
|
|
|
|
- v16.14.0
|
2021-11-26 09:58:24 +01:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/40860
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
2022-04-08 12:29:24 +02:00
|
|
|
Type: End-of-Life
|
2021-11-26 09:58:24 +01:00
|
|
|
|
|
|
|
An undocumented feature of Node.js streams was to support thenables in
|
|
|
|
implementation methods. This is now deprecated, use callbacks instead and avoid
|
|
|
|
use of async function for streams implementation methods.
|
|
|
|
|
|
|
|
This feature caused users to encounter unexpected problems where the user
|
|
|
|
implements the function in callback style but uses e.g. an async method which
|
|
|
|
would cause an error since mixing promise and callback semantics is not valid.
|
|
|
|
|
|
|
|
```js
|
|
|
|
const w = new Writable({
|
|
|
|
async final(callback) {
|
|
|
|
await someOp();
|
|
|
|
callback();
|
2022-11-17 08:19:12 -05:00
|
|
|
},
|
2021-11-26 09:58:24 +01:00
|
|
|
});
|
|
|
|
```
|
|
|
|
|
2022-01-19 18:27:04 +02:00
|
|
|
### DEP0158: `buffer.slice(start, end)`
|
|
|
|
|
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2022-04-23 21:03:46 -04:00
|
|
|
- version:
|
|
|
|
- v17.5.0
|
|
|
|
- v16.15.0
|
2022-01-19 18:27:04 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/41596
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
|
|
|
Type: Documentation-only
|
|
|
|
|
|
|
|
This method was deprecated because it is not compatible with
|
|
|
|
`Uint8Array.prototype.slice()`, which is a superclass of `Buffer`.
|
|
|
|
|
|
|
|
Use [`buffer.subarray`][] which does the same thing instead.
|
|
|
|
|
2022-01-24 19:39:16 +03:30
|
|
|
### DEP0159: `ERR_INVALID_CALLBACK`
|
|
|
|
|
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2022-04-19, Version 18.0.0 (Current)
Notable Changes:
Deprecations and Removals:
- (SEMVER-MAJOR) fs: runtime deprecate string coercion in `fs.write`,
`fs.writeFileSync`
(Livia Medeiros) (https://github.com/nodejs/node/pull/42607)
- (SEMVER-MAJOR) dns: remove `dns.lookup` and `dnsPromises.lookup`
options type coercion
(Antoine du Hamel) (https://github.com/nodejs/node/pull/41431)
- (SEMVER-MAJOR) process: runtime deprecate multipleResolves
(Benjamin Gruenbaum) (https://github.com/nodejs/node/pull/41896)
- (SEMVER-MAJOR) stream: remove thenable support (Robert Nagy)
(https://github.com/nodejs/node/pull/40773)
- (SEMVER-MAJOR) tls: move tls.parseCertString to end-of-life
(Tobias Nießen) (https://github.com/nodejs/node/pull/41479)
fetch (experimental):
An experimental fetch API is available on the global scope by default.
The implementation is based upon https://undici.nodejs.org/#/,
an HTTP/1.1 client written for Node.js by contributors to the project.
Through this addition, the following globals are made available: `fetch`
, `FormData`, `Headers`, `Request`, `Response`.
Disable this API with the `--no-experimental-fetch` command-line flag.
Contributed by Michaël Zasso in https://github.com/nodejs/node/pull/41811.
HTTP Timeouts:
`server.headersTimeout`, which limits the amount of time the parser will
wait to receive the complete HTTP headers, is now set to `60000` (60
seconds) by default.
`server.requestTimeout`, which sets the timeout value in milliseconds
for receiving the entire request from the client, is now set to `300000`
(5 minutes) by default.
If these timeouts expire, the server responds with status 408 without
forwarding the request to the request listener and then closes the
connection.
Both timeouts must be set to a non-zero value to protect against
potential Denial-of-Service attacks in case the server is deployed
without a reverse proxy in front.
Contributed by Paolo Insogna in https://github.com/nodejs/node/pull/41263.
Test Runner module (experimental):
The `node:test` module facilitates the creation of JavaScript tests that
report results in TAP format. This module is only available under the
`node:` scheme.
Contributed by Colin Ihrig in https://github.com/nodejs/node/pull/42325.
Toolchain and Compiler Upgrades:
- Prebuilt binaries for Linux are now built on Red Hat Enterprise Linux
(RHEL) 8 and are compatible with Linux distributions based on glibc
2.28 or later, for example, Debian 10, RHEL 8, Ubuntu 20.04.
- Prebuilt binaries for macOS now require macOS 10.15 or later.
- For AIX the minimum supported architecture has been raised from Power
7 to Power 8.
Prebuilt binaries for 32-bit Windows will initially not be available due
to issues building the V8 dependency in Node.js. We hope to restore
32-bit Windows binaries for Node.js 18 with a future V8 update.
Node.js does not support running on operating systems that are no longer
supported by their vendor. For operating systems where their vendor has
planned to end support earlier than April 2025, such as Windows 8.1
(January 2023) and Windows Server 2012 R2 (October 2023), support for
Node.js 18 will end at the earlier date.
Full details about the supported toolchains and compilers are documented
in the Node.js `BUILDING.md` file.
Contributed by Richard Lau in https://github.com/nodejs/node/pull/42292,
https://github.com/nodejs/node/pull/42604 and https://github.com/nodejs/node/pull/42659
, and Michaël Zasso in https://github.com/nodejs/node/pull/42105 and
https://github.com/nodejs/node/pull/42666.
V8 10.1:
The V8 engine is updated to version 10.1, which is part of Chromium 101.
Compared to the version included in Node.js 17.9.0, the following new
features are included:
- The `findLast` and `findLastIndex` array methods.
- Improvements to the `Intl.Locale` API.
- The `Intl.supportedValuesOf` function.
- Improved performance of class fields and private class methods (the
initialization of them is now as fast as ordinary property stores).
The data format returned by the serialization API (`v8.serialize(value)`)
has changed, and cannot be deserialized by earlier versions of Node.js.
On the other hand, it is still possible to deserialize the previous
format, as the API is backwards-compatible.
Contributed by Michaël Zasso in https://github.com/nodejs/node/pull/42657.
Web Streams API (experimental):
Node.js now exposes the experimental implementation of the Web Streams
API on the global scope. This means the following APIs are now globally
available:
- `ReadableStream`, `ReadableStreamDefaultReader`,
`ReadableStreamBYOBReader`, `ReadableStreamBYOBRequest`,
`ReadableByteStreamController`, `ReadableStreamDefaultController`,
`TransformStream`, `TransformStreamDefaultController`, `WritableStream`,
`WritableStreamDefaultWriter`, `WritableStreamDefaultController`,
`ByteLengthQueuingStrategy`, `CountQueuingStrategy`, `TextEncoderStream`,
`TextDecoderStream`, `CompressionStream`, `DecompressionStream`.
Contributed James Snell in https://github.com/nodejs/node/pull/39062,
and Antoine du Hamel in https://github.com/nodejs/node/pull/42225.
Other Notable Changes:
- (SEMVER-MAJOR) buffer: expose Blob as a global
(James M Snell) (https://github.com/nodejs/node/pull/41270)
- (SEMVER-MAJOR) child\_process: improve argument validation
(Rich Trott) (https://github.com/nodejs/node/pull/41305)
- doc: add RafaelGSS to collaborators
(RafaelGSS) (https://github.com/nodejs/node/pull/42718)
- (SEMVER-MAJOR) http: make TCP noDelay enabled by default
(Paolo Insogna) (https://github.com/nodejs/node/pull/42163)
- (SEMVER-MAJOR) net: make `server.address()` return an integer for
`family`
(Antoine du Hamel) (https://github.com/nodejs/node/pull/41431)
- (SEMVER-MAJOR) worker: expose BroadcastChannel as a global
(James M Snell) (https://github.com/nodejs/node/pull/41271)
- (SEMVER-MAJOR) worker: graduate BroadcastChannel to supported
(James M Snell) (https://github.com/nodejs/node/pull/41271)
Semver-Major Commits:
- (SEMVER-MAJOR) assert,util: compare RegExp.lastIndex while using deep
equal checks
(Ruben Bridgewater) (https://github.com/nodejs/node/pull/41020)
- (SEMVER-MAJOR) buffer: refactor `byteLength` to remove outdated
optimizations
(Rongjian Zhang) (https://github.com/nodejs/node/pull/38545)
- (SEMVER-MAJOR) buffer: expose Blob as a global
(James M Snell) (https://github.com/nodejs/node/pull/41270)
- (SEMVER-MAJOR) buffer: graduate Blob from experimental
(James M Snell) (https://github.com/nodejs/node/pull/41270)
- (SEMVER-MAJOR) build: make x86 Windows support temporarily
experimental
(Michaël Zasso) (https://github.com/nodejs/node/pull/42666)
- (SEMVER-MAJOR) build: bump macOS deployment target to 10.15
(Richard Lau) (https://github.com/nodejs/node/pull/42292)
- (SEMVER-MAJOR) build: downgrade Windows 8.1 and server 2012 R2 to
experimental
(Michaël Zasso) (https://github.com/nodejs/node/pull/42105)
- (SEMVER-MAJOR) child\_process: improve argument validation
(Rich Trott) (https://github.com/nodejs/node/pull/41305)
- (SEMVER-MAJOR) cluster: make `kill` to be just `process.kill`
(Bar Admoni) (https://github.com/nodejs/node/pull/34312)
- (SEMVER-MAJOR) crypto: cleanup validation
(Mohammed Keyvanzadeh) (https://github.com/nodejs/node/pull/39841)
- (SEMVER-MAJOR) crypto: prettify othername in PrintGeneralName
(Tobias Nießen) (https://github.com/nodejs/node/pull/42123)
- (SEMVER-MAJOR) crypto: fix X509Certificate toLegacyObject
(Tobias Nießen) (https://github.com/nodejs/node/pull/42124)
- (SEMVER-MAJOR) crypto: use RFC2253 format in PrintGeneralName
(Tobias Nießen) (https://github.com/nodejs/node/pull/42002)
- (SEMVER-MAJOR) crypto: change default check(Host|Email) behavior
(Tobias Nießen) (https://github.com/nodejs/node/pull/41600)
- (SEMVER-MAJOR) deps: V8: cherry-pick semver-major commits from 10.2
(Michaël Zasso) (https://github.com/nodejs/node/pull/42657)
- (SEMVER-MAJOR) deps: update V8 to 10.1.124.6
(Michaël Zasso) (https://github.com/nodejs/node/pull/42657)
- (SEMVER-MAJOR) deps: update V8 to 9.8.177.9
(Michaël Zasso) (https://github.com/nodejs/node/pull/41610)
- (SEMVER-MAJOR) deps: update V8 to 9.7.106.18
(Michaël Zasso) (https://github.com/nodejs/node/pull/40907)
- (SEMVER-MAJOR) dns: remove `dns.lookup` and `dnsPromises.lookup`
options type coercion
(Antoine du Hamel) (https://github.com/nodejs/node/pull/41431)
- (SEMVER-MAJOR) doc: update minimum glibc requirements for Linux
(Richard Lau) (https://github.com/nodejs/node/pull/42659)
- (SEMVER-MAJOR) doc: update AIX minimum supported arch
(Richard Lau) (https://github.com/nodejs/node/pull/42604)
- (SEMVER-MAJOR) fs: runtime deprecate string coercion in `fs.write`,
`fs.writeFileSync`
(Livia Medeiros) (https://github.com/nodejs/node/pull/42607)
- (SEMVER-MAJOR) http: refactor headersTimeout and requestTimeout logic
(Paolo Insogna) (https://github.com/nodejs/node/pull/41263)
- (SEMVER-MAJOR) http: make TCP noDelay enabled by default
(Paolo Insogna) (https://github.com/nodejs/node/pull/42163)
- (SEMVER-MAJOR) lib: enable fetch by default
(Michaël Zasso) (https://github.com/nodejs/node/pull/41811)
- (SEMVER-MAJOR) lib: replace validator and error
(Mohammed Keyvanzadeh) (https://github.com/nodejs/node/pull/41678)
- (SEMVER-MAJOR) module,repl: support 'node:'-only core modules
(Colin Ihrig) (https://github.com/nodejs/node/pull/42325)
- (SEMVER-MAJOR) net: make `server.address()` return an integer for
`family`
(Antoine du Hamel) (https://github.com/nodejs/node/pull/41431)
- (SEMVER-MAJOR) process: disallow some uses of Object.defineProperty()
on process.env
(Himself65) (https://github.com/nodejs/node/pull/28006)
- (SEMVER-MAJOR) process: runtime deprecate multipleResolves
(Benjamin Gruenbaum) (https://github.com/nodejs/node/pull/41896)
- (SEMVER-MAJOR) readline: fix question still called after closed
(Xuguang Mei) (https://github.com/nodejs/node/pull/42464)
- (SEMVER-MAJOR) stream: remove thenable support
(Robert Nagy) (https://github.com/nodejs/node/pull/40773)
- (SEMVER-MAJOR) stream: expose web streams globals, remove runtime
experimental warning
(Antoine du Hamel) (https://github.com/nodejs/node/pull/42225)
- (SEMVER-MAJOR) stream: need to cleanup event listeners if last stream
is readable
(Xuguang Mei) (https://github.com/nodejs/node/pull/41954)
- (SEMVER-MAJOR) stream: revert revert `map` spec compliance
(Benjamin Gruenbaum) (https://github.com/nodejs/node/pull/41933)
- (SEMVER-MAJOR) stream: throw invalid arg type from End Of Stream
(Jithil P Ponnan) (https://github.com/nodejs/node/pull/41766)
- (SEMVER-MAJOR) stream: don't emit finish after destroy
(Robert Nagy) (https://github.com/nodejs/node/pull/40852)
- (SEMVER-MAJOR) stream: add errored and closed props
(Robert Nagy) (https://github.com/nodejs/node/pull/40696)
- (SEMVER-MAJOR) test: add initial test module
(Colin Ihrig) (https://github.com/nodejs/node/pull/42325)
- (SEMVER-MAJOR) timers: refactor internal classes to ES2015 syntax
(Rabbit) (https://github.com/nodejs/node/pull/37408)
- (SEMVER-MAJOR) tls: represent registeredID numerically always
(Tobias Nießen) (https://github.com/nodejs/node/pull/41561)
- (SEMVER-MAJOR) tls: move tls.parseCertString to end-of-life
(Tobias Nießen) (https://github.com/nodejs/node/pull/41479)
- (SEMVER-MAJOR) url: throw on NULL in IPv6 hostname
(Rich Trott) (https://github.com/nodejs/node/pull/42313)
- (SEMVER-MAJOR) v8: make v8.writeHeapSnapshot() error codes consistent
(Darshan Sen) (https://github.com/nodejs/node/pull/42577)
- (SEMVER-MAJOR) v8: make writeHeapSnapshot throw if fopen fails
(Antonio Román) (https://github.com/nodejs/node/pull/41373)
- (SEMVER-MAJOR) worker: expose BroadcastChannel as a global
(James M Snell) (https://github.com/nodejs/node/pull/41271)
- (SEMVER-MAJOR) worker: graduate BroadcastChannel to supported
(James M Snell) (https://github.com/nodejs/node/pull/41271)
PR-URL: https://github.com/nodejs/node/pull/42262
2022-03-08 01:39:47 +00:00
|
|
|
- version: v18.0.0
|
2022-01-24 19:39:16 +03:30
|
|
|
pr-url: https://github.com/nodejs/node/pull/41678
|
|
|
|
description: End-of-Life.
|
|
|
|
-->
|
|
|
|
|
|
|
|
Type: End-of-Life
|
|
|
|
|
|
|
|
This error code was removed due to adding more confusion to
|
|
|
|
the errors used for value type validation.
|
|
|
|
|
2022-02-15 19:55:56 +01:00
|
|
|
### DEP0160: `process.on('multipleResolves', handler)`
|
2022-02-08 16:24:59 +02:00
|
|
|
|
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2022-04-19, Version 18.0.0 (Current)
Notable Changes:
Deprecations and Removals:
- (SEMVER-MAJOR) fs: runtime deprecate string coercion in `fs.write`,
`fs.writeFileSync`
(Livia Medeiros) (https://github.com/nodejs/node/pull/42607)
- (SEMVER-MAJOR) dns: remove `dns.lookup` and `dnsPromises.lookup`
options type coercion
(Antoine du Hamel) (https://github.com/nodejs/node/pull/41431)
- (SEMVER-MAJOR) process: runtime deprecate multipleResolves
(Benjamin Gruenbaum) (https://github.com/nodejs/node/pull/41896)
- (SEMVER-MAJOR) stream: remove thenable support (Robert Nagy)
(https://github.com/nodejs/node/pull/40773)
- (SEMVER-MAJOR) tls: move tls.parseCertString to end-of-life
(Tobias Nießen) (https://github.com/nodejs/node/pull/41479)
fetch (experimental):
An experimental fetch API is available on the global scope by default.
The implementation is based upon https://undici.nodejs.org/#/,
an HTTP/1.1 client written for Node.js by contributors to the project.
Through this addition, the following globals are made available: `fetch`
, `FormData`, `Headers`, `Request`, `Response`.
Disable this API with the `--no-experimental-fetch` command-line flag.
Contributed by Michaël Zasso in https://github.com/nodejs/node/pull/41811.
HTTP Timeouts:
`server.headersTimeout`, which limits the amount of time the parser will
wait to receive the complete HTTP headers, is now set to `60000` (60
seconds) by default.
`server.requestTimeout`, which sets the timeout value in milliseconds
for receiving the entire request from the client, is now set to `300000`
(5 minutes) by default.
If these timeouts expire, the server responds with status 408 without
forwarding the request to the request listener and then closes the
connection.
Both timeouts must be set to a non-zero value to protect against
potential Denial-of-Service attacks in case the server is deployed
without a reverse proxy in front.
Contributed by Paolo Insogna in https://github.com/nodejs/node/pull/41263.
Test Runner module (experimental):
The `node:test` module facilitates the creation of JavaScript tests that
report results in TAP format. This module is only available under the
`node:` scheme.
Contributed by Colin Ihrig in https://github.com/nodejs/node/pull/42325.
Toolchain and Compiler Upgrades:
- Prebuilt binaries for Linux are now built on Red Hat Enterprise Linux
(RHEL) 8 and are compatible with Linux distributions based on glibc
2.28 or later, for example, Debian 10, RHEL 8, Ubuntu 20.04.
- Prebuilt binaries for macOS now require macOS 10.15 or later.
- For AIX the minimum supported architecture has been raised from Power
7 to Power 8.
Prebuilt binaries for 32-bit Windows will initially not be available due
to issues building the V8 dependency in Node.js. We hope to restore
32-bit Windows binaries for Node.js 18 with a future V8 update.
Node.js does not support running on operating systems that are no longer
supported by their vendor. For operating systems where their vendor has
planned to end support earlier than April 2025, such as Windows 8.1
(January 2023) and Windows Server 2012 R2 (October 2023), support for
Node.js 18 will end at the earlier date.
Full details about the supported toolchains and compilers are documented
in the Node.js `BUILDING.md` file.
Contributed by Richard Lau in https://github.com/nodejs/node/pull/42292,
https://github.com/nodejs/node/pull/42604 and https://github.com/nodejs/node/pull/42659
, and Michaël Zasso in https://github.com/nodejs/node/pull/42105 and
https://github.com/nodejs/node/pull/42666.
V8 10.1:
The V8 engine is updated to version 10.1, which is part of Chromium 101.
Compared to the version included in Node.js 17.9.0, the following new
features are included:
- The `findLast` and `findLastIndex` array methods.
- Improvements to the `Intl.Locale` API.
- The `Intl.supportedValuesOf` function.
- Improved performance of class fields and private class methods (the
initialization of them is now as fast as ordinary property stores).
The data format returned by the serialization API (`v8.serialize(value)`)
has changed, and cannot be deserialized by earlier versions of Node.js.
On the other hand, it is still possible to deserialize the previous
format, as the API is backwards-compatible.
Contributed by Michaël Zasso in https://github.com/nodejs/node/pull/42657.
Web Streams API (experimental):
Node.js now exposes the experimental implementation of the Web Streams
API on the global scope. This means the following APIs are now globally
available:
- `ReadableStream`, `ReadableStreamDefaultReader`,
`ReadableStreamBYOBReader`, `ReadableStreamBYOBRequest`,
`ReadableByteStreamController`, `ReadableStreamDefaultController`,
`TransformStream`, `TransformStreamDefaultController`, `WritableStream`,
`WritableStreamDefaultWriter`, `WritableStreamDefaultController`,
`ByteLengthQueuingStrategy`, `CountQueuingStrategy`, `TextEncoderStream`,
`TextDecoderStream`, `CompressionStream`, `DecompressionStream`.
Contributed James Snell in https://github.com/nodejs/node/pull/39062,
and Antoine du Hamel in https://github.com/nodejs/node/pull/42225.
Other Notable Changes:
- (SEMVER-MAJOR) buffer: expose Blob as a global
(James M Snell) (https://github.com/nodejs/node/pull/41270)
- (SEMVER-MAJOR) child\_process: improve argument validation
(Rich Trott) (https://github.com/nodejs/node/pull/41305)
- doc: add RafaelGSS to collaborators
(RafaelGSS) (https://github.com/nodejs/node/pull/42718)
- (SEMVER-MAJOR) http: make TCP noDelay enabled by default
(Paolo Insogna) (https://github.com/nodejs/node/pull/42163)
- (SEMVER-MAJOR) net: make `server.address()` return an integer for
`family`
(Antoine du Hamel) (https://github.com/nodejs/node/pull/41431)
- (SEMVER-MAJOR) worker: expose BroadcastChannel as a global
(James M Snell) (https://github.com/nodejs/node/pull/41271)
- (SEMVER-MAJOR) worker: graduate BroadcastChannel to supported
(James M Snell) (https://github.com/nodejs/node/pull/41271)
Semver-Major Commits:
- (SEMVER-MAJOR) assert,util: compare RegExp.lastIndex while using deep
equal checks
(Ruben Bridgewater) (https://github.com/nodejs/node/pull/41020)
- (SEMVER-MAJOR) buffer: refactor `byteLength` to remove outdated
optimizations
(Rongjian Zhang) (https://github.com/nodejs/node/pull/38545)
- (SEMVER-MAJOR) buffer: expose Blob as a global
(James M Snell) (https://github.com/nodejs/node/pull/41270)
- (SEMVER-MAJOR) buffer: graduate Blob from experimental
(James M Snell) (https://github.com/nodejs/node/pull/41270)
- (SEMVER-MAJOR) build: make x86 Windows support temporarily
experimental
(Michaël Zasso) (https://github.com/nodejs/node/pull/42666)
- (SEMVER-MAJOR) build: bump macOS deployment target to 10.15
(Richard Lau) (https://github.com/nodejs/node/pull/42292)
- (SEMVER-MAJOR) build: downgrade Windows 8.1 and server 2012 R2 to
experimental
(Michaël Zasso) (https://github.com/nodejs/node/pull/42105)
- (SEMVER-MAJOR) child\_process: improve argument validation
(Rich Trott) (https://github.com/nodejs/node/pull/41305)
- (SEMVER-MAJOR) cluster: make `kill` to be just `process.kill`
(Bar Admoni) (https://github.com/nodejs/node/pull/34312)
- (SEMVER-MAJOR) crypto: cleanup validation
(Mohammed Keyvanzadeh) (https://github.com/nodejs/node/pull/39841)
- (SEMVER-MAJOR) crypto: prettify othername in PrintGeneralName
(Tobias Nießen) (https://github.com/nodejs/node/pull/42123)
- (SEMVER-MAJOR) crypto: fix X509Certificate toLegacyObject
(Tobias Nießen) (https://github.com/nodejs/node/pull/42124)
- (SEMVER-MAJOR) crypto: use RFC2253 format in PrintGeneralName
(Tobias Nießen) (https://github.com/nodejs/node/pull/42002)
- (SEMVER-MAJOR) crypto: change default check(Host|Email) behavior
(Tobias Nießen) (https://github.com/nodejs/node/pull/41600)
- (SEMVER-MAJOR) deps: V8: cherry-pick semver-major commits from 10.2
(Michaël Zasso) (https://github.com/nodejs/node/pull/42657)
- (SEMVER-MAJOR) deps: update V8 to 10.1.124.6
(Michaël Zasso) (https://github.com/nodejs/node/pull/42657)
- (SEMVER-MAJOR) deps: update V8 to 9.8.177.9
(Michaël Zasso) (https://github.com/nodejs/node/pull/41610)
- (SEMVER-MAJOR) deps: update V8 to 9.7.106.18
(Michaël Zasso) (https://github.com/nodejs/node/pull/40907)
- (SEMVER-MAJOR) dns: remove `dns.lookup` and `dnsPromises.lookup`
options type coercion
(Antoine du Hamel) (https://github.com/nodejs/node/pull/41431)
- (SEMVER-MAJOR) doc: update minimum glibc requirements for Linux
(Richard Lau) (https://github.com/nodejs/node/pull/42659)
- (SEMVER-MAJOR) doc: update AIX minimum supported arch
(Richard Lau) (https://github.com/nodejs/node/pull/42604)
- (SEMVER-MAJOR) fs: runtime deprecate string coercion in `fs.write`,
`fs.writeFileSync`
(Livia Medeiros) (https://github.com/nodejs/node/pull/42607)
- (SEMVER-MAJOR) http: refactor headersTimeout and requestTimeout logic
(Paolo Insogna) (https://github.com/nodejs/node/pull/41263)
- (SEMVER-MAJOR) http: make TCP noDelay enabled by default
(Paolo Insogna) (https://github.com/nodejs/node/pull/42163)
- (SEMVER-MAJOR) lib: enable fetch by default
(Michaël Zasso) (https://github.com/nodejs/node/pull/41811)
- (SEMVER-MAJOR) lib: replace validator and error
(Mohammed Keyvanzadeh) (https://github.com/nodejs/node/pull/41678)
- (SEMVER-MAJOR) module,repl: support 'node:'-only core modules
(Colin Ihrig) (https://github.com/nodejs/node/pull/42325)
- (SEMVER-MAJOR) net: make `server.address()` return an integer for
`family`
(Antoine du Hamel) (https://github.com/nodejs/node/pull/41431)
- (SEMVER-MAJOR) process: disallow some uses of Object.defineProperty()
on process.env
(Himself65) (https://github.com/nodejs/node/pull/28006)
- (SEMVER-MAJOR) process: runtime deprecate multipleResolves
(Benjamin Gruenbaum) (https://github.com/nodejs/node/pull/41896)
- (SEMVER-MAJOR) readline: fix question still called after closed
(Xuguang Mei) (https://github.com/nodejs/node/pull/42464)
- (SEMVER-MAJOR) stream: remove thenable support
(Robert Nagy) (https://github.com/nodejs/node/pull/40773)
- (SEMVER-MAJOR) stream: expose web streams globals, remove runtime
experimental warning
(Antoine du Hamel) (https://github.com/nodejs/node/pull/42225)
- (SEMVER-MAJOR) stream: need to cleanup event listeners if last stream
is readable
(Xuguang Mei) (https://github.com/nodejs/node/pull/41954)
- (SEMVER-MAJOR) stream: revert revert `map` spec compliance
(Benjamin Gruenbaum) (https://github.com/nodejs/node/pull/41933)
- (SEMVER-MAJOR) stream: throw invalid arg type from End Of Stream
(Jithil P Ponnan) (https://github.com/nodejs/node/pull/41766)
- (SEMVER-MAJOR) stream: don't emit finish after destroy
(Robert Nagy) (https://github.com/nodejs/node/pull/40852)
- (SEMVER-MAJOR) stream: add errored and closed props
(Robert Nagy) (https://github.com/nodejs/node/pull/40696)
- (SEMVER-MAJOR) test: add initial test module
(Colin Ihrig) (https://github.com/nodejs/node/pull/42325)
- (SEMVER-MAJOR) timers: refactor internal classes to ES2015 syntax
(Rabbit) (https://github.com/nodejs/node/pull/37408)
- (SEMVER-MAJOR) tls: represent registeredID numerically always
(Tobias Nießen) (https://github.com/nodejs/node/pull/41561)
- (SEMVER-MAJOR) tls: move tls.parseCertString to end-of-life
(Tobias Nießen) (https://github.com/nodejs/node/pull/41479)
- (SEMVER-MAJOR) url: throw on NULL in IPv6 hostname
(Rich Trott) (https://github.com/nodejs/node/pull/42313)
- (SEMVER-MAJOR) v8: make v8.writeHeapSnapshot() error codes consistent
(Darshan Sen) (https://github.com/nodejs/node/pull/42577)
- (SEMVER-MAJOR) v8: make writeHeapSnapshot throw if fopen fails
(Antonio Román) (https://github.com/nodejs/node/pull/41373)
- (SEMVER-MAJOR) worker: expose BroadcastChannel as a global
(James M Snell) (https://github.com/nodejs/node/pull/41271)
- (SEMVER-MAJOR) worker: graduate BroadcastChannel to supported
(James M Snell) (https://github.com/nodejs/node/pull/41271)
PR-URL: https://github.com/nodejs/node/pull/42262
2022-03-08 01:39:47 +00:00
|
|
|
- version: v18.0.0
|
2022-02-08 18:28:25 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/41896
|
|
|
|
description: Runtime deprecation.
|
2022-04-23 21:03:46 -04:00
|
|
|
- version:
|
|
|
|
- v17.6.0
|
|
|
|
- v16.15.0
|
2022-02-08 16:24:59 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/41872
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
2025-03-19 01:34:18 +01:00
|
|
|
Type: Runtime
|
2022-02-08 16:24:59 +02:00
|
|
|
|
|
|
|
This event was deprecated because it did not work with V8 promise combinators
|
|
|
|
which diminished its usefulness.
|
|
|
|
|
2022-01-26 15:49:22 +05:30
|
|
|
### DEP0161: `process._getActiveRequests()` and `process._getActiveHandles()`
|
|
|
|
|
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2022-04-23 21:03:46 -04:00
|
|
|
- version:
|
|
|
|
- v17.6.0
|
|
|
|
- v16.15.0
|
2022-01-26 15:49:22 +05:30
|
|
|
pr-url: https://github.com/nodejs/node/pull/41587
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
|
|
|
Type: Documentation-only
|
|
|
|
|
|
|
|
The `process._getActiveHandles()` and `process._getActiveRequests()`
|
|
|
|
functions are not intended for public use and can be removed in future
|
|
|
|
releases.
|
|
|
|
|
|
|
|
Use [`process.getActiveResourcesInfo()`][] to get a list of types of active
|
|
|
|
resources and not the actual references.
|
|
|
|
|
2022-03-09 06:21:24 +08:00
|
|
|
### DEP0162: `fs.write()`, `fs.writeFileSync()` coercion to string
|
|
|
|
|
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2022-12-19 18:29:49 +01:00
|
|
|
- version: v19.0.0
|
2022-09-12 18:29:43 +09:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/42796
|
|
|
|
description: End-of-Life.
|
2022-04-19, Version 18.0.0 (Current)
Notable Changes:
Deprecations and Removals:
- (SEMVER-MAJOR) fs: runtime deprecate string coercion in `fs.write`,
`fs.writeFileSync`
(Livia Medeiros) (https://github.com/nodejs/node/pull/42607)
- (SEMVER-MAJOR) dns: remove `dns.lookup` and `dnsPromises.lookup`
options type coercion
(Antoine du Hamel) (https://github.com/nodejs/node/pull/41431)
- (SEMVER-MAJOR) process: runtime deprecate multipleResolves
(Benjamin Gruenbaum) (https://github.com/nodejs/node/pull/41896)
- (SEMVER-MAJOR) stream: remove thenable support (Robert Nagy)
(https://github.com/nodejs/node/pull/40773)
- (SEMVER-MAJOR) tls: move tls.parseCertString to end-of-life
(Tobias Nießen) (https://github.com/nodejs/node/pull/41479)
fetch (experimental):
An experimental fetch API is available on the global scope by default.
The implementation is based upon https://undici.nodejs.org/#/,
an HTTP/1.1 client written for Node.js by contributors to the project.
Through this addition, the following globals are made available: `fetch`
, `FormData`, `Headers`, `Request`, `Response`.
Disable this API with the `--no-experimental-fetch` command-line flag.
Contributed by Michaël Zasso in https://github.com/nodejs/node/pull/41811.
HTTP Timeouts:
`server.headersTimeout`, which limits the amount of time the parser will
wait to receive the complete HTTP headers, is now set to `60000` (60
seconds) by default.
`server.requestTimeout`, which sets the timeout value in milliseconds
for receiving the entire request from the client, is now set to `300000`
(5 minutes) by default.
If these timeouts expire, the server responds with status 408 without
forwarding the request to the request listener and then closes the
connection.
Both timeouts must be set to a non-zero value to protect against
potential Denial-of-Service attacks in case the server is deployed
without a reverse proxy in front.
Contributed by Paolo Insogna in https://github.com/nodejs/node/pull/41263.
Test Runner module (experimental):
The `node:test` module facilitates the creation of JavaScript tests that
report results in TAP format. This module is only available under the
`node:` scheme.
Contributed by Colin Ihrig in https://github.com/nodejs/node/pull/42325.
Toolchain and Compiler Upgrades:
- Prebuilt binaries for Linux are now built on Red Hat Enterprise Linux
(RHEL) 8 and are compatible with Linux distributions based on glibc
2.28 or later, for example, Debian 10, RHEL 8, Ubuntu 20.04.
- Prebuilt binaries for macOS now require macOS 10.15 or later.
- For AIX the minimum supported architecture has been raised from Power
7 to Power 8.
Prebuilt binaries for 32-bit Windows will initially not be available due
to issues building the V8 dependency in Node.js. We hope to restore
32-bit Windows binaries for Node.js 18 with a future V8 update.
Node.js does not support running on operating systems that are no longer
supported by their vendor. For operating systems where their vendor has
planned to end support earlier than April 2025, such as Windows 8.1
(January 2023) and Windows Server 2012 R2 (October 2023), support for
Node.js 18 will end at the earlier date.
Full details about the supported toolchains and compilers are documented
in the Node.js `BUILDING.md` file.
Contributed by Richard Lau in https://github.com/nodejs/node/pull/42292,
https://github.com/nodejs/node/pull/42604 and https://github.com/nodejs/node/pull/42659
, and Michaël Zasso in https://github.com/nodejs/node/pull/42105 and
https://github.com/nodejs/node/pull/42666.
V8 10.1:
The V8 engine is updated to version 10.1, which is part of Chromium 101.
Compared to the version included in Node.js 17.9.0, the following new
features are included:
- The `findLast` and `findLastIndex` array methods.
- Improvements to the `Intl.Locale` API.
- The `Intl.supportedValuesOf` function.
- Improved performance of class fields and private class methods (the
initialization of them is now as fast as ordinary property stores).
The data format returned by the serialization API (`v8.serialize(value)`)
has changed, and cannot be deserialized by earlier versions of Node.js.
On the other hand, it is still possible to deserialize the previous
format, as the API is backwards-compatible.
Contributed by Michaël Zasso in https://github.com/nodejs/node/pull/42657.
Web Streams API (experimental):
Node.js now exposes the experimental implementation of the Web Streams
API on the global scope. This means the following APIs are now globally
available:
- `ReadableStream`, `ReadableStreamDefaultReader`,
`ReadableStreamBYOBReader`, `ReadableStreamBYOBRequest`,
`ReadableByteStreamController`, `ReadableStreamDefaultController`,
`TransformStream`, `TransformStreamDefaultController`, `WritableStream`,
`WritableStreamDefaultWriter`, `WritableStreamDefaultController`,
`ByteLengthQueuingStrategy`, `CountQueuingStrategy`, `TextEncoderStream`,
`TextDecoderStream`, `CompressionStream`, `DecompressionStream`.
Contributed James Snell in https://github.com/nodejs/node/pull/39062,
and Antoine du Hamel in https://github.com/nodejs/node/pull/42225.
Other Notable Changes:
- (SEMVER-MAJOR) buffer: expose Blob as a global
(James M Snell) (https://github.com/nodejs/node/pull/41270)
- (SEMVER-MAJOR) child\_process: improve argument validation
(Rich Trott) (https://github.com/nodejs/node/pull/41305)
- doc: add RafaelGSS to collaborators
(RafaelGSS) (https://github.com/nodejs/node/pull/42718)
- (SEMVER-MAJOR) http: make TCP noDelay enabled by default
(Paolo Insogna) (https://github.com/nodejs/node/pull/42163)
- (SEMVER-MAJOR) net: make `server.address()` return an integer for
`family`
(Antoine du Hamel) (https://github.com/nodejs/node/pull/41431)
- (SEMVER-MAJOR) worker: expose BroadcastChannel as a global
(James M Snell) (https://github.com/nodejs/node/pull/41271)
- (SEMVER-MAJOR) worker: graduate BroadcastChannel to supported
(James M Snell) (https://github.com/nodejs/node/pull/41271)
Semver-Major Commits:
- (SEMVER-MAJOR) assert,util: compare RegExp.lastIndex while using deep
equal checks
(Ruben Bridgewater) (https://github.com/nodejs/node/pull/41020)
- (SEMVER-MAJOR) buffer: refactor `byteLength` to remove outdated
optimizations
(Rongjian Zhang) (https://github.com/nodejs/node/pull/38545)
- (SEMVER-MAJOR) buffer: expose Blob as a global
(James M Snell) (https://github.com/nodejs/node/pull/41270)
- (SEMVER-MAJOR) buffer: graduate Blob from experimental
(James M Snell) (https://github.com/nodejs/node/pull/41270)
- (SEMVER-MAJOR) build: make x86 Windows support temporarily
experimental
(Michaël Zasso) (https://github.com/nodejs/node/pull/42666)
- (SEMVER-MAJOR) build: bump macOS deployment target to 10.15
(Richard Lau) (https://github.com/nodejs/node/pull/42292)
- (SEMVER-MAJOR) build: downgrade Windows 8.1 and server 2012 R2 to
experimental
(Michaël Zasso) (https://github.com/nodejs/node/pull/42105)
- (SEMVER-MAJOR) child\_process: improve argument validation
(Rich Trott) (https://github.com/nodejs/node/pull/41305)
- (SEMVER-MAJOR) cluster: make `kill` to be just `process.kill`
(Bar Admoni) (https://github.com/nodejs/node/pull/34312)
- (SEMVER-MAJOR) crypto: cleanup validation
(Mohammed Keyvanzadeh) (https://github.com/nodejs/node/pull/39841)
- (SEMVER-MAJOR) crypto: prettify othername in PrintGeneralName
(Tobias Nießen) (https://github.com/nodejs/node/pull/42123)
- (SEMVER-MAJOR) crypto: fix X509Certificate toLegacyObject
(Tobias Nießen) (https://github.com/nodejs/node/pull/42124)
- (SEMVER-MAJOR) crypto: use RFC2253 format in PrintGeneralName
(Tobias Nießen) (https://github.com/nodejs/node/pull/42002)
- (SEMVER-MAJOR) crypto: change default check(Host|Email) behavior
(Tobias Nießen) (https://github.com/nodejs/node/pull/41600)
- (SEMVER-MAJOR) deps: V8: cherry-pick semver-major commits from 10.2
(Michaël Zasso) (https://github.com/nodejs/node/pull/42657)
- (SEMVER-MAJOR) deps: update V8 to 10.1.124.6
(Michaël Zasso) (https://github.com/nodejs/node/pull/42657)
- (SEMVER-MAJOR) deps: update V8 to 9.8.177.9
(Michaël Zasso) (https://github.com/nodejs/node/pull/41610)
- (SEMVER-MAJOR) deps: update V8 to 9.7.106.18
(Michaël Zasso) (https://github.com/nodejs/node/pull/40907)
- (SEMVER-MAJOR) dns: remove `dns.lookup` and `dnsPromises.lookup`
options type coercion
(Antoine du Hamel) (https://github.com/nodejs/node/pull/41431)
- (SEMVER-MAJOR) doc: update minimum glibc requirements for Linux
(Richard Lau) (https://github.com/nodejs/node/pull/42659)
- (SEMVER-MAJOR) doc: update AIX minimum supported arch
(Richard Lau) (https://github.com/nodejs/node/pull/42604)
- (SEMVER-MAJOR) fs: runtime deprecate string coercion in `fs.write`,
`fs.writeFileSync`
(Livia Medeiros) (https://github.com/nodejs/node/pull/42607)
- (SEMVER-MAJOR) http: refactor headersTimeout and requestTimeout logic
(Paolo Insogna) (https://github.com/nodejs/node/pull/41263)
- (SEMVER-MAJOR) http: make TCP noDelay enabled by default
(Paolo Insogna) (https://github.com/nodejs/node/pull/42163)
- (SEMVER-MAJOR) lib: enable fetch by default
(Michaël Zasso) (https://github.com/nodejs/node/pull/41811)
- (SEMVER-MAJOR) lib: replace validator and error
(Mohammed Keyvanzadeh) (https://github.com/nodejs/node/pull/41678)
- (SEMVER-MAJOR) module,repl: support 'node:'-only core modules
(Colin Ihrig) (https://github.com/nodejs/node/pull/42325)
- (SEMVER-MAJOR) net: make `server.address()` return an integer for
`family`
(Antoine du Hamel) (https://github.com/nodejs/node/pull/41431)
- (SEMVER-MAJOR) process: disallow some uses of Object.defineProperty()
on process.env
(Himself65) (https://github.com/nodejs/node/pull/28006)
- (SEMVER-MAJOR) process: runtime deprecate multipleResolves
(Benjamin Gruenbaum) (https://github.com/nodejs/node/pull/41896)
- (SEMVER-MAJOR) readline: fix question still called after closed
(Xuguang Mei) (https://github.com/nodejs/node/pull/42464)
- (SEMVER-MAJOR) stream: remove thenable support
(Robert Nagy) (https://github.com/nodejs/node/pull/40773)
- (SEMVER-MAJOR) stream: expose web streams globals, remove runtime
experimental warning
(Antoine du Hamel) (https://github.com/nodejs/node/pull/42225)
- (SEMVER-MAJOR) stream: need to cleanup event listeners if last stream
is readable
(Xuguang Mei) (https://github.com/nodejs/node/pull/41954)
- (SEMVER-MAJOR) stream: revert revert `map` spec compliance
(Benjamin Gruenbaum) (https://github.com/nodejs/node/pull/41933)
- (SEMVER-MAJOR) stream: throw invalid arg type from End Of Stream
(Jithil P Ponnan) (https://github.com/nodejs/node/pull/41766)
- (SEMVER-MAJOR) stream: don't emit finish after destroy
(Robert Nagy) (https://github.com/nodejs/node/pull/40852)
- (SEMVER-MAJOR) stream: add errored and closed props
(Robert Nagy) (https://github.com/nodejs/node/pull/40696)
- (SEMVER-MAJOR) test: add initial test module
(Colin Ihrig) (https://github.com/nodejs/node/pull/42325)
- (SEMVER-MAJOR) timers: refactor internal classes to ES2015 syntax
(Rabbit) (https://github.com/nodejs/node/pull/37408)
- (SEMVER-MAJOR) tls: represent registeredID numerically always
(Tobias Nießen) (https://github.com/nodejs/node/pull/41561)
- (SEMVER-MAJOR) tls: move tls.parseCertString to end-of-life
(Tobias Nießen) (https://github.com/nodejs/node/pull/41479)
- (SEMVER-MAJOR) url: throw on NULL in IPv6 hostname
(Rich Trott) (https://github.com/nodejs/node/pull/42313)
- (SEMVER-MAJOR) v8: make v8.writeHeapSnapshot() error codes consistent
(Darshan Sen) (https://github.com/nodejs/node/pull/42577)
- (SEMVER-MAJOR) v8: make writeHeapSnapshot throw if fopen fails
(Antonio Román) (https://github.com/nodejs/node/pull/41373)
- (SEMVER-MAJOR) worker: expose BroadcastChannel as a global
(James M Snell) (https://github.com/nodejs/node/pull/41271)
- (SEMVER-MAJOR) worker: graduate BroadcastChannel to supported
(James M Snell) (https://github.com/nodejs/node/pull/41271)
PR-URL: https://github.com/nodejs/node/pull/42262
2022-03-08 01:39:47 +00:00
|
|
|
- version: v18.0.0
|
2022-04-08 18:16:08 +08:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/42607
|
|
|
|
description: Runtime deprecation.
|
2022-04-23 21:03:46 -04:00
|
|
|
- version:
|
|
|
|
- v17.8.0
|
|
|
|
- v16.15.0
|
2022-03-09 06:21:24 +08:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/42149
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
2022-09-12 18:29:43 +09:00
|
|
|
Type: End-of-Life
|
2022-03-09 06:21:24 +08:00
|
|
|
|
|
|
|
Implicit coercion of objects with own `toString` property, passed as second
|
|
|
|
parameter in [`fs.write()`][], [`fs.writeFile()`][], [`fs.appendFile()`][],
|
|
|
|
[`fs.writeFileSync()`][], and [`fs.appendFileSync()`][] is deprecated.
|
|
|
|
Convert them to primitive strings.
|
|
|
|
|
2022-05-31 10:52:09 -07:00
|
|
|
### DEP0163: `channel.subscribe(onMessage)`, `channel.unsubscribe(onMessage)`
|
|
|
|
|
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2022-08-16, Version 16.17.0 'Gallium' (LTS)
Notable changes:
Adds `util.parseArgs` helper for higher level command-line argument
parsing.
Contributed by Benjamin Coe, John Gee, Darcy Clarke, Joe Sepi,
Kevin Gibbons, Aaron Casanova, Jessica Nahulan, and Jordan Harband.
https://github.com/nodejs/node/pull/42675
Node.js ESM Loader hooks now support multiple custom loaders, and
composition is achieved via "chaining": `foo-loader` calls `bar-loader`
calls `qux-loader` (a custom loader _must_ now signal a short circuit
when intentionally not calling the next). See the ESM docs
(https://nodejs.org/dist/latest-v16.x/docs/api/esm.html) for details.
Contributed by Jacob Smith, Geoffrey Booth, and Bradley Farias.
https://github.com/nodejs/node/pull/42623
The `node:test` module, which was initially introduced in Node.js
v18.0.0, is now available with all the changes done to it up to Node.js
v18.7.0.
To better align Node.js' experimental implementation of the Web Crypto
API with other runtimes, several changes were made:
* Support for CFRG curves was added, with the `'Ed25519'`, `'Ed448'`,
`'X25519'`, and `'X448'` algorithms.
* The proprietary `'NODE-DSA'`, `'NODE-DH'`, `'NODE-SCRYPT'`,
`'NODE-ED25519'`, `'NODE-ED448'`, `'NODE-X25519'`, and `'NODE-X448'`
algorithms were removed.
* The proprietary `'node.keyObject'` import/export format was removed.
Contributed by Filip Skokan.
https://github.com/nodejs/node/pull/42507
https://github.com/nodejs/node/pull/43310
Updated Corepack to 0.12.1 - https://github.com/nodejs/node/pull/43965
Updated ICU to 71.1 - https://github.com/nodejs/node/pull/42655
Updated npm to 8.15.0 - https://github.com/nodejs/node/pull/43917
Updated Undici to 5.8.0 - https://github.com/nodejs/node/pull/43886
(SEMVER-MINOR) crypto: make authTagLength optional for CC20P1305 (Tobias Nießen) https://github.com/nodejs/node/pull/42427
(SEMVER-MINOR) crypto: align webcrypto RSA key import/export with other implementations (Filip Skokan) https://github.com/nodejs/node/pull/42816
(SEMVER-MINOR) dns: export error code constants from `dns/promises` (Feng Yu) https://github.com/nodejs/node/pull/43176
doc: deprecate coercion to integer in process.exit (Daeyeon Jeong) https://github.com/nodejs/node/pull/43738
(SEMVER-MINOR) doc: deprecate diagnostics_channel object subscribe method (Stephen Belanger) https://github.com/nodejs/node/pull/42714
(SEMVER-MINOR) errors: add support for cause in aborterror (James M Snell) https://github.com/nodejs/node/pull/41008
(SEMVER-MINOR) events: expose CustomEvent on global with CLI flag (Daeyeon Jeong) https://github.com/nodejs/node/pull/43885
(SEMVER-MINOR) events: add `CustomEvent` (Daeyeon Jeong) https://github.com/nodejs/node/pull/43514
(SEMVER-MINOR) events: propagate abortsignal reason in new AbortError ctor in events (James M Snell) https://github.com/nodejs/node/pull/41008
(SEMVER-MINOR) fs: propagate abortsignal reason in new AbortSignal constructors (James M Snell) https://github.com/nodejs/node/pull/41008
(SEMVER-MINOR) fs: make params in writing methods optional (LiviaMedeiros) https://github.com/nodejs/node/pull/42601
(SEMVER-MINOR) fs: add `read(buffer[, options])` versions (LiviaMedeiros) https://github.com/nodejs/node/pull/42768
(SEMVER-MINOR) http: add drop request event for http server (theanarkh) https://github.com/nodejs/node/pull/43806
(SEMVER-MINOR) http: add diagnostics channel for http client (theanarkh) https://github.com/nodejs/node/pull/43580
(SEMVER-MINOR) http: add perf_hooks detail for http request and client (theanarkh) https://github.com/nodejs/node/pull/43361
(SEMVER-MINOR) http: add uniqueHeaders option to request and createServer (Paolo Insogna) https://github.com/nodejs/node/pull/41397
(SEMVER-MINOR) http2: propagate abortsignal reason in new AbortError constructor (James M Snell) https://github.com/nodejs/node/pull/41008
(SEMVER-MINOR) http2: compat support for array headers (OneNail) https://github.com/nodejs/node/pull/42901
(SEMVER-MINOR) lib: propagate abortsignal reason in new AbortError constructor in blob (James M Snell) https://github.com/nodejs/node/pull/41008
(SEMVER-MINOR) lib: add abortSignal.throwIfAborted() (James M Snell) https://github.com/nodejs/node/pull/40951
(SEMVER-MINOR) lib: improved diagnostics_channel subscribe/unsubscribe (Stephen Belanger) https://github.com/nodejs/node/pull/42714
(SEMVER-MINOR) module: add isBuiltIn method (hemanth.hm) https://github.com/nodejs/node/pull/43396
(SEMVER-MINOR) module,repl: support 'node:'-only core modules (Colin Ihrig) https://github.com/nodejs/node/pull/42325
(SEMVER-MINOR) net: add drop event for net server (theanarkh) https://github.com/nodejs/node/pull/43582
(SEMVER-MINOR) net: add ability to reset a tcp socket (pupilTong) https://github.com/nodejs/node/pull/43112
(SEMVER-MINOR) node-api: emit uncaught-exception on unhandled tsfn callbacks (Chengzhong Wu) https://github.com/nodejs/node/pull/36510
(SEMVER-MINOR) perf_hooks: add PerformanceResourceTiming (RafaelGSS) https://github.com/nodejs/node/pull/42725
(SEMVER-MINOR) report: add more heap infos in process report (theanarkh) https://github.com/nodejs/node/pull/43116
(SEMVER-MINOR) src: add --openssl-legacy-provider option (Daniel Bevenius) https://github.com/nodejs/node/pull/40478
(SEMVER-MINOR) src: define fs.constants.S_IWUSR & S_IRUSR for Win (Liviu Ionescu) https://github.com/nodejs/node/pull/42757
(SEMVER-MINOR) src,doc,test: add --openssl-shared-config option (Daniel Bevenius) https://github.com/nodejs/node/pull/43124
(SEMVER-MINOR) stream: use cause options in AbortError constructors (James M Snell) https://github.com/nodejs/node/pull/41008
(SEMVER-MINOR) stream: add iterator helper find (Nitzan Uziely) https://github.com/nodejs/node/pull/41849
(SEMVER-MINOR) stream: add writableAborted (Robert Nagy) https://github.com/nodejs/node/pull/40802
(SEMVER-MINOR) timers: propagate signal.reason in awaitable timers (James M Snell) https://github.com/nodejs/node/pull/41008
(SEMVER-MINOR) v8: add v8.startupSnapshot utils (Joyee Cheung) https://github.com/nodejs/node/pull/43329
(SEMVER-MINOR) v8: export more fields in getHeapStatistics (theanarkh) https://github.com/nodejs/node/pull/42784
(SEMVER-MINOR) worker: add hasRef() to MessagePort (Darshan Sen) https://github.com/nodejs/node/pull/42849
PR-URL: https://github.com/nodejs/node/pull/44098
2022-08-02 14:34:18 +02:00
|
|
|
- version:
|
|
|
|
- v18.7.0
|
|
|
|
- v16.17.0
|
2022-05-31 10:52:09 -07:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/42714
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
|
|
|
Type: Documentation-only
|
|
|
|
|
|
|
|
These methods were deprecated because they can be used in a way which does not
|
|
|
|
hold the channel reference alive long enough to receive the events.
|
|
|
|
|
|
|
|
Use [`diagnostics_channel.subscribe(name, onMessage)`][] or
|
|
|
|
[`diagnostics_channel.unsubscribe(name, onMessage)`][] which does the same
|
|
|
|
thing instead.
|
|
|
|
|
2022-09-24 21:43:59 +09:00
|
|
|
### DEP0164: `process.exit(code)`, `process.exitCode` coercion to integer
|
2022-07-15 19:11:54 +09:00
|
|
|
|
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2023-04-03 11:30:30 +01:00
|
|
|
- version: v20.0.0
|
2022-10-20 03:40:22 +09:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/43716
|
|
|
|
description: End-of-Life.
|
2022-09-13 12:53:52 -03:00
|
|
|
- version: v19.0.0
|
2022-10-07 22:26:12 +09:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/44711
|
|
|
|
description: Runtime deprecation.
|
2022-10-11 14:54:19 -05:00
|
|
|
- version:
|
|
|
|
- v18.10.0
|
|
|
|
- v16.18.0
|
2022-09-24 21:43:59 +09:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/44714
|
|
|
|
description: Documentation-only deprecation of `process.exitCode` integer
|
|
|
|
coercion.
|
2022-08-16, Version 16.17.0 'Gallium' (LTS)
Notable changes:
Adds `util.parseArgs` helper for higher level command-line argument
parsing.
Contributed by Benjamin Coe, John Gee, Darcy Clarke, Joe Sepi,
Kevin Gibbons, Aaron Casanova, Jessica Nahulan, and Jordan Harband.
https://github.com/nodejs/node/pull/42675
Node.js ESM Loader hooks now support multiple custom loaders, and
composition is achieved via "chaining": `foo-loader` calls `bar-loader`
calls `qux-loader` (a custom loader _must_ now signal a short circuit
when intentionally not calling the next). See the ESM docs
(https://nodejs.org/dist/latest-v16.x/docs/api/esm.html) for details.
Contributed by Jacob Smith, Geoffrey Booth, and Bradley Farias.
https://github.com/nodejs/node/pull/42623
The `node:test` module, which was initially introduced in Node.js
v18.0.0, is now available with all the changes done to it up to Node.js
v18.7.0.
To better align Node.js' experimental implementation of the Web Crypto
API with other runtimes, several changes were made:
* Support for CFRG curves was added, with the `'Ed25519'`, `'Ed448'`,
`'X25519'`, and `'X448'` algorithms.
* The proprietary `'NODE-DSA'`, `'NODE-DH'`, `'NODE-SCRYPT'`,
`'NODE-ED25519'`, `'NODE-ED448'`, `'NODE-X25519'`, and `'NODE-X448'`
algorithms were removed.
* The proprietary `'node.keyObject'` import/export format was removed.
Contributed by Filip Skokan.
https://github.com/nodejs/node/pull/42507
https://github.com/nodejs/node/pull/43310
Updated Corepack to 0.12.1 - https://github.com/nodejs/node/pull/43965
Updated ICU to 71.1 - https://github.com/nodejs/node/pull/42655
Updated npm to 8.15.0 - https://github.com/nodejs/node/pull/43917
Updated Undici to 5.8.0 - https://github.com/nodejs/node/pull/43886
(SEMVER-MINOR) crypto: make authTagLength optional for CC20P1305 (Tobias Nießen) https://github.com/nodejs/node/pull/42427
(SEMVER-MINOR) crypto: align webcrypto RSA key import/export with other implementations (Filip Skokan) https://github.com/nodejs/node/pull/42816
(SEMVER-MINOR) dns: export error code constants from `dns/promises` (Feng Yu) https://github.com/nodejs/node/pull/43176
doc: deprecate coercion to integer in process.exit (Daeyeon Jeong) https://github.com/nodejs/node/pull/43738
(SEMVER-MINOR) doc: deprecate diagnostics_channel object subscribe method (Stephen Belanger) https://github.com/nodejs/node/pull/42714
(SEMVER-MINOR) errors: add support for cause in aborterror (James M Snell) https://github.com/nodejs/node/pull/41008
(SEMVER-MINOR) events: expose CustomEvent on global with CLI flag (Daeyeon Jeong) https://github.com/nodejs/node/pull/43885
(SEMVER-MINOR) events: add `CustomEvent` (Daeyeon Jeong) https://github.com/nodejs/node/pull/43514
(SEMVER-MINOR) events: propagate abortsignal reason in new AbortError ctor in events (James M Snell) https://github.com/nodejs/node/pull/41008
(SEMVER-MINOR) fs: propagate abortsignal reason in new AbortSignal constructors (James M Snell) https://github.com/nodejs/node/pull/41008
(SEMVER-MINOR) fs: make params in writing methods optional (LiviaMedeiros) https://github.com/nodejs/node/pull/42601
(SEMVER-MINOR) fs: add `read(buffer[, options])` versions (LiviaMedeiros) https://github.com/nodejs/node/pull/42768
(SEMVER-MINOR) http: add drop request event for http server (theanarkh) https://github.com/nodejs/node/pull/43806
(SEMVER-MINOR) http: add diagnostics channel for http client (theanarkh) https://github.com/nodejs/node/pull/43580
(SEMVER-MINOR) http: add perf_hooks detail for http request and client (theanarkh) https://github.com/nodejs/node/pull/43361
(SEMVER-MINOR) http: add uniqueHeaders option to request and createServer (Paolo Insogna) https://github.com/nodejs/node/pull/41397
(SEMVER-MINOR) http2: propagate abortsignal reason in new AbortError constructor (James M Snell) https://github.com/nodejs/node/pull/41008
(SEMVER-MINOR) http2: compat support for array headers (OneNail) https://github.com/nodejs/node/pull/42901
(SEMVER-MINOR) lib: propagate abortsignal reason in new AbortError constructor in blob (James M Snell) https://github.com/nodejs/node/pull/41008
(SEMVER-MINOR) lib: add abortSignal.throwIfAborted() (James M Snell) https://github.com/nodejs/node/pull/40951
(SEMVER-MINOR) lib: improved diagnostics_channel subscribe/unsubscribe (Stephen Belanger) https://github.com/nodejs/node/pull/42714
(SEMVER-MINOR) module: add isBuiltIn method (hemanth.hm) https://github.com/nodejs/node/pull/43396
(SEMVER-MINOR) module,repl: support 'node:'-only core modules (Colin Ihrig) https://github.com/nodejs/node/pull/42325
(SEMVER-MINOR) net: add drop event for net server (theanarkh) https://github.com/nodejs/node/pull/43582
(SEMVER-MINOR) net: add ability to reset a tcp socket (pupilTong) https://github.com/nodejs/node/pull/43112
(SEMVER-MINOR) node-api: emit uncaught-exception on unhandled tsfn callbacks (Chengzhong Wu) https://github.com/nodejs/node/pull/36510
(SEMVER-MINOR) perf_hooks: add PerformanceResourceTiming (RafaelGSS) https://github.com/nodejs/node/pull/42725
(SEMVER-MINOR) report: add more heap infos in process report (theanarkh) https://github.com/nodejs/node/pull/43116
(SEMVER-MINOR) src: add --openssl-legacy-provider option (Daniel Bevenius) https://github.com/nodejs/node/pull/40478
(SEMVER-MINOR) src: define fs.constants.S_IWUSR & S_IRUSR for Win (Liviu Ionescu) https://github.com/nodejs/node/pull/42757
(SEMVER-MINOR) src,doc,test: add --openssl-shared-config option (Daniel Bevenius) https://github.com/nodejs/node/pull/43124
(SEMVER-MINOR) stream: use cause options in AbortError constructors (James M Snell) https://github.com/nodejs/node/pull/41008
(SEMVER-MINOR) stream: add iterator helper find (Nitzan Uziely) https://github.com/nodejs/node/pull/41849
(SEMVER-MINOR) stream: add writableAborted (Robert Nagy) https://github.com/nodejs/node/pull/40802
(SEMVER-MINOR) timers: propagate signal.reason in awaitable timers (James M Snell) https://github.com/nodejs/node/pull/41008
(SEMVER-MINOR) v8: add v8.startupSnapshot utils (Joyee Cheung) https://github.com/nodejs/node/pull/43329
(SEMVER-MINOR) v8: export more fields in getHeapStatistics (theanarkh) https://github.com/nodejs/node/pull/42784
(SEMVER-MINOR) worker: add hasRef() to MessagePort (Darshan Sen) https://github.com/nodejs/node/pull/42849
PR-URL: https://github.com/nodejs/node/pull/44098
2022-08-02 14:34:18 +02:00
|
|
|
- version:
|
|
|
|
- v18.7.0
|
|
|
|
- v16.17.0
|
2022-07-15 19:11:54 +09:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/43738
|
2022-09-24 21:43:59 +09:00
|
|
|
description: Documentation-only deprecation of `process.exit(code)` integer
|
|
|
|
coercion.
|
2022-07-15 19:11:54 +09:00
|
|
|
-->
|
|
|
|
|
2022-10-20 03:40:22 +09:00
|
|
|
Type: End-of-Life
|
2022-07-15 19:11:54 +09:00
|
|
|
|
2022-09-24 21:43:59 +09:00
|
|
|
Values other than `undefined`, `null`, integer numbers, and integer strings
|
|
|
|
(e.g., `'1'`) are deprecated as value for the `code` parameter in
|
|
|
|
[`process.exit()`][] and as value to assign to [`process.exitCode`][].
|
2022-07-15 19:11:54 +09:00
|
|
|
|
2022-08-03 22:37:59 -07:00
|
|
|
### DEP0165: `--trace-atomics-wait`
|
|
|
|
|
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2024-10-09 14:48:01 -03:00
|
|
|
- version: v23.0.0
|
2024-05-01 14:24:48 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/52747
|
|
|
|
description: End-of-Life.
|
2024-04-12 15:30:46 -03:00
|
|
|
- version: v22.0.0
|
2023-12-16 14:09:39 +01:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/51179
|
|
|
|
description: Runtime deprecation.
|
2022-10-11 14:54:19 -05:00
|
|
|
- version:
|
|
|
|
- v18.8.0
|
|
|
|
- v16.18.0
|
2022-08-03 22:37:59 -07:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/44093
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
2024-05-01 14:24:48 +02:00
|
|
|
Type: End-of-Life
|
2022-08-03 22:37:59 -07:00
|
|
|
|
2024-05-01 14:24:48 +02:00
|
|
|
The `--trace-atomics-wait` flag has been removed because
|
2023-12-16 14:09:39 +01:00
|
|
|
it uses the V8 hook `SetAtomicsWaitCallback`,
|
|
|
|
that will be removed in a future V8 release.
|
2022-08-03 22:37:59 -07:00
|
|
|
|
2022-09-11 03:01:37 -07:00
|
|
|
### DEP0166: Double slashes in imports and exports targets
|
|
|
|
|
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2022-12-19 18:29:49 +01:00
|
|
|
- version: v19.0.0
|
2022-09-11 16:48:22 -07:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/44495
|
|
|
|
description: Runtime deprecation.
|
2022-09-26 13:55:40 -03:00
|
|
|
- version: v18.10.0
|
2022-09-11 03:01:37 -07:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/44477
|
|
|
|
description: Documentation-only deprecation
|
|
|
|
with `--pending-deprecation` support.
|
|
|
|
-->
|
|
|
|
|
2022-09-11 16:48:22 -07:00
|
|
|
Type: Runtime
|
2022-09-11 03:01:37 -07:00
|
|
|
|
|
|
|
Package imports and exports targets mapping into paths including a double slash
|
|
|
|
(of _"/"_ or _"\\"_) are deprecated and will fail with a resolution validation
|
|
|
|
error in a future release. This same deprecation also applies to pattern matches
|
|
|
|
starting or ending in a slash.
|
|
|
|
|
2022-09-13 00:29:27 +02:00
|
|
|
### DEP0167: Weak `DiffieHellmanGroup` instances (`modp1`, `modp2`, `modp5`)
|
|
|
|
|
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2022-10-11 14:54:19 -05:00
|
|
|
- version:
|
|
|
|
- v18.10.0
|
|
|
|
- v16.18.0
|
2022-09-13 00:29:27 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/44588
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
|
|
|
Type: Documentation-only
|
|
|
|
|
|
|
|
The well-known MODP groups `modp1`, `modp2`, and `modp5` are deprecated because
|
|
|
|
they are not secure against practical attacks. See [RFC 8247 Section 2.4][] for
|
|
|
|
details.
|
|
|
|
|
|
|
|
These groups might be removed in future versions of Node.js. Applications that
|
|
|
|
rely on these groups should evaluate using stronger MODP groups instead.
|
|
|
|
|
2022-09-13 08:29:10 +00:00
|
|
|
### DEP0168: Unhandled exception in Node-API callbacks
|
|
|
|
|
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version:
|
|
|
|
- v18.3.0
|
|
|
|
- v16.17.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/36510
|
|
|
|
description: Runtime deprecation.
|
|
|
|
-->
|
|
|
|
|
2022-10-11 15:35:52 -07:00
|
|
|
Type: Runtime
|
2022-09-13 08:29:10 +00:00
|
|
|
|
|
|
|
The implicit suppression of uncaught exceptions in Node-API callbacks is now
|
|
|
|
deprecated.
|
|
|
|
|
|
|
|
Set the flag [`--force-node-api-uncaught-exceptions-policy`][] to force Node.js
|
|
|
|
to emit an [`'uncaughtException'`][] event if the exception is not handled in
|
|
|
|
Node-API callbacks.
|
|
|
|
|
2022-10-11 15:35:52 -07:00
|
|
|
### DEP0169: Insecure url.parse()
|
|
|
|
|
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2024-10-20 15:01:37 -04:00
|
|
|
- version:
|
|
|
|
- REPLACEME
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/55017
|
|
|
|
description: Application deprecation.
|
2023-07-10 08:12:52 -04:00
|
|
|
- version:
|
|
|
|
- v19.9.0
|
|
|
|
- v18.17.0
|
2023-03-23 15:45:21 -04:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/47203
|
|
|
|
description: Added support for `--pending-deprecation`.
|
2022-10-11 15:35:52 -07:00
|
|
|
- version:
|
2022-09-13 12:53:52 -03:00
|
|
|
- v19.0.0
|
2023-01-05, Version 18.13.0 'Hydrogen' (LTS)
Notable changes:
Add support for externally shared js builtins:
By default Node.js is built so that all dependencies are bundled into the
Node.js binary itself. Some Node.js distributions prefer to manage dependencies
externally. There are existing build options that allow dependencies with
native code to be externalized. This commit adds additional options so that
dependencies with JavaScript code (including WASM) can also be externalized.
This addition does not affect binaries shipped by the Node.js project but
will allow other distributions to externalize additional dependencies when
needed.
Contributed by Michael Dawson in https://github.com/nodejs/node/pull/44376
Introduce `File`:
The File class is part of the [FileAPI](https://w3c.github.io/FileAPI/).
It can be used anywhere a Blob can, for example in `URL.createObjectURL`
and `FormData`. It contains two properties that Blobs do not have: `lastModified`,
the last time the file was modified in ms, and `name`, the name of the file.
Contributed by Khafra in https://github.com/nodejs/node/pull/45139
Support function mocking on Node.js test runner:
The `node:test` module supports mocking during testing via a top-level `mock`
object.
```js
test('spies on an object method', (t) => {
const number = {
value: 5,
add(a) {
return this.value + a;
},
};
t.mock.method(number, 'add');
assert.strictEqual(number.add(3), 8);
assert.strictEqual(number.add.mock.calls.length, 1);
});
```
Contributed by Colin Ihrig in https://github.com/nodejs/node/pull/45326
Other notable changes:
build:
* disable v8 snapshot compression by default (Joyee Cheung) https://github.com/nodejs/node/pull/45716
crypto:
* update root certificates (Luigi Pinca) https://github.com/nodejs/node/pull/45490
deps:
* update ICU to 72.1 (Michaël Zasso) https://github.com/nodejs/node/pull/45068
doc:
* add doc-only deprecation for headers/trailers setters (Rich Trott) https://github.com/nodejs/node/pull/45697
* add Rafael to the tsc (Michael Dawson) https://github.com/nodejs/node/pull/45691
* deprecate use of invalid ports in `url.parse` (Antoine du Hamel) https://github.com/nodejs/node/pull/45576
* add lukekarrys to collaborators (Luke Karrys) https://github.com/nodejs/node/pull/45180
* add anonrig to collaborators (Yagiz Nizipli) https://github.com/nodejs/node/pull/45002
* deprecate url.parse() (Rich Trott) https://github.com/nodejs/node/pull/44919
lib:
* drop fetch experimental warning (Matteo Collina) https://github.com/nodejs/node/pull/45287
net:
* (SEMVER-MINOR) add autoSelectFamily and autoSelectFamilyAttemptTimeout options (Paolo Insogna) https://github.com/nodejs/node/pull/44731
* src:
* (SEMVER-MINOR) add uvwasi version (Jithil P Ponnan) https://github.com/nodejs/node/pull/45639
* (SEMVER-MINOR) add initial shadow realm support (Chengzhong Wu) https://github.com/nodejs/node/pull/42869
test_runner:
* (SEMVER-MINOR) add t.after() hook (Colin Ihrig) https://github.com/nodejs/node/pull/45792
* (SEMVER-MINOR) don't use a symbol for runHook() (Colin Ihrig) https://github.com/nodejs/node/pull/45792
tls:
* (SEMVER-MINOR) add "ca" property to certificate object (Ben Noordhuis) https://github.com/nodejs/node/pull/44935
* remove trustcor root ca certificates (Ben Noordhuis) https://github.com/nodejs/node/pull/45776
tools:
* update certdata.txt (Luigi Pinca) https://github.com/nodejs/node/pull/45490
util:
* add fast path for utf8 encoding (Yagiz Nizipli) https://github.com/nodejs/node/pull/45412
* improve textdecoder decode performance (Yagiz Nizipli) https://github.com/nodejs/node/pull/45294
* (SEMVER-MINOR) add MIME utilities (#21128) (Bradley Farias) https://github.com/nodejs/node/pull/21128
PR-URL: https://github.com/nodejs/node/pull/46025
2022-12-30 15:18:44 -05:00
|
|
|
- v18.13.0
|
2022-10-11 15:35:52 -07:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/44919
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
2024-10-20 15:01:37 -04:00
|
|
|
Type: Application (non-`node_modules` code only)
|
2022-10-11 15:35:52 -07:00
|
|
|
|
|
|
|
[`url.parse()`][] behavior is not standardized and prone to errors that
|
|
|
|
have security implications. Use the [WHATWG URL API][] instead. CVEs are not
|
|
|
|
issued for `url.parse()` vulnerabilities.
|
|
|
|
|
2022-11-24 12:53:41 +01:00
|
|
|
### DEP0170: Invalid port when using `url.parse()`
|
|
|
|
|
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2022-11-19 13:46:44 -08:00
|
|
|
- version:
|
2023-04-03 11:30:30 +01:00
|
|
|
- v20.0.0
|
2022-11-19 13:46:44 -08:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/45526
|
|
|
|
description: Runtime deprecation.
|
2022-11-24 12:53:41 +01:00
|
|
|
- version:
|
2023-01-05, Version 18.13.0 'Hydrogen' (LTS)
Notable changes:
Add support for externally shared js builtins:
By default Node.js is built so that all dependencies are bundled into the
Node.js binary itself. Some Node.js distributions prefer to manage dependencies
externally. There are existing build options that allow dependencies with
native code to be externalized. This commit adds additional options so that
dependencies with JavaScript code (including WASM) can also be externalized.
This addition does not affect binaries shipped by the Node.js project but
will allow other distributions to externalize additional dependencies when
needed.
Contributed by Michael Dawson in https://github.com/nodejs/node/pull/44376
Introduce `File`:
The File class is part of the [FileAPI](https://w3c.github.io/FileAPI/).
It can be used anywhere a Blob can, for example in `URL.createObjectURL`
and `FormData`. It contains two properties that Blobs do not have: `lastModified`,
the last time the file was modified in ms, and `name`, the name of the file.
Contributed by Khafra in https://github.com/nodejs/node/pull/45139
Support function mocking on Node.js test runner:
The `node:test` module supports mocking during testing via a top-level `mock`
object.
```js
test('spies on an object method', (t) => {
const number = {
value: 5,
add(a) {
return this.value + a;
},
};
t.mock.method(number, 'add');
assert.strictEqual(number.add(3), 8);
assert.strictEqual(number.add.mock.calls.length, 1);
});
```
Contributed by Colin Ihrig in https://github.com/nodejs/node/pull/45326
Other notable changes:
build:
* disable v8 snapshot compression by default (Joyee Cheung) https://github.com/nodejs/node/pull/45716
crypto:
* update root certificates (Luigi Pinca) https://github.com/nodejs/node/pull/45490
deps:
* update ICU to 72.1 (Michaël Zasso) https://github.com/nodejs/node/pull/45068
doc:
* add doc-only deprecation for headers/trailers setters (Rich Trott) https://github.com/nodejs/node/pull/45697
* add Rafael to the tsc (Michael Dawson) https://github.com/nodejs/node/pull/45691
* deprecate use of invalid ports in `url.parse` (Antoine du Hamel) https://github.com/nodejs/node/pull/45576
* add lukekarrys to collaborators (Luke Karrys) https://github.com/nodejs/node/pull/45180
* add anonrig to collaborators (Yagiz Nizipli) https://github.com/nodejs/node/pull/45002
* deprecate url.parse() (Rich Trott) https://github.com/nodejs/node/pull/44919
lib:
* drop fetch experimental warning (Matteo Collina) https://github.com/nodejs/node/pull/45287
net:
* (SEMVER-MINOR) add autoSelectFamily and autoSelectFamilyAttemptTimeout options (Paolo Insogna) https://github.com/nodejs/node/pull/44731
* src:
* (SEMVER-MINOR) add uvwasi version (Jithil P Ponnan) https://github.com/nodejs/node/pull/45639
* (SEMVER-MINOR) add initial shadow realm support (Chengzhong Wu) https://github.com/nodejs/node/pull/42869
test_runner:
* (SEMVER-MINOR) add t.after() hook (Colin Ihrig) https://github.com/nodejs/node/pull/45792
* (SEMVER-MINOR) don't use a symbol for runHook() (Colin Ihrig) https://github.com/nodejs/node/pull/45792
tls:
* (SEMVER-MINOR) add "ca" property to certificate object (Ben Noordhuis) https://github.com/nodejs/node/pull/44935
* remove trustcor root ca certificates (Ben Noordhuis) https://github.com/nodejs/node/pull/45776
tools:
* update certdata.txt (Luigi Pinca) https://github.com/nodejs/node/pull/45490
util:
* add fast path for utf8 encoding (Yagiz Nizipli) https://github.com/nodejs/node/pull/45412
* improve textdecoder decode performance (Yagiz Nizipli) https://github.com/nodejs/node/pull/45294
* (SEMVER-MINOR) add MIME utilities (#21128) (Bradley Farias) https://github.com/nodejs/node/pull/21128
PR-URL: https://github.com/nodejs/node/pull/46025
2022-12-30 15:18:44 -05:00
|
|
|
- v19.2.0
|
|
|
|
- v18.13.0
|
2022-11-24 12:53:41 +01:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/45576
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
2022-11-19 13:46:44 -08:00
|
|
|
Type: Runtime
|
2022-11-24 12:53:41 +01:00
|
|
|
|
|
|
|
[`url.parse()`][] accepts URLs with ports that are not numbers. This behavior
|
|
|
|
might result in host name spoofing with unexpected input. These URLs will throw
|
|
|
|
an error in future versions of Node.js, as the [WHATWG URL API][] does already.
|
|
|
|
|
2022-12-03 01:59:49 -08:00
|
|
|
### DEP0171: Setters for `http.IncomingMessage` headers and trailers
|
|
|
|
|
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version:
|
2022-12-12 18:08:58 +00:00
|
|
|
- v19.3.0
|
2023-01-05, Version 18.13.0 'Hydrogen' (LTS)
Notable changes:
Add support for externally shared js builtins:
By default Node.js is built so that all dependencies are bundled into the
Node.js binary itself. Some Node.js distributions prefer to manage dependencies
externally. There are existing build options that allow dependencies with
native code to be externalized. This commit adds additional options so that
dependencies with JavaScript code (including WASM) can also be externalized.
This addition does not affect binaries shipped by the Node.js project but
will allow other distributions to externalize additional dependencies when
needed.
Contributed by Michael Dawson in https://github.com/nodejs/node/pull/44376
Introduce `File`:
The File class is part of the [FileAPI](https://w3c.github.io/FileAPI/).
It can be used anywhere a Blob can, for example in `URL.createObjectURL`
and `FormData`. It contains two properties that Blobs do not have: `lastModified`,
the last time the file was modified in ms, and `name`, the name of the file.
Contributed by Khafra in https://github.com/nodejs/node/pull/45139
Support function mocking on Node.js test runner:
The `node:test` module supports mocking during testing via a top-level `mock`
object.
```js
test('spies on an object method', (t) => {
const number = {
value: 5,
add(a) {
return this.value + a;
},
};
t.mock.method(number, 'add');
assert.strictEqual(number.add(3), 8);
assert.strictEqual(number.add.mock.calls.length, 1);
});
```
Contributed by Colin Ihrig in https://github.com/nodejs/node/pull/45326
Other notable changes:
build:
* disable v8 snapshot compression by default (Joyee Cheung) https://github.com/nodejs/node/pull/45716
crypto:
* update root certificates (Luigi Pinca) https://github.com/nodejs/node/pull/45490
deps:
* update ICU to 72.1 (Michaël Zasso) https://github.com/nodejs/node/pull/45068
doc:
* add doc-only deprecation for headers/trailers setters (Rich Trott) https://github.com/nodejs/node/pull/45697
* add Rafael to the tsc (Michael Dawson) https://github.com/nodejs/node/pull/45691
* deprecate use of invalid ports in `url.parse` (Antoine du Hamel) https://github.com/nodejs/node/pull/45576
* add lukekarrys to collaborators (Luke Karrys) https://github.com/nodejs/node/pull/45180
* add anonrig to collaborators (Yagiz Nizipli) https://github.com/nodejs/node/pull/45002
* deprecate url.parse() (Rich Trott) https://github.com/nodejs/node/pull/44919
lib:
* drop fetch experimental warning (Matteo Collina) https://github.com/nodejs/node/pull/45287
net:
* (SEMVER-MINOR) add autoSelectFamily and autoSelectFamilyAttemptTimeout options (Paolo Insogna) https://github.com/nodejs/node/pull/44731
* src:
* (SEMVER-MINOR) add uvwasi version (Jithil P Ponnan) https://github.com/nodejs/node/pull/45639
* (SEMVER-MINOR) add initial shadow realm support (Chengzhong Wu) https://github.com/nodejs/node/pull/42869
test_runner:
* (SEMVER-MINOR) add t.after() hook (Colin Ihrig) https://github.com/nodejs/node/pull/45792
* (SEMVER-MINOR) don't use a symbol for runHook() (Colin Ihrig) https://github.com/nodejs/node/pull/45792
tls:
* (SEMVER-MINOR) add "ca" property to certificate object (Ben Noordhuis) https://github.com/nodejs/node/pull/44935
* remove trustcor root ca certificates (Ben Noordhuis) https://github.com/nodejs/node/pull/45776
tools:
* update certdata.txt (Luigi Pinca) https://github.com/nodejs/node/pull/45490
util:
* add fast path for utf8 encoding (Yagiz Nizipli) https://github.com/nodejs/node/pull/45412
* improve textdecoder decode performance (Yagiz Nizipli) https://github.com/nodejs/node/pull/45294
* (SEMVER-MINOR) add MIME utilities (#21128) (Bradley Farias) https://github.com/nodejs/node/pull/21128
PR-URL: https://github.com/nodejs/node/pull/46025
2022-12-30 15:18:44 -05:00
|
|
|
- v18.13.0
|
2022-12-03 01:59:49 -08:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/45697
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
|
|
|
Type: Documentation-only
|
|
|
|
|
|
|
|
In a future version of Node.js, [`message.headers`][],
|
|
|
|
[`message.headersDistinct`][], [`message.trailers`][], and
|
|
|
|
[`message.trailersDistinct`][] will be read-only.
|
|
|
|
|
2023-02-02 18:02:19 -08:00
|
|
|
### DEP0172: The `asyncResource` property of `AsyncResource` bound functions
|
|
|
|
|
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2023-04-03 11:30:30 +01:00
|
|
|
- version: v20.0.0
|
2023-02-02 18:02:19 -08:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/46432
|
|
|
|
description: Runtime-deprecation.
|
|
|
|
-->
|
|
|
|
|
|
|
|
Type: Runtime
|
|
|
|
|
|
|
|
In a future version of Node.js, the `asyncResource` property will no longer
|
|
|
|
be added when a function is bound to an `AsyncResource`.
|
|
|
|
|
2023-04-29 09:57:08 +03:00
|
|
|
### DEP0173: the `assert.CallTracker` class
|
|
|
|
|
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2023-05-02 09:36:58 +02:00
|
|
|
- version: v20.1.0
|
2023-04-29 09:57:08 +03:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/47740
|
2025-04-24 21:10:26 +01:00
|
|
|
description: Runtime deprecation.
|
2023-04-29 09:57:08 +03:00
|
|
|
-->
|
|
|
|
|
2025-04-24 21:10:26 +01:00
|
|
|
Type: Runtime
|
2023-04-29 09:57:08 +03:00
|
|
|
|
|
|
|
In a future version of Node.js, [`assert.CallTracker`][],
|
|
|
|
will be removed.
|
|
|
|
Consider using alternatives such as the [`mock`][] helper function.
|
|
|
|
|
2023-09-16 11:55:45 +02:00
|
|
|
### DEP0174: calling `promisify` on a function that returns a `Promise`
|
|
|
|
|
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2023-09-26 15:03:53 +08:00
|
|
|
- version: v21.0.0
|
2023-09-18 12:29:13 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/49609
|
|
|
|
description: Runtime deprecation.
|
2023-09-28 16:21:45 -04:00
|
|
|
- version: v20.8.0
|
2023-09-16 11:55:45 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/49647
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
2023-09-18 12:29:13 +02:00
|
|
|
Type: Runtime
|
2023-09-16 11:55:45 +02:00
|
|
|
|
2025-03-01 15:46:31 -08:00
|
|
|
Calling [`util.promisify`][] on a function that returns a `Promise` will ignore
|
2023-09-16 11:55:45 +02:00
|
|
|
the result of said promise, which can lead to unhandled promise rejections.
|
|
|
|
|
2023-09-21 16:28:18 -04:00
|
|
|
### DEP0175: `util.toUSVString`
|
|
|
|
|
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2023-09-28 16:21:45 -04:00
|
|
|
- version: v20.8.0
|
2023-09-21 16:28:18 -04:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/49725
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
|
|
|
Type: Documentation-only
|
|
|
|
|
|
|
|
The [`util.toUSVString()`][] API is deprecated. Please use
|
|
|
|
[`String.prototype.toWellFormed`][] instead.
|
|
|
|
|
2023-09-25 23:00:22 +08:00
|
|
|
### DEP0176: `fs.F_OK`, `fs.R_OK`, `fs.W_OK`, `fs.X_OK`
|
2023-09-25 23:57:19 +09:00
|
|
|
|
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2025-02-23 19:28:22 +09:00
|
|
|
- version: REPLACEME
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/55862
|
|
|
|
description: End-of-Life.
|
2024-11-15 08:34:02 +09:00
|
|
|
- version: REPLACEME
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/49686
|
|
|
|
description: Runtime deprecation.
|
2023-09-28 16:21:45 -04:00
|
|
|
- version: v20.8.0
|
2023-09-25 23:57:19 +09:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/49683
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
2025-02-23 19:28:22 +09:00
|
|
|
Type: End-of-Life
|
2023-09-25 23:57:19 +09:00
|
|
|
|
2025-02-23 19:28:22 +09:00
|
|
|
`F_OK`, `R_OK`, `W_OK` and `X_OK` getters exposed directly on `node:fs` were
|
|
|
|
removed. Get them from `fs.constants` or `fs.promises.constants` instead.
|
2023-09-25 23:57:19 +09:00
|
|
|
|
2023-11-22 18:20:46 +01:00
|
|
|
### DEP0177: `util.types.isWebAssemblyCompiledModule`
|
|
|
|
|
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2024-03-25 19:33:26 +00:00
|
|
|
- version:
|
|
|
|
- v21.7.0
|
|
|
|
- v20.12.0
|
2024-01-14 13:13:28 +01:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/51442
|
|
|
|
description: End-of-Life.
|
2023-12-12 00:10:33 +00:00
|
|
|
- version:
|
|
|
|
- v21.3.0
|
|
|
|
- v20.11.0
|
2023-11-22 18:20:46 +01:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/50486
|
|
|
|
description: A deprecation code has been assigned.
|
|
|
|
- version: v14.0.0
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/32116
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
2024-01-14 13:13:28 +01:00
|
|
|
Type: End-of-Life
|
2023-11-22 18:20:46 +01:00
|
|
|
|
2024-01-14 13:13:28 +01:00
|
|
|
The `util.types.isWebAssemblyCompiledModule` API has been removed.
|
|
|
|
Please use `value instanceof WebAssembly.Module` instead.
|
2023-11-22 18:20:46 +01:00
|
|
|
|
2023-12-05 00:11:36 +01:00
|
|
|
### DEP0178: `dirent.path`
|
|
|
|
|
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2024-10-26 10:27:24 +02:00
|
|
|
- version: REPLACEME
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/55548
|
|
|
|
description: End-of-Life.
|
2024-10-09 14:48:01 -03:00
|
|
|
- version: v23.0.0
|
2024-05-05 12:45:20 +03:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/51050
|
|
|
|
description: Runtime deprecation.
|
2024-03-20 17:34:55 +00:00
|
|
|
- version:
|
|
|
|
- v21.5.0
|
2024-03-25 19:33:26 +00:00
|
|
|
- v20.12.0
|
2024-03-20 17:34:55 +00:00
|
|
|
- v18.20.0
|
2023-12-05 00:11:36 +01:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/51020
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
2024-10-26 10:27:24 +02:00
|
|
|
Type: End-of-Life
|
2023-12-05 00:11:36 +01:00
|
|
|
|
2024-10-26 10:27:24 +02:00
|
|
|
The `dirent.path` property has been removed due to its lack of consistency across
|
2023-12-05 00:11:36 +01:00
|
|
|
release lines. Please use [`dirent.parentPath`][] instead.
|
|
|
|
|
2023-12-11 00:09:14 +01:00
|
|
|
### DEP0179: `Hash` constructor
|
|
|
|
|
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2024-04-12 15:30:46 -03:00
|
|
|
- version: v22.0.0
|
2024-03-12 08:58:03 +01:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/51880
|
|
|
|
description: Runtime deprecation.
|
2024-03-25 19:33:26 +00:00
|
|
|
- version:
|
|
|
|
- v21.5.0
|
|
|
|
- v20.12.0
|
2023-12-11 00:09:14 +01:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/51077
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
2024-03-12 08:58:03 +01:00
|
|
|
Type: Runtime
|
2023-12-11 00:09:14 +01:00
|
|
|
|
|
|
|
Calling `Hash` class directly with `Hash()` or `new Hash()` is
|
|
|
|
deprecated due to being internals, not intended for public use.
|
|
|
|
Please use the [`crypto.createHash()`][] method to create Hash instances.
|
|
|
|
|
2024-03-05 14:49:36 +01:00
|
|
|
### DEP0180: `fs.Stats` constructor
|
|
|
|
|
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2024-04-12 15:30:46 -03:00
|
|
|
- version: v22.0.0
|
2024-03-19 09:17:36 +01:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/52067
|
|
|
|
description: Runtime deprecation.
|
2024-05-02 11:31:36 +02:00
|
|
|
- version: v20.13.0
|
2024-03-05 14:49:36 +01:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/51879
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
2024-03-19 09:17:36 +01:00
|
|
|
Type: Runtime
|
2024-03-05 14:49:36 +01:00
|
|
|
|
|
|
|
Calling `fs.Stats` class directly with `Stats()` or `new Stats()` is
|
|
|
|
deprecated due to being internals, not intended for public use.
|
|
|
|
|
2024-03-06 17:00:43 +01:00
|
|
|
### DEP0181: `Hmac` constructor
|
|
|
|
|
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2024-04-12 15:30:46 -03:00
|
|
|
- version: v22.0.0
|
2024-03-20 17:20:05 +01:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/52071
|
|
|
|
description: Runtime deprecation.
|
2024-05-02 11:31:36 +02:00
|
|
|
- version: v20.13.0
|
2024-03-06 17:00:43 +01:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/51881
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
2024-03-20 17:20:05 +01:00
|
|
|
Type: Runtime
|
2024-03-06 17:00:43 +01:00
|
|
|
|
|
|
|
Calling `Hmac` class directly with `Hmac()` or `new Hmac()` is
|
|
|
|
deprecated due to being internals, not intended for public use.
|
|
|
|
Please use the [`crypto.createHmac()`][] method to create Hmac instances.
|
|
|
|
|
2024-04-10 10:16:33 +02:00
|
|
|
### DEP0182: Short GCM authentication tags without explicit `authTagLength`
|
|
|
|
|
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2024-10-09 14:48:01 -03:00
|
|
|
- version: v23.0.0
|
2024-04-23 16:38:06 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/52552
|
|
|
|
description: Runtime deprecation.
|
2024-05-02 11:31:36 +02:00
|
|
|
- version: v20.13.0
|
2024-04-10 10:16:33 +02:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/52345
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
2024-04-23 16:38:06 +02:00
|
|
|
Type: Runtime
|
2024-04-10 10:16:33 +02:00
|
|
|
|
|
|
|
Applications that intend to use authentication tags that are shorter than the
|
2024-04-23 16:38:06 +02:00
|
|
|
default authentication tag length must set the `authTagLength` option of the
|
2024-04-10 10:16:33 +02:00
|
|
|
[`crypto.createDecipheriv()`][] function to the appropriate length.
|
|
|
|
|
|
|
|
For ciphers in GCM mode, the [`decipher.setAuthTag()`][] function accepts
|
|
|
|
authentication tags of any valid length (see [DEP0090](#DEP0090)). This behavior
|
|
|
|
is deprecated to better align with recommendations per [NIST SP 800-38D][].
|
|
|
|
|
2024-06-07 17:10:47 +01:00
|
|
|
### DEP0183: OpenSSL engine-based APIs
|
|
|
|
|
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2024-07-19 15:32:30 +02:00
|
|
|
- version:
|
|
|
|
- v22.4.0
|
|
|
|
- v20.16.0
|
2024-06-07 17:10:47 +01:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/53329
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
|
|
|
Type: Documentation-only
|
|
|
|
|
|
|
|
OpenSSL 3 has deprecated support for custom engines with a recommendation to
|
|
|
|
switch to its new provider model. The `clientCertEngine` option for
|
|
|
|
`https.request()`, [`tls.createSecureContext()`][], and [`tls.createServer()`][];
|
|
|
|
the `privateKeyEngine` and `privateKeyIdentifier` for [`tls.createSecureContext()`][];
|
|
|
|
and [`crypto.setEngine()`][] all depend on this functionality from OpenSSL.
|
|
|
|
|
2024-09-05 12:25:33 -04:00
|
|
|
### DEP0184: Instantiating `node:zlib` classes without `new`
|
|
|
|
|
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2024-11-29 15:55:03 -05:00
|
|
|
- version: REPLACEME
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/55718
|
|
|
|
description: Runtime deprecation.
|
2024-09-30 10:57:59 +02:00
|
|
|
- version:
|
|
|
|
- v22.9.0
|
|
|
|
- v20.18.0
|
2024-09-05 12:25:33 -04:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/54708
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
2024-11-29 15:55:03 -05:00
|
|
|
Type: Runtime
|
2024-09-05 12:25:33 -04:00
|
|
|
|
|
|
|
Instantiating classes without the `new` qualifier exported by the `node:zlib` module is deprecated.
|
|
|
|
It is recommended to use the `new` qualifier instead. This applies to all Zlib classes, such as `Deflate`,
|
|
|
|
`DeflateRaw`, `Gunzip`, `Inflate`, `InflateRaw`, `Unzip`, and `Zlib`.
|
|
|
|
|
2024-09-09 18:37:48 -04:00
|
|
|
### DEP0185: Instantiating `node:repl` classes without `new`
|
|
|
|
|
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2024-11-07 03:03:05 -05:00
|
|
|
- version: REPLACEME
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/54869
|
|
|
|
description: Runtime deprecation.
|
2024-09-30 10:57:59 +02:00
|
|
|
- version:
|
|
|
|
- v22.9.0
|
|
|
|
- v20.18.0
|
2024-09-09 18:37:48 -04:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/54842
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
2024-11-07 03:03:05 -05:00
|
|
|
Type: Runtime
|
2024-09-09 18:37:48 -04:00
|
|
|
|
|
|
|
Instantiating classes without the `new` qualifier exported by the `node:repl` module is deprecated.
|
|
|
|
It is recommended to use the `new` qualifier instead. This applies to all REPL classes, including
|
|
|
|
`REPLServer` and `Recoverable`.
|
|
|
|
|
2024-11-08 16:16:15 +00:00
|
|
|
<!-- md-lint skip-deprecation DEP0186 -->
|
2024-11-02 23:24:56 +08:00
|
|
|
|
2024-11-25 23:48:24 +01:00
|
|
|
### DEP0187: Passing invalid argument types to `fs.existsSync`
|
|
|
|
|
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2025-01-10 13:04:14 +01:00
|
|
|
- version: REPLACEME
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/55753
|
|
|
|
description: Runtime deprecation.
|
2025-01-07 23:17:58 +01:00
|
|
|
- version:
|
|
|
|
- v23.4.0
|
|
|
|
- v22.13.0
|
2024-11-25 23:48:24 +01:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/55892
|
|
|
|
description: Documentation-only.
|
|
|
|
-->
|
|
|
|
|
2025-01-10 13:04:14 +01:00
|
|
|
Type: Runtime
|
2024-11-25 23:48:24 +01:00
|
|
|
|
|
|
|
Passing non-supported argument types is deprecated and, instead of returning `false`,
|
|
|
|
will throw an error in a future version.
|
|
|
|
|
2024-11-27 14:16:21 +01:00
|
|
|
### DEP0188: `process.features.ipv6` and `process.features.uv`
|
2024-11-27 04:19:16 +00:00
|
|
|
|
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2025-01-07 23:17:58 +01:00
|
|
|
- version:
|
|
|
|
- v23.4.0
|
|
|
|
- v22.13.0
|
2024-11-27 04:19:16 +00:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/55545
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
|
|
|
Type: Documentation-only
|
|
|
|
|
|
|
|
These properties are unconditionally `true`. Any checks based on these properties are redundant.
|
|
|
|
|
2024-11-27 14:16:21 +01:00
|
|
|
### DEP0189: `process.features.tls_*`
|
2024-11-27 04:19:16 +00:00
|
|
|
|
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2025-01-07 23:17:58 +01:00
|
|
|
- version:
|
|
|
|
- v23.4.0
|
|
|
|
- v22.13.0
|
2024-11-27 04:19:16 +00:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/55545
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
|
|
|
Type: Documentation-only
|
|
|
|
|
|
|
|
`process.features.tls_alpn`, `process.features.tls_ocsp`, and `process.features.tls_sni` are
|
|
|
|
deprecated, as their values are guaranteed to be identical to that of `process.features.tls`.
|
|
|
|
|
2025-03-19 11:02:29 +01:00
|
|
|
### DEP0190: Passing `args` to `node:child_process` `execFile`/`spawn` with `shell` option `true`
|
|
|
|
|
|
|
|
<!-- YAML
|
|
|
|
changes:
|
2025-03-21 09:15:18 -07:00
|
|
|
- version: REPLACEME
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/57199
|
|
|
|
description: Runtime deprecation.
|
2025-03-19 11:02:29 +01:00
|
|
|
- version:
|
2025-04-01 11:20:34 +02:00
|
|
|
- v23.11.0
|
2025-04-11 17:38:28 -03:00
|
|
|
- v22.15.0
|
2025-03-19 11:02:29 +01:00
|
|
|
pr-url: https://github.com/nodejs/node/pull/57389
|
|
|
|
description: Documentation-only deprecation.
|
|
|
|
-->
|
|
|
|
|
2025-03-21 09:15:18 -07:00
|
|
|
Type: Runtime
|
2025-03-19 11:02:29 +01:00
|
|
|
|
|
|
|
When an `args` array is passed to [`child_process.execFile`][] or [`child_process.spawn`][] with the option
|
|
|
|
`{ shell: true }`, the values are not escaped, only space-separated, which can lead to shell injection.
|
|
|
|
|
2025-04-05 14:40:18 +01:00
|
|
|
### DEP0191: `repl.builtinModules`
|
|
|
|
|
|
|
|
<!-- YAML
|
|
|
|
changes:
|
|
|
|
- version: REPLACEME
|
|
|
|
pr-url: https://github.com/nodejs/node/pull/57508
|
|
|
|
description: Documentation-only deprecation
|
|
|
|
with `--pending-deprecation` support.
|
|
|
|
-->
|
|
|
|
|
|
|
|
Type: Documentation-only (supports [`--pending-deprecation`][])
|
|
|
|
|
|
|
|
The `node:repl` module exports a `builtinModules` property that contains an array
|
|
|
|
of built-in modules. This was incomplete and matched the already deprecated
|
|
|
|
`repl._builtinLibs` ([DEP0142][]) instead it's better to rely
|
|
|
|
upon `require('node:module').builtinModules`.
|
|
|
|
|
|
|
|
[DEP0142]: #dep0142-repl_builtinlibs
|
2020-09-17 18:53:37 +02:00
|
|
|
[NIST SP 800-38D]: https://nvlpubs.nist.gov/nistpubs/Legacy/SP/nistspecialpublication800-38d.pdf
|
|
|
|
[RFC 6066]: https://tools.ietf.org/html/rfc6066#section-3
|
2022-09-13 00:29:27 +02:00
|
|
|
[RFC 8247 Section 2.4]: https://www.rfc-editor.org/rfc/rfc8247#section-2.4
|
2021-07-04 20:39:17 -07:00
|
|
|
[WHATWG URL API]: url.md#the-whatwg-url-api
|
|
|
|
[`"exports"` or `"main"` entry]: packages.md#main-entry-point-export
|
2022-09-13 08:29:10 +00:00
|
|
|
[`'uncaughtException'`]: process.md#event-uncaughtexception
|
|
|
|
[`--force-node-api-uncaught-exceptions-policy`]: cli.md#--force-node-api-uncaught-exceptions-policy
|
2021-07-04 20:39:17 -07:00
|
|
|
[`--pending-deprecation`]: cli.md#--pending-deprecation
|
|
|
|
[`--throw-deprecation`]: cli.md#--throw-deprecation
|
|
|
|
[`--unhandled-rejections`]: cli.md#--unhandled-rejectionsmode
|
|
|
|
[`Buffer.allocUnsafeSlow(size)`]: buffer.md#static-method-bufferallocunsafeslowsize
|
|
|
|
[`Buffer.from(array)`]: buffer.md#static-method-bufferfromarray
|
|
|
|
[`Buffer.from(buffer)`]: buffer.md#static-method-bufferfrombuffer
|
|
|
|
[`Buffer.isBuffer()`]: buffer.md#static-method-bufferisbufferobj
|
2025-03-01 16:25:58 -08:00
|
|
|
[`Cipheriv`]: crypto.md#class-cipheriv
|
|
|
|
[`Decipheriv`]: crypto.md#class-decipheriv
|
2021-07-04 20:39:17 -07:00
|
|
|
[`REPLServer.clearBufferedCommand()`]: repl.md#replserverclearbufferedcommand
|
|
|
|
[`ReadStream.open()`]: fs.md#class-fsreadstream
|
|
|
|
[`Server.getConnections()`]: net.md#servergetconnectionscallback
|
|
|
|
[`Server.listen({fd: <number>})`]: net.md#serverlistenhandle-backlog-callback
|
2023-09-21 16:28:18 -04:00
|
|
|
[`String.prototype.toWellFormed`]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/toWellFormed
|
2021-07-04 20:39:17 -07:00
|
|
|
[`WriteStream.open()`]: fs.md#class-fswritestream
|
2023-04-29 09:57:08 +03:00
|
|
|
[`assert.CallTracker`]: assert.md#class-assertcalltracker
|
2020-09-14 17:09:13 +02:00
|
|
|
[`assert`]: assert.md
|
2021-07-04 20:39:17 -07:00
|
|
|
[`asyncResource.runInAsyncScope()`]: async_context.md#asyncresourceruninasyncscopefn-thisarg-args
|
2022-01-19 18:27:04 +02:00
|
|
|
[`buffer.subarray`]: buffer.md#bufsubarraystart-end
|
2025-03-19 11:02:29 +01:00
|
|
|
[`child_process.execFile`]: child_process.md#child_processexecfilefile-args-options-callback
|
|
|
|
[`child_process.spawn`]: child_process.md#child_processspawncommand-args-options
|
2020-09-14 17:09:13 +02:00
|
|
|
[`child_process`]: child_process.md
|
2021-07-04 20:39:17 -07:00
|
|
|
[`clearInterval()`]: timers.md#clearintervaltimeout
|
|
|
|
[`clearTimeout()`]: timers.md#cleartimeouttimeout
|
|
|
|
[`console.error()`]: console.md#consoleerrordata-args
|
|
|
|
[`console.log()`]: console.md#consolelogdata-args
|
|
|
|
[`crypto.Certificate()` constructor]: crypto.md#legacy-api
|
|
|
|
[`crypto.createCipheriv()`]: crypto.md#cryptocreatecipherivalgorithm-key-iv-options
|
|
|
|
[`crypto.createDecipheriv()`]: crypto.md#cryptocreatedecipherivalgorithm-key-iv-options
|
2023-12-11 00:09:14 +01:00
|
|
|
[`crypto.createHash()`]: crypto.md#cryptocreatehashalgorithm-options
|
2024-03-06 17:00:43 +01:00
|
|
|
[`crypto.createHmac()`]: crypto.md#cryptocreatehmacalgorithm-key-options
|
2021-07-04 20:39:17 -07:00
|
|
|
[`crypto.fips`]: crypto.md#cryptofips
|
|
|
|
[`crypto.pbkdf2()`]: crypto.md#cryptopbkdf2password-salt-iterations-keylen-digest-callback
|
|
|
|
[`crypto.randomBytes()`]: crypto.md#cryptorandombytessize-callback
|
|
|
|
[`crypto.scrypt()`]: crypto.md#cryptoscryptpassword-salt-keylen-options-callback
|
2024-06-07 17:10:47 +01:00
|
|
|
[`crypto.setEngine()`]: crypto.md#cryptosetengineengine-flags
|
2021-07-04 20:39:17 -07:00
|
|
|
[`decipher.final()`]: crypto.md#decipherfinaloutputencoding
|
|
|
|
[`decipher.setAuthTag()`]: crypto.md#deciphersetauthtagbuffer-encoding
|
2022-05-31 10:52:09 -07:00
|
|
|
[`diagnostics_channel.subscribe(name, onMessage)`]: diagnostics_channel.md#diagnostics_channelsubscribename-onmessage
|
|
|
|
[`diagnostics_channel.unsubscribe(name, onMessage)`]: diagnostics_channel.md#diagnostics_channelunsubscribename-onmessage
|
2023-12-05 00:11:36 +01:00
|
|
|
[`dirent.parentPath`]: fs.md#direntparentpath
|
2021-07-04 20:39:17 -07:00
|
|
|
[`dns.lookup()`]: dns.md#dnslookuphostname-options-callback
|
|
|
|
[`dnsPromises.lookup()`]: dns.md#dnspromiseslookuphostname-options
|
2020-09-14 17:09:13 +02:00
|
|
|
[`domain`]: domain.md
|
2021-07-04 20:39:17 -07:00
|
|
|
[`ecdh.setPublicKey()`]: crypto.md#ecdhsetpublickeypublickey-encoding
|
2023-02-21 02:38:51 -08:00
|
|
|
[`emitter.listenerCount(eventName)`]: events.md#emitterlistenercounteventname-listener
|
2021-07-04 20:39:17 -07:00
|
|
|
[`events.listenerCount(emitter, eventName)`]: events.md#eventslistenercountemitter-eventname
|
|
|
|
[`fs.FileHandle`]: fs.md#class-filehandle
|
|
|
|
[`fs.access()`]: fs.md#fsaccesspath-mode-callback
|
2022-03-09 06:21:24 +08:00
|
|
|
[`fs.appendFile()`]: fs.md#fsappendfilepath-data-options-callback
|
|
|
|
[`fs.appendFileSync()`]: fs.md#fsappendfilesyncpath-data-options
|
2021-07-04 20:39:17 -07:00
|
|
|
[`fs.createReadStream()`]: fs.md#fscreatereadstreampath-options
|
|
|
|
[`fs.createWriteStream()`]: fs.md#fscreatewritestreampath-options
|
|
|
|
[`fs.exists(path, callback)`]: fs.md#fsexistspath-callback
|
|
|
|
[`fs.lchmod(path, mode, callback)`]: fs.md#fslchmodpath-mode-callback
|
|
|
|
[`fs.lchmodSync(path, mode)`]: fs.md#fslchmodsyncpath-mode
|
|
|
|
[`fs.lchown(path, uid, gid, callback)`]: fs.md#fslchownpath-uid-gid-callback
|
|
|
|
[`fs.lchownSync(path, uid, gid)`]: fs.md#fslchownsyncpath-uid-gid
|
|
|
|
[`fs.read()`]: fs.md#fsreadfd-buffer-offset-length-position-callback
|
|
|
|
[`fs.readSync()`]: fs.md#fsreadsyncfd-buffer-offset-length-position
|
|
|
|
[`fs.stat()`]: fs.md#fsstatpath-options-callback
|
2022-03-09 06:21:24 +08:00
|
|
|
[`fs.write()`]: fs.md#fswritefd-buffer-offset-length-position-callback
|
|
|
|
[`fs.writeFile()`]: fs.md#fswritefilefile-data-options-callback
|
|
|
|
[`fs.writeFileSync()`]: fs.md#fswritefilesyncfile-data-options
|
2021-01-19 07:55:57 +08:00
|
|
|
[`http.ClientRequest`]: http.md#class-httpclientrequest
|
|
|
|
[`http.IncomingMessage`]: http.md#class-httpincomingmessage
|
|
|
|
[`http.ServerResponse`]: http.md#class-httpserverresponse
|
2021-07-04 20:39:17 -07:00
|
|
|
[`http.get()`]: http.md#httpgetoptions-callback
|
|
|
|
[`http.request()`]: http.md#httprequestoptions-callback
|
|
|
|
[`https.get()`]: https.md#httpsgetoptions-callback
|
|
|
|
[`https.request()`]: https.md#httpsrequestoptions-callback
|
|
|
|
[`message.connection`]: http.md#messageconnection
|
2022-12-03 01:59:49 -08:00
|
|
|
[`message.headersDistinct`]: http.md#messageheadersdistinct
|
|
|
|
[`message.headers`]: http.md#messageheaders
|
2021-07-04 20:39:17 -07:00
|
|
|
[`message.socket`]: http.md#messagesocket
|
2022-12-03 01:59:49 -08:00
|
|
|
[`message.trailersDistinct`]: http.md#messagetrailersdistinct
|
|
|
|
[`message.trailers`]: http.md#messagetrailers
|
2023-04-29 09:57:08 +03:00
|
|
|
[`mock`]: test.md#mocking
|
2021-07-04 20:39:17 -07:00
|
|
|
[`module.createRequire()`]: module.md#modulecreaterequirefilename
|
|
|
|
[`os.networkInterfaces()`]: os.md#osnetworkinterfaces
|
|
|
|
[`os.tmpdir()`]: os.md#ostmpdir
|
|
|
|
[`process.env`]: process.md#processenv
|
2022-07-15 19:11:54 +09:00
|
|
|
[`process.exit()`]: process.md#processexitcode
|
2022-09-24 21:43:59 +09:00
|
|
|
[`process.exitCode`]: process.md#processexitcode_1
|
2022-01-26 15:49:22 +05:30
|
|
|
[`process.getActiveResourcesInfo()`]: process.md#processgetactiveresourcesinfo
|
2021-07-04 20:39:17 -07:00
|
|
|
[`process.mainModule`]: process.md#processmainmodule
|
2020-09-14 17:09:13 +02:00
|
|
|
[`punycode`]: punycode.md
|
2021-01-19 07:55:57 +08:00
|
|
|
[`readable.readableEnded`]: stream.md#readablereadableended
|
2021-07-04 20:39:17 -07:00
|
|
|
[`request.abort()`]: http.md#requestabort
|
|
|
|
[`request.connection`]: http.md#requestconnection
|
|
|
|
[`request.destroy()`]: http.md#requestdestroyerror
|
|
|
|
[`request.socket`]: http.md#requestsocket
|
|
|
|
[`require.extensions`]: modules.md#requireextensions
|
|
|
|
[`require.main`]: modules.md#accessing-the-main-module
|
|
|
|
[`response.connection`]: http.md#responseconnection
|
|
|
|
[`response.end()`]: http.md#responseenddata-encoding-callback
|
|
|
|
[`response.finished`]: http.md#responsefinished
|
|
|
|
[`response.socket`]: http.md#responsesocket
|
|
|
|
[`response.writableEnded`]: http.md#responsewritableended
|
|
|
|
[`response.writableFinished`]: http.md#responsewritablefinished
|
|
|
|
[`script.createCachedData()`]: vm.md#scriptcreatecacheddata
|
|
|
|
[`setInterval()`]: timers.md#setintervalcallback-delay-args
|
|
|
|
[`setTimeout()`]: timers.md#settimeoutcallback-delay-args
|
|
|
|
[`socket.bufferSize`]: net.md#socketbuffersize
|
|
|
|
[`timeout.ref()`]: timers.md#timeoutref
|
|
|
|
[`timeout.refresh()`]: timers.md#timeoutrefresh
|
|
|
|
[`timeout.unref()`]: timers.md#timeoutunref
|
|
|
|
[`tls.SecureContext`]: tls.md#tlscreatesecurecontextoptions
|
|
|
|
[`tls.TLSSocket`]: tls.md#class-tlstlssocket
|
|
|
|
[`tls.checkServerIdentity()`]: tls.md#tlscheckserveridentityhostname-cert
|
|
|
|
[`tls.createSecureContext()`]: tls.md#tlscreatesecurecontextoptions
|
2024-06-07 17:10:47 +01:00
|
|
|
[`tls.createServer()`]: tls.md#tlscreateserveroptions-secureconnectionlistener
|
2021-07-04 20:39:17 -07:00
|
|
|
[`url.format()`]: url.md#urlformaturlobject
|
|
|
|
[`url.parse()`]: url.md#urlparseurlstring-parsequerystring-slashesdenotehost
|
|
|
|
[`url.resolve()`]: url.md#urlresolvefrom-to
|
2024-06-14 15:07:58 +02:00
|
|
|
[`util._extend()`]: util.md#util_extendtarget-source
|
2021-07-04 20:39:17 -07:00
|
|
|
[`util.getSystemErrorName()`]: util.md#utilgetsystemerrornameerr
|
|
|
|
[`util.inspect()`]: util.md#utilinspectobject-options
|
|
|
|
[`util.inspect.custom`]: util.md#utilinspectcustom
|
|
|
|
[`util.isArray()`]: util.md#utilisarrayobject
|
2023-09-16 11:55:45 +02:00
|
|
|
[`util.promisify`]: util.md#utilpromisifyoriginal
|
2023-09-21 16:28:18 -04:00
|
|
|
[`util.toUSVString()`]: util.md#utiltousvstringstring
|
2021-07-04 20:39:17 -07:00
|
|
|
[`util.types`]: util.md#utiltypes
|
2020-09-14 17:09:13 +02:00
|
|
|
[`util`]: util.md
|
2021-07-04 20:39:17 -07:00
|
|
|
[`worker.exitedAfterDisconnect`]: cluster.md#workerexitedafterdisconnect
|
|
|
|
[`worker.terminate()`]: worker_threads.md#workerterminate
|
|
|
|
[`writable.writableLength`]: stream.md#writablewritablelength
|
|
|
|
[`zlib.bytesWritten`]: zlib.md#zlibbyteswritten
|
|
|
|
[alloc]: buffer.md#static-method-bufferallocsize-fill-encoding
|
|
|
|
[alloc_unsafe_size]: buffer.md#static-method-bufferallocunsafesize
|
|
|
|
[from_arraybuffer]: buffer.md#static-method-bufferfromarraybuffer-byteoffset-length
|
|
|
|
[from_string_encoding]: buffer.md#static-method-bufferfromstring-encoding
|
2022-10-11 15:35:52 -07:00
|
|
|
[legacy URL API]: url.md#legacy-url-api
|
2021-07-04 20:39:17 -07:00
|
|
|
[legacy `urlObject`]: url.md#legacy-urlobject
|
2023-08-11 21:13:59 +02:00
|
|
|
[permission model]: permissions.md#permission-model
|
2021-07-04 20:39:17 -07:00
|
|
|
[static methods of `crypto.Certificate()`]: crypto.md#class-certificate
|
|
|
|
[subpath exports]: packages.md#subpath-exports
|
|
|
|
[subpath imports]: packages.md#subpath-imports
|
|
|
|
[subpath patterns]: packages.md#subpath-patterns
|