Skip to content

build: update node.js to v17 - autoclosed

Common Ground Bot requested to merge renovate/node-17.x into main

This MR contains the following updates:

Package Type Update Change
node image major 16.14.0-alpine -> 17.9.0-alpine
node stage major 16.14.0-alpine -> 17.9.0-alpine

Release Notes

nodejs/node

v17.9.0

Compare Source

Notable Changes
Commits

v17.8.0

Compare Source

Notable Changes
Commits

v17.7.2

Compare Source

This is a security release.

Notable Changes

Update to OpenSSL 3.0.2, which addresses the following vulnerability:

Commits

v17.7.1

Compare Source

Notable Changes
Fixed regression in url.resolve()

This release fixes an issue introduced in Node.js v17.7.0 with some URLs that contain @. This issue affected yarn 1. This version reverts the change that introduced the regression.

Commits

v17.6.0

Compare Source

Notable Changes
  • [6b88595142] - doc: deprecate notice for process methods (Yash Ladha) #​41587
  • [77462b6083] - stream: revert map spec compliance (Benjamin Gruenbaum) #​41931
  • [b968d89fc9] - build: remove broken x32 arch support (Ben Noordhuis) #​41905
  • [ba639d052b] - (SEMVER-MINOR) esm: support https remotely and http locally under flag (Bradley Farias) #​36328
  • [214d17650b] - (SEMVER-MINOR) fs: support copy of relative links with cp and cpSync (Marcos Bjoerkelund) #​41819
  • [ec0d623bd7] - (SEMVER-MINOR) lib: add FormData global when fetch is enabled (Michaël Zasso) #​41956
  • [3243701997] - (SEMVER-MINOR) readline: bind keystroke ctrl+6 to redo (Ray) #​41662
  • [5796c3a7ea] - process: deprecate multipleResolves (Benjamin Gruenbaum) #​41872
    • Documentation-only.
Dependency Updates
New Collaborators
Commits

v17.5.0

Compare Source

Notable Changes
Add fetch API

Adds experimental support to the fetch API. This adds a --experimental-fetch flag that installs the fetch, Request, Reponse and Headers globals.

Add stream methods
Other Notable Changes
Commits

v17.4.0

Compare Source

Notable Changes
  • [ef6f98c2e3] - (SEMVER-MINOR) child_process: add support for URL to cp.fork (Antoine du Hamel) #​41225
  • [d62fe315c2] - (SEMVER-MINOR) crypto: alias webcrypto.subtle and webcrypto.getRandomValues on crypto (James M Snell) #​41266
  • [fcb37e9ce5] - doc: add Mesteery to collaborators (Mestery) #​41543
  • [4079fc42b7] - (SEMVER-MINOR) events: graduate capturerejections to supported (James M Snell) #​41267
  • [fe21607901] - (SEMVER-MINOR) events: add EventEmitterAsyncResource to core (James M Snell) #​41246
  • [6d8eb6ace6] - (SEMVER-MINOR) loader: return package format from defaultResolve if known (Gabriel Bota) #​40980
  • [27c619140a] - (SEMVER-MINOR) perf_hooks: multiple fixes for Histogram (James M Snell) #​41153
  • [09c25bb224] - (SEMVER-MINOR) stream: add filter method to readable (Benjamin Gruenbaum, Robert Nagy) #​41354
  • [1150963217] - (SEMVER-MINOR) stream: add isReadable helper (Robert Nagy) #​41199
  • [9f5a873965] - (SEMVER-MINOR) stream: add map method to Readable (Benjamin Gruenbaum, Robert Nagy) #​40815
Commits

v17.3.1

Compare Source

This is a security release.

Notable changes
Improper handling of URI Subject Alternative Names (Medium)(CVE-2021-44531)

Accepting arbitrary Subject Alternative Name (SAN) types, unless a PKI is specifically defined to use a particular SAN type, can result in bypassing name-constrained intermediates. Node.js was accepting URI SAN types, which PKIs are often not defined to use. Additionally, when a protocol allows URI SANs, Node.js did not match the URI correctly.

Versions of Node.js with the fix for this disable the URI SAN type when checking a certificate against a hostname. This behavior can be reverted through the --security-revert command-line option.

More details will be available at CVE-2021-44531 after publication.

Certificate Verification Bypass via String Injection (Medium)(CVE-2021-44532)

Node.js converts SANs (Subject Alternative Names) to a string format. It uses this string to check peer certificates against hostnames when validating connections. The string format was subject to an injection vulnerability when name constraints were used within a certificate chain, allowing the bypass of these name constraints.

Versions of Node.js with the fix for this escape SANs containing the problematic characters in order to prevent the injection. This behavior can be reverted through the --security-revert command-line option.

More details will be available at CVE-2021-44532 after publication.

Incorrect handling of certificate subject and issuer fields (Medium)(CVE-2021-44533)

Node.js did not handle multi-value Relative Distinguished Names correctly. Attackers could craft certificate subjects containing a single-value Relative Distinguished Name that would be interpreted as a multi-value Relative Distinguished Name, for example, in order to inject a Common Name that would allow bypassing the certificate subject verification.

Affected versions of Node.js do not accept multi-value Relative Distinguished Names and are thus not vulnerable to such attacks themselves. However, third-party code that uses node's ambiguous presentation of certificate subjects may be vulnerable.

More details will be available at CVE-2021-44533 after publication.

Prototype pollution via console.table properties (Low)(CVE-2022-21824)

Due to the formatting logic of the console.table() function it was not safe to allow user controlled input to be passed to the properties parameter while simultaneously passing a plain object with at least one property as the first parameter, which could be __proto__. The prototype pollution has very limited control, in that it only allows an empty string to be assigned numerical keys of the object prototype.

Versions of Node.js with the fix for this use a null protoype for the object these properties are being assigned to.

More details will be available at CVE-2022-21824 after publication.

Thanks to Patrik Oldsberg (rugvip) for reporting this vulnerability.

Commits

v17.3.0

Compare Source

Notable changes
OpenSSL-3.0.1

OpenSSL-3.0.1 contains a fix for CVE-2021-4044: Invalid handling of X509_verify_cert() internal errors in libssl (Moderate). This is a vulnerability in OpenSSL that may be exploited through Node.js. More information can be read here: https://www.openssl.org/news/secadv/20211214.txt.

Contributed by Richard Lau #​41177.

Other Notable Changes
  • lib:
    • make AbortSignal cloneable/transferable (James M Snell) #​41050
  • deps:
  • doc:
  • process:
    • add getActiveResourcesInfo() (Darshan Sen) #​40813
  • timers:
    • add experimental scheduler api (James M Snell) #​40909
Commits

v17.2.0

Compare Source

Notable Changes
Commits

v17.1.0

Compare Source

Notable Changes
  • [89b34ecffb] - doc: add VoltrexMaster to collaborators (voltrexmaster) #​40566
  • [95e4d29eb4] - (SEMVER-MINOR) esm: add support for JSON import assertion (Antoine du Hamel) #​40250
  • [1ddbae2d76] - (SEMVER-MINOR) lib: add unsubscribe method to non-active DC channels (simon-id) #​40433
  • [aa61551b49] - (SEMVER-MINOR) lib: add return value for DC channel.unsubscribe (simon-id) #​40433
  • [fbeb895ca6] - (SEMVER-MINOR) v8: multi-tenant promise hook api (Stephen Belanger) #​39283
Commits

v17.0.1

Compare Source

Notable Changes
Fixed distribution for native addon builds

This release fixes an issue introduced in Node.js v17.0.0, where some V8 headers were missing from the distributed tarball, making it impossible to build native addons. These headers are now included. #​40526

Fixed stream issues
  • Fixed a regression in stream.promises.pipeline, which was introduced in version 16.10.0, is fixed. It is now possible again to pass an array of streams to the function. #​40193
  • Fixed a bug in stream.Duplex.from, which didn't work properly when an async generator function was passed to it. #​40499
Commits

v17.0.0

Compare Source

Notable Changes
Deprecations and Removals
  • [f182b9b29f] - (SEMVER-MAJOR) dns: runtime deprecate type coercion of dns.lookup options (Antoine du Hamel) #​39793
  • [4b030d0573] - doc: deprecate (doc-only) http abort related (dr-js) #​36670
  • [36e2ffe6dc] - (SEMVER-MAJOR) module: subpath folder mappings EOL (Guy Bedford) #​40121
  • [64287e4d45] - (SEMVER-MAJOR) module: runtime deprecate trailing slash patterns (Guy Bedford) #​40117
OpenSSL 3.0

Node.js now includes OpenSSL 3.0, specifically quictls/openssl which provides QUIC support. With OpenSSL 3.0 FIPS support is again available using the new FIPS module. For details about how to build Node.js with FIPS support please see BUILDING.md.

While OpenSSL 3.0 APIs should be mostly compatible with those provided by OpenSSL 1.1.1, we do anticipate some ecosystem impact due to tightened restrictions on the allowed algorithms and key sizes.

If you hit an ERR_OSSL_EVP_UNSUPPORTED error in your application with Node.js 17, it’s likely that your application or a module you’re using is attempting to use an algorithm or key size which is no longer allowed by default with OpenSSL 3.0. A command-line option, --openssl-legacy-provider, has been added to revert to the legacy provider as a temporary workaround for these tightened restrictions.

For details about all the features in OpenSSL 3.0 please see the OpenSSL 3.0 release blog.

Contributed in https://github.com/nodejs/node/pull/38512, https://github.com/nodejs/node/pull/40478

V8 9.5

The V8 JavaScript engine is updated to V8 9.5. This release comes with additional supported types for the Intl.DisplayNames API and Extended timeZoneName options in the Intl.DateTimeFormat API.

You can read more details in the V8 9.5 release post - https://v8.dev/blog/v8-release-95.

Contributed by Michaël Zasso - https://github.com/nodejs/node/pull/40178

Readline Promise API

The readline module provides an interface for reading data from a Readable stream (such as process.stdin) one line at a time.

The following simple example illustrates the basic use of the readline module:

import * as readline from 'node:readline/promises';
import { stdin as input, stdout as output } from 'process';

const rl = readline.createInterface({ input, output });

const answer = await rl.question('What do you think of Node.js? ');

console.log(`Thank you for your valuable feedback: ${answer}`);

rl.close();

Contributed by Antoine du Hamel - https://github.com/nodejs/node/pull/37947

Other Notable Changes
Semver-Major Commits
  • [9dfa30bdd5] - (SEMVER-MAJOR) build: compile with C++17 (MSVC) (Richard Lau) #​38807
  • [9f0bc602e4] - (SEMVER-MAJOR) build: compile with --gnu++17 (Richard Lau) #​38807
  • [62719c5fd2] - (SEMVER-MAJOR) deps: update V8 to 9.5.172.19 (Michaël Zasso) #​40178
  • [66da32c045] - (SEMVER-MAJOR) deps,test,src,doc,tools: update to OpenSSL 3.0 (Daniel Bevenius) #​38512
  • [40c6e838df] - (SEMVER-MAJOR) dgram: tighten address validation in socket.send (Voltrex) #​39190
  • [f182b9b29f] - (SEMVER-MAJOR) dns: runtime deprecate type coercion of dns.lookup options (Antoine du Hamel) #​39793
  • [1b2749ecbe] - (SEMVER-MAJOR) dns: default to verbatim=true in dns.lookup() (treysis) #​39987
  • [ae876d420c] - (SEMVER-MAJOR) doc: update minimum supported FreeBSD to 12.2 (Michaël Zasso) #​40179
  • [59d3d542d6] - (SEMVER-MAJOR) errors: print Node.js version on fatal exceptions that cause exit (Divlo) #​38332
  • [f9447b71a6] - (SEMVER-MAJOR) fs: fix rmsync error swallowing (Nitzan Uziely) #​38684
  • [f27b7cf95c] - (SEMVER-MAJOR) fs: aggregate errors in fsPromises to avoid error swallowing (Nitzan Uziely) #​38259
  • [d0a898681f] - (SEMVER-MAJOR) lib: add structuredClone() global (Ethan Arrowood) #​39759
  • [e4b1fb5e64] - (SEMVER-MAJOR) lib: expose DOMException as global (Khaidi Chu) #​39176
  • [36e2ffe6dc] - (SEMVER-MAJOR) module: subpath folder mappings EOL (Guy Bedford) #​40121
  • [64287e4d45] - (SEMVER-MAJOR) module: runtime deprecate trailing slash patterns (Guy Bedford) #​40117
  • [707dd77d86] - (SEMVER-MAJOR) readline: validate AbortSignals and remove unused event listeners (Antoine du Hamel) #​37947
  • [8122d243ae] - (SEMVER-MAJOR) readline: introduce promise-based API (Antoine du Hamel) #​37947
  • [592d1c3d44] - (SEMVER-MAJOR) readline: refactor Interface to ES2015 class (Antoine du Hamel) #​37947
  • [3f619407fe] - (SEMVER-MAJOR) src: allow CAP_NET_BIND_SERVICE in SafeGetenv (Daniel Bevenius) #​37727
  • [0a7f850123] - (SEMVER-MAJOR) src: return Maybe from a couple of functions (Darshan Sen) #​39603
  • [bdaf51bae7] - (SEMVER-MAJOR) src: allow custom PageAllocator in NodePlatform (Shelley Vohr) #​38362
  • [0c6f345cda] - (SEMVER-MAJOR) stream: fix highwatermark threshold and add the missing error (Rongjian Zhang) #​38700
  • [0e841b45c2] - (SEMVER-MAJOR) stream: don't emit 'data' after 'error' or 'close' (Robert Nagy) #​39639
  • [ef992f6de9] - (SEMVER-MAJOR) stream: do not emit end on readable error (Szymon Marczak) #​39607
  • [efd40eadab] - (SEMVER-MAJOR) stream: forward errored to callback (Robert Nagy) #​39364
  • [09d8c0c8d2] - (SEMVER-MAJOR) stream: destroy readable on read error (Robert Nagy) #​39342
  • [a5dec3a470] - (SEMVER-MAJOR) stream: validate abort signal (Robert Nagy) #​39346
  • [bb275ef2a4] - (SEMVER-MAJOR) stream: unify stream utils (Robert Nagy) #​39294
  • [b2ae12d422] - (SEMVER-MAJOR) stream: throw on premature close in Readable[AsyncIterator] (Darshan Sen) #​39117
  • [0738a2b7bd] - (SEMVER-MAJOR) stream: finished should error on errored stream (Robert Nagy) #​39235
  • [954217adda] - (SEMVER-MAJOR) stream: error Duplex write/read if not writable/readable (Robert Nagy) #​34385
  • [f4609bdf3f] - (SEMVER-MAJOR) stream: bypass legacy destroy for pipeline and async iteration (Robert Nagy) #​38505
  • [e1e669b109] - (SEMVER-MAJOR) url: throw invalid this on detached accessors (James M Snell) #​39752
  • [70157b9cb7] - (SEMVER-MAJOR) url: forbid certain confusable changes from being introduced by toASCII (Timothy Gu) #​38631
Semver-Minor Commits
  • [6cd12be347] - (SEMVER-MINOR) fs: add FileHandle.prototype.readableWebStream() (James M Snell) #​39331
  • [341312d78a] - (SEMVER-MINOR) readline: add autoCommit option (Antoine du Hamel) #​37947
  • [1d2f37d970] - (SEMVER-MINOR) src: add --openssl-legacy-provider option (Daniel Bevenius) #​40478
  • [3b72788afb] - (SEMVER-MINOR) src: add flags for controlling process behavior (Cheng Zhao) #​40339
  • [8306051001] - (SEMVER-MINOR) stream: add readableDidRead (Robert Nagy) #​36820
  • [08ffbd115e] - (SEMVER-MINOR) vm: add support for import assertions in dynamic imports (Antoine du Hamel) #​40249
Semver-Patch Commits

v16.14.2

Compare Source

This is a security release.

Notable Changes

Update to OpenSSL 1.1.1n, which addresses the following vulnerability:

Commits

v16.14.1

Compare Source

Notable changes
  • doc:
    • add release key for Bryan English (Bryan English) #​42102
Commits

Configuration

📅 Schedule: "after 10pm every weekday,before 5am every weekday,every weekend" (UTC).

🚦 Automerge: Disabled due to failing status checks.

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

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


  • If you want to rebase/retry this MR, click this checkbox.

This MR has been generated by Renovate Bot.

Edited by Common Ground Bot

Merge request reports