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

Update Node.js to v20 #118

Merged
merged 1 commit into from
Dec 29, 2023
Merged

Update Node.js to v20 #118

merged 1 commit into from
Dec 29, 2023

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented May 5, 2023

Mend Renovate

This PR contains the following updates:

Package Type Update Change Age Adoption Passing Confidence
node final major 18 -> 20 age adoption passing confidence
node stage major 18 -> 20 age adoption passing confidence
@types/node (source) devDependencies major 18.16.4 -> 20.10.5 age adoption passing confidence

Release Notes

nodejs/node (node)

v20.10.0: 2023-11-22, Version 20.10.0 'Iron' (LTS), @​targos

Compare Source

Notable Changes
--experimental-default-type flag to flip module defaults

The new flag --experimental-default-type can be used to flip the default
module system used by Node.js. Input that is already explicitly defined as ES
modules or CommonJS, such as by a package.json "type" field or .mjs/.cjs
file extension or the --input-type flag, is unaffected. What is currently
implicitly CommonJS would instead be interpreted as ES modules under
--experimental-default-type=module:

  • String input provided via --eval or STDIN, if --input-type is unspecified.

  • Files ending in .js or with no extension, if there is no package.json file
    present in the same folder or any parent folder.

  • Files ending in .js or with no extension, if the nearest parent
    package.json field lacks a type field; unless the folder is inside a
    node_modules folder.

In addition, extensionless files are interpreted as Wasm if
--experimental-wasm-modules is passed and the file contains the "magic bytes"
Wasm header.

Contributed by Geoffrey Booth in #​49869.

Detect ESM syntax in ambiguous JavaScript

The new flag --experimental-detect-module can be used to automatically run ES
modules when their syntax can be detected. For “ambiguous” files, which are
.js or extensionless files with no package.json with a type field, Node.js
will parse the file to detect ES module syntax; if found, it will run the file
as an ES module, otherwise it will run the file as a CommonJS module. The same
applies to string input via --eval or STDIN.

We hope to make detection enabled by default in a future version of Node.js.
Detection increases startup time, so we encourage everyone—especially package
authors—to add a type field to package.json, even for the default
"type": "commonjs". The presence of a type field, or explicit extensions
such as .mjs or .cjs, will opt out of detection.

Contributed by Geoffrey Booth in #​50096.

New flush option in file system functions

When writing to files, it is possible that data is not immediately flushed to
permanent storage. This allows subsequent read operations to see stale data.
This PR adds a 'flush' option to the fs.writeFile family of functions which
forces the data to be flushed at the end of a successful write operation.

Contributed by Colin Ihrig in #​50009 and #​50095.

Experimental WebSocket client

Adds a --experimental-websocket flag that adds a WebSocket
global, as standardized by WHATWG.

Contributed by Matthew Aitken in #​49830.

vm: fix V8 compilation cache support for vm.Script

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

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

Contributed by Joyee Cheung in #​49950
and #​50137.

Other notable changes
  • [21453ae555] - (SEMVER-MINOR) deps: update uvwasi to 0.0.19 (Node.js GitHub Bot) #​49908
  • [ee65e44c31] - esm: use import attributes instead of import assertions (Antoine du Hamel) #​50140
  • [ffdc357167] - (SEMVER-MINOR) stream: allow passing stream class to stream.compose (Alex Yang) #​50187
  • [4861ad6431] - stream: improve performance of readable stream reads (Raz Luvaton) #​50173
  • [4b27087b30] - stream: optimize Writable (Robert Nagy) #​50012
  • [709c6c0cab] - (SEMVER-MINOR) test_runner, cli: add --test-concurrency flag (Colin Ihrig) #​49996
  • [57efd5292c] - (SEMVER-MINOR) vm: use import attributes instead of import assertions (Antoine du Hamel) #​50141
Commits

v20.9.0: 2023-10-24, Version 20.9.0 'Iron' (LTS), @​richardlau

Compare Source

Notable Changes

This release marks the transition of Node.js 20.x into Long Term Support (LTS)
with the codename 'Iron'. The 20.x release line now moves into "Active LTS"
and will remain so until October 2024. After that time, it will move into
"Maintenance" until end of life in April 2026.

Known issue

Collecting code coverage via the NODE_V8_COVERAGE environment variable may
lead to a hang. This is not thought to be a regression in Node.js 20 (some
reports are on Node.js 18). For more information, including some potential
workarounds, see issue #​49344.

v20.8.1: 2023-10-13, Version 20.8.1 (Current), @​RafaelGSS

Compare Source

This is a security release.

Notable Changes

The following CVEs are fixed in this release:

More detailed information on each of the vulnerabilities can be found in October 2023 Security Releases blog post.

Commits

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about these updates again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@renovate renovate bot force-pushed the renovate/node-20.x branch 3 times, most recently from d456565 to f08b927 Compare May 5, 2023 16:02
@codecov
Copy link

codecov bot commented May 5, 2023

Codecov Report

All modified and coverable lines are covered by tests ✅

Comparison is base (7cf0562) 66.64% compared to head (b9ec1d7) 66.64%.
Report is 41 commits behind head on master.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #118   +/-   ##
=======================================
  Coverage   66.64%   66.64%           
=======================================
  Files          48       48           
  Lines        1937     1937           
  Branches       88       88           
=======================================
  Hits         1291     1291           
  Misses        634      634           
  Partials       12       12           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@renovate renovate bot force-pushed the renovate/node-20.x branch 7 times, most recently from f33a236 to 07c33cf Compare May 7, 2023 15:58
@renovate renovate bot changed the title Update Node.js to v20 Update Node.js to v20 - autoclosed Oct 20, 2023
@renovate renovate bot closed this Oct 20, 2023
@renovate renovate bot deleted the renovate/node-20.x branch October 20, 2023 00:47
@renovate renovate bot changed the title Update Node.js to v20 - autoclosed Update Node.js to v20 Oct 24, 2023
@renovate renovate bot reopened this Oct 24, 2023
@renovate renovate bot restored the renovate/node-20.x branch October 24, 2023 01:13
@renovate renovate bot force-pushed the renovate/node-20.x branch 3 times, most recently from 35a585b to 53cf6bd Compare October 25, 2023 19:11
@renovate renovate bot force-pushed the renovate/node-20.x branch from 53cf6bd to 5f20b2e Compare October 31, 2023 11:27
@renovate renovate bot force-pushed the renovate/node-20.x branch from 5f20b2e to 5e4885f Compare November 7, 2023 23:50
@renovate renovate bot force-pushed the renovate/node-20.x branch 5 times, most recently from f71a3a6 to bad886d Compare November 22, 2023 17:39
@renovate renovate bot force-pushed the renovate/node-20.x branch 3 times, most recently from 446d9b5 to 449455f Compare November 29, 2023 22:16
@renovate renovate bot force-pushed the renovate/node-20.x branch 4 times, most recently from 21a02f0 to 1f83fb2 Compare December 7, 2023 08:07
@renovate renovate bot force-pushed the renovate/node-20.x branch from 1f83fb2 to 934a398 Compare December 17, 2023 22:19
@renovate renovate bot force-pushed the renovate/node-20.x branch 4 times, most recently from e91533b to ad2da72 Compare December 29, 2023 19:47
@renovate renovate bot force-pushed the renovate/node-20.x branch from ad2da72 to b9ec1d7 Compare December 29, 2023 19:50
@victorsoares96 victorsoares96 merged commit 6beafd3 into master Dec 29, 2023
3 checks passed
@victorsoares96 victorsoares96 deleted the renovate/node-20.x branch December 29, 2023 19:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant