Commit Graph

419 Commits

Author SHA1 Message Date
Marco Ippolito
7a6185d2fb
2024-07-24, Version 20.16.0 'Iron' (LTS)
Notable changes:

buffer:
  * (SEMVER-MINOR) add .bytes() method to Blob (Matthew Aitken) https://github.com/nodejs/node/pull/53221
doc:
  * doc-only deprecate OpenSSL engine-based APIs (Richard Lau) https://github.com/nodejs/node/pull/53329
  * (SEMVER-MINOR) add context.assert docs (Colin Ihrig) https://github.com/nodejs/node/pull/53169
  * (SEMVER-MINOR) improve explanation about built-in modules (Joyee Cheung) https://github.com/nodejs/node/pull/52762
  * add StefanStojanovic to collaborators (StefanStojanovic) https://github.com/nodejs/node/pull/53118
  * add Marco Ippolito to TSC (Rafael Gonzaga) https://github.com/nodejs/node/pull/53008
inspector:
  * fix disable async hooks on Debugger.setAsyncCallStackDepth (Joyee Cheung) https://github.com/nodejs/node/pull/53473
net:
  * (SEMVER-MINOR) add new net.server.listen tracing channel (Paolo Insogna) https://github.com/nodejs/node/pull/53136
process:
  * (SEMVER-MINOR) add process.getBuiltinModule(id) (Joyee Cheung) https://github.com/nodejs/node/pull/52762
src,permission:
  * (SEMVER-MINOR) --allow-wasi & prevent WASI exec (Rafael Gonzaga) https://github.com/nodejs/node/pull/53124
test_runner:
  * (SEMVER-MINOR) add context.fullName (Colin Ihrig) https://github.com/nodejs/node/pull/53169
util:
  * (SEMVER-MINOR) support `--no-` for argument with boolean type for parseArgs (Zhenwei Jin) https://github.com/nodejs/node/pull/53107

PR-URL: https://github.com/nodejs/node/pull/53945
2024-07-24 14:06:09 +02:00
Tobias Nießen
3a3dfbde14
doc: clarify authenticity of plaintexts in update
PR-URL: https://github.com/nodejs/node/pull/53784
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
2024-07-11 13:40:39 +00:00
Michaël Zasso
056f055f38
2024-07-02, Version 22.4.0 (Current)
Notable changes:

deps,lib,src:
  * (SEMVER-MINOR) add experimental web storage (Colin Ihrig) https://github.com/nodejs/node/pull/52435
doc:
  * move `node --run` stability to rc (Yagiz Nizipli) https://github.com/nodejs/node/pull/53433
  * mark WebSocket as stable (Matthew Aitken) https://github.com/nodejs/node/pull/53352
  * mark --heap-prof and related flags stable (Joyee Cheung) https://github.com/nodejs/node/pull/53343
  * mark --cpu-prof and related flags stable (Joyee Cheung) https://github.com/nodejs/node/pull/53343
  * doc-only deprecate OpenSSL engine-based APIs (Richard Lau) https://github.com/nodejs/node/pull/53329
inspector:
  * fix disable async hooks on Debugger.setAsyncCallStackDepth (Joyee Cheung) https://github.com/nodejs/node/pull/53473
lib:
  * (SEMVER-MINOR) add diagnostics_channel events to module loading (RafaelGSS) https://github.com/nodejs/node/pull/44340
util:
  * (SEMVER-MINOR) support `--no-` for argument with boolean type for parseArgs (Zhenwei Jin) https://github.com/nodejs/node/pull/53107

PR-URL: https://github.com/nodejs/node/pull/53583
2024-07-02 10:50:11 +02:00
Richard Lau
5291b0e1e6
doc: doc-only deprecate OpenSSL engine-based APIs
OpenSSL 3 deprecated support for custom engines with a recommendation
to switch to its new provider model.

PR-URL: https://github.com/nodejs/node/pull/53329
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2024-06-07 16:10:47 +00:00
marco-ippolito
9a1df15ee7 2024-05-07, Version 20.13.0 'Iron' (LTS)
Notable changes:

benchmark:
  * add AbortSignal.abort benchmarks (Raz Luvaton) https://github.com/nodejs/node/pull/52408
buffer:
  * improve `base64` and `base64url` performance (Yagiz Nizipli) https://github.com/nodejs/node/pull/52428
crypto:
  * deprecate implicitly shortened GCM tags (Tobias Nießen) https://github.com/nodejs/node/pull/52345
deps:
  * (SEMVER-MINOR) update simdutf to 5.0.0 (Daniel Lemire) https://github.com/nodejs/node/pull/52138
  * (SEMVER-MINOR) update undici to 6.3.0 (Node.js GitHub Bot) https://github.com/nodejs/node/pull/51462
  * (SEMVER-MINOR) update undici to 6.2.1 (Node.js GitHub Bot) https://github.com/nodejs/node/pull/51278
dns:
  * (SEMVER-MINOR) add order option and support ipv6first (Paolo Insogna) https://github.com/nodejs/node/pull/52492
doc:
  * update release gpg keyserver (marco-ippolito) https://github.com/nodejs/node/pull/52257
  * add release key for marco-ippolito (marco-ippolito) https://github.com/nodejs/node/pull/52257
  * add UlisesGascon as a collaborator (Ulises Gascón) https://github.com/nodejs/node/pull/51991
  * (SEMVER-MINOR) deprecate fs.Stats public constructor (Marco Ippolito) https://github.com/nodejs/node/pull/51879
events,doc:
  * mark CustomEvent as stable (Daeyeon Jeong) https://github.com/nodejs/node/pull/52618
fs:
  * add stacktrace to fs/promises (翠 / green) https://github.com/nodejs/node/pull/49849
lib, url:
  * (SEMVER-MINOR) add a `windows` option to path parsing (Aviv Keller) https://github.com/nodejs/node/pull/52509
net:
  * (SEMVER-MINOR) add CLI option for autoSelectFamilyAttemptTimeout (Paolo Insogna) https://github.com/nodejs/node/pull/52474
report:
  * (SEMVER-MINOR) add `--report-exclude-network` option (Ethan Arrowood) https://github.com/nodejs/node/pull/51645
src:
  * (SEMVER-MINOR) add `string_view` overload to snapshot FromBlob (Anna Henningsen) https://github.com/nodejs/node/pull/52595
  * (SEMVER-MINOR) add C++ ProcessEmitWarningSync() (Joyee Cheung) https://github.com/nodejs/node/pull/51977
  * (SEMVER-MINOR) add uv_get_available_memory to report and process (theanarkh) https://github.com/nodejs/node/pull/52023
  * (SEMVER-MINOR) preload function for Environment (Cheng Zhao) https://github.com/nodejs/node/pull/51539
stream:
  * (SEMVER-MINOR) support typed arrays (IlyasShabi) https://github.com/nodejs/node/pull/51866
test_runner:
  * (SEMVER-MINOR) add suite() (Colin Ihrig) https://github.com/nodejs/node/pull/52127
  * (SEMVER-MINOR) add `test:complete` event to reflect execution order (Moshe Atlow) https://github.com/nodejs/node/pull/51909
util:
  * (SEMVER-MINOR) support array of formats in util.styleText (Marco Ippolito) https://github.com/nodejs/node/pull/52040
v8:
  * (SEMVER-MINOR) implement v8.queryObjects() for memory leak regression testing (Joyee Cheung) https://github.com/nodejs/node/pull/51927
watch:
  * mark as stable (Moshe Atlow) https://github.com/nodejs/node/pull/52074

PR-URL: https://github.com/nodejs/node/pull/52793
2024-05-07 17:32:24 +02:00
RafaelGSS
d40d21c6b4 2024-04-24, Version 22.0.0 (Current)
Semver-Major Commits:

build:
  * (SEMVER-MAJOR) compile with C++20 support on Windows (StefanStojanovic) https://github.com/nodejs/node/pull/52465
  * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) https://github.com/nodejs/node/pull/52465
  * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) https://github.com/nodejs/node/pull/52293
  * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) https://github.com/nodejs/node/pull/51362
  * (SEMVER-MAJOR) reset embedder string to "-node.0" (Michaël Zasso) https://github.com/nodejs/node/pull/50115
console:
  * (SEMVER-MAJOR) treat non-strings as separate argument in console.assert() (Jacob Hummer) https://github.com/nodejs/node/pull/49722
crypto:
  * (SEMVER-MAJOR) runtime deprecate hmac constructor (Marco Ippolito) https://github.com/nodejs/node/pull/52071
  * (SEMVER-MAJOR) runtime deprecate Hash constructor (Marco Ippolito) https://github.com/nodejs/node/pull/51880
  * (SEMVER-MAJOR) move createCipher and createDecipher to eol (Marco Ippolito) https://github.com/nodejs/node/pull/50973
deps:
  * (SEMVER-MAJOR) V8: cherry-pick cd10ad7cdbe5 (Joyee Cheung) https://github.com/nodejs/node/pull/52465
  * (SEMVER-MAJOR) V8: revert CL 5331688 (Michaël Zasso) https://github.com/nodejs/node/pull/52465
  * (SEMVER-MAJOR) patch V8 to support compilation with MSVC (StefanStojanovic) https://github.com/nodejs/node/pull/52465
  * (SEMVER-MAJOR) silence internal V8 deprecation warning (Michaël Zasso) https://github.com/nodejs/node/pull/52465
  * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) https://github.com/nodejs/node/pull/52465
  * (SEMVER-MAJOR) remove usage of a C++20 feature from V8 (Michaël Zasso) https://github.com/nodejs/node/pull/52465
  * (SEMVER-MAJOR) avoid compilation error with ASan (Michaël Zasso) https://github.com/nodejs/node/pull/52465
  * (SEMVER-MAJOR) disable V8 concurrent sparkplug compilation (Michaël Zasso) https://github.com/nodejs/node/pull/52465
  * (SEMVER-MAJOR) silence irrelevant V8 warning (Michaël Zasso) https://github.com/nodejs/node/pull/52465
  * (SEMVER-MAJOR) always define V8_EXPORT_PRIVATE as no-op (Michaël Zasso) https://github.com/nodejs/node/pull/52465
  * (SEMVER-MAJOR) update V8 to 12.4.254.14 (Michaël Zasso) https://github.com/nodejs/node/pull/52465
  * (SEMVER-MAJOR) V8: cherry-pick cd10ad7cdbe5 (Joyee Cheung) https://github.com/nodejs/node/pull/52293
  * (SEMVER-MAJOR) V8: backport c4be0a97f981 (Richard Lau) https://github.com/nodejs/node/pull/52293
  * (SEMVER-MAJOR) silence internal V8 deprecation warning (Michaël Zasso) https://github.com/nodejs/node/pull/52293
  * (SEMVER-MAJOR) patch V8 to support compilation with MSVC (Stefan Stojanovic) https://github.com/nodejs/node/pull/52293
  * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) https://github.com/nodejs/node/pull/52293
  * (SEMVER-MAJOR) remove usage of a C++20 feature from V8 (Michaël Zasso) https://github.com/nodejs/node/pull/52293
  * (SEMVER-MAJOR) avoid compilation error with ASan (Michaël Zasso) https://github.com/nodejs/node/pull/52293
  * (SEMVER-MAJOR) disable V8 concurrent sparkplug compilation (Michaël Zasso) https://github.com/nodejs/node/pull/52293
  * (SEMVER-MAJOR) silence irrelevant V8 warning (Michaël Zasso) https://github.com/nodejs/node/pull/52293
  * (SEMVER-MAJOR) always define V8_EXPORT_PRIVATE as no-op (Michaël Zasso) https://github.com/nodejs/node/pull/52293
  * (SEMVER-MAJOR) update V8 to 12.3.219.16 (Michaël Zasso) https://github.com/nodejs/node/pull/52293
  * (SEMVER-MAJOR) V8: backport c4be0a97f981 (Richard Lau) https://github.com/nodejs/node/pull/51362
  * (SEMVER-MAJOR) V8: cherry-pick f8d5e576b814 (Richard Lau) https://github.com/nodejs/node/pull/51362
  * (SEMVER-MAJOR) patch V8 to support compilation with MSVC (StefanStojanovic) https://github.com/nodejs/node/pull/51362
  * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) https://github.com/nodejs/node/pull/51362
  * (SEMVER-MAJOR) remove usage of a C++20 feature from V8 (Michaël Zasso) https://github.com/nodejs/node/pull/51362
  * (SEMVER-MAJOR) avoid compilation error with ASan (Michaël Zasso) https://github.com/nodejs/node/pull/51362
  * (SEMVER-MAJOR) disable V8 concurrent sparkplug compilation (Michaël Zasso) https://github.com/nodejs/node/pull/51362
  * (SEMVER-MAJOR) silence irrelevant V8 warning (Michaël Zasso) https://github.com/nodejs/node/pull/51362
  * (SEMVER-MAJOR) always define V8_EXPORT_PRIVATE as no-op (Michaël Zasso) https://github.com/nodejs/node/pull/51362
  * (SEMVER-MAJOR) update V8 to 12.2.281.27 (Michaël Zasso) https://github.com/nodejs/node/pull/51362
  * (SEMVER-MAJOR) V8: cherry-pick de611e69ad51 (Keyhan Vakil) https://github.com/nodejs/node/pull/50115
  * (SEMVER-MAJOR) V8: cherry-pick 0fd478bcdabd (Joyee Cheung) https://github.com/nodejs/node/pull/50115
  * (SEMVER-MAJOR) V8: cherry-pick 0f9ebbc672c7 (Chengzhong Wu) https://github.com/nodejs/node/pull/50115
  * (SEMVER-MAJOR) V8: cherry-pick 8f0b94671ddb (Lu Yahan) https://github.com/nodejs/node/pull/50115
  * (SEMVER-MAJOR) V8: cherry-pick f7d000a7ae7b (Luke Albao) https://github.com/nodejs/node/pull/50115
  * (SEMVER-MAJOR) V8: cherry-pick 25902244ad1a (Joyee Cheung) https://github.com/nodejs/node/pull/50115
  * (SEMVER-MAJOR) patch V8 to avoid duplicated zlib symbol (Michaël Zasso) https://github.com/nodejs/node/pull/50115
  * (SEMVER-MAJOR) remove usage of a C++20 feature from V8 (Michaël Zasso) https://github.com/nodejs/node/pull/50115
  * (SEMVER-MAJOR) avoid compilation error with ASan (Michaël Zasso) https://github.com/nodejs/node/pull/50115
  * (SEMVER-MAJOR) disable V8 concurrent sparkplug compilation (Michaël Zasso) https://github.com/nodejs/node/pull/50115
  * (SEMVER-MAJOR) silence irrelevant V8 warning (Michaël Zasso) https://github.com/nodejs/node/pull/50115
  * (SEMVER-MAJOR) always define V8_EXPORT_PRIVATE as no-op (Michaël Zasso) https://github.com/nodejs/node/pull/50115
  * (SEMVER-MAJOR) update V8 to 11.9.169.7 (Michaël Zasso) https://github.com/nodejs/node/pull/50115
doc:
  * (SEMVER-MAJOR) runtime deprecate flag --trace-atomics-wait (marco-ippolito) https://github.com/nodejs/node/pull/51179
  * (SEMVER-MAJOR) bump FreeBSD experimental support to 13.2 (Michaël Zasso) https://github.com/nodejs/node/pull/51231
  * (SEMVER-MAJOR) add migration paths for deprecated utils (Marco Ippolito) https://github.com/nodejs/node/pull/50488
fs:
  * (SEMVER-MAJOR) runtime deprecate fs.Stats constructor (Marco Ippolito) https://github.com/nodejs/node/pull/52067
  * (SEMVER-MAJOR) use private fields instead of symbols for `Dir` (Jungku Lee) https://github.com/nodejs/node/pull/51037
  * (SEMVER-MAJOR) make stats date fields lazy (Yagiz Nizipli) https://github.com/nodejs/node/pull/50908
http:
  * (SEMVER-MAJOR) preserve raw header duplicates in writeHead after setHeader calls (Tim Perry) https://github.com/nodejs/node/pull/50394
lib:
  * (SEMVER-MAJOR) enable WebSocket by default (Aras Abbasi) https://github.com/nodejs/node/pull/51594
lib,test:
  * (SEMVER-MAJOR) handle new Iterator global (Michaël Zasso) https://github.com/nodejs/node/pull/51362
process:
  * (SEMVER-MAJOR) wait for `'exit'` before printing result (Antoine du Hamel) https://github.com/nodejs/node/pull/52172
src:
  * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 127 (Michaël Zasso) https://github.com/nodejs/node/pull/52465
  * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 126 (Michaël Zasso) https://github.com/nodejs/node/pull/52293
  * (SEMVER-MAJOR) use supported API to get stalled TLA messages (Michaël Zasso) https://github.com/nodejs/node/pull/51362
  * (SEMVER-MAJOR) update default V8 platform to override functions with location (Etienne Pierre-Doray) https://github.com/nodejs/node/pull/51362
  * (SEMVER-MAJOR) add missing TryCatch (Michaël Zasso) https://github.com/nodejs/node/pull/51362
  * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 124 (Michaël Zasso) https://github.com/nodejs/node/pull/51362
  * (SEMVER-MAJOR) use non-deprecated v8::Uint8Array::kMaxLength (Michaël Zasso) https://github.com/nodejs/node/pull/50115
  * (SEMVER-MAJOR) adapt to v8::Exception API change (Michaël Zasso) https://github.com/nodejs/node/pull/50115
  * (SEMVER-MAJOR) use non-deprecated version of CreateSyntheticModule (Michaël Zasso) https://github.com/nodejs/node/pull/50115
  * (SEMVER-MAJOR) update NODE_MODULE_VERSION to 122 (Michaël Zasso) https://github.com/nodejs/node/pull/50115
stream:
  * (SEMVER-MAJOR) bump default highWaterMark (Robert Nagy) https://github.com/nodejs/node/pull/52037
test:
  * (SEMVER-MAJOR) mark test-worker-arraybuffer-zerofill as flaky (Michaël Zasso) https://github.com/nodejs/node/pull/51362
  * (SEMVER-MAJOR) mark some GC-related tests as flaky (Michaël Zasso) https://github.com/nodejs/node/pull/51362
  * (SEMVER-MAJOR) allow slightly more diff in memory leak test (Michaël Zasso) https://github.com/nodejs/node/pull/51362
  * (SEMVER-MAJOR) replace always-opt flag with alway-turbofan (Michaël Zasso) https://github.com/nodejs/node/pull/50115
  * (SEMVER-MAJOR) remove tests that create very large buffers (Michaël Zasso) https://github.com/nodejs/node/pull/50115
  * (SEMVER-MAJOR) adapt to new V8 trusted memory spaces (Michaël Zasso) https://github.com/nodejs/node/pull/50115
test_runner:
  * (SEMVER-MAJOR) omit filtered test from output (Colin Ihrig) https://github.com/nodejs/node/pull/52221
  * (SEMVER-MAJOR) improve `--test-name-pattern` to allow matching single test (Michał Drobniak) https://github.com/nodejs/node/pull/51577
tools:
  * (SEMVER-MAJOR) update V8 gypfiles for 12.4 (Michaël Zasso) https://github.com/nodejs/node/pull/52465
  * (SEMVER-MAJOR) roughly port v8_abseil to gyp (Michaël Zasso) https://github.com/nodejs/node/pull/51362
  * (SEMVER-MAJOR) update V8 gypfiles for 12.2 (Michaël Zasso) https://github.com/nodejs/node/pull/51362
  * (SEMVER-MAJOR) update V8 gypfiles for 12.1 (Michaël Zasso) https://github.com/nodejs/node/pull/51362
  * (SEMVER-MAJOR) update V8 gypfiles for 12.0 (Michaël Zasso) https://github.com/nodejs/node/pull/51362
trace_events:
  * (SEMVER-MAJOR) use private fields instead of symbols for `Tracing` (Jungku Lee) https://github.com/nodejs/node/pull/51180
util:
  * (SEMVER-MAJOR) runtime deprecate util.log (Marco Ippolito) https://github.com/nodejs/node/pull/50488
  * (SEMVER-MAJOR) runtime deprecate util.isUndefined (Marco Ippolito) https://github.com/nodejs/node/pull/50488
  * (SEMVER-MAJOR) runtime deprecate util.isSymbol (Marco Ippolito) https://github.com/nodejs/node/pull/50488
  * (SEMVER-MAJOR) runtime deprecate util.isString (Marco Ippolito) https://github.com/nodejs/node/pull/50488
  * (SEMVER-MAJOR) runtime deprecate util.isRegExp (Marco Ippolito) https://github.com/nodejs/node/pull/50488
  * (SEMVER-MAJOR) runtime deprecate util.isPrimitive (Marco Ippolito) https://github.com/nodejs/node/pull/50488
  * (SEMVER-MAJOR) runtime deprecate util.isObject (Marco Ippolito) https://github.com/nodejs/node/pull/50488
  * (SEMVER-MAJOR) runtime deprecate util.isNumber (Marco Ippolito) https://github.com/nodejs/node/pull/50488
  * (SEMVER-MAJOR) runtime deprecate util.isNullOrUndefined (Marco Ippolito) https://github.com/nodejs/node/pull/50488
  * (SEMVER-MAJOR) runtime deprecate util.isNull (Marco Ippolito) https://github.com/nodejs/node/pull/50488
  * (SEMVER-MAJOR) runtime deprecate util.isFunction (Marco Ippolito) https://github.com/nodejs/node/pull/50488
  * (SEMVER-MAJOR) runtime deprecate util.isError (Marco Ippolito) https://github.com/nodejs/node/pull/50488
  * (SEMVER-MAJOR) runtime deprecate util.isDate (Marco Ippolito) https://github.com/nodejs/node/pull/50488
  * (SEMVER-MAJOR) runtime deprecation util.isBuffer (Marco Ippolito) https://github.com/nodejs/node/pull/50488
  * (SEMVER-MAJOR) runtime deprecation util.isBoolean (Marco Ippolito) https://github.com/nodejs/node/pull/50488
  * (SEMVER-MAJOR) runtime deprecate util.isArray (Marco Ippolito) https://github.com/nodejs/node/pull/50488
  * (SEMVER-MAJOR) runtime deprecation util._extend (Marco Ippolito) https://github.com/nodejs/node/pull/50488
v8:
  * (SEMVER-MAJOR) enable maglev on supported architectures (Keyhan Vakil) https://github.com/nodejs/node/pull/51360

PR-URL: https://github.com/nodejs/node/pull/52505
Co-Authored-By: Marco Ippolito <marcoippolito54@gmail.com>
2024-04-24 15:20:02 -03:00
Tobias Nießen
ff826069a8
crypto: move DEP0182 to runtime deprecation
This introduces a runtime deprecation for using GCM authentication tags
that are shorter than the cipher's block size, unless the user
specified the authTagLength option. This behavior has been doc-only
deprecated since 8f61b658de.

Refs: https://github.com/nodejs/node/issues/52327
Refs: https://github.com/nodejs/node/pull/52345
PR-URL: https://github.com/nodejs/node/pull/52552
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
2024-04-23 14:38:06 +00:00
Tobias Nießen
8f61b658de
crypto: deprecate implicitly shortened GCM tags
This introduces a doc-only deprecation of using GCM authentication tags
that are shorter than the cipher's block size, unless the user specified
the authTagLength option.

Refs: https://github.com/nodejs/node/issues/52327
PR-URL: https://github.com/nodejs/node/pull/52345
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2024-04-10 08:16:33 +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
Jamie King
454d0806a1
doc: remove ableist language from crypto
PR-URL: https://github.com/nodejs/node/pull/52063
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Akhil Marsonya <akhil.marsonya27@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2024-03-17 12:10:27 +00:00
fengmk2
57d2e4881c
doc: remove ArrayBuffer from crypto.hash() data parameter type
PR-URL: https://github.com/nodejs/node/pull/52069
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Chengzhong Wu <legendecas@gmail.com>
2024-03-13 15:56:33 +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
Joyee Cheung
d96606d9aa
doc: add stability index to crypto.hash()
PR-URL: https://github.com/nodejs/node/pull/51978
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2024-03-05 20:12:28 +00:00
Joyee Cheung
4c46439fe9 crypto: implement crypto.hash()
This patch introduces a helper crypto.hash() that computes
a digest from the input at one shot. This can be 1.2-1.6x faster
than the object-based createHash() for smaller inputs (<= 5MB)
that are readily available (not streamed) and incur less memory
overhead since no intermediate objects will be created.

PR-URL: https://github.com/nodejs/node/pull/51044
Refs: https://github.com/nodejs/performance/issues/136
Reviewed-By: Vinícius Lourenço Claro Cardoso <contact@viniciusl.com.br>
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
2024-02-27 13:27:19 +01:00
Tobias Nießen
57f9298090 doc,crypto: further clarify RSA_PKCS1_PADDING support
PR-URL: https://github.com/nodejs/node/pull/51799
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Michael Dawson <midawson@redhat.com>
2024-02-20 10:23:54 -05:00
Filip Skokan
fe2299089d
doc,crypto: add changelog and note about disabled RSA_PKCS1_PADDING
PR-URL: https://github.com/nodejs/node/pull/51782
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
2024-02-18 15:04:19 +00:00
Dmitry Semigradsky
bf39716735
doc: updates for better json generating
PR-URL: https://github.com/nodejs/node/pull/51592
Reviewed-By: Chemi Atlow <chemi@atlow.co.il>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
2024-02-13 21:37:42 +00:00
Rich Trott
7afaf463d4
doc: remove ambiguous 'considered'
PR-URL: https://github.com/nodejs/node/pull/51207
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
2023-12-20 18:45:58 +00:00
Marco Ippolito
215f4d04b7
crypto: move createCipher and createDecipher to eol
PR-URL: https://github.com/nodejs/node/pull/50973
Reviewed-By: Yagiz Nizipli <yagiz.nizipli@sentry.io>
Reviewed-By: James M Snell <jasnell@gmail.com>
2023-12-15 14:00:52 +00:00
Antoine du Hamel
5dd7ba66ad
doc: get rid of unnecessary eslint-skip comments
PR-URL: https://github.com/nodejs/node/pull/50829
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Ethan Arrowood <ethan@arrowood.dev>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Paolo Insogna <paolo@cowtech.it>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
2023-11-22 19:03:33 +00:00
Daniel Meechan
a9a477812e
doc: update Crypto API doc for x509.keyUsage
PR-URL: https://github.com/nodejs/node/pull/50603
Refs: https://github.com/nodejs/node/issues/48727
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
2023-11-20 15:48:07 +00:00
Tobias Nießen
56c3263049
doc: update outdated reference to NIST SP 800-131A
NIST SP 800-131A Rev. 1 has been withdrawn. Replace the reference with a
link to NIST SP 800-131A Rev. 2.

PR-URL: https://github.com/nodejs/node/pull/49316
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
2023-08-26 21:11:21 +00:00
Tobias Nießen
460c19f226
doc: avoid "not currently recommended"
Compromised algorithms will never again be recommended, so remove the
qualifier "currently".

PR-URL: https://github.com/nodejs/node/pull/49300
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: LiviaMedeiros <livia@cirno.name>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
2023-08-25 20:08:17 +00:00
Tobias Nießen
4a82c8fda0 doc,test: clarify behavior of DH generateKeys
The DiffieHellman class is an old and thin wrapper around certain
OpenSSL functions, many of which are deprecated in OpenSSL 3.0. Because
the Node.js API mirrors the OpenSSL API, it adopts some of its
peculiarities, but the Node.js documentation does not properly reflect
these. Most importantly, despite the documentation saying otherwise,
diffieHellman.generateKeys() does not generate a new private key when
one has already been set or generated. Based on the documentation alone,
users may be led to misuse the API in a way that results in key reuse,
which can have drastic negative consequences for subsequent operations
that consume the shared secret.

These design issues in this old API have been around for many years, and
we are not currently aware of any misuse in the ecosystem that falls
into the above scenario. Changing the behavior of the API would be a
significant breaking change and is thus not appropriate for a security
release (nor is it a goal.) The reported issue is treated as CWE-1068
(after a vast amount of uncertainty whether to treat it as a
vulnerability at all), therefore, this change only updates the
documentation to match the actual behavior. Tests are also added that
demonstrate this particular oddity.

Newer APIs exist that can be used for some, but not all, Diffie-Hellman
operations (e.g., crypto.diffieHellman() that was added in 2020). We
should keep modernizing crypto APIs, but that is a non-goal for this
security release.

The ECDH class mirrors the DiffieHellman class in many ways, but it does
not appear to be affected by this particular peculiarity. In particular,
ecdh.generateKeys() does appear to always generate a new private key.

PR-URL: https://github.com/nodejs-private/node-private/pull/426
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
CVE-ID: CVE-2023-30590
2023-06-20 17:30:34 -03:00
Richard Lau
8aa02e81d0
doc: update documentation for FIPS support
When using OpenSSL 3, Node.js supports FIPS 140-2 when used with an
appropriate OpenSSL 3 provider. It is no longer necessary to rebuild
Node.js with different build time options.

Add a section on how to configure Node.js to use an OpenSSL 3 FIPS
provider to the documentation for the `crypto` module.

PR-URL: https://github.com/nodejs/node/pull/48194
Reviewed-By: Michael Dawson <midawson@redhat.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
2023-05-30 11:40:25 +00:00
Rich Trott
9c37c64986
doc: remove broken link for keygen
Remove broken link to deprecated keygen element.

Replacing the link with something to the relevant
part of the HTML spec might be OK, but I don't think
it's necessary. People who need to know will find it
and everyone else should be discouraged from using
this.

Support for the keygen element was removed from Chrome in 2017
and removed from Firefox in 2019. We might consider deprecating
and removing support ourselves, or at least marking the API
as legacy.

Refs: https://caniuse.com/?search=keygen
PR-URL: https://github.com/nodejs/node/pull/48176
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
2023-05-27 15:51:13 +00:00
Tobias Nießen
a0e11d7885
doc: improve HMAC key recommendations
Add a reference to potential problems with using strings as HMAC keys.
Also advise against exceeding the underlying hash function's block size
when generating HMAC keys from a cryptographically secure source of
entropy.

Refs: https://github.com/nodejs/node/pull/48052
Refs: https://github.com/nodejs/node/pull/37248
PR-URL: https://github.com/nodejs/node/pull/48121
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2023-05-24 20:21:07 +00:00
Tobias Nießen
2edd6cab1e
doc: fix typo in crypto legacy streams API section
PR-URL: https://github.com/nodejs/node/pull/48122
Reviewed-By: Moshe Atlow <moshe@atlow.co.il>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2023-05-22 23:34:18 +00:00
Tobias Nießen
85ac915045
doc: use secure key length for HMAC generateKey
The examples for generateKey() and generateKeySync() generate 64-bit
HMAC keys. That is inadequate for virtually any HMAC instance. As per
common NIST recommendations, the minimum should be roughly 112 bits, or
more commonly 128 bits.

Due to the design of HMAC itself, it is not unreasonable to choose the
underlying hash function's block size as the key length. For many
popular hash functions (SHA-256, SHA-224, SHA-1, MD5, ...) this happens
to be 64 bytes (bytes, not bits!). This is consistent with the HMAC
implementation in .NET, for example, even though it provides virtually
no benefit over a 256-bit key.

PR-URL: https://github.com/nodejs/node/pull/48052
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2023-05-19 23:58:58 +00:00
Rich Trott
39595513c5
doc: update broken EVP_BytesToKey link
PR-URL: https://github.com/nodejs/node/pull/48064
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Deokjin Kim <deokjin81.kim@gmail.com>
Reviewed-By: Debadree Chatterjee <debadree333@gmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
2023-05-19 17:19:07 +00:00
Rich Trott
273c4227dc
doc: update broken spkac link
PR-URL: https://github.com/nodejs/node/pull/48063
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Deokjin Kim <deokjin81.kim@gmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
2023-05-19 17:18:58 +00:00
Tobias Nießen
9374700d7a
crypto: remove DEFAULT_ENCODING
Citing 76b0bdf720 from 2012, "only use
this as a temporary measure."

Getting or setting DEFAULT_ENCODING has emitted a warning ever since
Node.js 10, so it seems appropriate to remove it in Node.js 20 five
years later. The last Node.js version that did not emit a warning
reached its end-of-life status at the end of 2019.

This commit only removes the public API so that the change can land in
time for Node.js 20.

Refs: https://github.com/nodejs/node-v0.x-archive/pull/4179
Refs: https://github.com/nodejs/node/pull/18333
PR-URL: https://github.com/nodejs/node/pull/47182
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Beth Griggs <bethanyngriggs@gmail.com>
Reviewed-By: Erick Wendel <erick.workspace@gmail.com>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
2023-03-26 18:03:58 +00:00
Tobias Nießen
002b30eaa5
doc: remove use of DEFAULT_ENCODING in PBKDF2 docs
There is no point in documenting this legacy behavior, which will emit a
warning when used.

PR-URL: https://github.com/nodejs/node/pull/47181
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2023-03-23 00:50:05 +00:00
Tobias Nießen
51380f20cf
doc: remove remaining SSL_OP_NETSCAPE_*_BUG
I missed these two in db81af61ce because I
went by OpenSSL's list of obsolete flags, which turned out to be
incomplete. See https://github.com/openssl/openssl/pull/20443.

Refs: https://github.com/nodejs/node/pull/46954
Refs: https://github.com/openssl/openssl/pull/20443
PR-URL: https://github.com/nodejs/node/pull/47066
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
2023-03-13 17:49:39 +00:00
Tobias Nießen
c2e4b1fa9a
crypto: remove ALPN_ENABLED
This constant was likely introduced for feature detection, but it has
been pointless for a long time.

1. I am not aware of any possible Node.js build configuration (on any
   recent/supported release line) that would have crypto.constants but
   not crypto.constants.ALPN_ENABLED.
2. There is no evidence of this constant being used for feature
   detection in the ecosystem. In fact, both internal and external type
   definitions for crypto.constants simply assume that the constant
   exists.
3. There is no good reason for any modern TLS stack to not support ALPN.
   It looks like ALPN might have been optional in much earlier versions
   of OpenSSL, but all recent versions of OpenSSL unconditionally
   support ALPN as far as I can tell.

Refs: https://github.com/nodejs/node/pull/46956
PR-URL: https://github.com/nodejs/node/pull/47028
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Matteo Collina <matteo.collina@gmail.com>
2023-03-13 14:11:35 +00:00
Tobias Nießen
db81af61ce
doc: remove useless SSL_OP_* options
These 14 options do not have any effect in any supported version of
OpenSSL.

PR-URL: https://github.com/nodejs/node/pull/46954
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2023-03-06 21:18:44 +00:00
Tobias Nießen
6ddd8ef39a
doc: fix links to SSL_CTX_set_options
The old 1.0.2 docs do not exist anymore; link to the same file for
OpenSSL 3.0 instead.

PR-URL: https://github.com/nodejs/node/pull/46953
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2023-03-04 23:15:29 +00:00
jakecastelli
9562c20bc9 doc: sort import order
PR-URL: https://github.com/nodejs/node/pull/46847
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2023-02-28 08:11:56 +00:00
jakecastelli
d2d95a314f doc: use destructing import
PR-URL: https://github.com/nodejs/node/pull/46847
Reviewed-By: Anatoli Papirovski <apapirovski@mac.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2023-02-28 08:11:55 +00:00
Filip Skokan
0665fa4009 doc: remove last example use of require('crypto').webcrypto
PR-URL: https://github.com/nodejs/node/pull/45819
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Akhil Marsonya <akhil.marsonya27@gmail.com>
Reviewed-By: Benjamin Gruenbaum <benjamingr@gmail.com>
2022-12-13 19:12:02 +01:00
emirgoren
e70496f255
doc: using console.error for error cases in crypto and events
PR-URL: https://github.com/nodejs/node/pull/45640
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2022-12-07 00:47:15 +00:00
Tobias Nießen
b4666c38b9
doc: add missing documentation for paramEncoding
This option has existed ever since generateKeyPair was added in 2019 or
so, but I apparently forgot to document it.

PR-URL: https://github.com/nodejs/node/pull/45523
Reviewed-By: Yagiz Nizipli <yagiz@nizipli.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2022-11-21 19:55:28 +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
Juan José Arboleda
e23c256594
2022-10-12, Version 16.18.0 'Gallium' (LTS)
Notable changes:

assert: add `getCalls` and `reset` to callTracker (Moshe Atlow) https://github.com/nodejs/node/pull/44191
crypto: allow zero-length secret KeyObject (Filip Skokan) https://github.com/nodejs/node/pull/44201
crypto: allow zero-length IKM in HKDF and in webcrypto PBKDF2 (Filip Skokan) https://github.com/nodejs/node/pull/44201
doc: deprecate modp1, modp2, and modp5 groups (Tobias Nießen) https://github.com/nodejs/node/pull/44588
http: make idle http parser count configurable (theanarkh) https://github.com/nodejs/node/pull/43974
http: throw error on content-length mismatch (sidwebworks) https://github.com/nodejs/node/pull/44378
lib: add diagnostics channel for process and worker (theanarkh) https://github.com/nodejs/node/pull/44045
net,tls: pass a valid socket on `tlsClientError` (Daeyeon Jeong) https://github.com/nodejs/node/pull/44021
net: add local family (theanarkh) https://github.com/nodejs/node/pull/43975
report: expose report public native apis (Chengzhong Wu) https://github.com/nodejs/node/pull/44255
src: expose environment RequestInterrupt api (Chengzhong Wu) https://github.com/nodejs/node/pull/44362
stream: add `ReadableByteStream.tee()` (Daeyeon Jeong) https://github.com/nodejs/node/pull/44505
test_runner: add before/after/each hooks (Moshe Atlow) https://github.com/nodejs/node/pull/43730
util: add `maxArrayLength` option to Set and Map (Kohei Ueno) https://github.com/nodejs/node/pull/43576

PR-URL: https://github.com/nodejs/node/pull/44886
2022-10-12 09:39:55 -05:00
Filip Skokan
5f8182981a
doc,crypto: cleanup removed pbkdf2 behaviours
PR-URL: https://github.com/nodejs/node/pull/44733
Reviewed-By: Tobias Nießen <tniessen@tnie.de>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Akhil Marsonya <akhil.marsonya27@gmail.com>
2022-09-22 13:51:44 +00:00
Tobias Nießen
44643bd64b
doc: maintain only one list of MODP groups
There are two lists of MODP groups, one of which is redundant and does
not mark weak groups as deprecated. Remove said list and refer readers
to the first list instead.

Refs: https://github.com/nodejs/node/pull/43986
Refs: https://github.com/nodejs/node/pull/44588
PR-URL: https://github.com/nodejs/node/pull/44644
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
2022-09-17 01:00:35 +00:00
Tobias Nießen
696fd4b14f
doc: deprecate modp1, modp2, and modp5 groups
These MODP groups should not be used by new applications, and existing
applications should attempt to migrate to stronger groups (or different
key exchange mechanisms).

Some applications still rely on these particular groups, so Node.js will
likely maintain support, directly or indirectly, for the foreseeable
future.

Refs: https://github.com/nodejs/node/issues/44539
PR-URL: https://github.com/nodejs/node/pull/44588
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2022-09-12 22:29:27 +00:00
Tobias Nießen
aac5b47a05
doc: remove old OpenSSL ENGINE constants
These constants have not existed since OpenSSL 1.1.0 reached EOL a few
years ago.

Refs: https://github.com/nodejs/node/pull/19794
PR-URL: https://github.com/nodejs/node/pull/44589
Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl>
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: Colin Ihrig <cjihrig@gmail.com>
2022-09-12 22:29:18 +00:00
Tobias Nießen
22b9a0c4ba
doc: do not use weak MODP group in example
As a first, small step toward deprecating modp1, stop using it in an
example that users might copy.

Refs: https://github.com/nodejs/node/issues/44539
PR-URL: https://github.com/nodejs/node/pull/44585
Reviewed-By: Luigi Pinca <luigipinca@gmail.com>
Reviewed-By: theanarkh <theratliter@gmail.com>
Reviewed-By: Rich Trott <rtrott@gmail.com>
2022-09-10 20:19:36 +00:00
Tobias Nießen
7f9cd60eef
doc: emphasize that createCipher is never secure
The current documentation clearly states that createCipher() and
createDecipher() should not be used with ciphers in counter mode, but
(1) this is an understatement, and (2) these functions are
(semantically) insecure for ciphers in any other supported block cipher
mode as well.

Semantic security requires IND-CPA, but a deterministic cipher with
fixed key and IV, such as those generated by these functions, does not
fulfill IND-CPA.

Are there justified use cases for createCipher() and createDecipher()?
Yes and no. The only case in which these functions can be used in a
semantically secure manner arises only when the password argument is
not actually a password but rather a random or pseudo-random sequence
that is unpredictable and that is never reused (e.g., securely derived
from a password with a proper salt). Insofar, it is possible to use
these APIs without immediately creating a vulnerability. However,

- any application that manages to fulfill this requirement should also
  be able to fulfill the similar requirements of crypto.createCipheriv()
  and those of crypto.createDecipheriv(), which give much more control
  over key and initialization vector, and
- the MD5-based key derivation step generally does not help and might
  even reduce the overall security due to its many weaknesses.

Refs: https://github.com/nodejs/node/pull/13821
Refs: https://github.com/nodejs/node/pull/19343
Refs: https://github.com/nodejs/node/pull/22089
PR-URL: https://github.com/nodejs/node/pull/44538
Reviewed-By: Anna Henningsen <anna@addaleax.net>
Reviewed-By: Rich Trott <rtrott@gmail.com>
Reviewed-By: Mohammed Keyvanzadeh <mohammadkeyvanzade94@gmail.com>
Reviewed-By: Filip Skokan <panva.ip@gmail.com>
2022-09-08 18:36:07 +00:00