Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

V18.14.0 proposal #46396

Merged
merged 191 commits into from
Feb 2, 2023
Merged

V18.14.0 proposal #46396

merged 191 commits into from
Feb 2, 2023

Conversation

juanarbol
Copy link
Member

@juanarbol juanarbol commented Jan 28, 2023

2023-02-02, Version 18.14.0 'Hydrogen' (LTS), @BethGriggs prepared by @juanarbol

Notable changes

Updated npm to 9.3.1

Based on the list of guidelines we've established on integrating npm and node,
here is a grouped list of the breaking changes with the reasoning as to why they
fit within the guidelines linked above. Note that all the breaking changes were
made in 9.0.0.
All subsequent minor and patch releases after [email protected] do not contain any
breaking changes.

Engines

Explanation: the node engines supported by npm@9 make it safe to allow npm@9 as the default in any LTS version of 14 or 16, as well as anything later than or including 18.0.0

  • npm is now compatible with the following semver range for node: ^14.17.0 || ^16.13.0 || >=18.0.0
Filesystem

Explanation: when run as root previous versions of npm attempted to manage file ownership automatically on the user's behalf. this behavior was problematic in many cases and has been removed in favor of allowing users to manage their own filesystem permissions

  • npm will no longer attempt to modify ownership of files it creates.
Auth

Explanation: any errors thrown from users having unsupported auth configurations will show npm config fix in the remediation instructions, which will allow the user to automatically have their auth config fixed.

  • The presence of auth related settings that are not scoped to a specific
    registry found in a config file is no longer supported and will throw errors.
Login

Explanation: the default auth-type has changed and users can opt back into the old behavior with npm config set auth-type=legacy. login and adduser have also been seperated making each command more closely match it's name instead of being aliases for each other.

  • Legacy auth types sso, saml & legacy have been consolidated into "legacy".
  • auth-type defaults to "web"
  • login and adduser are now separate commands that send different data to the registry.
  • auth-type config values web and legacy only try their respective methods,
    npm no longer tries them all and waits to see which one doesn't fail.
Tarball Packing

Explanation: previously using multiple ignore/allow lists when packing was an undefined behavior, and now the order of operations is strictly defined when packing a tarball making it easier to follow and should only affect users relying on the previously undefined behavior.

  • npm pack now follows a strict order of operations when applying ignore rules.
    If a files array is present in the package.json, then rules in .gitignore
    and .npmignore files from the root will be ignored.
Display/Debug/Timing Info

Explanation: these changes center around the display of information to the terminal including timing and debug log info. We do not anticipate these changes breaking any existing workflows.

  • Links generated from git urls will now use HEAD instead of master as the default ref.
  • timing has been removed as a value for --loglevel.
  • --timing will show timing information regardless of --loglevel, except when --silent.
  • When run with the --timing flag, npm now writes timing data to a file
    alongside the debug log data, respecting the logs-dir option and falling
    back to <CACHE>/_logs/ dir, instead of directly inside the cache directory.
  • The timing file data is no longer newline delimited JSON, and instead each run
    will create a uniquely named <ID>-timing.json file, with the <ID> portion
    being the same as the debug log.
  • npm now outputs some json errors on stdout. Previously npm would output
    all json formatted errors on stderr, making it difficult to parse as the
    stderr stream usually has logs already written to it.
Config/Command Deprecations or Removals

Explanation: install-links is the only config or command in the list that has an effect on package installs. We fixed a number of issues that came up during prereleases with this change. It will also only be applied to new package trees created without a package-lock.json file. Any install with an existing lock file will not be changed.

  • Deprecate boolean install flags in favor of --install-strategy.
  • npm config set will no longer accept deprecated or invalid config options.
  • install-links config defaults to "true".
  • node-version config has been removed.
  • npm-version config has been removed.
  • npm access subcommands have been renamed.
  • npm birthday has been removed.
  • npm set-script has been removed.
  • npm bin has been removed (use npx or npm exec to execute binaries).

Other notable changes

  • doc:
    • add parallelism note to os.cpus() (Colin Ihrig) #45895
  • http:
    • join authorization headers (Marco Ippolito) #45982
    • improved timeout defaults handling (Paolo Insogna) #45778
  • stream:
    • implement finished() for ReadableStream and WritableStream (Debadree Chatterjee) #46205

Commits

  • [1352f08778] - assert: remove assert.snapshot (Moshe Atlow) #46112
  • [4ee3238643] - async_hooks: refactor to use validateObject (Deokjin Kim) #46004
  • [79e0bf9b64] - benchmark: include webstreams benchmark (Rafael Gonzaga) #45876
  • [ed1ac82469] - benchmark,tools: use os.availableParallelism() (Deokjin Kim) #46003
  • [16ee02f2eb] - (SEMVER-MINOR) buffer: add buffer.isUtf8 for utf8 validation (Yagiz Nizipli) #45947
  • [3bf2371a57] - build: add extra semi check (Jiawen Geng) #46194
  • [560ee24157] - build: fix arm64 cross-compile from powershell (Stefan Stojanovic) #45890
  • [48e3ad3aca] - build: add option to disable shared readonly heap (Anna Henningsen) #45887
  • [52a7887b94] - (SEMVER-MINOR) crypto: add CryptoKey Symbol.toStringTag (Filip Skokan) #46042
  • [a558774a40] - crypto: add cipher update/final methods encoding validation (vitpavlenko) #45990
  • [599d1dc841] - crypto: ensure auth tag set for chacha20-poly1305 (Ben Noordhuis) #46185
  • [24a101698c] - crypto: return correct bit length in KeyObject's asymmetricKeyDetails (Filip Skokan) #46106
  • [2de50fef84] - (SEMVER-MINOR) crypto: add KeyObject Symbol.toStringTag (Filip Skokan) #46043
  • [782b6f6f9f] - crypto: ensure exported webcrypto EC keys use uncompressed point format (Ben Noordhuis) #46021
  • [7a97f3f43b] - crypto: fix CryptoKey prototype WPT (Filip Skokan) #45857
  • [1a8aa50aa2] - crypto: fix CryptoKey WebIDL conformance (Filip Skokan) #45855
  • [c6436450ee] - crypto: fix error when getRandomValues is called without arguments (Filip Skokan) #45854
  • [4cdf0002c5] - debugger: refactor console in lib/internal/debugger/inspect.js (Debadree Chatterjee) #45847
  • [b7fe8c70fa] - deps: update simdutf to 3.1.0 (Node.js GitHub Bot) #46257
  • [eaeb870cd7] - deps: upgrade npm to 9.3.1 (npm team) #46242
  • [7c03a3d676] - deps: upgrade npm to 9.3.0 (npm team) #46193
  • [340d76accb] - deps: cherrypick simdutf patch (Jiawen Geng) #46194
  • [cce2af4306] - deps: bump googletest to 2023.01.13 (Jiawen Geng) #46198
  • [d251a66bed] - deps: add /deps/**/.github/ to .gitignore (Luigi Pinca) #46091
  • [874054f469] - deps: add simdutf version to metadata (Mike Roth) #46145
  • [2497702b82] - deps: update simdutf to 2.1.0 (Node.js GitHub Bot) #46128
  • [c8492b7f4c] - deps: update corepack to 0.15.3 (Node.js GitHub Bot) #46037
  • [d148f357fd] - deps: update simdutf to 2.0.9 (Node.js GitHub Bot) #45975
  • [422a98199c] - deps: update to uvwasi 0.0.14 (Colin Ihrig) #45970
  • [7812752db0] - deps: fix updater github workflow job (Yagiz Nizipli) #45972
  • [4063cdcef6] - Revert "deps: disable avx512 for simutf on benchmark ci" (Yagiz Nizipli) #45948
  • [64d3e3f3ba] - deps: disable avx512 for simutf on benchmark ci (Yagiz Nizipli) #45803
  • [c9845fc334] - deps: add simdutf dependency (Yagiz Nizipli) #45803
  • [6963c96547] - deps: update timezone to 2022g (Node.js GitHub Bot) #45731
  • [874f6c340b] - deps: update undici to 5.14.0 (Node.js GitHub Bot) #45812
  • [7599b913d5] - deps: upgrade npm to 9.2.0 (npm team) #45780
  • [4844935ff3] - deps: upgrade npm to 9.1.3 (npm team) #45693
  • [8dce62c7fe] - deps: V8: cherry-pick 5fe919f78321 (Richard Lau) #45587
  • [8de642517e] - dgram: sync the old handle state to new handle (theanarkh) #46041
  • [de2b7a9640] - doc: fix mismatched arguments of NodeEventTarget (Deokjin Kim) #45678
  • [6317502d10] - doc: update events API example to have runnable code (Deokjin Kim) #45760
  • [a9db45eee1] - doc: add note to tls docs about secureContext availability (Tim Gerk) #46224
  • [5294371063] - doc: add text around collaborative expectations (Michael Dawson) #46121
  • [be85d5a6eb] - doc: update to match changed --dns-result-order default (Mordy Tikotzky) #46148
  • [4f2d9ea6da] - doc: add Node-API media link (Kevin Eady) #46189
  • [9bfd40466f] - doc: update http.setMaxIdleHTTPParsers arguments (Debadree Chatterjee) #46168
  • [d7a8c076e1] - doc: use "file system" instead of "filesystem" (Rich Trott) #46178
  • [e54483cd2b] - doc: https update default request timeout (Marco Ippolito) #46184
  • [335110b0fb] - doc: make options of readableStream.pipeTo as optional (Deokjin Kim) #46180
  • [ec34cad712] - doc: add PerformanceObserver.supportedEntryTypes to doc (theanarkh) #45962
  • [d0f905bd6f] - doc: duplex and readable from uncaught execption warning (Marco Ippolito) #46135
  • [512feaafa4] - doc: remove outdated sections from maintaining-v8 (Antoine du Hamel) #46137
  • [849a3e2ce7] - doc: fix (EC)DHE remark in TLS docs (Tobias Nießen) #46114
  • [a3c9c1b4e6] - doc: fix ERR_TLS_RENEGOTIATION_DISABLED text (Tobias Nießen) #46122
  • [1834e94ebb] - doc: fix spelling in SECURITY.md (Vaishno Chaitanya) #46124
  • [3968698af5] - doc: abort controller emits error in child process (Debadree Chatterjee) #46072
  • [1ec14c2c61] - doc: fix event.cancelBubble documentation (Deokjin Kim) #45986
  • [5539977f80] - doc: add personal pronouns option (Filip Skokan) #46118
  • [1fabef3a81] - doc: mention how to run ncu-ci citgm (Rafael Gonzaga) #46090
  • [84dc65ab87] - doc: include updating release optional step (Rafael Gonzaga) #46089
  • [76c7ea1e74] - doc: describe argument of Symbol.for (Deokjin Kim) #46019
  • [2307a74990] - doc: update isUtf8 description (Yagiz Nizipli) #45973
  • [fa5b65ea24] - doc: use console.error for error case in timers and tls (Deokjin Kim) #46002
  • [29d509c100] - doc: fix wrong output of example in url.protocol (Deokjin Kim) #45954
  • [61dbca2690] - doc: use os.availableParallelism() in async_context and cluster (Deokjin Kim) #45979
  • [86b2c8cea2] - doc: make EventEmitterAsyncResource's options as optional (Deokjin Kim) #45985
  • [335acf7748] - doc: replace single executable champion in strategic initiatives doc (Darshan Sen) #45956
  • [aab35a9388] - doc: update error message of example in repl (Deokjin Kim) #45920
  • [53a94a95ff] - doc: fix typos in packages.md (Eric Mutta) #45957
  • [83875f46cf] - doc: remove port from example in url.hostname (Deokjin Kim) #45927
  • [162d3a94e3] - doc: show output of example in http (Deokjin Kim) #45915
  • [53684e4506] - (SEMVER-MINOR) doc: add parallelism note to os.cpus() (Colin Ihrig) #45895
  • [546e083d36] - doc: fix wrong output of example in url.password (Deokjin Kim) #45928
  • [14c95ecd23] - doc: fix some history entries in deprecations.md (Antoine du Hamel) #45891
  • [d94dba973b] - doc: add tip for NODE_MODULE (theanarkh) #45797
  • [662f574c5b] - doc: reduce likelihood of mismerges during release (Richard Lau) #45864
  • [48ea28aa30] - doc: add backticks to webcrypto rsaOaepParams (Filip Skokan) #45883
  • [726b285163] - doc: remove release cleanup step (Michaël Zasso) #45858
  • [5eb93f1de9] - doc: add stream/promises pipeline and finished to doc (Marco Ippolito) #45832
  • [f874d0ba74] - doc: remove Juan Jose keys (Rafael Gonzaga) #45827
  • [67efe2a55e] - doc: fix wrong output of example in util (Deokjin Kim) #45825
  • [b709af31e0] - doc: sort http.createServer() options alphabetically (Luigi Pinca) #45680
  • [ebe292113a] - doc,crypto: fix WebCryptoAPI import keyData and export return (Filip Skokan) #46076
  • [204757719c] - errors: refactor to use a method that formats a list string (Daeyeon Jeong) #45793
  • [463bb9602e] - esm: mark importAssertions as required (Antoine du Hamel) #46164
  • [0bdf2db079] - esm: rewrite loader hooks test (Geoffrey Booth) #46016
  • [297773c6d1] - events: change status of event.returnvalue to legacy (Deokjin Kim) #46175
  • [d088d6e5c3] - events: change status of event.cancelBubble to legacy (Deokjin Kim) #46146
  • [36be0c4ee2] - events: change status of event.srcElement to legacy (Deokjin Kim) #46085
  • [b239f0684a] - events: fix violation of symbol naming convention (Deokjin Kim) #45978
  • [aec340b312] - fs: refactor to use validateInteger (Deokjin Kim) #46008
  • [e620de6444] - http: refactor to use validateHeaderName (Deokjin Kim) #46143
  • [3e70b7d863] - http: writeHead if statusmessage is undefined dont override headers (Marco Ippolito) #46173
  • [3d1dd96c4f] - http: refactor to use min of validateNumber for maxTotalSockets (Deokjin Kim) #46115
  • [4df1fcc9db] - (SEMVER-MINOR) http: join authorization headers (Marco Ippolito) #45982
  • [8c06e2f645] - http: replace var with const on code of comment (Deokjin Kim) #45951
  • [3c0c5e0567] - (SEMVER-MINOR) http: improved timeout defaults handling (Paolo Insogna) #45778
  • [edcd4fc576] - lib: use kEmptyObject and update JSDoc in webstreams (Deokjin Kim) #46183
  • [d6fc855b8a] - lib: refactor to use validate function (Deokjin Kim) #46101
  • [bc17f37b98] - lib: reuse invalid state errors on webstreams (Rafael Gonzaga) #46086
  • [86554bf27c] - lib: fix incorrect use of console intrinsic (Colin Ihrig) #46044
  • [7fc7b19124] - lib: update JSDoc of getOwnPropertyValueOrDefault (Deokjin Kim) #46010
  • [c1cc1f9e12] - lib: use kEmptyObject as default value for options (Deokjin Kim) #46011
  • [db617222da] - meta: update AUTHORS (Node.js GitHub Bot) #46215
  • [10afecd0d8] - meta: update AUTHORS (Node.js GitHub Bot) #46130
  • [d8ce990ce6] - meta: update comment in CODEOWNERS to better reflect current policy (Antoine du Hamel) #45944
  • [e3f0194168] - meta: update AUTHORS (Node.js GitHub Bot) #46040
  • [d31c478929] - meta: update AUTHORS (Node.js GitHub Bot) #45968
  • [10a276a3e0] - meta: add nodejs/loaders to CODEOWNERS (Geoffrey Booth) #45940
  • [56247d7c87] - meta: add nodejs/test_runner to CODEOWNERS (Antoine du Hamel) #45935
  • [3bef8bc743] - meta: update AUTHORS (Node.js GitHub Bot) #45899
  • [baf30ee935] - module: fix unintended mutation (Antoine du Hamel) #46108
  • [3ad584c357] - net: handle socket.write(cb) edge case (Santiago Gimeno) #45922
  • [2ab35cf0cc] - node-api: disambiguate napi_add_finalizer (Chengzhong Wu) #45401
  • [6e9676e986] - node-api: generalize finalizer second pass callback (Chengzhong Wu) #44141
  • [b2faceff0a] - (SEMVER-MINOR) os: add availableParallelism() (Colin Ihrig) #45895
  • [8fac4c5684] - perf_hooks: fix checking range of options.figures in createHistogram (Deokjin Kim) #45999
  • [ea73702847] - process,worker: ensure code after exit() effectless (ywave620) #45620
  • [784ed594ea] - repl: improve robustness wrt to prototype pollution (Antoine du Hamel) #45604
  • [fcfde3412e] - src: rename internal module declaration as internal bindings (Chengzhong Wu) #45551
  • [646cadccd0] - src: fix endianness of simdutf (Yagiz Nizipli) #46257
  • [94605b1665] - src: replace unreachable code with static_assert (Tobias Nießen) #46209
  • [3ce39bbcb7] - src: hide kMaxDigestMultiplier outside HKDF impl (Tobias Nießen) #46206
  • [9648b06e09] - src: distinguish env stopping flags (Chengzhong Wu) #45907
  • [53ecd20bbd] - src: remove return after abort (Shelley Vohr) #46172
  • [c4c8931b9d] - src: remove unnecessary semicolons (Shelley Vohr) #46171
  • [fab72b1677] - src: use simdutf for converting externalized builtins to UTF-16 (Anna Henningsen) #46119
  • [67729961e7] - src: use constant strings for memory info names (Chengzhong Wu) #46087
  • [0ac4e5dd34] - src: fix typo in node_snapshotable.cc (Vadim) #46103
  • [b454a7665d] - src: keep PipeWrap::Open function consistent with TCPWrap (theanarkh) #46064
  • [41f5a29cca] - src: speed up process.getActiveResourcesInfo() (Darshan Sen) #46014
  • [02a61dd6bd] - src: fix typo in node_file.cc (Vadim) #45998
  • [99c033ed98] - src: fix crash on OnStreamRead on Windows (Santiago Gimeno) #45878
  • [27d6a8b2b1] - src: fix creating Isolates from addons (Anna Henningsen) #45885
  • [9ca31cdba3] - src: use string_view for FastStringKey implementation (Anna Henningsen) #45914
  • [e4fc3abfd5] - src: fix UB in overflow checks (Ben Noordhuis) #45882
  • [574afac26a] - src: check size of args before using for exec_path (A. Wilcox) #45902
  • [f0692468cd] - src: fix tls certificate root store data race (Ben Noordhuis) #45767
  • [a749ceda2e] - src: add undici and acorn to process.versions (Debadree Chatterjee) #45621
  • [08a6a61575] - src,lib: the handle keeps loop alive in cluster rr mode (theanarkh) #46161
  • [a87963de6b] - stream: fix pipeline calling end on destination more than once (Debadree Chatterjee) #46226
  • [cde59606cd] - (SEMVER-MINOR) stream: implement finished() for ReadableStream and WritableStream (Debadree Chatterjee) #46205
  • [441d9de33e] - stream: refactor to use validateFunction (Deokjin Kim) #46007
  • [325fc08d48] - stream: fix typo in JSDoc (Deokjin Kim) #45991
  • [536322fa1c] - test: update postject to 1.0.0-alpha.4 (Node.js GitHub Bot) #46212
  • [a3056f4125] - test: refactor to avoid mutation of global by a loader (Michaël Zasso) #46220
  • [1790569518] - test: improve test coverage for WHATWG TextDecoder (Juan José) #45241
  • [896027c006] - test: add fix so that test exits if port 42 is unprivileged (Suyash Nayan) #45904
  • [257224da0e] - test: use os.availableParallelism() (Deokjin Kim) #46003
  • [7e1462dd02] - test: update Web Events WPT (Deokjin Kim) #46051
  • [40d52fbc5f] - test: add test to once() in event lib (Jonathan Diaz) #46126
  • [f3518f3337] - test: use process.hrtime.bigint instead of process.hrtime (Deokjin Kim) #45877
  • [4d6dd10464] - test: print failed JS/parallel tests (Geoffrey Booth) #45960
  • [7cb6fef6d6] - test: fix test broken under --node-builtin-modules-path (Geoffrey Booth) #45894
  • [55e4140c34] - test: fix mock.method to support class instances (Erick Wendel) #45608
  • [286acaa6fe] - test: update encoding wpt to latest (Yagiz Nizipli) #45850
  • [22c1e918ce] - test: update url wpt to latest (Yagiz Nizipli) #45852
  • [5fa6a70bbd] - test: add CryptoKey transferring tests (Filip Skokan) #45811
  • [4aaec07266] - test: add postject to fixtures (Darshan Sen) #45298
  • [da78f9cbb8] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #45860
  • [3269423032] - test,esm: validate more edge cases for dynamic imports (Antoine du Hamel) #46059
  • [cade2fccf4] - test_runner: run t.after() if test body throws (Colin Ihrig) #45870
  • [87a0e86604] - test_runner: parse yaml (Moshe Atlow) #45815
  • [757a022443] - tls: don't treat fatal TLS alerts as EOF (David Benjamin) #44563
  • [c6457cbf8d] - tls: fix re-entrancy issue with TLS close_notify (David Benjamin) #44563
  • [fcca2d5ea6] - tools: update lint-md-dependencies (Node.js GitHub Bot) #46214
  • [09adb86c19] - tools: fix macro name in update-undici (Almeida) #46217
  • [1b0cc79785] - tools: add automation for updating postject dependency (Darshan Sen) #46157
  • [38df662119] - tools: update create-or-update-pull-request-action (Michaël Zasso) #46169
  • [3f4c0c0de1] - tools: update eslint to 8.31.0 (Node.js GitHub Bot) #46131
  • [f3dc4329e6] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #46129
  • [fafbd1ca72] - tools: move update-eslint.sh to dep_updaters/ (Luigi Pinca) #46088
  • [609df01fa9] - tools: make update-eslint.sh work with npm@9 (Luigi Pinca) #46088
  • [31b8cf1a4d] - tools: fix lint rule recommendation (Colin Ihrig) #46044
  • [0a80cbdcb1] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #46039
  • [18503fa7ba] - tools: update doc to [email protected] (Node.js GitHub Bot) #46038
  • [b48e82ec1d] - tools: add release host var to promotion script (Ruy Adorno) #45913
  • [3b93b0c1f5] - tools: add url to AUTHORS update automation (Antoine du Hamel) #45971
  • [623b0eba81] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #45967
  • [b0e88377fe] - tools: update GitHub workflow action (Mohammed Keyvanzadeh) #45937
  • [974442e69d] - tools: update lint-md dependencies (Node.js GitHub Bot) #45813
  • [5aaa8c3bbf] - tools: enforce use of trailing commas in tools/ (Antoine du Hamel) #45889
  • [1e32520f72] - tools: add ArrayPrototypeConcat to the list of primordials to avoid (Antoine du Hamel) #44445
  • [e0cda56204] - tools: fix incorrect version history order (Fabien Michel) #45728
  • [7438ff175a] - tools: update eslint to 8.29.0 (Node.js GitHub Bot) #45733
  • [1e11247b91] - Revert "tools: update V8 gypfiles for RISC-V" (Lu Yahan) #46156
  • [0defe4effa] - trace_events: refactor to use validateStringArray (Deokjin Kim) #46012
  • [f1dcbe7652] - util: add fast path for text-decoder fatal flag (Yagiz Nizipli) #45803
  • [277d9da876] - vm: refactor to use validate function (Deokjin Kim) #46176
  • [96f1b2e731] - vm: refactor to use validateStringArray (Deokjin Kim) #46020

richardlau and others added 30 commits January 17, 2023 11:45
Original commit message:

    PPC: clear VXCVI before doing a conversion

    This bit may not get cleared automatically and could show
    results from older executed instructions.

    Change-Id: I5976f9a6c5bf87b1a63ef0f35493b222729e20f6
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3812037
    Reviewed-by: Junliang Yan <[email protected]>
    Commit-Queue: Milad Farazmand <[email protected]>
    Cr-Commit-Position: refs/heads/main@{#82237}

Refs: v8/v8@5fe919f
PR-URL: #45587
Reviewed-By: Michael Dawson <[email protected]>
Reviewed-By: Jiawen Geng <[email protected]>
PR-URL: #45693
Backport-PR-URL: #46230
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Ruy Adorno <[email protected]>
PR-URL: #45780
Backport-PR-URL: #46230
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
This reverts commit 48cf890.

PR-URL: #46156
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Juan José Arboleda <[email protected]>
PR-URL: #45680
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Zeyu "Alex" Yang <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
In `mime.type` of util, `application/javascript` is actual output,
but described as `application/javascript/javascript`.

PR-URL: #45825
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Like errno, OpenSSL's API requires SSL_get_error and error queue be
checked immediately after the failing operation, otherwise the error
queue or SSL object may have changed state and no longer report
information about the operation the caller wanted.

TLSWrap almost heeds this rule, except in TLSWrap::ClearOut. If SSL_read
picks up a closing alert (detected by checking SSL_get_shutdown), Node
calls out to JS with EmitRead(UV_EOF) and only afterwards proceeds to
dispatch on the error. But, by this point, Node has already re-entered
JS, which may change the error.

In particular, I've observed that, on close_notify, JS seems to
sometimes call back into TLSWrap::DoShutdown, calling SSL_shutdown. (I
think this comes from onStreamRead in stream_base_commons.js?)

Instead, SSL_get_error and the error queue should be sampled earlier.
Back in #1661, Node needed to account for GetSSLError being called after
ssl_ was destroyed. This was the real cause. With this fixed, there's no
need to account for this. (Any case where ssl_ may be destroyed before
SSL_get_error is a case where ssl_ or the error queue could change
state, so it's a bug either way.)

This is the first of two fixes in error-handling here. The
EmitRead(UV_EOF) seems to additionally swallow fatal alerts from the
peer. Some of the ECONNRESET expectations in the tests aren't actually
correct. The next commit will fix this as well.

PR-URL: #44563
Reviewed-By: Luigi Pinca <[email protected]>
SSL_RECEIVED_SHUTDOWN means not just close_notify or fatal alert. From
what I can tell, this was just a mistake? OnStreamRead's comment
suggests eof_ was intended to be for close_notify.

This fixes a bug in TLSSocket error reporting that seems to have made it
into existing tests. If we receive a fatal alert, EmitRead(UV_EOF)
would, via onConnectEnd in _tls_wrap.js, synthesize an ECONNRESET before
the alert itself is surfaced. As a result, TLS alerts received during
the handshake are misreported by Node.

See the tests that had to be updated as part of this.

PR-URL: #44563
Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: #45812
Reviewed-By: Moshe Atlow <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
PR-URL: #45815
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
PR-URL: #45733
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
This fixes an error in parseYAML(text), the version sorting
coudn't be right as we compared an arrify string
(ie. a = ["v18.11, v16.7.0"]) with an array of strings
(ie. b = ["v18.07", "v16.7.0"]) in versionSort(a, b).

minVersion(a) couldn't find the minimum version with an arrify string
like a = ["v18.11, v16.7.0"].
That's why incorrect version history orders sometimes appeared.

Furthermore, no need to sort the added version as it always comes first.
So, it can be the last one to be pushed in the meta.changes array.

Fixes: #45670

Co-authored-by: Luigi Pinca <[email protected]>
PR-URL: #45728
Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: #45827
Reviewed-By: Juan José Arboleda <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Beth Griggs <[email protected]>
This should make it possible to test out the creation of Single
Executable Applications on a PR without making outbound requests to
download and run postject using npm.

This is needed for #45038.

Refs: https://github.com/nodejs/single-executable/blob/1840f3d9c5f4fa0d29aabd5618c4ff9745f7be87/meetings/2022-10-31.md?plain=1#L75-L76
Signed-off-by: Darshan Sen <[email protected]>
PR-URL: #45298
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Tierney Cyren <[email protected]>
PR-URL: #45832
Fixes: #45821
Reviewed-By: Paolo Insogna <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
PR-URL: #45854
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Minwoo Jung <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
PR-URL: #45855
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
PR-URL: #45860
Reviewed-By: Tobias Nießen <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
- The pull request is automatically closed.
- The branch is automatically deleted.

PR-URL: #45858
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Richard Lau <[email protected]>
Reviewed-By: Tierney Cyren <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
PR-URL: #45883
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
PR-URL: #45811
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Switch to the `patience` git diff algorithm to reduce the likelihood of
mismerges when the release commit is cherry-picked to the `main` branch.

Refs: nodejs/Release#771 (comment)
PR-URL: #45864
Reviewed-By: Ruben Bridgewater <[email protected]>
Reviewed-By: Michaël Zasso <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
PR-URL: #45852
Reviewed-By: Kohei Ueno <[email protected]>
Reviewed-By: James M Snell <[email protected]>
This commit fixes a bug where t.after() was not called if the
test body threw an exception.

PR-URL: #45870
Reviewed-By: Moshe Atlow <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
PR-URL: #45850
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
It fixes a problem when trying to spy a method
from a class instance or static functions
on a class instance

PR-URL: #45608
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
Reviewed-By: Benjamin Gruenbaum <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
PR-URL: #44445
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
Fixes: #45260
Refs: #45599
Refs: #45260
PR-URL: #45621
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Joyee Cheung <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
PR-URL: #45889
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Yagiz Nizipli <[email protected]>
@nodejs-github-bot

This comment was marked as outdated.

@nodejs-github-bot

This comment was marked as outdated.

@nodejs-github-bot

This comment was marked as outdated.

Notable changes:

* deps:
  * upgrade npm to 9.3.1 (npm team) #46242
* doc:
  * add parallelism note to os.cpus() (Colin Ihrig) #45895
* http:
  * join authorization headers (Marco Ippolito) #45982
  * improved timeout defaults handling (Paolo Insogna) #45778
* stream:
  * implement finished() for ReadableStream and WritableStream (Debadree Chatterjee) #46205

PR-URL: #46396
@nodejs-github-bot
Copy link
Collaborator

nodejs-github-bot commented Feb 1, 2023

@nodejs-github-bot
Copy link
Collaborator

nodejs-github-bot commented Feb 1, 2023

@tniessen
Copy link
Member

tniessen commented Feb 1, 2023

all semver-minor should be marked as notable changes

@juanarbol Could you link to the guidelines for this? I didn't find any.

@BethGriggs
Copy link
Member

BethGriggs commented Feb 1, 2023

Could you link to the guidelines for this? I didn't find any.

@tniessen, generally we've defaulted to elevating all semver minors to notable, but only demote them in the cases we're certain they really are not useful to highlight to end-users.

This was the way I (and I suspect others) were advised to craft notable changes during the release onboarding process. It's alluded to in releases.md - but our release automation also currently makes the same assumption when generating the notable changes (nodejs/node-core-utils/blob/main/lib/prepare_release.js).

I think it is a fair order of operations to consider non-notable semver minors the exception - especially considering releasers do not always have the full context of the commits.

(Perhaps we could change the changelog format to be always split into sections for minors and patches - but that should probably be discussed in another thread.)

*Apologies for jumping in.

@nodejs-github-bot
Copy link
Collaborator

nodejs-github-bot commented Feb 1, 2023

@tniessen
Copy link
Member

tniessen commented Feb 1, 2023

Ah, thanks for explaining in detail @BethGriggs :)

juanarbol added a commit that referenced this pull request Feb 2, 2023
@juanarbol juanarbol merged commit 220a5a1 into v18.x Feb 2, 2023
@juanarbol juanarbol deleted the v18.14.0-proposal branch February 2, 2023 18:42
juanarbol added a commit that referenced this pull request Feb 2, 2023
Notable changes:

* deps:
  * upgrade npm to 9.3.1 (npm team) #46242
* doc:
  * add parallelism note to os.cpus() (Colin Ihrig) #45895
* http:
  * join authorization headers (Marco Ippolito) #45982
  * improved timeout defaults handling (Paolo Insogna) #45778
* stream:
  * implement finished() for ReadableStream and WritableStream (Debadree Chatterjee) #46205

PR-URL: #46396
juanarbol added a commit to juanarbol/nodejs.org that referenced this pull request Feb 2, 2023
juanarbol added a commit to juanarbol/nodejs.org that referenced this pull request Feb 2, 2023
BethGriggs added a commit to BethGriggs/nodejs.org that referenced this pull request Feb 2, 2023
BethGriggs added a commit to BethGriggs/nodejs.org that referenced this pull request Feb 2, 2023
BethGriggs added a commit to nodejs/nodejs.org that referenced this pull request Feb 2, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release Issues and PRs related to Node.js releases. v18.x Issues that can be reproduced on v18.x or PRs targeting the v18.x-staging branch.
Projects
None yet
Development

Successfully merging this pull request may close these issues.