chore: bump node to v24.18.0 (main)#52068
Conversation
This comment has been minimized.
This comment has been minimized.
2c00d0f to
c5e5326
Compare
|
@jkleinsc is the project's BoringSSL up to date? I went through considerable effort to make sure the Node.js suite works on BoringSSL with minimal (or no) patches needed for electron (even as far as having a test target with BoringSSL running on node's GHA). Refs: #51127 (comment) The 24.x backport of these changes in 24.18.0 may not have been perfect tho... and no BoringSSL target is present on 24.x on our end so maybe these efforts will kick in with 26.x upgrade. |
|
@panva I will look into it. The commits here were done by our node upgrade AI skill and it might have missed these. |
9b54d51 to
82583c4
Compare
|
@panva thanks for the ping and the work done in https://github.com/nodejs/node for this. I was able to cleanup our patches significantly in 4d514ff and 432172c. |
| +if (process.features.openssl_is_boringssl) { | ||
| + common.skip('Skipping unsupported ML-DSA key tests'); | ||
| +} | ||
| + |
There was a problem hiding this comment.
It is strange that this one isn't removed too... ml-dsa is supported in BoringSSL today and it got wired in in both node:crypto and Web Crypto.
Especially since pqc keygen runs ok https://github.com/electron/electron/actions/runs/28471762934/job/84388619457?pr=52068#step:13:3447
There was a problem hiding this comment.
Looks like it fails with the following:
=== release test-crypto-pqc-key-objects-ml-dsa ===
Path: parallel/test-crypto-pqc-key-objects-ml-dsa
1..0 # Skipped: Skipping unsupported private key format test
node:assert:152
throw new AssertionError(obj);
^
AssertionError [ERR_ASSERTION]: Expected values to be strictly equal:
+ actual - expected
'-----BEGIN PRIVATE KEY-----\n' +
+ 'MDQCAQAwCwYJYIZIAWUDBAMRBCKAINu9wITD4mVi5UkAmONcotXzI+sWrxh9G7Qd\n' +
+ 't8zISNbm\n' +
- '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\n' +
'-----END PRIVATE KEY-----\n'
at assertPrivateKey (/Users/jkleinsc/work/electron-main/src/third_party/electron_node/test/parallel/test-crypto-pqc-key-objects-ml-dsa.js:86:14)
at Object.<anonymous> (/Users/jkleinsc/work/electron-main/src/third_party/electron_node/test/parallel/test-crypto-pqc-key-objects-ml-dsa.js:133:9)
at Module._compile (node:internal/modules/cjs/loader:1879:14)
at Module._extensions..js (node:internal/modules/cjs/loader:2012:10)
at Module.load (node:internal/modules/cjs/loader:1601:32)
at Module._load (node:internal/modules/cjs/loader:1403:12)
at wrapModuleLoad (node:internal/modules/cjs/loader:262:19)
at Module.executeUserEntryPoint [as runMain] (node:internal/modules/run_main:169:5)
at node:internal/main/run_main_module:33:47 {
generatedMessage: true,
code: 'ERR_ASSERTION',
actual: '-----BEGIN PRIVATE KEY-----\n' +
'MDQCAQAwCwYJYIZIAWUDBAMRBCKAINu9wITD4mVi5UkAmONcotXzI+sWrxh9G7Qd\n' +
't8zISNbm\n' +
'-----END PRIVATE KEY-----\n',
expected: '-----BEGIN PRIVATE KEY-----\n' +
'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\n' +
'-----END PRIVATE KEY-----\n',
operator: 'strictEqual',
diff: 'simple'
}
Node.js v24.18.0
There was a problem hiding this comment.
makes sense, on 24.x we didn't configure openssl to export seed-only which boringssl does out of the box, so this is an old assertion, in the next major this will assert correct values exhibit by boringssl.
19c1f8c to
8a10036
Compare
Co-Authored-By: GPT-5.3-Codex <[email protected]>
Ref: nodejs/node@677ca7e76c9 Co-Authored-By: GPT-5.3-Codex <[email protected]>
Ref: nodejs/node@61b20f60a39 Co-Authored-By: GPT-5.3-Codex <[email protected]>
Ref: nodejs/node@69df688fff4 Co-Authored-By: GPT-5.3-Codex <[email protected]>
Ref: nodejs/node@69df688fff4 Co-Authored-By: GPT-5.3-Codex <[email protected]>
The error thrown for an unsupported OKP (Ed448) JWK changed from 'Invalid JWK data' to the more specific 'Invalid JWK OKP key'. Ref: nodejs/node#62499
This test synthesizes fake V8-serialized messages with the serialization format version hardcoded to 15 (0x0f). Electron bundles Chromium's V8, whose value-serializer format version is 16 (0x10), so the hardcoded headers are not recognized by the test runner's deserializer and the bytes fall through the UTF-8 stdout path (0xff -> U+FFFD), failing the assertions. The version difference is environmental and cannot be reconciled without re-patching the test on every V8 bump. The failing subtests were introduced upstream in nodejs/node#62704 (test_runner: avoid hanging on incomplete v8 frames).
8a10036 to
02bba7c
Compare
|
Release Notes Persisted
|
|
/trop run backport-to 44-x-y |
|
The backport process for this PR has been manually initiated - sending your PR to |
|
I have automatically backported this PR to "44-x-y", please check out #52237 |
Updating Node.js to v24.18.0.
See all changes in v24.16.0..v24.18.0
Notes: Updated Node.js to v24.18.0.