380 Commits

Author SHA1 Message Date
Node.js GitHub Bot
47d8b88868 2025-12-10, Version 24.12.0 'Krypton' (LTS)
Notable changes:

http:
  * (SEMVER-MINOR) add optimizeEmptyRequests server option (Rafael Gonzaga) https://github.com/nodejs/node/pull/59778
lib:
  * (SEMVER-MINOR) add options to util.deprecate (Rafael Gonzaga) https://github.com/nodejs/node/pull/59982
module:
  * (SEMVER-MINOR) mark type stripping as stable (Marco Ippolito) https://github.com/nodejs/node/pull/60600
node-api:
  * (SEMVER-MINOR) add napi_create_object_with_properties (Miguel Marcondes Filho) https://github.com/nodejs/node/pull/59953
sqlite:
  * (SEMVER-MINOR) allow setting defensive flag (Bart Louwers) https://github.com/nodejs/node/pull/60217
src:
  * (SEMVER-MINOR) add watch config namespace (Marco Ippolito) https://github.com/nodejs/node/pull/60178
  * (SEMVER-MINOR) add an option to make compile cache portable (Aditi) https://github.com/nodejs/node/pull/58797
src,permission:
  * (SEMVER-MINOR) add --allow-inspector ability (Rafael Gonzaga) https://github.com/nodejs/node/pull/59711
v8:
  * (SEMVER-MINOR) add cpu profile (theanarkh) https://github.com/nodejs/node/pull/59807

PR-URL: https://github.com/nodejs/node/pull/61001
2025-12-10 17:40:34 +01:00
Ilyas Shabi
900d329ef5 node-api: add support for Float16Array
PR-URL: https://github.com/nodejs/node/pull/58879
Reviewed-By: Vladimir Morozov <vmorozov@microsoft.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2025-11-18 07:09:43 +00:00
Kevin Eady
9cbf4c9e43 node-api: support SharedArrayBuffer in napi_create_dataview
PR-URL: https://github.com/nodejs/node/pull/60473
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
2025-11-13 21:45:17 +00:00
Node.js GitHub Bot
42d3632057 2025-11-11, Version 25.2.0 (Current)
Notable changes:

lib:
  * (SEMVER-MINOR) add options to util.deprecate (Rafael Gonzaga) https://github.com/nodejs/node/pull/59982
  * throw from localStorage getter on missing storage path (René) https://github.com/nodejs/node/pull/60351
module:
  * (SEMVER-MINOR) mark type stripping as stable (Marco Ippolito) https://github.com/nodejs/node/pull/60600
net:
  * (SEMVER-MINOR) increase network family autoselection timeout to 500ms (Rod Vagg) https://github.com/nodejs/node/pull/60334
node-api:
  * (SEMVER-MINOR) add napi_create_object_with_properties (Miguel Marcondes Filho) https://github.com/nodejs/node/pull/59953
v8:
  * (SEMVER-MINOR) adding total_allocated_bytes to HeapStatistics (Caio Lima) https://github.com/nodejs/node/pull/60573

PR-URL: https://github.com/nodejs/node/pull/60677
2025-11-11 23:27:20 +01:00
Miguel Marcondes Filho
a556db4782 node-api: add napi_create_object_with_properties
PR-URL: https://github.com/nodejs/node/pull/59953
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Vladimir Morozov <vmorozov@microsoft.com>
2025-10-30 14:10:44 +00:00
Antoine du Hamel
b9dedf416b 2025-10-20, Version 22.21.0 'Jod' (LTS)
Notable changes:

cli:
  * (SEMVER-MINOR) add `--use-env-proxy` (Joyee Cheung) https://github.com/nodejs/node/pull/59151
http:
  * (SEMVER-MINOR) support http proxy for fetch under `NODE_USE_ENV_PROXY` (Joyee Cheung) https://github.com/nodejs/node/pull/57165
  * (SEMVER-MINOR) add `shouldUpgradeCallback` to let servers control HTTP upgrades (Tim Perry) https://github.com/nodejs/node/pull/59824
http,https:
  * (SEMVER-MINOR) add built-in proxy support in `http`/`https.request` and `Agent` (Joyee Cheung) https://github.com/nodejs/node/pull/58980
src:
  * (SEMVER-MINOR) add percentage support to `--max-old-space-size` (Asaf Federman) https://github.com/nodejs/node/pull/59082

PR-URL: https://github.com/nodejs/node/pull/60230
2025-10-21 01:45:50 +02:00
RafaelGSS
a520a39adf 2025-10-15, Version 25.0.0 (Current)
assert:
  * (SEMVER-MAJOR) move assert.fail with multiple arguments to eol (James M Snell) https://github.com/nodejs/node/pull/58532
  * (SEMVER-MAJOR) move CallTracker to EOL (James M Snell) https://github.com/nodejs/node/pull/58006
assert,util:
  * (SEMVER-MAJOR) fail promise comparison in deep equal checks (Ruben Bridgewater) https://github.com/nodejs/node/pull/59448
  * (SEMVER-MAJOR) handle invalid dates as equal in deep comparison (Ruben Bridgewater) https://github.com/nodejs/node/pull/57627
async_hooks:
  * (SEMVER-MAJOR) move `asyncResource` property on bound function to EOL (James M Snell) https://github.com/nodejs/node/pull/58618
buffer:
  * (SEMVER-MAJOR) move SlowBuffer to EOL (Filip Skokan) https://github.com/nodejs/node/pull/58220
build:
  * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) https://github.com/nodejs/node/pull/59805
  * (SEMVER-MAJOR) bump minimum Clang version to 19 (Michaël Zasso) https://github.com/nodejs/node/pull/59048
  * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) https://github.com/nodejs/node/pull/58064
  * (SEMVER-MAJOR) stop distributing Corepack (Antoine du Hamel) https://github.com/nodejs/node/pull/57617
child_process:
  * (SEMVER-MAJOR) move _channel to end-of-life (James M Snell) https://github.com/nodejs/node/pull/58527
crypto:
  * (SEMVER-MAJOR) runtime-deprecate default shake128/256 output lengths (Filip Skokan) https://github.com/nodejs/node/pull/59008
  * (SEMVER-MAJOR) move deprecated hash and mgf1Hash options to EOL (James M Snell) https://github.com/nodejs/node/pull/58706
  * (SEMVER-MAJOR) runtime deprecate ECDH.setPublicKey() (James M Snell) https://github.com/nodejs/node/pull/58620
deps:
  * (SEMVER-MAJOR) patch V8 for illumos (Dan McDonald) https://github.com/nodejs/node/pull/59805
  * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) https://github.com/nodejs/node/pull/54077
  * (SEMVER-MAJOR) update V8 to 14.1.146.11 (Michaël Zasso) https://github.com/nodejs/node/pull/59805
  * (SEMVER-MAJOR) V8: backport 1d3362c55396 (Shu-yu Guo) https://github.com/nodejs/node/pull/58064
  * (SEMVER-MAJOR) V8: cherry-pick 4f38995c8295 (Shu-yu Guo) https://github.com/nodejs/node/pull/58064
  * (SEMVER-MAJOR) V8: cherry-pick 044b9b6f589d (Rezvan Mahdavi Hezaveh) https://github.com/nodejs/node/pull/58064
  * (SEMVER-MAJOR) V8: cherry-pick d2ad518a0b57 (Joyee Cheung) https://github.com/nodejs/node/pull/58064
  * (SEMVER-MAJOR) V8: revert 6d6c1e680c7b (Michaël Zasso) https://github.com/nodejs/node/pull/58064
  * (SEMVER-MAJOR) V8: revert e3cddbedb205 (Michaël Zasso) https://github.com/nodejs/node/pull/58064
  * (SEMVER-MAJOR) use std::map in MSVC STL for EphemeronRememberedSet (Joyee Cheung) https://github.com/nodejs/node/pull/58064
  * (SEMVER-MAJOR) patch V8 for illumos (Dan McDonald) https://github.com/nodejs/node/pull/58064
  * (SEMVER-MAJOR) remove problematic comment from v8-internal (Michaël Zasso) https://github.com/nodejs/node/pull/58064
  * (SEMVER-MAJOR) define V8_PRESERVE_MOST as no-op on Windows (Stefan Stojanovic) https://github.com/nodejs/node/pull/58064
  * (SEMVER-MAJOR) fix FP16 bitcasts.h (Stefan Stojanovic) https://github.com/nodejs/node/pull/58064
  * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) https://github.com/nodejs/node/pull/58064
  * (SEMVER-MAJOR) update V8 to 13.7.152.9 (Michaël Zasso) https://github.com/nodejs/node/pull/58064
dgram:
  * (SEMVER-MAJOR) move deprecated APIs to EOL (James M Snell) https://github.com/nodejs/node/pull/58474
dns:
  * (SEMVER-MAJOR) move falsy hostname in lookup to end-of-life (James M Snell) https://github.com/nodejs/node/pull/58619
doc,src,test:
  * (SEMVER-MAJOR) replace use of deprecated `GetIsolate` (Michaël Zasso) https://github.com/nodejs/node/pull/59805
fs:
  * (SEMVER-MAJOR) move FileHandle close on GC to EOL (James M Snell) https://github.com/nodejs/node/pull/58536
  * (SEMVER-MAJOR) move rmdir recursive option to end-of-life (James M Snell) https://github.com/nodejs/node/pull/58616
  * (SEMVER-MAJOR) make `processReadResult()` and `readSyncRecursive()` private (Livia Medeiros) https://github.com/nodejs/node/pull/58672
  * (SEMVER-MAJOR) move fs stream open method to eol (James M Snell) https://github.com/nodejs/node/pull/58529
  * (SEMVER-MAJOR) remove `fs.F_OK`, `fs.R_OK`, `fs.W_OK`, `fs.X_OK` (Livia Medeiros) https://github.com/nodejs/node/pull/55862
http:
  * (SEMVER-MAJOR) deprecate writeHeader (Sebastian Beltran) https://github.com/nodejs/node/pull/59060
lib:
  * (SEMVER-MAJOR) use validators for argument validation (Nam Yooseong) https://github.com/nodejs/node/pull/59416
  * (SEMVER-MAJOR) expose global ErrorEvent (Richie Bendall) https://github.com/nodejs/node/pull/58920
  * (SEMVER-MAJOR) deprecate `_stream_*` modules (Dario Piotrowicz) https://github.com/nodejs/node/pull/58337
  * (SEMVER-MAJOR) deprecate _tls_common and _tls_wrap (Dario Piotrowicz) https://github.com/nodejs/node/pull/57643
module:
  * (SEMVER-MAJOR) move Module._debug to end-of-life (James M Snell) https://github.com/nodejs/node/pull/58473
node-api:
  * (SEMVER-MAJOR) add warning for NAPI_EXPERIMENTAL (Miguel Marcondes Filho) https://github.com/nodejs/node/pull/58280
perf_hooks:
  * (SEMVER-MAJOR) move deprecated accessors to EOF (James M Snell) https://github.com/nodejs/node/pull/58531
process:
  * (SEMVER-MAJOR) move multipleResolves event to EOL (James M Snell) https://github.com/nodejs/node/pull/58707
repl:
  * (SEMVER-MAJOR) eol deprecate instantiating without new (Aviv Keller) https://github.com/nodejs/node/pull/59495
src:
  * (SEMVER-MAJOR) update crypto.getCipherInfo() to use DictionaryTemplate (James M Snell) https://github.com/nodejs/node/pull/60036
  * (SEMVER-MAJOR) fix calls to v8::Object::wrap (Andreas Haas) https://github.com/nodejs/node/pull/59805
  * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 141 (Michaël Zasso) https://github.com/nodejs/node/pull/59805
  * (SEMVER-MAJOR) improve performance of dotenv ToObject (James M Snell) https://github.com/nodejs/node/pull/60038
  * (SEMVER-MAJOR) use std::string_view from node_report (iknoom) https://github.com/nodejs/node/pull/60006
  * (SEMVER-MAJOR) unflag --experimental-webstorage by default (Daniel M Brasil) https://github.com/nodejs/node/pull/57666
  * (SEMVER-MAJOR) store `Local` for `CallbackScope` on stack (Anna Henningsen) https://github.com/nodejs/node/pull/59705
  * (SEMVER-MAJOR) remove node.h APIs to make callback without an async context (Chengzhong Wu) https://github.com/nodejs/node/pull/58471
  * (SEMVER-MAJOR) remove deprecated node::EmitBeforeExit and node::EmitExit (Chengzhong Wu) https://github.com/nodejs/node/pull/58469
  * (SEMVER-MAJOR) remove deprecated node::CreatePlatform and node::FreePlatform (Chengzhong Wu) https://github.com/nodejs/node/pull/58470
  * (SEMVER-MAJOR) remove deprecated node::InitializeNodeWithArgs (Chengzhong Wu) https://github.com/nodejs/node/pull/58470
  * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 138 (Michaël Zasso) https://github.com/nodejs/node/pull/58064
src,permission:
  * (SEMVER-MAJOR) add --allow-net permission (Rafael Gonzaga) https://github.com/nodejs/node/pull/58517
test:
  * (SEMVER-MAJOR) update cppgc-object addon config (StefanStojanovic) https://github.com/nodejs/node/pull/59805
  * (SEMVER-MAJOR) spin longer for sequential/test-worker-prof (Michaël Zasso) https://github.com/nodejs/node/pull/59805
  * (SEMVER-MAJOR) remove `--always-turbofan` flag (Michaël Zasso) https://github.com/nodejs/node/pull/59805
  * (SEMVER-MAJOR) update snapshot for V8 14.1 (Michaël Zasso) https://github.com/nodejs/node/pull/59805
test,win:
  * (SEMVER-MAJOR) split addon tests (StefanStojanovic) https://github.com/nodejs/node/pull/59805
tls:
  * (SEMVER-MAJOR) move IP-address servername deprecation to eol (James M Snell) https://github.com/nodejs/node/pull/58533
tools:
  * (SEMVER-MAJOR) update V8 gypfiles for 14.0 (Michaël Zasso) https://github.com/nodejs/node/pull/59805
  * (SEMVER-MAJOR) update V8 gypfiles for 13.9 (Michaël Zasso) https://github.com/nodejs/node/pull/59805
  * (SEMVER-MAJOR) update V8 gypfiles for 13.8 (Michaël Zasso) https://github.com/nodejs/node/pull/59805
  * (SEMVER-MAJOR) enable leaptiering for aix/ibmi (Abdirahim Musse) https://github.com/nodejs/node/pull/59805
  * (SEMVER-MAJOR) update V8 gypfiles for 13.7 (Michaël Zasso) https://github.com/nodejs/node/pull/58064
url:
  * (SEMVER-MAJOR) move bad port deprecation in legacy url to end-of-life (James M Snell) https://github.com/nodejs/node/pull/58617
util,console:
  * (SEMVER-MAJOR) colorize regexp groups, character classes, etc (Ruben Bridgewater) https://github.com/nodejs/node/pull/59710
worker:
  * (SEMVER-MAJOR) move terminate callback to end-of-life (James M Snell) https://github.com/nodejs/node/pull/58528

PR-URL: https://github.com/nodejs/node/pull/59896
Signed-off-by: RafaelGSS <rafael.nunu@hotmail.com>
2025-10-15 13:27:47 -03:00
Node.js GitHub Bot
ce72fccc9d 2025-09-25, Version 24.9.0 (Current)
Notable changes:

http:
  * (SEMVER-MINOR) add shouldUpgradeCallback to let servers control HTTP upgrades (Tim Perry) https://github.com/nodejs/node/pull/59824
sqlite:
  * (SEMVER-MINOR) cleanup ERM support and export Session class (James M Snell) https://github.com/nodejs/node/pull/58378
  * (SEMVER-MINOR) add tagged template (0hm☘️) https://github.com/nodejs/node/pull/58748
worker:
  * (SEMVER-MINOR) add heap profile API (theanarkh) https://github.com/nodejs/node/pull/59846

PR-URL: https://github.com/nodejs/node/pull/59997
2025-09-25 21:40:51 +02:00
Anna Henningsen
0ec1d186f4 src: always use strong reference to napi_async_context resource
There already is an existing requirement to have matching calls of
`napi_async_init()` and `napi_async_destroy()`, so expecting users
of this API to manually hold onto the resource for the duration of
the `napi_async_context`'s lifetime is unnecessary.

Weak callbacks are generally useful for when a corresponding C++
object should be cleaned up when a JS object is gargbage-collected,
but that is not the case here.

PR-URL: https://github.com/nodejs/node/pull/59828
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2025-09-22 14:16:10 +00:00
Mert Can Altin
f1a8f447d7 node-api: added SharedArrayBuffer api
PR-URL: https://github.com/nodejs/node/pull/59071
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2025-09-16 09:57:06 +00:00
Chengzhong Wu
5ced518860 node-api: link to other programming language bindings
PR-URL: https://github.com/nodejs/node/pull/59516
Refs: https://github.com/nodejs/node/pull/59498
Reviewed-By: Vladimir Morozov <vmorozov@microsoft.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2025-08-22 10:57:45 +00:00
Chengzhong Wu
1d7bea7395 node-api: clarify enum value ABI stability
PR-URL: https://github.com/nodejs/node/pull/59085
Refs: https://github.com/nodejs/node/pull/58879
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Vladimir Morozov <vmorozov@microsoft.com>
2025-08-18 08:58:45 +00:00
Chengzhong Wu
0629a175c0 node-api,doc: update links to ecma262 with section names
Section numbers can change over time. Use the section names as the link
text for better readability.

Also, use https://tc39.es/ecma262/ as the unified host of living version
of ECMA-262.

PR-URL: https://github.com/nodejs/node/pull/59087
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Vladimir Morozov <vmorozov@microsoft.com>
2025-07-18 12:45:52 +00:00
Jiacai Liu
54fa74fba9 doc: punctuation fix for Node-API versioning clarification
PR-URL: https://github.com/nodejs/node/pull/58599
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2025-06-12 21:12:33 +00:00
Tobias Nießen
acb3d922cb doc: clarify napi_get_value_string_* for bufsize 0
PR-URL: https://github.com/nodejs/node/pull/58158
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2025-05-12 17:07:53 +00:00
Michael Dawson
ca74d64afd doc: clarify behaviour of node-api adjust function
Refs: https://github.com/nodejs/node/pull/57351
- based on recent request to update one of the tests

Signed-off-by: Michael Dawson <midawson@redhat.com>
PR-URL: https://github.com/nodejs/node/pull/57463
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Vladimir Morozov <vmorozov@microsoft.com>
2025-03-28 15:17:07 +00:00
Chengzhong Wu
64f6a2fc4d doc: update node-api version matrix
PR-URL: https://github.com/nodejs/node/pull/57287
Fixes: https://github.com/nodejs/node/issues/57284
Refs: https://github.com/nodejs/node/pull/55676
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Vladimir Morozov <vmorozov@microsoft.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2025-03-05 10:10:10 +00:00
Gabriel Schulhof
c5aa8b8ef1 node-api: define version 10
Notable runtime changes to existing APIs:
- returning `node_api_cannot_run_js` instead of
  `napi_pending_exception`.
- allow creating references to objects, functions, and symbols.

PR-URL: https://github.com/nodejs/node/pull/55676
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2024-12-31 16:29:50 +00:00
Ruy Adorno
7924ea3518 2024-12-03, Version 22.12.0 'Jod' (LTS)
Notable changes:

assert:
  * (SEMVER-MINOR) make assertion_error use Myers diff algorithm (Giovanni Bucci) https://github.com/nodejs/node/pull/54862
buffer:
  * (SEMVER-MINOR) make Buffer work with resizable ArrayBuffer (James M Snell) https://github.com/nodejs/node/pull/55377
crypto:
  * update root certificates to NSS 3.104 (Richard Lau) https://github.com/nodejs/node/pull/55681
doc:
  * enforce strict policy to semver-major releases (Rafael Gonzaga) https://github.com/nodejs/node/pull/55732
  * add jazelly to collaborators (Jason Zhang) https://github.com/nodejs/node/pull/55531
esm:
  * mark import attributes and JSON module as stable (Nicolò Ribaudo) https://github.com/nodejs/node/pull/55333
http:
  * (SEMVER-MINOR) add diagnostic channel `http.client.request.created` (Marco Ippolito) https://github.com/nodejs/node/pull/55586
lib:
  * (SEMVER-MINOR) add UV_UDP_REUSEPORT for udp (theanarkh) https://github.com/nodejs/node/pull/55403
module:
  * (SEMVER-MINOR) unflag --experimental-require-module (Joyee Cheung) https://github.com/nodejs/node/pull/55085
net:
  * (SEMVER-MINOR) add UV_TCP_REUSEPORT for tcp (theanarkh) https://github.com/nodejs/node/pull/55408
sqlite:
  * (SEMVER-MINOR) add support for SQLite Session Extension (Bart Louwers) https://github.com/nodejs/node/pull/54181
tools:
  * fix root certificate updater (Richard Lau) https://github.com/nodejs/node/pull/55681

PR-URL: https://github.com/nodejs/node/pull/56040
2024-12-03 14:44:27 -05:00
RafaelGSS
fa8f149c0a 2024-10-16, Version 23.0.0 (Current)
Semver-Major Commits:

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

PR-URL: https://github.com/nodejs/node/pull/55338
2024-10-16 11:05:01 -03:00
Mert Can Altin
fdf838aee6 node-api: add napi_create_buffer_from_arraybuffer method
PR-URL: https://github.com/nodejs/node/pull/54505
Fixes: https://github.com/nodejs/node/issues/54440
Reviewed-By: Robert Nagy <ronagy@icloud.com>
Reviewed-By: Gabriel Schulhof <gabrielschulhof@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Vladimir Morozov <vmorozov@microsoft.com>
2024-10-11 15:21:57 +00:00
Michaël Zasso
784eb2c281 2024-10-03, Version 20.18.0 'Iron' (LTS)
Notable changes:

buffer:
  * optimize createFromString (Robert Nagy) https://github.com/nodejs/node/pull/54324
inspector:
  * (SEMVER-MINOR) support `Network.loadingFailed` event (Kohei Ueno) https://github.com/nodejs/node/pull/54246
  * (SEMVER-MINOR) add initial support for network inspection (Kohei Ueno) https://github.com/nodejs/node/pull/53593
lib:
  * (SEMVER-MINOR) add EventSource Client (Aras Abbasi) https://github.com/nodejs/node/pull/51575
repl:
  * doc-deprecate instantiating `node:repl` classes without `new` (Aviv Keller) https://github.com/nodejs/node/pull/54842
src,lib:
  * (SEMVER-MINOR) add performance.uvMetricsInfo (Rafael Gonzaga) https://github.com/nodejs/node/pull/54413
test_runner:
  * (SEMVER-MINOR) support module mocking (Colin Ihrig) https://github.com/nodejs/node/pull/52848
tls:
  * (SEMVER-MINOR) add `allowPartialTrustChain` flag (Anna Henningsen) https://github.com/nodejs/node/pull/54790
url:
  * (SEMVER-MINOR) implement parse method for safer URL parsing (Ali Hassan) https://github.com/nodejs/node/pull/52280
vm:
  * (SEMVER-MINOR) introduce vanilla contexts via vm.constants.DONT_CONTEXTIFY (Joyee Cheung) https://github.com/nodejs/node/pull/54394
zlib:
  * deprecate instantiating classes without new (Yagiz Nizipli) https://github.com/nodejs/node/pull/54708

PR-URL: https://github.com/nodejs/node/pull/55170
2024-10-03 19:54:20 +02:00
RafaelGSS
e49cf7acfb 2024-09-17, Version 22.9.0 (Current)
Notable changes:

lib:
  * (SEMVER-MINOR) add util.getCallSite() API (Rafael Gonzaga) https://github.com/nodejs/node/pull/54380
repl:
  * doc-deprecate instantiating `node:repl` classes without `new` (Aviv Keller) https://github.com/nodejs/node/pull/54842
src:
  * create handle scope in FastInternalModuleStat (Joyee Cheung) https://github.com/nodejs/node/pull/54384
stream:
  * (SEMVER-MINOR) relocate the status checking code in the onwritecomplete (YoonSoo_Shin) https://github.com/nodejs/node/pull/54032
tls:
  * (SEMVER-MINOR) add `allowPartialTrustChain` flag (Anna Henningsen) https://github.com/nodejs/node/pull/54790
v8:
  * Revert "v8: enable maglev on supported architectures (Joyee Cheung) https://github.com/nodejs/node/pull/54384

PR-URL: https://github.com/nodejs/node/pull/54966
2024-09-17 17:58:54 -03:00
Mert Can Altin
75e4d0df8f node-api: add support for UTF-8 and Latin-1 property keys
PR-URL: https://github.com/nodejs/node/pull/52984
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Vladimir Morozov <vmorozov@microsoft.com>
2024-09-13 13:01:52 -07:00
Gabriel Schulhof
2d1b4a8cf7 node-api: rename nogc to basic
Signed-off-by: Gabriel Schulhof <gabrielschulhof@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/53830
Reviewed-By: Vladimir Morozov <vmorozov@microsoft.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2024-07-26 09:25:02 -07:00
Michael Dawson
eb54c54bf5 doc: recommend not using libuv node-api function
- update documentation recommend not using the
  napi_get_uv_event_loop  function. It should not be
  need for most if not all uses cases now that the
  API is more complete.

Signed-off-by: Michael Dawson <midawson@redhat.com>
PR-URL: https://github.com/nodejs/node/pull/53521
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Gabriel Schulhof <gabrielschulhof@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
2024-06-24 15:29:21 -04:00
Emmanuel Ferdman
2c77be5488 doc: update the location of build_with_cmake
PR-URL: https://github.com/nodejs/node/pull/52356
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2024-04-07 20:34:28 +00:00
Rich Trott
756acd0877 doc: use consistent plural form of "index"
Our documentation uses both "indices" and "indexes" as the plural form
of "index". The Microsoft Style Guide, which we've adopted for
documentation, says to use "indexes" so let's standardize on that.

Ref: https://learn.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/i/index-indexes-indices
PR-URL: https://github.com/nodejs/node/pull/52373
Refs: https://learn.microsoft.com/en-us/style-guide/a-z-word-list-term-collections/i/index-indexes-indices
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
2024-04-07 06:46:29 +00:00
Richard Lau
6d2d3f17ba 2024-03-26, Version 20.12.0 'Iron' (LTS)
Notable changes:

build:
  * (SEMVER-MINOR) build opt to set local location of headers (Michael Dawson) https://github.com/nodejs/node/pull/51525
crypto:
  * (SEMVER-MINOR) implement crypto.hash() (Joyee Cheung) https://github.com/nodejs/node/pull/51044
  * update root certificates to NSS 3.98 (Node.js GitHub Bot) https://github.com/nodejs/node/pull/51794
doc:
  * add lemire to collaborators (Daniel Lemire) https://github.com/nodejs/node/pull/51572
  * add zcbenz to collaborators (Cheng Zhao) https://github.com/nodejs/node/pull/51812
lib:
  * (SEMVER-MINOR) move encodingsMap to internal/util (Joyee Cheung) https://github.com/nodejs/node/pull/51044
sea:
  * (SEMVER-MINOR) support sea.getRawAsset() (Joyee Cheung) https://github.com/nodejs/node/pull/50960
  * (SEMVER-MINOR) support embedding assets (Joyee Cheung) https://github.com/nodejs/node/pull/50960
src:
  * (SEMVER-MINOR) print string content better in BlobDeserializer (Joyee Cheung) https://github.com/nodejs/node/pull/50960
util:
  * (SEMVER-MINOR) add styleText API to text formatting (Rafael Gonzaga) https://github.com/nodejs/node/pull/51850
vm:
  * (SEMVER-MINOR) support using the default loader to handle dynamic import() (Joyee Cheung) https://github.com/nodejs/node/pull/51244

PR-URL: https://github.com/nodejs/node/pull/52212
2024-03-26 17:42:38 +00:00
Richard Lau
b9dc2a3243 2024-03-26, Version 18.20.0 'Hydrogen' (LTS)
Notable changes:

Added support for import attributes:

Support has been added for import attributes, to replace the old import
assertions syntax. This will aid migration by making the new syntax
available across all currently supported Node.js release lines.

For more details, see

* [#50134](https://github.com/nodejs/node/issues/50134)
* [#51622](https://github.com/nodejs/node/issues/51622)

Doc deprecation for `dirent.path`:

Please use newly added `dirent.parentPath` instead.

Experimental node-api feature flags

Introduces an experimental feature to segregate finalizers that affect GC state.
A new type called `node_api_nogc_env` has been introduced as the const version
of `napi_env` and `node_api_nogc_finalize` as a variant of `napi_finalize` that
accepts a `node_api_nogc_env` as its first argument.

This feature can be turned off by defining
`NODE_API_EXPERIMENTAL_NOGC_ENV_OPT_OUT`.

Root certificates updated to NSS 3.98:

Certificates added:

* Telekom Security TLS ECC Root 2020
* Telekom Security TLS RSA Root 2023

Certificates removed:

* Security Communication Root CA

Updated dependencies:

* ada updated to 2.7.6.
* base64 updated to 0.5.2.
* c-ares updated to 1.27.0.
* corepack updated to 0.25.2.
* ICU updated to 74.2. Includes CLDR 44.1 and Unicode 15.1.
* npm updated to 10.5.0. Fixes a regression in signals not being passed onto child processes.
* simdutf8 updated to 4.0.8.
* Timezone updated to 2024a.
* zlib updated to 1.3.0.1-motley-40e35a7.

vm: fix V8 compilation cache support for vm.Script:

Previously repeated compilation of the same source code using `vm.Script`
stopped hitting the V8 compilation cache after v16.x when support for
`importModuleDynamically` was added to `vm.Script`, resulting in a performance
regression that blocked users (in particular Jest users) from upgrading from
v16.x.

The recent fixes allow the compilation cache to be hit again
for `vm.Script` when `--experimental-vm-modules` is not used even in the
presence of the `importModuleDynamically` option, so that users affected by the
performance regression can now upgrade. Ongoing work is also being done to
enable compilation cache support for `vm.CompileFunction`.

PR-URL: https://github.com/nodejs/node/pull/52165
2024-03-26 17:31:12 +00:00
marco-ippolito
2246cd9735 2024-03-06, Version 21.7.0 (Current)
Notable changes:

build:
  * (SEMVER-MINOR) build opt to set local location of headers (Michael Dawson) https://github.com/nodejs/node/pull/51525
crypto:
  * (SEMVER-MINOR) implement crypto.hash() (Joyee Cheung) https://github.com/nodejs/node/pull/51044
  * update root certificates to NSS 3.98 (Node.js GitHub Bot) https://github.com/nodejs/node/pull/51794
doc:
  * add zcbenz to collaborators (Cheng Zhao) https://github.com/nodejs/node/pull/51812
  * add lemire to collaborators (Daniel Lemire) https://github.com/nodejs/node/pull/51572
http2:
  * (SEMVER-MINOR) add h2 compat support for appendHeader (Tim Perry) https://github.com/nodejs/node/pull/51412
  * (SEMVER-MINOR) add server handshake utility (snek) https://github.com/nodejs/node/pull/51172
  * (SEMVER-MINOR) receive customsettings (Marten Richter) https://github.com/nodejs/node/pull/51323
lib:
  * (SEMVER-MINOR) move encodingsMap to internal/util (Joyee Cheung) https://github.com/nodejs/node/pull/51044
sea:
  * (SEMVER-MINOR) support sea.getRawAsset() (Joyee Cheung) https://github.com/nodejs/node/pull/50960
  * (SEMVER-MINOR) support embedding assets (Joyee Cheung) https://github.com/nodejs/node/pull/50960
src:
  * (SEMVER-MINOR) print string content better in BlobDeserializer (Joyee Cheung) https://github.com/nodejs/node/pull/50960
  * (SEMVER-MINOR) support multi-line values for .env file (IlyasShabi) https://github.com/nodejs/node/pull/51289
  * (SEMVER-MINOR) add `process.loadEnvFile` and `util.parseEnv` (Yagiz Nizipli) https://github.com/nodejs/node/pull/51476
  * (SEMVER-MINOR) do not coerce dotenv paths (Tobias Nießen) https://github.com/nodejs/node/pull/51425
stream:
  * (SEMVER-MINOR) implement `min` option for `ReadableStreamBYOBReader.read` (Mattias Buelens) https://github.com/nodejs/node/pull/50888
util:
  * (SEMVER-MINOR) add styleText API to text formatting (Rafael Gonzaga) https://github.com/nodejs/node/pull/51850
vm:
  * (SEMVER-MINOR) support using the default loader to handle dynamic import() (Joyee Cheung) https://github.com/nodejs/node/pull/51244

PR-URL: https://github.com/nodejs/node/pull/51932
2024-03-06 15:35:16 -03:00
RafaelGSS
e133e5115a 2024-01-15, Version 21.6.0 (Current)
Notable changes:

doc:
  * (SEMVER-MINOR) add documentation for --build-snapshot-config (Anna Henningsen) https://github.com/nodejs/node/pull/50453
lib,src,permission:
  * (SEMVER-MINOR) port path.resolve to C++ (Rafael Gonzaga) https://github.com/nodejs/node/pull/50758
net:
  * (SEMVER-MINOR) add connection attempt events (Paolo Insogna) https://github.com/nodejs/node/pull/51045
src:
  * (SEMVER-MINOR) support configurable snapshot (Joyee Cheung) https://github.com/nodejs/node/pull/50453
src,permission:
  * (SEMVER-MINOR) add --allow-addon flag (Rafael Gonzaga) https://github.com/nodejs/node/pull/51183
timers:
  * (SEMVER-MINOR) export timers.promises (Marco Ippolito) https://github.com/nodejs/node/pull/51246

PR-URL: https://github.com/nodejs/node/pull/51342
Signed-off-by: RafaelGSS <rafael.nunu@hotmail.com>
2024-01-15 11:50:31 -03:00
Mert Can Altın
59e7444766 node-api: optimize napi_set_property for perf
PR-URL: https://github.com/nodejs/node/pull/50282
Reviewed-By: Vladimir Morozov <vmorozov@microsoft.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2024-01-05 14:47:20 -05:00
Gabriel Schulhof
7a216d5fd6 node-api: segregate nogc APIs from rest via type system
We define a new type called `node_api_nogc_env` as the `const` version
of `napi_env` and `node_api_nogc_finalize` as a variant of
`napi_finalize` that accepts a `node_api_nogc_env` as its first
argument.

We then modify those APIs which do not affect GC state as accepting a
`node_api_nogc_env`. APIs accepting finalizer callbacks are modified to
accept `node_api_nogc_finalize` callbacks. Thus, the only way to attach
a `napi_finalize` callback, wherein Node-APIs affecting GC state may be
called is to call `node_api_post_finalizer` from a
`node_api_nogc_finalize` callback.

In keeping with the process of introducing new Node-APIs, this feature
is guarded by `NAPI_EXPERIMENTAL`. Since this feature modifies APIs
already marked as stable, it is additionally guared by
`NODE_API_EXPERIMENTAL_NOGC_ENV`, so as to provide a further buffer to
adoption. Nevertheless, both guards must be removed upon releasing a
new version of Node-API.

PR-URL: https://github.com/nodejs/node/pull/50060
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Vladimir Morozov <vmorozov@microsoft.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2023-12-19 07:37:15 +00:00
Michaël Zasso
8787acb1e6 2023-11-29, Version 18.19.0 'Hydrogen' (LTS)
Notable changes:

deps:
  * (SEMVER-MINOR) update uvwasi to 0.0.19 (Node.js GitHub Bot) https://github.com/nodejs/node/pull/49908
  * (SEMVER-MINOR) upgrade npm to 10.2.3 (npm team) https://github.com/nodejs/node/pull/50531
doc:
  * move and rename loaders section (Geoffrey Booth) https://github.com/nodejs/node/pull/49261
esm:
  * use import attributes instead of import assertions (Antoine du Hamel) https://github.com/nodejs/node/pull/50140
  * --experimental-default-type flag to flip module defaults (Geoffrey Booth) https://github.com/nodejs/node/pull/49869
  * unflag import.meta.resolve (Guy Bedford) https://github.com/nodejs/node/pull/49028
  * move hook execution to separate thread (Jacob Smith) https://github.com/nodejs/node/pull/44710
  * leverage loaders when resolving subsequent loaders (Maël Nison) https://github.com/nodejs/node/pull/43772
lib:
  * (SEMVER-MINOR) add api to detect whether source-maps are enabled (翠 / green) https://github.com/nodejs/node/pull/46391
  * (SEMVER-MINOR) add tracing channel to diagnostics_channel (Stephen Belanger) https://github.com/nodejs/node/pull/44943
src:
  * (SEMVER-MINOR) add cjs_module_lexer_version base64_version (Jithil P Ponnan) https://github.com/nodejs/node/pull/45629
stream:
  * use bitmap in readable state (Benjamin Gruenbaum) https://github.com/nodejs/node/pull/49745
test_runner:
  * (SEMVER-MINOR) accept `testOnly` in `run` (Moshe Atlow) https://github.com/nodejs/node/pull/49753
  * (SEMVER-MINOR) add junit reporter (Moshe Atlow) https://github.com/nodejs/node/pull/49614
  * (SEMVER-MINOR) expose location of tests (Colin Ihrig) https://github.com/nodejs/node/pull/48975
  * (SEMVER-MINOR) add shards support (Raz Luvaton) https://github.com/nodejs/node/pull/48639
  * (SEMVER-MINOR) add initial draft for fakeTimers (Erick Wendel) https://github.com/nodejs/node/pull/47775
test_runner, cli:
  * (SEMVER-MINOR) add --test-concurrency flag (Colin Ihrig) https://github.com/nodejs/node/pull/49996
tls:
  * (SEMVER-MINOR) add ALPNCallback server option for dynamic ALPN negotiation (Tim Perry) https://github.com/nodejs/node/pull/45190
vm:
  * (SEMVER-MINOR) use import attributes instead of import assertions (Antoine du Hamel) https://github.com/nodejs/node/pull/50141

PR-URL: https://github.com/nodejs/node/pull/50953
2023-11-29 18:11:08 +01:00
Michaël Zasso
a9bd735adf 2023-11-22, Version 20.10.0 'Iron' (LTS)
Notable changes:

deps:
  * (SEMVER-MINOR) update uvwasi to 0.0.19 (Node.js GitHub Bot) https://github.com/nodejs/node/pull/49908
doc:
  * add H4ad to collaborators (Vinícius Lourenço) https://github.com/nodejs/node/pull/50217
esm:
  * (SEMVER-MINOR) detect ESM syntax in ambiguous JavaScript (Geoffrey Booth) https://github.com/nodejs/node/pull/50096
  * use import attributes instead of import assertions (Antoine du Hamel) https://github.com/nodejs/node/pull/50140
  * --experimental-default-type flag to flip module defaults (Geoffrey Booth) https://github.com/nodejs/node/pull/49869
fs:
  * (SEMVER-MINOR) add flush option to appendFile() functions (Colin Ihrig) https://github.com/nodejs/node/pull/50095
  * add flush option to writeFile() functions (Colin Ihrig) https://github.com/nodejs/node/pull/50009
lib:
  * (SEMVER-MINOR) add WebSocket client (Matthew Aitken) https://github.com/nodejs/node/pull/49830
stream:
  * (SEMVER-MINOR) allow pass stream class to `stream.compose` (Alex Yang) https://github.com/nodejs/node/pull/50187
  * call helper function from push and unshift (Raz Luvaton) https://github.com/nodejs/node/pull/50173
  * optimize Writable (Robert Nagy) https://github.com/nodejs/node/pull/50012
test_runner, cli:
  * (SEMVER-MINOR) add --test-concurrency flag (Colin Ihrig) https://github.com/nodejs/node/pull/49996
vm:
  * (SEMVER-MINOR) use import attributes instead of import assertions (Antoine du Hamel) https://github.com/nodejs/node/pull/50141
  * use default HDO when importModuleDynamically is not set (Joyee Cheung) https://github.com/nodejs/node/pull/49950
wasi:

PR-URL: https://github.com/nodejs/node/pull/50682
2023-11-22 16:03:13 +01:00
Michael Dawson
7d306671cc doc: add information about Node-API versions >=9
Signed-off-by: Michael Dawson <midawson@redhat.com>
PR-URL: https://github.com/nodejs/node/pull/50168
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2023-10-25 18:14:17 -04:00
RafaelGSS
ed16a46481 2023-10-17, Version 21.0.0 (Current)
Notable Changes:

doc:
  * promote fetch/webstreams from experimental to stable (Steven) https://github.com/nodejs/node/pull/45684
esm:
  * use import attributes instead of import assertions (Antoine du Hamel) https://github.com/nodejs/node/pull/50140
  * --experimental-default-type flag to flip module defaults (Geoffrey Booth) https://github.com/nodejs/node/pull/49869
  * remove `globalPreload` hook (superseded by `initialize`) (Jacob Smith) https://github.com/nodejs/node/pull/49144
fs:
  * add flush option to writeFile() functions (Colin Ihrig) https://github.com/nodejs/node/pull/50009
  * (SEMVER-MAJOR) add globSync implementation (Moshe Atlow) https://github.com/nodejs/node/pull/47653
http:
  * (SEMVER-MAJOR) reduce parts in chunked response when corking (Robert Nagy) https://github.com/nodejs/node/pull/50167
lib:
  * (SEMVER-MINOR) add WebSocket client (Matthew Aitken) https://github.com/nodejs/node/pull/49830
  * (SEMVER-MAJOR) add `navigator.hardwareConcurrency` (Yagiz Nizipli) https://github.com/nodejs/node/pull/47769
stream:
  * optimize Writable (Robert Nagy) https://github.com/nodejs/node/pull/50012
test_runner:
  * (SEMVER-MAJOR) support passing globs (Moshe Atlow) https://github.com/nodejs/node/pull/47653
vm:
  * use default HDO when importModuleDynamically is not set (Joyee Cheung) https://github.com/nodejs/node/pull/49950

Semver-Major Commits:

* (SEMVER-MAJOR) build: drop support for Visual Studio 2019 (Michaël Zasso) https://github.com/nodejs/node/pull/49051
* (SEMVER-MAJOR) build: bump supported macOS and Xcode versions (Michaël Zasso) https://github.com/nodejs/node/pull/49164
* (SEMVER-MAJOR) crypto: do not overwrite \_writableState.defaultEncoding (Tobias Nießen) https://github.com/nodejs/node/pull/49140
* (SEMVER-MAJOR) deps: bump minimum ICU version to 73 (Michaël Zasso) https://github.com/nodejs/node/pull/49639
* (SEMVER-MAJOR) deps: update V8 to 11.8.172.13 (Michaël Zasso) https://github.com/nodejs/node/pull/49639
* (SEMVER-MAJOR) deps: update llhttp to 9.1.2 (Paolo Insogna) https://github.com/nodejs/node/pull/48981
* (SEMVER-MAJOR) events: validate options of `on` and `once` (Deokjin Kim) https://github.com/nodejs/node/pull/46018
* (SEMVER-MAJOR) fs: adjust `position` validation in reading methods (Livia Medeiros) https://github.com/nodejs/node/pull/42835
* (SEMVER-MAJOR) fs: add globSync implementation (Moshe Atlow) https://github.com/nodejs/node/pull/47653
* (SEMVER-MAJOR) http: reduce parts in chunked response when corking (Robert Nagy) https://github.com/nodejs/node/pull/50167
* (SEMVER-MAJOR) lib: mark URL/URLSearchParams as uncloneable and untransferable (Chengzhong Wu) https://github.com/nodejs/node/pull/47497
* (SEMVER-MAJOR) lib: remove aix directory case for package reader (Yagiz Nizipli) https://github.com/nodejs/node/pull/48605
* (SEMVER-MAJOR) lib: add `navigator.hardwareConcurrency` (Yagiz Nizipli) https://github.com/nodejs/node/pull/47769
* (SEMVER-MAJOR) lib: runtime deprecate punycode (Yagiz Nizipli) https://github.com/nodejs/node/pull/47202
* (SEMVER-MAJOR) module: harmonize error code between ESM and CJS (Antoine du Hamel) https://github.com/nodejs/node/pull/48606
* (SEMVER-MAJOR) net: do not treat `server.maxConnections=0` as `Infinity` (ignoramous) https://github.com/nodejs/node/pull/48276
* (SEMVER-MAJOR) net: only defer \_final call when connecting (Jason Zhang) https://github.com/nodejs/node/pull/47385
* (SEMVER-MAJOR) node-api: rename internal NAPI\_VERSION definition (Chengzhong Wu) https://github.com/nodejs/node/pull/48501
* (SEMVER-MAJOR) src: update NODE\_MODULE\_VERSION to 120 (Michaël Zasso) https://github.com/nodejs/node/pull/49639
* (SEMVER-MAJOR) src: throw DOMException on cloning non-serializable objects (Chengzhong Wu) https://github.com/nodejs/node/pull/47839
* (SEMVER-MAJOR) src: throw DataCloneError on transfering untransferable objects (Chengzhong Wu) https://github.com/nodejs/node/pull/47604
* (SEMVER-MAJOR) stream: use private properties for strategies (Yagiz Nizipli) https://github.com/nodejs/node/pull/47218
* (SEMVER-MAJOR) stream: use private properties for encoding (Yagiz Nizipli) https://github.com/nodejs/node/pull/47218
* (SEMVER-MAJOR) stream: use private properties for compression (Yagiz Nizipli) https://github.com/nodejs/node/pull/47218
* (SEMVER-MAJOR) test\_runner: disallow array in `run` options (Raz Luvaton) https://github.com/nodejs/node/pull/49935
* (SEMVER-MAJOR) test\_runner: support passing globs (Moshe Atlow) https://github.com/nodejs/node/pull/47653
* (SEMVER-MAJOR) tls: use `validateNumber` for `options.minDHSize` (Deokjin Kim) https://github.com/nodejs/node/pull/49973
* (SEMVER-MAJOR) tls: use validateFunction for `options.checkServerIdentity` (Deokjin Kim) https://github.com/nodejs/node/pull/49896
* (SEMVER-MAJOR) util: runtime deprecate `promisify`-ing a function returning a `Promise` (Antoine du Hamel) https://github.com/nodejs/node/pull/49609
* (SEMVER-MAJOR) vm: freeze `dependencySpecifiers` array (Antoine du Hamel) https://github.com/nodejs/node/pull/49720

PR-URL: https://github.com/nodejs/node/pull/49870
Co-authored-by: Michaël Zasso <targos@protonmail.com>
2023-10-17 12:45:37 -03:00
Vladimir Morozov
b38e312486 node-api: run finalizers directly from GC
PR-URL: https://github.com/nodejs/node/pull/42651
Reviewed-By: Gabriel Schulhof <gabrielschulhof@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2023-10-03 10:06:01 -04:00
Chengzhong Wu
77597d3aea node-api: enable uncaught exceptions policy by default
This enables the option `--force-node-api-uncaught-exceptions-policy`
for a specific Node-API addon when it is compiled with
`NAPI_EXPERIMENTAL` (and this would be the default behavior when
`NAPI_VERSION` 10 releases). This would not break existing Node-API
addons.

PR-URL: https://github.com/nodejs/node/pull/49313
Refs: https://github.com/nodejs/node/pull/36510
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Gabriel Schulhof <gabrielschulhof@gmail.com>
2023-09-25 04:23:58 +00:00
Ruy Adorno
78ab0eebd1 2023-09-18, Version 18.18.0 'Hydrogen' (LTS)
Notable changes:

build:
  * sync libuv header change (Jiawen Geng) https://github.com/nodejs/node/pull/48078
crypto:
  * update root certificates to NSS 3.93 (Node.js GitHub Bot) https://github.com/nodejs/node/pull/49341
  * update root certificates to NSS 3.90 (Node.js GitHub Bot) https://github.com/nodejs/node/pull/48416
deps:
  * add missing thread-common.c in uv.gyp (Santiago Gimeno) https://github.com/nodejs/node/pull/48078
  * upgrade to libuv 1.46.0 (Santiago Gimeno) https://github.com/nodejs/node/pull/48078
  * upgrade to libuv 1.45.0 (Santiago Gimeno) https://github.com/nodejs/node/pull/48078
doc:
  * add atlowChemi to collaborators (atlowChemi) https://github.com/nodejs/node/pull/48757
  * add vmoroz to collaborators (Vladimir Morozov) https://github.com/nodejs/node/pull/48527
  * add kvakil to collaborators (Keyhan Vakil) https://github.com/nodejs/node/pull/48449
esm:
  * (SEMVER-MINOR) add `--import` flag (Moshe Atlow) https://github.com/nodejs/node/pull/43942
events:
  * (SEMVER-MINOR) allow safely adding listener to abortSignal (Chemi Atlow) https://github.com/nodejs/node/pull/48596
fs, stream:
  * initial `Symbol.dispose` and `Symbol.asyncDispose` support (Moshe Atlow) https://github.com/nodejs/node/pull/48518
net:
  * add autoSelectFamily global getter and setter (Paolo Insogna) https://github.com/nodejs/node/pull/45777
url:
  * (SEMVER-MINOR) add value argument to has and delete methods (Sankalp Shubham) https://github.com/nodejs/node/pull/47885

PR-URL: https://github.com/nodejs/node/pull/49220
2023-09-18 17:39:17 -04:00
Chengzhong Wu
f9a182c67c doc: fix node-api call example
The `return` statement should not be enclosed in a nested conditional
branch.

PR-URL: https://github.com/nodejs/node/pull/49395
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com>
Reviewed-By: Harshitha K P <harshitha014@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2023-08-31 16:29:19 +00:00
Fedor Indutny
62b2cf30f2 doc: clarify use of Uint8Array for n-api
`napi_get_buffer_info` always supported receiving `Uint8Array` as a
`value` argument because `node::Buffer` is a subclass of `Uint8Array`
and the underlying V8 APIs don't distinguish between two. With this
change we mark both types as supported by the API so that the user code
doesn't have to unknowingly use oficially unsupported type of the
`value` argument.

PR-URL: https://github.com/nodejs/node/pull/48742
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Gabriel Schulhof <gabrielschulhof@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2023-08-21 18:12:09 +00:00
Tobias Nießen
c4bbf0a094 doc: fix wording in napi_async_init
Refs: https://github.com/nodejs/node/pull/32930
PR-URL: https://github.com/nodejs/node/pull/49180
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2023-08-17 19:05:44 +00:00
Michael Dawson
5cbf73ec9c doc: add ver of 18.x where Node-api 9 is supported
Signed-off-by: Michael Dawson <mdawson@devrus.com>
PR-URL: https://github.com/nodejs/node/pull/48876
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2023-07-24 19:44:26 +00:00
Michael Dawson
38cc538453 doc: refactor node-api support matrix
- refactor table so that it does not grow for
  every new version of Node.js
- refer to latest version of table as the canonical
  reference
- add info for Node-API v9

Refs: https://github.com/nodejs/node/issues/48277

Signed-off-by: Michael Dawson <mdawson@devrus.com>
PR-URL: https://github.com/nodejs/node/pull/48774
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2023-07-19 00:06:45 +00:00
RafaelGSS
8fc3851da7 2023-07-05, Version 20.4.0 (Current)
Notable changes:

crypto:
  * update root certificates to NSS 3.90 (Node.js GitHub Bot) https://github.com/nodejs/node/pull/48416
doc:
  * add vmoroz to collaborators (Vladimir Morozov) https://github.com/nodejs/node/pull/48527
  * add kvakil to collaborators (Keyhan Vakil) https://github.com/nodejs/node/pull/48449
fs, stream:
  * initial `Symbol.dispose` and `Symbol.asyncDispose` support (Moshe Atlow) https://github.com/nodejs/node/pull/48518
test_runner:
  * (SEMVER-MINOR) add initial draft for fakeTimers (Erick Wendel) https://github.com/nodejs/node/pull/47775
tls:
  * (SEMVER-MINOR) add ALPNCallback server option for dynamic ALPN negotiation (Tim Perry) https://github.com/nodejs/node/pull/45190

PR-URL: https://github.com/nodejs/node/pull/48643
2023-07-05 10:51:42 -03:00
Gabriel Schulhof
60d9aed307 node-api: implement external strings
Introduce APIs that allow for the creation of JavaScript strings without
copying the underlying native string into the engine. The APIs fall back
to regular string creation if the engine's external string APIs are
unavailable. In this case, an optional boolean out-parameter indicates
that the string was copied, and the optional finalizer is called if
given.

PR-URL: https://github.com/nodejs/node/pull/48339
Fixes: https://github.com/nodejs/node/issues/48198
Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com>
Signed-off-by: Gabriel Schulhof <gabrielschulhof@gmail.com>
2023-06-13 21:54:03 -07:00
Michael Dawson
1da9099ac9 doc: add additional info on TSFN dispatch
Refs: https://github.com/nodejs/node/issues/48356

Signed-off-by: Michael Dawson <mdawson@devrus.com>

PR-URL: https://github.com/nodejs/node/pull/48367
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2023-06-12 14:30:37 -04:00
Chengzhong Wu
66f112d8e9 node-api: define version 9
PR-URL: https://github.com/nodejs/node/pull/48151
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Gabriel Schulhof <gabrielschulhof@gmail.com>
2023-06-02 09:50:26 +00:00