Skip to content

Commit

Permalink
2024-10-15, Version 23.0.0 (Current)
Browse files Browse the repository at this point in the history
Semver-Major Commits:

assert,util:
  * (SEMVER-MAJOR) change WeakMap and WeakSet comparison handling (Cristian Barlutiu) #53495
buffer:
  * (SEMVER-MAJOR) throw when writing beyond buffer" (Robert Nagy) #54588
  * (SEMVER-MAJOR) make File cloneable (Matthew Aitken) #47613
build:
  * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) #54536
  * (SEMVER-MAJOR) disable ICF for mksnapshot (Leszek Swirski) #54077
  * (SEMVER-MAJOR) include v8-sandbox.h header in distribution (Michaël Zasso) #54077
  * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) #54077
  * (SEMVER-MAJOR) warn for GCC versions earlier than 12.2 (Michaël Zasso) #54081
  * (SEMVER-MAJOR) drop experimental support for Windows <10 (Michaël Zasso) #54079
  * (SEMVER-MAJOR) remove support for 32-bit Windows (Michaël Zasso) #53184
  * (SEMVER-MAJOR) compile with C++20 support (Michaël Zasso) #45427
child_process:
  * (SEMVER-MAJOR) remove unused internal event (Rich Trott) #53793
cli:
  * (SEMVER-MAJOR) remove deprecated V8 flag (Omer Katz) #54761
  * (SEMVER-MAJOR) move --trace-atomics-wait to eol (Marco Ippolito) #52747
  * (SEMVER-MAJOR) remove --no-experimental-global-customevent flag (Daeyeon Jeong) #52723
  * (SEMVER-MAJOR) remove --no-experimental-fetch flag (Filip Skokan) #52611
  * (SEMVER-MAJOR) remove --no-experimental-global-webcrypto flag (Filip Skokan) #52564
crypto:
  * (SEMVER-MAJOR) runtime deprecate crypto.fips (Yagiz Nizipli) #55019
  * (SEMVER-MAJOR) remove ERR_CRYPTO_SCRYPT_INVALID_PARAMETER (Tobias Nießen) #53305
  * (SEMVER-MAJOR) move DEP0182 to runtime deprecation (Tobias Nießen) #52552
deps:
  * (SEMVER-MAJOR) V8: cherry-pick 97199f686e2f (Michaël Zasso) #54536
  * (SEMVER-MAJOR) V8: cherry-pick 01a47f3ffff2 (Michaël Zasso) #54536
  * (SEMVER-MAJOR) patch V8 to support older Clang versions (Michaël Zasso) #54536
  * (SEMVER-MAJOR) always define V8_NODISCARD as no-op (Michaël Zasso) #54536
  * (SEMVER-MAJOR) fix FP16 bitcasts.h (Stefan Stojanovic) #54536
  * (SEMVER-MAJOR) patch V8 to support compilation with MSVC (StefanStojanovic) #54536
  * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) #54536
  * (SEMVER-MAJOR) disable V8 concurrent sparkplug compilation (Michaël Zasso) #54536
  * (SEMVER-MAJOR) always define V8_EXPORT_PRIVATE as no-op (Michaël Zasso) #54536
  * (SEMVER-MAJOR) update V8 to 12.9.202.18 (Michaël Zasso) #54536
  * (SEMVER-MAJOR) remove bogus V8 DCHECK (Michaël Zasso) #54077
  * (SEMVER-MAJOR) V8: cherry-pick 00e9eeb3fb2c (Michaël Zasso) #54077
  * (SEMVER-MAJOR) V8: cherry-pick b1397772c70c (Michaël Zasso) #54077
  * (SEMVER-MAJOR) V8: cherry-pick 35888fee7bba (Joyee Cheung) #54077
  * (SEMVER-MAJOR) always define V8_NODISCARD as no-op (Michaël Zasso) #54077
  * (SEMVER-MAJOR) fix FP16 bitcasts.h (Stefan Stojanovic) #54077
  * (SEMVER-MAJOR) V8: revert CL 5331688 (Michaël Zasso) #54077
  * (SEMVER-MAJOR) patch V8 to support compilation with MSVC (StefanStojanovic) #54077
  * (SEMVER-MAJOR) silence internal V8 deprecation warning (Michaël Zasso) #54077
  * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) #54077
  * (SEMVER-MAJOR) avoid compilation error with ASan (Michaël Zasso) #54077
  * (SEMVER-MAJOR) disable V8 concurrent sparkplug compilation (Michaël Zasso) #54077
  * (SEMVER-MAJOR) always define V8_EXPORT_PRIVATE as no-op (Michaël Zasso) #54077
  * (SEMVER-MAJOR) update V8 to 12.8.374.13 (Michaël Zasso) #54077
doc:
  * (SEMVER-MAJOR) reflect toolchains used for official binaries (Richard Lau) #54967
  * (SEMVER-MAJOR) use gcc 12 on AIX for Node.js >=23 (Richard Lau) #54338
esm:
  * (SEMVER-MAJOR) export 'module.exports' on ESM CJS wrapper (Guy Bedford) #53848
events:
  * (SEMVER-MAJOR) set EventEmitterAsyncResource fields private (Yagiz Nizipli) #54889
fs:
  * (SEMVER-MAJOR) adjust typecheck for `type` in `fs.symlink()` (Livia Medeiros) #49741
  * (SEMVER-MAJOR) runtime deprecate `dirent.path` (Antoine du Hamel) #51050
lib:
  * (SEMVER-MAJOR) validate signals with interface converter (Jason Zhang) #54965
  * (SEMVER-MAJOR) implement interface converter in webidl (Jason Zhang) #54965
  * (SEMVER-MAJOR) expose global CloseEvent (Matthew Aitken) #53355
net:
  * (SEMVER-MAJOR) validate host name for server listen (Jason Zhang) #54470
path:
  * (SEMVER-MAJOR) fix bugs and inconsistencies (Hüseyin Açacak) #54224
process:
  * (SEMVER-MAJOR) remove `process.assert` (Aviv Keller) #55035
src:
  * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 131 (Michaël Zasso) #54536
  * (SEMVER-MAJOR) stop using deprecated fields of `v8::FastApiCallbackOptions` (Andreas Haas) #54077
  * (SEMVER-MAJOR) remove dependency on wrapper-descriptor-based CppHeap (Joyee Cheung) #54077
  * (SEMVER-MAJOR) add source location to v8::TaskRunner (François Doray) #54077
  * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 129 (Michaël Zasso) #54077
  * (SEMVER-MAJOR) do not use soon-to-be-deprecated V8 API (Igor Sheludko) #53174
  * (SEMVER-MAJOR) add UV_PIPE_NO_TRUNCATE for bind in pipe_wrap.cc (theanarkh) #52347
stream:
  * (SEMVER-MAJOR) pipe to a closed or destroyed stream is not allowed in pipeline (jakecastelli) #53241
string_decoder:
  * (SEMVER-MAJOR) refactor encoding validation (Yagiz Nizipli) #54957
test:
  * (SEMVER-MAJOR) update v8-stats test for V8 12.6 (Michaël Zasso) #54077
test_runner:
  * (SEMVER-MAJOR) detect only tests when --test is not used (Colin Ihrig) #54881
  * (SEMVER-MAJOR) always make spec the default reporter (Colin Ihrig) #54548
  * (SEMVER-MAJOR) expose lcov reporter as newable function (Chemi Atlow) #52403
timers:
  * (SEMVER-MAJOR) emit warning if delay is negative or NaN (jakecastelli) #46678
tls:
  * (SEMVER-MAJOR) fix 'ERR_TLS_PSK_SET_IDENTIY_HINT_FAILED' typo (Aviv Keller) #52627
tools:
  * (SEMVER-MAJOR) add additonal include dirs for V8 on AIX (Abdirahim Musse) #54536
  * (SEMVER-MAJOR) update V8 gypfiles for 12.8 (Michaël Zasso) #54077
  * (SEMVER-MAJOR) update V8 gypfiles for 12.7 (Richard Lau) #54077
  * (SEMVER-MAJOR) update V8 gypfiles for 12.6 (Michaël Zasso) #54077
util:
  * (SEMVER-MAJOR) move util.log to eol (marco-ippolito) #52744
  * (SEMVER-MAJOR) move util.isPrimitive to eol (marco-ippolito) #52744
  * (SEMVER-MAJOR) move util.isFunction to eol (marco-ippolito) #52744
  * (SEMVER-MAJOR) move util.isError to eol (marco-ippolito) #52744
  * (SEMVER-MAJOR) move util.isDate to eol (marco-ippolito) #52744
  * (SEMVER-MAJOR) move util.isObject to eol (marco-ippolito) #52744
  * (SEMVER-MAJOR) move util.isRegExp to eol (marco-ippolito) #52744
  * (SEMVER-MAJOR) move util.isUndefined to eol (marco-ippolito) #52744
  * (SEMVER-MAJOR) move util.isSymbol to eol (marco-ippolito) #52744
  * (SEMVER-MAJOR) move util.isString to eol (marco-ippolito) #52744
  * (SEMVER-MAJOR) move util.isNumber to eol (marco-ippolito) #52744
  * (SEMVER-MAJOR) move util.isNullOrUndefined to eol (marco-ippolito) #52744
  * (SEMVER-MAJOR) move util.isNull to eol (marco-ippolito) #52744
  * (SEMVER-MAJOR) move util.isBuffer to eol (marco-ippolito) #52744
  * (SEMVER-MAJOR) move util.isBoolean to eol (marco-ippolito) #52744
  * (SEMVER-MAJOR) move util._extend to eol (marco-ippolito) #52744
zlib:
  * (SEMVER-MAJOR) remove `zlib.bytesRead` (Yagiz Nizipli) #55020

PR-URL: #55338
  • Loading branch information
RafaelGSS committed Oct 11, 2024
1 parent 90f56db commit 2ba706f
Show file tree
Hide file tree
Showing 42 changed files with 530 additions and 55 deletions.
4 changes: 4 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

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

* [Node.js 23](doc/changelogs/CHANGELOG_V23.md) **Current**
* [Node.js 22](doc/changelogs/CHANGELOG_V22.md) **Current**
* [Node.js 21](doc/changelogs/CHANGELOG_V21.md) End-of-Life
* [Node.js 20](doc/changelogs/CHANGELOG_V20.md) **Long Term Support**
Expand Down Expand Up @@ -31,11 +32,14 @@ release.

<table>
<tr>
<th title="Current"><a href="doc/changelogs/CHANGELOG_V23.md">23</a> (Current)</th>
<th title="Current"><a href="doc/changelogs/CHANGELOG_V22.md">22</a> (Current)</th>
<th title="LTS Until 2026-04"><a href="doc/changelogs/CHANGELOG_V20.md">20</a> (LTS)</th>
<th title="LTS Until 2025-04"><a href="doc/changelogs/CHANGELOG_V18.md">18</a> (LTS)</th>
</tr>
<tr>
<b><a href="doc/changelogs/CHANGELOG_V23.md#23.0.0">23.0.0</a></b><br/>
</td>
<td valign="top">
<b><a href="doc/changelogs/CHANGELOG_V22.md#22.9.0">22.9.0</a></b><br/>
<a href="doc/changelogs/CHANGELOG_V22.md#22.8.0">22.8.0</a><br/>
Expand Down
2 changes: 1 addition & 1 deletion doc/abi_version_registry.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"NODE_MODULE_VERSION": [
{ "modules": 132,"runtime": "electron", "variant": "electron", "versions": "34" },
{ "modules": 131,"runtime": "node", "variant": "v8_12.9", "versions": "23.0.0-pre" },
{ "modules": 131,"runtime": "node", "variant": "v8_12.9", "versions": "23.0.0" },
{ "modules": 130,"runtime": "electron", "variant": "electron", "versions": "33" },
{ "modules": 129,"runtime": "node", "variant": "v8_12.8", "versions": "23.0.0-pre" },
{ "modules": 128,"runtime": "electron", "variant": "electron", "versions": "32" },
Expand Down
2 changes: 1 addition & 1 deletion doc/api/buffer.md
Original file line number Diff line number Diff line change
Expand Up @@ -5094,7 +5094,7 @@ added:
- v19.2.0
- v18.13.0
changes:
- version: REPLACEME
- version: v23.0.0
pr-url: https://github.com/nodejs/node/pull/47613
description: Makes File instances cloneable.
- version: v20.0.0
Expand Down
6 changes: 3 additions & 3 deletions doc/api/cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -812,7 +812,7 @@ of `--enable-source-maps`.

<!-- YAML
added:
- REPLACEME
- v23.0.0
-->

> Stability: 1 - Experimental
Expand Down Expand Up @@ -1073,7 +1073,7 @@ added:
- v22.0.0
- v20.17.0
changes:
- version: REPLACEME
- version: v23.0.0
pr-url: https://github.com/nodejs/node/pull/55085
description: This is now true by default.
-->
Expand Down Expand Up @@ -1710,7 +1710,7 @@ added:
- v22.0.0
- v20.17.0
changes:
- version: REPLACEME
- version: v23.0.0
pr-url: https://github.com/nodejs/node/pull/55085
description: This is now false by default.
-->
Expand Down
6 changes: 3 additions & 3 deletions doc/api/crypto.md
Original file line number Diff line number Diff line change
Expand Up @@ -2139,7 +2139,7 @@ property is `undefined` for asymmetric keys.
### `keyObject.toCryptoKey(algorithm, extractable, keyUsages)`

<!-- YAML
added: REPLACEME
added: v23.0.0
-->

<!--lint disable maximum-line-length remark-lint-->
Expand Down Expand Up @@ -2886,7 +2886,7 @@ The date/time from which this certificate is valid.
### `x509.validFromDate`

<!-- YAML
added: REPLACEME
added: v23.0.0
-->

* Type: {Date}
Expand All @@ -2906,7 +2906,7 @@ The date/time until which this certificate is valid.
### `x509.validToDate`

<!-- YAML
added: REPLACEME
added: v23.0.0
-->

* Type: {Date}
Expand Down
42 changes: 21 additions & 21 deletions doc/api/deprecations.md
Original file line number Diff line number Diff line change
Expand Up @@ -996,7 +996,7 @@ instead.

<!-- YAML
changes:
- version: REPLACEME
- version: v23.0.0
pr-url: https://github.com/nodejs/node/pull/52744
description: End-of-Life deprecation.
- version: v22.0.0
Expand All @@ -1023,7 +1023,7 @@ The `util.isBoolean()` API has been removed. Please use

<!-- YAML
changes:
- version: REPLACEME
- version: v23.0.0
pr-url: https://github.com/nodejs/node/pull/52744
description: End-of-Life deprecation.
- version: v22.0.0
Expand All @@ -1050,7 +1050,7 @@ The `util.isBuffer()` API has been removed. Please use

<!-- YAML
changes:
- version: REPLACEME
- version: v23.0.0
pr-url: https://github.com/nodejs/node/pull/52744
description: End-of-Life deprecation.
- version: v22.0.0
Expand All @@ -1077,7 +1077,7 @@ The `util.isDate()` API has been removed. Please use

<!-- YAML
changes:
- version: REPLACEME
- version: v23.0.0
pr-url: https://github.com/nodejs/node/pull/52744
description: End-of-Life deprecation.
- version: v22.0.0
Expand Down Expand Up @@ -1105,7 +1105,7 @@ instead.

<!-- YAML
changes:
- version: REPLACEME
- version: v23.0.0
pr-url: https://github.com/nodejs/node/pull/52744
description: End-of-Life deprecation.
- version: v22.0.0
Expand All @@ -1132,7 +1132,7 @@ The `util.isFunction()` API has been removed. Please use

<!-- YAML
changes:
- version: REPLACEME
- version: v23.0.0
pr-url: https://github.com/nodejs/node/pull/52744
description: End-of-Life deprecation.
- version: v22.0.0
Expand All @@ -1159,7 +1159,7 @@ The `util.isNull()` API has been removed. Please use

<!-- YAML
changes:
- version: REPLACEME
- version: v23.0.0
pr-url: https://github.com/nodejs/node/pull/52744
description: End-of-Life deprecation.
- version: v22.0.0
Expand All @@ -1186,7 +1186,7 @@ The `util.isNullOrUndefined()` API has been removed. Please use

<!-- YAML
changes:
- version: REPLACEME
- version: v23.0.0
pr-url: https://github.com/nodejs/node/pull/52744
description: End-of-Life deprecation.
- version: v22.0.0
Expand All @@ -1213,7 +1213,7 @@ The `util.isNumber()` API has been removed. Please use

<!-- YAML
changes:
- version: REPLACEME
- version: v23.0.0
pr-url: https://github.com/nodejs/node/pull/52744
description: End-of-Life deprecation.
- version: v22.0.0
Expand All @@ -1240,7 +1240,7 @@ The `util.isObject()` API has been removed. Please use

<!-- YAML
changes:
- version: REPLACEME
- version: v23.0.0
pr-url: https://github.com/nodejs/node/pull/52744
description: End-of-Life deprecation.
- version: v22.0.0
Expand Down Expand Up @@ -1268,7 +1268,7 @@ instead.

<!-- YAML
changes:
- version: REPLACEME
- version: v23.0.0
pr-url: https://github.com/nodejs/node/pull/52744
description: End-of-Life deprecation.
- version: v22.0.0
Expand All @@ -1295,7 +1295,7 @@ The `util.isRegExp()` API has been removed. Please use

<!-- YAML
changes:
- version: REPLACEME
- version: v23.0.0
pr-url: https://github.com/nodejs/node/pull/52744
description: End-of-Life deprecation.
- version: v22.0.0
Expand All @@ -1322,7 +1322,7 @@ The `util.isString()` API has been removed. Please use

<!-- YAML
changes:
- version: REPLACEME
- version: v23.0.0
pr-url: https://github.com/nodejs/node/pull/52744
description: End-of-Life deprecation.
- version: v22.0.0
Expand All @@ -1349,7 +1349,7 @@ The `util.isSymbol()` API has been removed. Please use

<!-- YAML
changes:
- version: REPLACEME
- version: v23.0.0
pr-url: https://github.com/nodejs/node/pull/52744
description: End-of-Life deprecation.
- version: v22.0.0
Expand All @@ -1376,7 +1376,7 @@ The `util.isUndefined()` API has been removed. Please use

<!-- YAML
changes:
- version: REPLACEME
- version: v23.0.0
pr-url: https://github.com/nodejs/node/pull/52744
description: End-of-Life deprecation.
- version: v22.0.0
Expand Down Expand Up @@ -2030,7 +2030,7 @@ or `module.exports` instead.

<!-- YAML
changes:
- version: REPLACEME
- version: v23.0.0
pr-url: https://github.com/nodejs/node/pull/55019
description: Runtime deprecation.
- version: v10.0.0
Expand Down Expand Up @@ -2145,7 +2145,7 @@ parameter.

<!-- YAML
changes:
- version: REPLACEME
- version: v23.0.0
pr-url: https://github.com/nodejs/node/pull/55035
description: End-of-Life.
- version: v10.0.0
Expand Down Expand Up @@ -2290,7 +2290,7 @@ core and obsoleted by the removal of NPN (Next Protocol Negotiation) support.

<!-- YAML
changes:
- version: REPLACEME
- version: v23.0.0
pr-url: https://github.com/nodejs/node/pull/55020
description: End-of-Life.
- version: v11.0.0
Expand Down Expand Up @@ -3367,7 +3367,7 @@ Values other than `undefined`, `null`, integer numbers, and integer strings

<!-- YAML
changes:
- version: REPLACEME
- version: v23.0.0
pr-url: https://github.com/nodejs/node/pull/52747
description: End-of-Life.
- version: v22.0.0
Expand Down Expand Up @@ -3608,7 +3608,7 @@ Please use `value instanceof WebAssembly.Module` instead.

<!-- YAML
changes:
- version: REPLACEME
- version: v23.0.0
pr-url: https://github.com/nodejs/node/pull/51050
description: Runtime deprecation.
- version:
Expand Down Expand Up @@ -3683,7 +3683,7 @@ Please use the [`crypto.createHmac()`][] method to create Hmac instances.

<!-- YAML
changes:
- version: REPLACEME
- version: v23.0.0
pr-url: https://github.com/nodejs/node/pull/52552
description: Runtime deprecation.
- version: v20.13.0
Expand Down
16 changes: 8 additions & 8 deletions doc/api/errors.md
Original file line number Diff line number Diff line change
Expand Up @@ -2092,7 +2092,7 @@ does not consist of exactly two elements.
### `ERR_INVALID_TYPESCRIPT_SYNTAX`

<!-- YAML
added: REPLACEME
added: v23.0.0
-->

The provided TypeScript syntax is not valid or unsupported.
Expand Down Expand Up @@ -2335,7 +2335,7 @@ compiled with ICU support.
### `ERR_NO_TYPESCRIPT`

<!-- YAML
added: REPLACEME
added: v23.0.0
-->

An attempt was made to use features that require [Native TypeScript support][], but Node.js was not
Expand Down Expand Up @@ -2439,7 +2439,7 @@ object.
### `ERR_QUIC_CONNECTION_FAILED`

<!-- YAML
added: REPLACEME
added: v23.0.0
-->

> Stability: 1 - Experimental
Expand All @@ -2451,7 +2451,7 @@ Establishing a QUIC connection failed.
### `ERR_QUIC_ENDPOINT_CLOSED`

<!-- YAML
added: REPLACEME
added: v23.0.0
-->

> Stability: 1 - Experimental
Expand All @@ -2463,7 +2463,7 @@ A QUIC Endpoint closed with an error.
### `ERR_QUIC_OPEN_STREAM_FAILED`

<!-- YAML
added: REPLACEME
added: v23.0.0
-->

> Stability: 1 - Experimental
Expand Down Expand Up @@ -2504,7 +2504,7 @@ module, and should be done lazily in an inner function.

<!-- YAML
changes:
- version: REPLACEME
- version: v23.0.0
pr-url: https://github.com/nodejs/node/pull/55085
description: require() now supports loading synchronous ES modules by default.
-->
Expand Down Expand Up @@ -3366,7 +3366,7 @@ encoding (e.g. `ucs` or `utf16le`) is not supported.
### `ERR_CRYPTO_SCRYPT_INVALID_PARAMETER`

<!-- YAML
removed: REPLACEME
removed: v23.0.0
-->

An incompatible combination of options was passed to [`crypto.scrypt()`][] or
Expand All @@ -3378,7 +3378,7 @@ An incompatible combination of options was passed to [`crypto.scrypt()`][] or
### `ERR_FS_INVALID_SYMLINK_TYPE`

<!-- YAML
removed: REPLACEME
removed: v23.0.0
-->

An invalid symlink type was passed to the [`fs.symlink()`][] or
Expand Down
2 changes: 1 addition & 1 deletion doc/api/esm.md
Original file line number Diff line number Diff line change
Expand Up @@ -477,7 +477,7 @@ See [Loading ECMAScript modules using `require()`][] for details.
<!-- YAML
added: v14.13.0
changes:
- version: REPLACEME
- version: v23.0.0
pr-url: https://github.com/nodejs/node/pull/53848
description: Added `'module.exports'` export marker to CJS namespaces.
-->
Expand Down
2 changes: 1 addition & 1 deletion doc/api/fs.md
Original file line number Diff line number Diff line change
Expand Up @@ -6828,7 +6828,7 @@ deprecated:
- v20.12.0
- v18.20.0
changes:
- version: REPLACEME
- version: v23.0.0
pr-url: https://github.com/nodejs/node/pull/51050
description: Accessing this property emits a warning. It is now read-only.
-->
Expand Down
Loading

0 comments on commit 2ba706f

Please sign in to comment.