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.1.0 release proposal #42943

Merged
merged 91 commits into from
May 3, 2022
Merged

v18.1.0 release proposal #42943

merged 91 commits into from
May 3, 2022

Conversation

targos
Copy link
Member

@targos targos commented May 2, 2022

2022-05-03, Version 18.1.0 (Current), @targos

Notable Changes

Commits

  • [4694f5bb96] - async_hooks: avoid decrementing iterator after erase (Gabriel Bota) #42749
  • [459546b4f0] - benchmark: fix misc/startup failure (Antoine du Hamel) #42746
  • [6bd24204ea] - bootstrap: use the isolate snapshot in workers (Joyee Cheung) #42702
  • [29c8411f99] - bootstrap: move embedded snapshot to SnapshotBuilder (Joyee Cheung) #42702
  • [4050b0d64f] - build: enable V8's shared read-only heap (Michaël Zasso) #42809
  • [f9994e2029] - build: improve reliability of find_python.cmd script (Luigi Pinca) #42810
  • [5d15eb1a14] - build: fix format-cpp (Darshan Sen) #42764
  • [7c973474bf] - build: improve the format-cpp error message (Darshan Sen) #42765
  • [7681e60829] - crypto: validate this in all webcrypto methods and getters (Filip Skokan) #42815
  • [2a4c8263c3] - deps: update undici to 5.1.1 (Michaël Zasso) #42939
  • [1102922ef9] - deps: upgrade npm to 8.8.0 (npm team) #42886
  • [279892987b] - deps: remove linux-ppc64 architecture (Daniel Bevenius) #42616
  • [4abe9879ae] - deps: remove linux-ppc architecture (Daniel Bevenius) #42616
  • [8dc71f2266] - deps: remove aix-gcc architecture (Daniel Bevenius) #42616
  • [6dc1f82384] - deps: remove archs/aix64-gcc (Daniel Bevenius) #42616
  • [e8734a4771] - deps: add note about removing asm archs (Daniel Bevenius) #42616
  • [7fae2c9d6e] - deps: add template for generated headers (Daniel Bevenius) #42616
  • [294664e32c] - deps: upgrade npm to 8.7.0 (npm team) #42744
  • [60e461c45d] - doc: reword "test directory" (LiviaMedeiros) #42817
  • [227a45ba60] - doc: remove legacy -J test.py option from BUILDING.md (LiviaMedeiros) #42817
  • [e313dc6ed9] - doc: http2.createServer options as optional (Daeyeon Jeong) #42832
  • [8f2b2280cd] - doc: record March 2022 security release steward (Richard Lau) #42876
  • [e15d22c024] - doc: initial version of security-model-strategy.md (Michael Dawson) #42709
  • [fe65996790] - doc: clarify guide on testing internal errors (Livia Medeiros) #42813
  • [2f849a460f] - doc: fix markdown formatting in primordials.md (Tobias Nießen) #42877
  • [cd2f5a4fd4] - doc: add primordials guidelines (Antoine du Hamel) #38635
  • [2d76f72665] - doc: elevate node-clinic diagnostic tier (RafaelGSS) #42802
  • [9b61ac2617] - doc: update WebAssembly strategy with Wasm Web API (Tobias Nießen) #42836
  • [c6c1dc5833] - doc: order vm.Module linker arguments correctly (Simen Bekkhus) #42797
  • [c46e7bbf69] - doc: add @kuriyosh to collaborators (Yoshiki Kurihara) #42824
  • [59da1339b4] - doc: add maintaining-webassembly.md (Michael Dawson) #42660
  • [d9f3f05cab] - doc: fix outdated documentation for family property (Antoine du Hamel) #42789
  • [6fa080cb48] - doc: delete heapdump from diagnostic tooling support tiers (Tony Gorez) #42783
  • [c32f76d49e] - doc: fix example in assert.md (Livia Medeiros) #42786
  • [6225370b2e] - doc: fix version history for Loaders API (Antoine du Hamel) #42778
  • [3d65a3b13e] - doc: add node: prefix for all core modules (Antoine du Hamel) #42752
  • [46c880b99b] - doc: clarify core modules that can be loaded without a prefix (Antoine du Hamel) #42753
  • [025b3e786a] - doc: consolidate use of multiple-byte units (Antoine du Hamel) #42587
  • [962d80b7a1] - doc: add documentation for inherited methods (Luigi Pinca) #42691
  • [222b3e6674] - doc: close tag in n-api.md (Livia Medeiros) #42751
  • [4c30936065] - doc: copyedit http.OutgoingMessage documentation (Luigi Pinca) #42733
  • [d77c59d0f2] - doc: improve fragment (:target) anchors behavior on HTML version (Antoine du Hamel) #42739
  • [c50309cb39] - doc: fix added: info for outgoingMessage.writable* (Luigi Pinca) #42737
  • [6b7c35e807] - doc: delete mdb_v8 from diagnostic tooling support tiers (Tony Gorez) #42626
  • [2a07a9fc3a] - doc: document the 'close' and 'finish' events (Luigi Pinca) #42704
  • [ef5ab8179b] - doc: fix added: info for outgoingMessage.{,un}cork() (Luigi Pinca) #42711
  • [a6e1e7a5d7] - doc,test: add tests and docs for duplex.fromWeb and duplex.toWeb (Erick Wendel) #42738
  • [336242a7c6] - errors,console: refactor to use ES2021 syntax (小菜) #42872
  • [0e16120d0d] - errors,vm: update error and use cause (Gus Caplan) #42820
  • [a0638a23b0] - esm: fix imports from non-file module (Antoine du Hamel) #42881
  • [dab15f69e3] - esm: graduate top-level-await to stable (Antoine du Hamel) #42875
  • [48bbb73f36] - fs: fix mkdirSync so ENOSPC is correctly reported (Santiago Gimeno) #42811
  • [d33cbabd79] - lib: remove experimental warning from FormData (Xuguang Mei) #42807
  • [ad8269450a] - lib,src: use Response URL as WebAssembly location (Tobias Nießen) #42842
  • [b0f7c4c8f9] - (SEMVER-MINOR) lib,src: implement WebAssembly Web API (Tobias Nießen) #42701
  • [fdc65032a7] - meta: update AUTHORS (Node.js GitHub Bot) #42848
  • [33ac027fdf] - meta: move one or more collaborators to emeritus (Node.js GitHub Bot) #42769
  • [14893c5984] - meta: update AUTHORS (Node.js GitHub Bot) #42760
  • [2f38b4812c] - meta: move mmarchini to emeritus (mary marchini) #42750
  • [718d11fdb0] - perf_hooks: return different functions in timerify (Himself65) #42854
  • [e8083664e1] - src: turn SSL_CTX_new CHECK/segfault into JS exception (Anna Henningsen) #42799
  • [37ca1102c4] - src: make --no-node-snapshot a per-process option (Joyee Cheung) #42864
  • [1976284a92] - src: define fs.constants.S_IWUSR & S_IRUSR for Win (Liviu Ionescu) #42757
  • [b7e9dd0278] - src: use node: prefix in example (Antoine du Hamel) #42794
  • [1a7af6364d] - src: large page attributing an id on Linux (David CARLIER) #42644
  • [494650c09f] - src,crypto: remove uses of AllocatedBuffer from crypto_ec.cc (Darshan Sen) #42766
  • [8e0e576669] - test: add tests for extracting function name (Kohei Ueno) #42399
  • [fbda87d966] - test: simplify test-gc-{http-client,net}-* (Luigi Pinca) #42782
  • [3c796f8328] - test: fix parallel/test-dgram-udp6-link-local-address (Antoine du Hamel) #42795
  • [b85a11c28e] - test: improve lib/internal/test_runner/test.js coverage (MURAKAMI Masahiko) #42745
  • [59c07a99fb] - test: check ecdsa psychic signature (Filip Skokan) #42863
  • [0725064695] - test: fix port in net-perf_hooks (Livia Medeiros) #42761
  • [7b701442de] - test: skip test that cannot pass under --node-builtin-modules-path (Geoffrey Booth) #42834
  • [37364abc58] - test: fix flaky HTTP server tests (Tobias Nießen) #42846
  • [8476ffb85a] - test: use assert.match() instead of assert(regex.test()) (Antoine du Hamel) #42803
  • [d311916f37] - test: fix calculations in test-worker-resource-limits (Joyee Cheung) #42702
  • [deb3cf49c7] - test: remove the legacy url parser function (Kohei Ueno) #42656
  • [be44b1ffcb] - test: improve test coverage of internal/blob (Yoshiki Kurihara) #41513
  • [78a860ae58] - (SEMVER-MINOR) test_runner: add initial CLI runner (Colin Ihrig) #42658
  • [1e7479d34c] - tools: update lint-md-dependencies (Node.js GitHub Bot) #42932
  • [c3c5fe78dc] - tools: bump jsdoccomment from 0.22.1 to 0.29.0 (Rich Trott) #42857
  • [97fc00a06e] - tools: update eslint to 8.14.0 (Node.js GitHub Bot) #42845
  • [93fd77a16f] - tools: update doc to [email protected] (Node.js GitHub Bot) #42758
  • [47c04813f7] - tools: update lint-md-dependencies (Node.js GitHub Bot) #42759
  • [18ae2c39d5] - tools: lint osx shell scripts (Livia Medeiros) #42712
  • [4af0fbd41e] - v8: export cpu_profiler_metadata_size in getHeapCodeStatistics (theanarkh) #42818
  • [a19fb609d8] - v8: export more fields in getHeapStatistics (theanarkh) #42784
  • [1b5856a2a9] - wasi: remove unecessary null check (Michael Dawson) #42819
  • [bf9240ae8c] - (SEMVER-MINOR) worker: add hasRef() to MessagePort (Darshan Sen) #42849
  • [c3922afa1c] - worker: add hasRef() to the handle object (Darshan Sen) #42756

LiviaMedeiros and others added 30 commits April 28, 2022 06:56
PR-URL: #42712
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Mestery <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
`outgoingMessage.cork()` and `outgoingMessage.uncork()` were added to
Node.js v13.2.0 via 62e15a7 and backported to Node.js v12.16.0 via
db8144b.

PR-URL: #42711
Reviewed-By: Paolo Insogna <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Akhil Marsonya <[email protected]>
Reviewed-By: Mestery <[email protected]>
Reviewed-By: James M Snell <[email protected]>
These events are already documented as events of the
`http.ServerResponse` class. Document that they can also be emitted on
instances of the `http.ClientRequest` class.

PR-URL: #42704
Reviewed-By: Paolo Insogna <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Reviewed-By: Akhil Marsonya <[email protected]>
Reviewed-By: Mestery <[email protected]>
PR-URL: #41513
Refs: https://coverage.nodejs.org/coverage-74b9baa4265a8f0d/lib/internal/blob.js.html
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Daijiro Wachi <[email protected]>
PR-URL: #42656
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
Reviewed-By: Akhil Marsonya <[email protected]>
Reviewed-By: James M Snell <[email protected]>
This commit introduces an initial version of a CLI-based
test runner.

PR-URL: #42658
Reviewed-By: Antoine du Hamel <[email protected]>
Taking some time off the project, probably returning later this year.

PR-URL: #42750
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
Reviewed-By: Colin Ihrig <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
PR-URL: #42626
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Gerhard Stöbich <[email protected]>
Reviewed-By: Michael Dawson <[email protected]>
Using the new PR_SET_VMA_ANON_NAME prctl attribute available since
the 5.17 release, when rolling out the process address map appears as
`
<start>-<end> r-xp 0000000 00:00 0 [anon:nodejs Large Page]
`

PR-URL: #42644
Reviewed-By: James M Snell <[email protected]>
PR-URL: #42744
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Reviewed-By: Trivikram Kamat <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
- `outgoingMessage.writableCorked` was added to Node.js v13.2.0 via
  62e15a7 and backported to Node.js v12.16.0 via db8144b.
- `outgoingMessage.writableEnded` was added to Node.js v12.9.0 via
  f9b61d2.
- `outgoingMessage.writableFinished` was added to Node.js v12.7.0 via
  06d0abe.
- `outgoingMessage.writableHighWaterMark`,
  `outgoingMessage.writableLength`, and
  `outgoingMessage.writableObjectMode` were added to Node.js v12.9.0 via
  16e0011.

PR-URL: #42737
Reviewed-By: Paolo Insogna <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Reviewed-By: Mestery <[email protected]>
Reviewed-By: Ricky Zhou <[email protected]>
PR-URL: #42760
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
* @rollup/[email protected]
* @rollup/[email protected]
* [email protected]

PR-URL: #42759
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
PR-URL: #42758
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
decrementing an iterator returned by `std::vector::erase` may have
undefined behaviour and should not be used. Decrementing `end()`
on an empty container is undefined and `.erase()` could leave
the container empty.

Instead, by calling `vec.erase(it--)` we decrement the valid iterator
before the erase operation but after being passed to the erase method.

In case of `AsyncHooks::RemoveContext` perform the cleanup of empty
contexts upfront using `std::remove_if` because the iteration gets
interrupted as soon as the context to be removed has been found.

PR-URL: #42749
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
PR-URL: #42746
Reviewed-By: Paolo Insogna <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
Reviewed-By: Akhil Marsonya <[email protected]>
This commit aims to improve the UX when navigating the docs using links
to subsections. Previously the browser would scroll down to the section
body, skipping the section heading. Using `scroll-margin-top` CSS
property, we can fix this behavior (at least on some browsers).

Links to other versions are now updated with the current targeted hash
to improve the UX when navigating from docs of one release line to
another.

I've also removed syntax not parsable by older browsers (arrow functions
and array destructuring) since the diff is pretty small and should
improve UX on those browsers.

PR-URL: #42739
Reviewed-By: Paolo Insogna <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Fix nits/typos and simplify some sentences.

PR-URL: #42733
Reviewed-By: Paolo Insogna <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
PR-URL: #42751
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
Reviewed-By: Akhil Marsonya <[email protected]>
Reviewed-By: Mestery <[email protected]>
These methods are inherited from `http.OutgoingMessage` and
they are already documented as methods of the `http.ServerResponse`
class. For consistency, document them also as methods of the
`http.ClientRequest` class.

PR-URL: #42691
Reviewed-By: Paolo Insogna <[email protected]>
Reviewed-By: Mestery <[email protected]>
So that the embedded snapshot can be reused by the worker.

PR-URL: #42702
Refs: #35711
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
Reviewed-By: James M Snell <[email protected]>
PR-URL: #42702
Refs: #35711
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
Reviewed-By: James M Snell <[email protected]>
The heap size limit should be the sum of old generation and young
generation size limits, and does not solely depend on the limit
of the old generation.

PR-URL: #42702
Refs: #35711
Reviewed-By: Chengzhong Wu <[email protected]>
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Tobias Nießen <[email protected]>
Reviewed-By: James M Snell <[email protected]>
Refs: https://en.wikipedia.org/wiki/Byte#Multiple-byte_units

PR-URL: #42587
Reviewed-By: James M Snell <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
Reviewed-By: Paolo Insogna <[email protected]>
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Mestery <[email protected]>
This change specifies the target branch name instead of leaving that to
the committer to fill in.

Signed-off-by: Darshan Sen <[email protected]>

PR-URL: #42765
Reviewed-By: Rich Trott <[email protected]>
Reviewed-By: Mestery <[email protected]>
Reviewed-By: Jiawen Geng <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
This should help projects like
https://github.com/mafintosh/why-is-node-running and
https://github.com/facebook/jest to detect if Worker instances are
keeping the event loop active correctly.

Fixes: #42091
Refs: mafintosh/why-is-node-running#59
Signed-off-by: Darshan Sen <[email protected]>

PR-URL: #42756
Reviewed-By: Anna Henningsen <[email protected]>
Reviewed-By: Antoine du Hamel <[email protected]>
Refs: #42325

PR-URL: #42753
Reviewed-By: Geoffrey Booth <[email protected]>
Reviewed-By: Jacob Smith <[email protected]>
Reviewed-By: Mestery <[email protected]>
Some core modules can be loaded with or without the `node:` prefix.
Using the prefix disambiguates which specifiers refer to core modules.

This commit updates the docs to use the prefix everywhere a core module
is referenced.

PR-URL: #42752
Fixes: #38343
Reviewed-By: Matteo Collina <[email protected]>
Reviewed-By: Mestery <[email protected]>
Reviewed-By: Darshan Sen <[email protected]>
Reviewed-By: Akhil Marsonya <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Reviewed-By: Geoffrey Booth <[email protected]>
Reviewed-By: Stephen Belanger <[email protected]>
Refs: #42752

PR-URL: #42794
Reviewed-By: Mestery <[email protected]>
Reviewed-By: Rafael Gonzaga <[email protected]>
Reviewed-By: Paolo Insogna <[email protected]>
Reviewed-By: Rich Trott <[email protected]>
According to the logs in
#42681 (comment),
`make format-cpp` exits with an NZEC. This change intentionally ignores
the error code because it is irrelevant. We already check if the
formatter produced a diff in the next line.

Refs: #42681 (comment)
Signed-off-by: Darshan Sen <[email protected]>

PR-URL: #42764
Reviewed-By: Tobias Nießen <[email protected]>
Reviewed-By: Mestery <[email protected]>
Reviewed-By: Mohammed Keyvanzadeh <[email protected]>
Reviewed-By: Luigi Pinca <[email protected]>
@targos targos removed meta Issues and PRs related to the general management of the project. npm Issues and PRs related to the npm client dependency or the npm registry. fast-track PRs that do not need to wait for 48 hours to land. needs-ci PRs that need a full CI run. dont-land-on-v12.x labels May 2, 2022
@github-actions

This comment was marked as off-topic.

@nodejs-github-bot
Copy link
Collaborator

nodejs-github-bot commented May 2, 2022

@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@targos
Copy link
Member Author

targos commented May 3, 2022

@nodejs/releasers

@nodejs-github-bot
Copy link
Collaborator

@nodejs-github-bot
Copy link
Collaborator

@targos
Copy link
Member Author

targos commented May 3, 2022

Release builds are already done at https://ci-release.nodejs.org/job/iojs+release/8435/

targos added a commit that referenced this pull request May 3, 2022
@targos targos merged commit f35f8a6 into v18.x May 3, 2022
@targos targos deleted the v18.1.0-proposal branch May 3, 2022 11:53
targos added a commit that referenced this pull request May 3, 2022
Notable changes:

doc:
  * add @kuriyosh to collaborators (Yoshiki Kurihara) #42824
lib,src:
  * (SEMVER-MINOR) implement WebAssembly Web API (Tobias Nießen) #42701
test_runner:
  * (SEMVER-MINOR) add initial CLI runner (Colin Ihrig) #42658
worker:
  * (SEMVER-MINOR) add hasRef() to MessagePort (Darshan Sen) #42849

PR-URL: #42943
targos added a commit to targos/nodejs.org that referenced this pull request May 3, 2022
targos added a commit to nodejs/nodejs.org that referenced this pull request May 3, 2022
@ljharb
Copy link
Member

ljharb commented May 10, 2022

Any idea why the changelog here says npm should be v8.8.0, but node 18.1 seems to ship with v8.3.1?

@richardlau
Copy link
Member

Any idea why the changelog here says npm should be v8.8.0, but node 18.1 seems to ship with v8.3.1?

?

$ nvm install 18.1.0
Downloading and installing node v18.1.0...
Downloading https://nodejs.org/dist/v18.1.0/node-v18.1.0-linux-x64.tar.xz...
##################################################################################################################################################### 100.0%
Computing checksum with sha256sum
Checksums matched!
Now using node v18.1.0 (npm v8.8.0)
$ npm --version
8.8.0
$

@ljharb
Copy link
Member

ljharb commented May 10, 2022

@richardlau hmm, thanks. I did almost the same - using --reinstall-packages-from=18.0 - and got 8.3.1. Maybe there's an issue with nvm then, and sorry for the noise.

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.