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
Gabriel Schulhof
19fa9f1bc4
node-api: add status napi_cannot_run_js
...
Add the new status in order to distinguish a state wherein an exception
is pending from one wherein the engine is unable to execute JS. We take
advantage of the new runtime add-on version reporting in order to remain
forward compatible with add-ons that do not expect the new status code.
PR-URL: https://github.com/nodejs/node/pull/47986
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Signed-off-by: Gabriel Schulhof <gabrielschulhof@gmail.com>
2023-05-20 07:39:12 -07:00
Vladimir Morozov
0063669cce
node-api: napi_ref on all types is experimental
...
PR-URL: https://github.com/nodejs/node/pull/47975
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2023-05-18 15:51:59 -04:00
Vladimir Morozov
c542d3a1d3
node-api: get Node API version used by addon
...
PR-URL: https://github.com/nodejs/node/pull/45715
Reviewed-By: Gabriel Schulhof <gabrielschulhof@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2023-05-05 11:00:27 -04:00
Mohammed Keyvanzadeh
32e478d7c3
doc: fix typos
...
PR-URL: https://github.com/nodejs/node/pull/47685
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Debadree Chatterjee <debadree333@gmail.com>
Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com>
2023-04-23 13:34:08 +00:00
Gabriel Schulhof
b4365c161c
node-api: extend type-tagging to externals
...
Since externals behave as JavaScript objects on the JavaScript side,
allow them to be type-tagged.
Signed-off-by: Gabriel Schulhof <gabrielschulhof@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/47141
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2023-03-22 04:47:08 +00:00
Chengzhong Wu
2984cc38da
node-api: document node-api shutdown finalization
...
As status quo, the cleanup hooks are invoked before the `napi_finalize`
callbacks at the exit of Node.js environments. This gives addons a
chance to release their resource in a proper order manually.
Document this behavior explicitly to advocate the usage on cleanup
hooks instead of relying on the implied invocation of `napi_finalize`
callbacks at shutdown.
PR-URL: https://github.com/nodejs/node/pull/45903
Fixes: https://github.com/nodejs/node/issues/45088
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2023-03-20 09:58:31 +00:00
Kevin Eady
09aed324b1
doc: add Node-API media link
...
PR-URL: https://github.com/nodejs/node/pull/46189
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2023-01-15 21:08:45 +00:00
Danielle Adams
0593b699b8
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
2023-01-05 19:57:23 -05:00
Chengzhong Wu
198d2037f1
node-api: disambiguate napi_add_finalizer
...
napi_add_finalizer doesn't support any operations related to
napi_wrap. Remove the ambiguous statements in the doc about
napi_wrap and avoid reusing the v8impl::Wrap call.
PR-URL: https://github.com/nodejs/node/pull/45401
Reviewed-By: Michael Dawson <midawson@redhat.com>
2023-01-04 18:56:12 +08:00
Ruy Adorno
1bbd14eac2
2022-11-29, Version 19.2.0 (Current)
...
Notable changes:
buffer:
* (SEMVER-MINOR) introduce File (Khafra) https://github.com/nodejs/node/pull/45139
deps:
* update timezone to 2022f (Node.js GitHub Bot) https://github.com/nodejs/node/pull/45289
* update V8 to 10.8.168.20 (Michaël Zasso) https://github.com/nodejs/node/pull/45230
doc:
* deprecate use of invalid ports in `url.parse` (Antoine du Hamel) https://github.com/nodejs/node/pull/45576
util:
* add fast path for utf8 encoding (Yagiz Nizipli) https://github.com/nodejs/node/pull/45412
PR-URL: https://github.com/nodejs/node/pull/45615
2022-11-29 14:10:05 -05:00
Chengzhong Wu
62cde6195f
node-api: declare type napi_cleanup_hook
...
Declare type `napi_cleanup_hook` so that the function signature can be
shared across the codebase.
PR-URL: https://github.com/nodejs/node/pull/45391
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com>
2022-11-19 17:31:36 +00:00
Antoine du Hamel
c6dabe3083
doc: add lint rule to enforce trailing commas
...
PR-URL: https://github.com/nodejs/node/pull/45471
Reviewed-By: Jacob Smith <jacob@frende.me>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Geoffrey Booth <webadmin@geoffreybooth.com>
Reviewed-By: Trivikram Kamat <trivikr.dev@gmail.com>
2022-11-17 13:19:12 +00:00
Michael Dawson
09ae62b9a8
node-api: handle no support for external buffers
...
Refs: https://github.com/electron/electron/issues/35801
Refs: https://github.com/nodejs/abi-stable-node/issues/441
Electron recently dropped support for external
buffers. Provide a way for addon authors to:
- hide the methods to create external buffers so they can
avoid using them if they want the broadest compatibility.
- call the methods that create external buffers at runtime
to check if external buffers are supported and either
use them or not based on the return code.
Signed-off-by: Michael Dawson <mdawson@devrus.com>
PR-URL: https://github.com/nodejs/node/pull/45181
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Minwoo Jung <nodecorelab@gmail.com>
2022-11-09 13:30:43 -05:00
Daeyeon Jeong
e58c7ccc97
doc: fix description for napi_get_cb_info()
in n-api.md
...
Signed-off-by: Daeyeon Jeong <daeyeon.dev@gmail.com>
PR-URL: https://github.com/nodejs/node/pull/44761
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2022-09-26 02:36:30 +00:00
theanarkh
12e62ea785
doc: fix style of n-api.md
...
PR-URL: https://github.com/nodejs/node/pull/44377
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Daeyeon Jeong <daeyeon.dev@gmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Adrian Estrada <edsadr@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
2022-08-25 00:53:49 +00:00
Joyee Cheung
472edc775d
src: disambiguate terms used to refer to builtins and addons
...
The term "native module" dates back to some of the oldest code
in the code base. Within the context of Node.js core it usually
refers to modules that are native to Node.js (e.g. fs, http),
but it can cause confusion for people who don't work on this
part of the code base, as "native module" can also refer to
native addons - which is even the case in some of the API
docs and error messages.
This patch tries to make the usage of these terms more consistent.
Now within the context of Node.js core:
- JavaScript scripts that are built-in to Node.js are now referred
to as "built-in(s)". If they are available as modules,
they can also be referred to as "built-in module(s)".
- Dynamically-linked shared objects that are loaded into
the Node.js processes are referred to as "addons".
We will try to avoid using the term "native modules" because it could
be ambiguous.
Changes in this patch:
File names:
- node_native_module.h -> node_builtins.h,
- node_native_module.cc -> node_builtins.cc
C++ binding names:
- `native_module` -> `builtins`
`node::Environment`:
- `native_modules_without_cache` -> `builtins_without_cache`
- `native_modules_with_cache` -> `builtins_with_cache`
- `native_modules_in_snapshot` -> `builtins_in_cache`
- `native_module_require` -> `builtin_module_require`
`node::EnvSerializeInfo`:
- `native_modules` -> `builtins
`node::native_module::NativeModuleLoader`:
- `native_module` namespace -> `builtins` namespace
- `NativeModuleLoader` -> `BuiltinLoader`
- `NativeModuleRecordMap` -> `BuiltinSourceMap`
- `NativeModuleCacheMap` -> `BuiltinCodeCacheMap`
- `ModuleIds` -> `BuiltinIds`
- `ModuleCategories` -> `BuiltinCategories`
- `LoadBuiltinModuleSource` -> `LoadBuiltinSource`
`loader.js`:
- `NativeModule` -> `BuiltinModule` (the `NativeModule` name used in
`process.moduleLoadList` is kept for compatibility)
And other clarifications in the documentation and comments.
PR-URL: https://github.com/nodejs/node/pull/44135
Fixes: https://github.com/nodejs/node/issues/44036
Reviewed-By: Jacob Smith <jacob@frende.me>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Jan Krems <jan.krems@gmail.com>
2022-08-09 01:36:49 +08:00
Danielle Adams
0818b525ad
doc: fix napi version for node_api_symbol_for
...
PR-URL: https://github.com/nodejs/node/pull/42878
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2022-05-27 13:55:40 -04:00
NickNaso
01408a5aa8
doc: mark some node-api functions as experimental
...
PR-URL: https://github.com/nodejs/node/pull/42987
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Darshan Sen <raisinten@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2022-05-11 01:35:01 +08:00
Danielle Adams
3120691b35
2022-04-26, Version 16.15.0 'Gallium' (LTS)
...
Notable changes:
Add fetch API
Adds experimental support to the fetch API. This adds the `--experimental-fetch`
flag that installs the `fetch`, `Request`, `Response`, `Headers`, and `FormData`
globals.
* (SEMVER-MINOR) add fetch (Michaël Zasso) https://github.com/nodejs/node/pull/41749
* (SEMVER-MINOR) add FormData global when fetch is enabled (Michaël Zasso) https://github.com/nodejs/node/pull/41956
Other notable changes
* build:
* remove broken x32 arch support (Ben Noordhuis) https://github.com/nodejs/node/pull/41905
* crypto:
* (SEMVER-MINOR) add KeyObject.prototype.equals method (Filip Skokan) https://github.com/nodejs/node/pull/42093
* doc:
* add @ShogunPanda to collaborators (Paolo Insogna) https://github.com/nodejs/node/pull/42362
* add JakobJingleheimer to collaborators list (Jacob Smith) https://github.com/nodejs/node/pull/42185
* add joesepi to collaborators (Joe Sepi) https://github.com/nodejs/node/pull/41914
* add marsonya to collaborators (Akhil Marsonya) https://github.com/nodejs/node/pull/41991
* deprecate string coercion in `fs.write`, `fs.writeFileSync` (Livia
Medeiros) https://github.com/nodejs/node/pull/42149
* deprecate notice for process methods (Yash Ladha) https://github.com/nodejs/node/pull/41587
* esm:
* (SEMVER-MINOR) support https remotely and http locally under flag
(Bradley Farias) https://github.com/nodejs/node/pull/36328
* module:
* (SEMVER-MINOR) unflag esm json modules (Geoffrey Booth) https://github.com/nodejs/node/pull/41736
* node-api:
* (SEMVER-MINOR) add node_api_symbol_for() (Darshan Sen) https://github.com/nodejs/node/pull/41329
* process:
* deprecate multipleResolves (Benjamin Gruenbaum) https://github.com/nodejs/node/pull/41872
* stream:
* (SEMVER-MINOR) support some and every (Benjamin Gruenbaum) https://github.com/nodejs/node/pull/41573
* (SEMVER-MINOR) add toArray (Benjamin Gruenbaum) https://github.com/nodejs/node/pull/41553
* (SEMVER-MINOR) add forEach method (Benjamin Gruenbaum) https://github.com/nodejs/node/pull/41445
PR-URL: https://github.com/nodejs/node/pull/42847
2022-04-26 21:00:36 -04:00