Skip to content

Conversation

aduh95
Copy link
Contributor

@aduh95 aduh95 commented Jun 28, 2025

I lost access to the other key, so had to generate a new one

@nodejs-github-bot nodejs-github-bot added the doc Issues and PRs related to the documentations. label Jun 28, 2025
Copy link
Member

@LiviaMedeiros LiviaMedeiros left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM.
The key has two user IDs associated (the other one is with rosa be email), I assume it was intentional?

@LiviaMedeiros LiviaMedeiros added the author ready PRs that have at least one approval, no pending requests for changes, and a CI started. label Jun 29, 2025
@ruant
Copy link

ruant commented Jun 30, 2025

@aduh95 Please also update the nodejs/release-keys repo as well since that's now outdated.

@MikeMcC399

This comment was marked as outdated.

@aduh95
Copy link
Contributor Author

aduh95 commented Jun 30, 2025

@MikeMcC399 this PR won't fix the issue you linked, the problem seems to be that getting the key the release was signed with from OpenPGP.org no longer works – this PR is not going to change past releases signatures, it's only going to list the new key I intend to sign future releases with.

@nodejs/releasers maybe we should not list openpgp.org as the recommended way to get releasers keys.

@MikeMcC399

This comment was marked as outdated.

@richardlau
Copy link
Member

@nodejs/releasers maybe we should not list openpgp.org as the recommended way to get releasers keys.

Is there a particular issue with it? I've just gone through submitting my updated gpg key (with additional UID) in the following keyservers:

and was able to retrieve my key using the newly added email address. The one bit of uncertainty I had was the last one, pgp.mit.edu, where it wasn't clear if the update was accepted, but I was able to retrieve the key with my new email address from my updated key.

@aduh95
Copy link
Contributor Author

aduh95 commented Jun 30, 2025

Is there a particular issue with it?

Apparently. It looks like that OpenPGP won't let users download my old key – which sorta makes sense, if someone sends me a message encrypted with that old key, I won't be able to decrypt it anymore; however it's a problem when it comes to verify the releases that key has signed.

Also, IMO it's not ideal that the project has no control over it, so if either OpenPGP or the releaser (or former releaser even) changes something, it can break the project (or its users) without any possibility to fix it.

Our recommendation should probably be to get it from https://github.com/nodejs/release-keys/blob/main/keys/C0D6248439F1D5604AAFFB4021D900FFDB233756.asc, which we have more control over.

@richardlau
Copy link
Member

Also, IMO it's not ideal that the project has no control over it, so if either OpenPGP or the releaser (or former releaser even) changes something, it can break the project (or its users) without any possibility to fix it.

Our recommendation should probably be to get it from https://github.com/nodejs/release-keys/blob/main/keys/C0D6248439F1D5604AAFFB4021D900FFDB233756.asc, which we have more control over.

Right, I guess my question was more if there was anything different about one keyserver over any other. I think I'd be +1 for making the release-keys repository the source of truth. There's probably a lot of stuff out there assuming the keys are on public keyservers, e.g.

@LiviaMedeiros
Copy link
Member

FWIW OpenPGP still provides a key with old fingerprint,
$ curl -s https://keys.openpgp.org/vks/v1/by-fingerprint/C0D6248439F1D5604AAFFB4021D900FFDB233756 | pgpdump
New: Public Key Packet(tag 6)(525 bytes)
        Ver 4 - new
        Public key creation time - Wed Jan 26 00:19:54 +08 2022
        Pub alg - RSA Encrypt or Sign(pub 1)
        RSA n(4096 bits) - ...
        RSA e(17 bits) - ...
New: Public Subkey Packet(tag 14)(525 bytes)
        Ver 4 - new
        Public key creation time - Wed Jan 26 00:19:54 +08 2022
        Pub alg - RSA Encrypt or Sign(pub 1)
        RSA n(4096 bits) - ...
        RSA e(17 bits) - ...
New: Signature Packet(tag 2)(566 bytes)
        Ver 4 - new
        Sig type - Subkey Binding Signature(0x18).
        Pub alg - RSA Encrypt or Sign(pub 1)
        Hash alg - SHA256(hash 8)
        Hashed Sub: issuer fingerprint(sub 33)(21 bytes)
         v4 -   Fingerprint - c0 d6 24 84 39 f1 d5 60 4a af fb 40 21 d9 00 ff db 23 37 56
        Hashed Sub: signature creation time(sub 2)(4 bytes)
                Time - Wed Jan 26 00:19:54 +08 2022
        Hashed Sub: key flags(sub 27)(1 bytes)
                Flag - This key may be used to encrypt communications
                Flag - This key may be used to encrypt storage
        Sub: issuer key ID(sub 16)(8 bytes)
                Key ID - 0x21D900FFDB233756
        Hash left 2 bytes - be 82
        RSA m^d mod n(4095 bits) - ...
                -> PKCS-1
but it looks like it removed the newer subkey that was associated with the email and kept a heavily outdated key that didn't have user id packets there?

Another possible option is an own keyserver, so people still can use gpg --recv-keys.

@richardlau
Copy link
Member

FWIW OpenPGP still provides a key with old fingerprint,
but it looks like it removed the newer subkey that was associated with the email and kept a heavily outdated key that didn't have user id packets there?

My question is, did OpenPGP drop something, or has it always had an outdated version of the key? What if we uploaded the key from the release-keys repository to the keyserver?

@richardlau
Copy link
Member

(Also I think these conversations are derailing this PR.)

@LiviaMedeiros
Copy link
Member

If the private part of the key is lost as in "nobody has and ever will have access to it" and not as in "there is a slightest chance of key being compromised", it would make sense to re-upload the public part to openpgp, so past releases can be verified without users having to change the source or retrieval method.
If it conflicts with the newer key's user ID, there's still an option of dropping the "old" email from new key, although it probably would be at least less convenient to use.

@MikeMcC399

This comment was marked as resolved.

@MikeMcC399

This comment was marked as resolved.

kokuwaio-bot pushed a commit to kokuwaio/backstage-entity-validator that referenced this pull request Jul 2, 2025
@MikeMcC399

This comment was marked as outdated.

@aduh95 aduh95 added commit-queue Add this label to land a pull request using GitHub Actions. and removed blocked PRs that are blocked by other issues or PRs. labels Jul 18, 2025
@nodejs-github-bot nodejs-github-bot removed the commit-queue Add this label to land a pull request using GitHub Actions. label Jul 18, 2025
@nodejs-github-bot nodejs-github-bot merged commit a22c9c4 into nodejs:main Jul 18, 2025
29 checks passed
@nodejs-github-bot
Copy link
Collaborator

Landed in a22c9c4

@aduh95 aduh95 deleted the pgp-key branch July 18, 2025 15:25
aduh95 added a commit that referenced this pull request Jul 21, 2025
PR-URL: #58877
Reviewed-By: LiviaMedeiros <livia@cirno.name>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
Reviewed-By: Ruy Adorno <ruy@vlt.sh>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
aduh95 added a commit that referenced this pull request Jul 22, 2025
PR-URL: #58877
Reviewed-By: LiviaMedeiros <livia@cirno.name>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
Reviewed-By: Ruy Adorno <ruy@vlt.sh>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
aduh95 added a commit that referenced this pull request Jul 22, 2025
PR-URL: #58877
Reviewed-By: LiviaMedeiros <livia@cirno.name>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
Reviewed-By: Ruy Adorno <ruy@vlt.sh>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
aduh95 added a commit that referenced this pull request Jul 24, 2025
PR-URL: #58877
Reviewed-By: LiviaMedeiros <livia@cirno.name>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
Reviewed-By: Ruy Adorno <ruy@vlt.sh>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
aduh95 added a commit that referenced this pull request Jul 27, 2025
PR-URL: #58877
Reviewed-By: LiviaMedeiros <livia@cirno.name>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Marco Ippolito <marcoippolito54@gmail.com>
Reviewed-By: Richard Lau <richard.lau@ibm.com>
Reviewed-By: Ulises Gascón <ulisesgascongonzalez@gmail.com>
Reviewed-By: Ruy Adorno <ruy@vlt.sh>
Reviewed-By: Rafael Gonzaga <rafael.nunu@hotmail.com>
chadlwilson added a commit to chadlwilson/mise that referenced this pull request Aug 1, 2025
chadlwilson added a commit to chadlwilson/mise that referenced this pull request Aug 1, 2025
chadlwilson added a commit to chadlwilson/mise that referenced this pull request Aug 1, 2025
jdx pushed a commit to jdx/mise that referenced this pull request Aug 1, 2025
NodeJS 22.18.0 and 24.5.0 releases currently cannot be installed as
looks like a maintainer regenerated their key.

See nodejs/node#58877

Workaround for folks in the meantime: (please double check the key
matches the PR https://github.com/nodejs/node/pull/58877/files rather
than blindly trusting me :-) )

```shell
gpg --keyserver hkps://keys.openpgp.org --recv-keys 5BE8A3F6C8A5C01D106C0AD820B1A390B168D356
```

Believe we need to keep the old key as trusted as old releases won't be
able to be installed.

When I re-ran `fetch-gpg-keys` I'm not sure why the other keys look so
different now; possibly maintainers updated them for some reason; didn't
dig through comparing them.
tmeijn pushed a commit to tmeijn/dotfiles that referenced this pull request Aug 4, 2025
This MR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [node](https://nodejs.org) ([source](https://github.com/nodejs/node)) | minor | `24.4.1` -> `24.5.0` |

MR created with the help of [el-capitano/tools/renovate-bot](https://gitlab.com/el-capitano/tools/renovate-bot).

**Proposed changes to behavior should be submitted there as MRs.**

---

### Release Notes

<details>
<summary>nodejs/node (node)</summary>

### [`v24.5.0`](https://github.com/nodejs/node/releases/tag/v24.5.0): 2025-07-31, Version 24.5.0 (Current), @&#8203;aduh95

[Compare Source](nodejs/node@v24.4.1...v24.5.0)

##### Notable Changes

##### Upgrade to OpenSSL 3.5

This release is distributed with OpenSSL 3.5.1, following the announcement that
OpenSSL 3.5 will be supported until April 2030, while Node.js 24 will be
supported until April 2028. Read more about OpenSSL support in their blog post:
<https://openssl-library.org/post/2025-02-20-openssl-3.5-lts/>.

Contributed by Richard Lau in [#&#8203;58100](nodejs/node#58100).

##### Unflag `--experimental-wasm-modules`

Node.js supports both source phase imports and instance phase imports to WebAssembly
modules and for WASM imports to JavaScript, in line with the current Phase 3
WebAssembly [ESM Integration](https://github.com/webassembly/esm-integration) proposal.
The implementation and the specification are still subject to change.

Contributed by Guy Bedford in [#&#8203;57038](nodejs/node#57038).

##### Built-in proxy support in `request()` and `Agent`

`node:http` and `node:https` now support proxies. When `NODE_USE_ENV_PROXY`
is set to `1`, the default global agent would parse the `http_proxy`/`HTTP_PROXY`,
`https_proxy`/`HTTPS_PROXY`, `no_proxy`/`NO_PROXY` settings from the
environment variables, and proxy the requests sent through the built-in http/https
client accordingly.

To use global proxy support from the command line:

```bash
NODE_USE_ENV_PROXY=1 HTTP_PROXY=http://proxy.example.com:8080 HTTPS_PROXY=http://proxy.example.com:8080 NO_PROXY=localhost,127.0.0.1 node client.js
```

In addition, `http.Agent` and `https.Agent` now support the custom `proxyEnv` options.

```js
const agent = new https.Agent({ proxyEnv: { HTTPS_PROXY: 'http://proxy.example.com:8080' } });
```

For reference, `fetch()` already supports `NODE_USE_ENV_PROXY` as of Node.js 24.0.0.

Contributed by Joyee Cheung in [#&#8203;58980](nodejs/node#58980).

##### Add `setDefaultCACertificates()` to `node:tls`

This API allows dynamically configuring CA certificates that will be used by the
Node.js TLS clients by default.

Once called, the provided certificates will become the default CA certificate list
returned by `tls.getCACertificates('default')` and used by TLS connections that
don't specify their own CA certificates.

To add system CA certificates to the default bundle (which includes the Mozilla
CA certificates):

```js
tls.setDefaultCACertificates(tls.getCACertificates('default').concat(tls.getCACertificates('system')));
```

Contributed by Joyee Cheung in [#&#8203;58822](nodejs/node#58822).

##### Other notable changes

- \[[`d5640ca58a`](nodejs/node@d5640ca58a)] - **(SEMVER-MINOR)** **cli**: support `${pid}` placeholder in `--cpu-prof-name` (Haram Jeong) [#&#8203;59072](nodejs/node#59072)
- \[[`c52aaacfc5`](nodejs/node@c52aaacfc5)] - **(SEMVER-MINOR)** **dns**: support max timeout (theanarkh) [#&#8203;58440](nodejs/node#58440)
- \[[`927742b342`](nodejs/node@927742b342)] - **doc**: update the instruction on how to verify releases (Antoine du Hamel) [#&#8203;59113](nodejs/node#59113)
- \[[`f753645cd8`](nodejs/node@f753645cd8)] - **(SEMVER-MINOR)** **net**: update net.blocklist to allow file save and file management (alphaleadership) [#&#8203;58087](nodejs/node#58087)
- \[[`9791ff3480`](nodejs/node@9791ff3480)] - **(SEMVER-MINOR)** **worker**: add web locks api (ishabi) [#&#8203;58666](nodejs/node#58666)

##### Commits

- \[[`5457c7a8a1`](nodejs/node@5457c7a8a1)] - **benchmark**: adjust configuration for string-decoder bench (Rafael Gonzaga) [#&#8203;59187](nodejs/node#59187)
- \[[`28538f2255`](nodejs/node@28538f2255)] - **benchmark**: add --track to benchmark (Rafael Gonzaga) [#&#8203;59174](nodejs/node#59174)
- \[[`a28d804497`](nodejs/node@a28d804497)] - **benchmark**: small lint fix on \_cli.js (Rafael Gonzaga) [#&#8203;59172](nodejs/node#59172)
- \[[`09717eb68e`](nodejs/node@09717eb68e)] - **benchmark**: drop misc/punycode benchmark (Rafael Gonzaga) [#&#8203;59171](nodejs/node#59171)
- \[[`ad6757ef02`](nodejs/node@ad6757ef02)] - **benchmark**: fix sqlite-is-transaction (Rafael Gonzaga) [#&#8203;59170](nodejs/node#59170)
- \[[`7fc3143f61`](nodejs/node@7fc3143f61)] - **benchmark**: reduce N for diagnostics\_channel subscribe benchmark (Arthur Angelo) [#&#8203;59116](nodejs/node#59116)
- \[[`f2812723a0`](nodejs/node@f2812723a0)] - **buffer**: cache Environment::GetCurrent to avoid repeated calls (Mert Can Altin) [#&#8203;59043](nodejs/node#59043)
- \[[`e3e729ca60`](nodejs/node@e3e729ca60)] - **build**: remove suppressions.supp (Rafael Gonzaga) [#&#8203;59079](nodejs/node#59079)
- \[[`dc66422768`](nodejs/node@dc66422768)] - **build,deps,tools**: prepare to update to OpenSSL 3.5 (Richard Lau) [#&#8203;58100](nodejs/node#58100)
- \[[`f5da4947d9`](nodejs/node@f5da4947d9)] - **cli**: add --use-env-proxy (Joyee Cheung) [#&#8203;59151](nodejs/node#59151)
- \[[`d5640ca58a`](nodejs/node@d5640ca58a)] - **(SEMVER-MINOR)** **cli**: support `${pid}` placeholder in --cpu-prof-name (Haram Jeong) [#&#8203;59072](nodejs/node#59072)
- \[[`eeeb40e95b`](nodejs/node@eeeb40e95b)] - **(SEMVER-MINOR)** **crypto**: add tls.setDefaultCACertificates() (Joyee Cheung) [#&#8203;58822](nodejs/node#58822)
- \[[`135fca5b72`](nodejs/node@135fca5b72)] - **crypto**: avoid copying buffers to UTF-8 strings in `crypto.hash()` (Renegade334) [#&#8203;59067](nodejs/node#59067)
- \[[`998cef10e3`](nodejs/node@998cef10e3)] - **deps**: update archs files for openssl-3.5.1 (Node.js GitHub Bot) [#&#8203;59234](nodejs/node#59234)
- \[[`1f06ca956a`](nodejs/node@1f06ca956a)] - **deps**: upgrade openssl sources to openssl-3.5.1 (Node.js GitHub Bot) [#&#8203;59234](nodejs/node#59234)
- \[[`55a90eed8d`](nodejs/node@55a90eed8d)] - **deps**: upgrade npm to 11.5.1 (npm team) [#&#8203;59199](nodejs/node#59199)
- \[[`2b5d451ae0`](nodejs/node@2b5d451ae0)] - **deps**: update amaro to 1.1.1 (Node.js GitHub Bot) [#&#8203;59141](nodejs/node#59141)
- \[[`af789d9b5c`](nodejs/node@af789d9b5c)] - **deps**: update undici to 7.12.0 (Node.js GitHub Bot) [#&#8203;59135](nodejs/node#59135)
- \[[`a34e44545e`](nodejs/node@a34e44545e)] - **deps**: update sqlite to 3.50.3 (Node.js GitHub Bot) [#&#8203;59132](nodejs/node#59132)
- \[[`bfe4781c7d`](nodejs/node@bfe4781c7d)] - **deps**: update googletest to [`7e17b15`](nodejs/node@7e17b15) (Node.js GitHub Bot) [#&#8203;59131](nodejs/node#59131)
- \[[`72adf52e51`](nodejs/node@72adf52e51)] - **deps**: update ada to 3.2.6 (Node.js GitHub Bot) [#&#8203;58966](nodejs/node#58966)
- \[[`2a5f35b589`](nodejs/node@2a5f35b589)] - **deps**: V8: cherry-pick [`3d750c2`](nodejs/node@3d750c2aa9ef) (Michaël Zasso) [#&#8203;58750](nodejs/node#58750)
- \[[`3f813eaba7`](nodejs/node@3f813eaba7)] - **deps**: update archs files for openssl-3.0.17 (Node.js GitHub Bot) [#&#8203;59134](nodejs/node#59134)
- \[[`fb52d0d8df`](nodejs/node@fb52d0d8df)] - **deps**: upgrade openssl sources to openssl-3.0.17 (Node.js GitHub Bot) [#&#8203;59134](nodejs/node#59134)
- \[[`f122602f9d`](nodejs/node@f122602f9d)] - **deps**: update corepack to 0.34.0 (Node.js GitHub Bot) [#&#8203;59133](nodejs/node#59133)
- \[[`c52aaacfc5`](nodejs/node@c52aaacfc5)] - **(SEMVER-MINOR)** **dns**: support max timeout (theanarkh) [#&#8203;58440](nodejs/node#58440)
- \[[`927742b342`](nodejs/node@927742b342)] - **doc**: update the instruction on how to verify releases (Antoine du Hamel) [#&#8203;59113](nodejs/node#59113)
- \[[`9a8d2020ad`](nodejs/node@9a8d2020ad)] - **doc**: copyedit SECURITY.md (Rich Trott) [#&#8203;59190](nodejs/node#59190)
- \[[`3da5bc0668`](nodejs/node@3da5bc0668)] - **doc**: fix broken sentence in `URL.parse` (Superchupu) [#&#8203;59164](nodejs/node#59164)
- \[[`06cd7461e0`](nodejs/node@06cd7461e0)] - **doc**: improve onboarding instructions (Joyee Cheung) [#&#8203;59159](nodejs/node#59159)
- \[[`dfb72d158b`](nodejs/node@dfb72d158b)] - **doc**: add constraints for mem leak to threat model (Rafael Gonzaga) [#&#8203;58917](nodejs/node#58917)
- \[[`51b8dfd5c6`](nodejs/node@51b8dfd5c6)] - **doc**: add Aditi-1400 to collaborators (Aditi) [#&#8203;59157](nodejs/node#59157)
- \[[`4ffa756ce3`](nodejs/node@4ffa756ce3)] - **doc**: avoid suggesting testing fast api with intense loop (Chengzhong Wu) [#&#8203;59111](nodejs/node#59111)
- \[[`6f81b274f7`](nodejs/node@6f81b274f7)] - **doc**: fix typo in writing-test.md (SeokHun) [#&#8203;59123](nodejs/node#59123)
- \[[`88e434e687`](nodejs/node@88e434e687)] - **doc**: add new environment variables doc page (Dario Piotrowicz) [#&#8203;59052](nodejs/node#59052)
- \[[`b1a318d706`](nodejs/node@b1a318d706)] - **doc**: update release key for aduh95 (Antoine du Hamel) [#&#8203;58877](nodejs/node#58877)
- \[[`34c49000c9`](nodejs/node@34c49000c9)] - **doc**: add missing section for `setReturnArrays` in `sqlite.md` (Edy Silva) [#&#8203;59074](nodejs/node#59074)
- \[[`9b2e965aff`](nodejs/node@9b2e965aff)] - **doc**: add RafaelGSS as steward July 25 (Rafael Gonzaga) [#&#8203;59078](nodejs/node#59078)
- \[[`2d1dcb87e6`](nodejs/node@2d1dcb87e6)] - **doc**: clarify ERR\_FS\_FILE\_TOO\_LARGE to reflect fs.readFile() I/O limit (Haram Jeong) [#&#8203;59050](nodejs/node#59050)
- \[[`999b5e51e7`](nodejs/node@999b5e51e7)] - **doc**: run license-builder (github-actions\[bot]) [#&#8203;59056](nodejs/node#59056)
- \[[`1940a2cb46`](nodejs/node@1940a2cb46)] - **doc**: fix typed list formatting (Aviv Keller) [#&#8203;59019](nodejs/node#59019)
- \[[`6cb5e0d22f`](nodejs/node@6cb5e0d22f)] - **doc**: refine `util.parseArgs` `default` definition (Slayer95) [#&#8203;58958](nodejs/node#58958)
- \[[`d2e7f8e13a`](nodejs/node@d2e7f8e13a)] - **doc**: remove unused import in `zlib.md` (coderaiser) [#&#8203;59041](nodejs/node#59041)
- \[[`9d02960149`](nodejs/node@9d02960149)] - **doc**: add missing environment variables to manpage (amir lavasani) [#&#8203;58963](nodejs/node#58963)
- \[[`45ffdb34fb`](nodejs/node@45ffdb34fb)] - **doc**: add stability index to the `--watch-kill-signal` flag (Dario Piotrowicz) [#&#8203;58997](nodejs/node#58997)
- \[[`3924c43600`](nodejs/node@3924c43600)] - **doc**: add missing `<code>` blocks (Antoine du Hamel) [#&#8203;58995](nodejs/node#58995)
- \[[`cb95e183f3`](nodejs/node@cb95e183f3)] - **doc**: add scroll margin to links (Roman Reiss) [#&#8203;58982](nodejs/node#58982)
- \[[`c9ded6ba15`](nodejs/node@c9ded6ba15)] - **doc**: add sponsorship link to RafaelGSS (Rafael Gonzaga) [#&#8203;58983](nodejs/node#58983)
- \[[`b919fe0447`](nodejs/node@b919fe0447)] - **(SEMVER-MINOR)** **esm**: unflag --experimental-wasm-modules (Guy Bedford) [#&#8203;57038](nodejs/node#57038)
- \[[`71bb6cd077`](nodejs/node@71bb6cd077)] - **esm**: js-string Wasm builtins in ESM Integration (Guy Bedford) [#&#8203;59020](nodejs/node#59020)
- \[[`8d869e6d62`](nodejs/node@8d869e6d62)] - **fs**: fix return value of fs APIs (theanarkh) [#&#8203;58996](nodejs/node#58996)
- \[[`7f654cee9e`](nodejs/node@7f654cee9e)] - **(SEMVER-MINOR)** **http,https**: add built-in proxy support in http/https.request and Agent (Joyee Cheung) [#&#8203;58980](nodejs/node#58980)
- \[[`85d6a28f4f`](nodejs/node@85d6a28f4f)] - **inspector**: initial support for Network.loadNetworkResource (Shima Ryuhei) [#&#8203;58077](nodejs/node#58077)
- \[[`cfaa299f2e`](nodejs/node@cfaa299f2e)] - **lib**: fix incorrect `ArrayBufferPrototypeGetDetached` primordial type (Dario Piotrowicz) [#&#8203;58978](nodejs/node#58978)
- \[[`d555db22ad`](nodejs/node@d555db22ad)] - **lib**: flag to conditionally modify proto on deprecate (Rafael Gonzaga) [#&#8203;58928](nodejs/node#58928)
- \[[`96c9dd79e6`](nodejs/node@96c9dd79e6)] - **meta**: move one or more collaborators to emeritus (Node.js GitHub Bot) [#&#8203;59140](nodejs/node#59140)
- \[[`324d9fc9d4`](nodejs/node@324d9fc9d4)] - **meta**: enable jsdoc/check-tag-names rule (Yagiz Nizipli) [#&#8203;58521](nodejs/node#58521)
- \[[`04c751463b`](nodejs/node@04c751463b)] - **meta**: add marco-ippolito to security release stewards (Marco Ippolito) [#&#8203;58944](nodejs/node#58944)
- \[[`fe0195fdcc`](nodejs/node@fe0195fdcc)] - **module**: fix conditions override in synchronous resolve hooks (Joyee Cheung) [#&#8203;59011](nodejs/node#59011)
- \[[`515b581d47`](nodejs/node@515b581d47)] - **module**: throw error when re-runing errored module jobs (Joyee Cheung) [#&#8203;58957](nodejs/node#58957)
- \[[`f753645cd8`](nodejs/node@f753645cd8)] - **(SEMVER-MINOR)** **net**: update net.blocklist to allow file save and file management (alphaleadership) [#&#8203;58087](nodejs/node#58087)
- \[[`15e6c28d82`](nodejs/node@15e6c28d82)] - **node-api,doc**: update links to ecma262 with section names (Chengzhong Wu) [#&#8203;59087](nodejs/node#59087)
- \[[`f67b686551`](nodejs/node@f67b686551)] - **perf\_hooks**: do not expose SafeMap via Histogram wrapper (René) [#&#8203;59094](nodejs/node#59094)
- \[[`3d2f919f7c`](nodejs/node@3d2f919f7c)] - **process**: make execve's args argument optional (Allon Murienik) [#&#8203;58412](nodejs/node#58412)
- \[[`1a44265810`](nodejs/node@1a44265810)] - **repl**: handle errors from getters during completion (Shima Ryuhei) [#&#8203;59044](nodejs/node#59044)
- \[[`467dbd31e6`](nodejs/node@467dbd31e6)] - **repl**: fix repl crashing on variable declarations without init (Dario Piotrowicz) [#&#8203;59032](nodejs/node#59032)
- \[[`3a3eb6852d`](nodejs/node@3a3eb6852d)] - **repl**: improve REPL disabling completion on proxies and getters (Dario Piotrowicz) [#&#8203;58891](nodejs/node#58891)
- \[[`55838e79b8`](nodejs/node@55838e79b8)] - **src**: call unmask after install signal handler (theanarkh) [#&#8203;59059](nodejs/node#59059)
- \[[`77649ad93b`](nodejs/node@77649ad93b)] - **src**: use `FastStringKey` for `TrackV8FastApiCall` (Anna Henningsen) [#&#8203;59148](nodejs/node#59148)
- \[[`86babf9c4b`](nodejs/node@86babf9c4b)] - **src**: use C++20 `consteval` for `FastStringKey` (Anna Henningsen) [#&#8203;59148](nodejs/node#59148)
- \[[`88b99eeae1`](nodejs/node@88b99eeae1)] - **src**: remove declarations of removed BaseObject static fns (Anna Henningsen) [#&#8203;59093](nodejs/node#59093)
- \[[`d89390fc8f`](nodejs/node@d89390fc8f)] - **src**: add cache to nearest parent package json (Ilyas Shabi) [#&#8203;59086](nodejs/node#59086)
- \[[`21780075e4`](nodejs/node@21780075e4)] - **src**: check import attributes value types as strings (Chengzhong Wu) [#&#8203;58986](nodejs/node#58986)
- \[[`ef89c2fac9`](nodejs/node@ef89c2fac9)] - **src,test**: fix config file parsing for flags defaulted to true (Edy Silva) [#&#8203;59110](nodejs/node#59110)
- \[[`1e990866e0`](nodejs/node@1e990866e0)] - **test**: mark web lock held test as flaky (Ilyas Shabi) [#&#8203;59144](nodejs/node#59144)
- \[[`ba8e95a785`](nodejs/node@ba8e95a785)] - **test**: use mustSucceed in test-fs-read (Sungwon) [#&#8203;59204](nodejs/node#59204)
- \[[`39978f507f`](nodejs/node@39978f507f)] - **test**: prepare test-crypto-rsa-dsa for newer OpenSSL (Richard Lau) [#&#8203;58100](nodejs/node#58100)
- \[[`1c3aadb9d6`](nodejs/node@1c3aadb9d6)] - **test**: fix flaky test-worker-message-port-transfer-filehandle test (Alex Yang) [#&#8203;59158](nodejs/node#59158)
- \[[`a0d22e9c51`](nodejs/node@a0d22e9c51)] - **test**: remove timeout in test-https-proxy-request-handshake-failure (Joyee Cheung) [#&#8203;59165](nodejs/node#59165)
- \[[`7e0a0fccc1`](nodejs/node@7e0a0fccc1)] - **test**: expand linting rules around `assert` w literal messages (Anna Henningsen) [#&#8203;59147](nodejs/node#59147)
- \[[`c6070046c3`](nodejs/node@c6070046c3)] - **test**: update WPT for WebCryptoAPI to [`ab08796`](nodejs/node@ab08796857) (Node.js GitHub Bot) [#&#8203;59129](nodejs/node#59129)
- \[[`15d8cc908e`](nodejs/node@15d8cc908e)] - **test**: update WPT for WebCryptoAPI to [`19d82c5`](nodejs/node@19d82c57ab) (Node.js GitHub Bot) [#&#8203;59129](nodejs/node#59129)
- \[[`83023e5144`](nodejs/node@83023e5144)] - **test**: skip tests that cause timeouts on IBM i (Abdirahim Musse) [#&#8203;59014](nodejs/node#59014)
- \[[`82d4175ec3`](nodejs/node@82d4175ec3)] - **test**: update `startCLI` to set `--port=0` by default (Dario Piotrowicz) [#&#8203;59042](nodejs/node#59042)
- \[[`16dc53c143`](nodejs/node@16dc53c143)] - **(SEMVER-MINOR)** **test**: move http proxy tests to test/client-proxy (Joyee Cheung) [#&#8203;58980](nodejs/node#58980)
- \[[`a9511a6066`](nodejs/node@a9511a6066)] - **test**: mark test-inspector-network-fetch as flaky on Windows (Joyee Cheung) [#&#8203;59091](nodejs/node#59091)
- \[[`1cffcc02a3`](nodejs/node@1cffcc02a3)] - **test**: add missing port=0 arg in test-debugger-extract-function-name (Dario Piotrowicz) [#&#8203;58977](nodejs/node#58977)
- \[[`83cdf1701b`](nodejs/node@83cdf1701b)] - **test\_runner**: clean up promisified interval generation (René) [#&#8203;58824](nodejs/node#58824)
- \[[`195d6038dc`](nodejs/node@195d6038dc)] - **tools**: clarify README linter error message (Joyee Cheung) [#&#8203;59160](nodejs/node#59160)
- \[[`51f578a3bf`](nodejs/node@51f578a3bf)] - **tools**: add support for URLs to MR commits in `merge.sh` (Antoine du Hamel) [#&#8203;59162](nodejs/node#59162)
- \[[`20be9012eb`](nodejs/node@20be9012eb)] - **tools**: bump [@&#8203;eslint/plugin-kit](https://github.com/eslint/plugin-kit) from 0.3.1 to 0.3.3 in /tools/eslint (dependabot\[bot]) [#&#8203;59119](nodejs/node#59119)
- \[[`623e264e93`](nodejs/node@623e264e93)] - **tools**: ignore CVE mention when linting release proposals (Antoine du Hamel) [#&#8203;59037](nodejs/node#59037)
- \[[`0e547e09ab`](nodejs/node@0e547e09ab)] - **tools,test**: enforce best practices to detect never settling promises (Antoine du Hamel) [#&#8203;58992](nodejs/node#58992)
- \[[`075d1968db`](nodejs/node@075d1968db)] - **util**: respect nested formats in styleText (Alex Yang) [#&#8203;59098](nodejs/node#59098)
- \[[`9791ff3480`](nodejs/node@9791ff3480)] - **(SEMVER-MINOR)** **worker**: add web locks api (ishabi) [#&#8203;58666](nodejs/node#58666)

</details>

---

### 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 MR becomes conflicted, or you tick the rebase/retry checkbox.

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

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this MR, check this box

---

This MR has been generated by [Renovate Bot](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MS40Ni4zIiwidXBkYXRlZEluVmVyIjoiNDEuNDYuMyIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOlsiUmVub3ZhdGUgQm90Il19-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
author ready PRs that have at least one approval, no pending requests for changes, and a CI started. doc Issues and PRs related to the documentations.
Projects
None yet
Development

Successfully merging this pull request may close these issues.