v20.14.0 proposal
2024-05-28, Version 20.14.0 'Iron' (LTS), @marco-ippolito
Notable Changes
- [
28d2baa17c] - src,permission: throw async errors on async APIs (Rafael Gonzaga) #52730 - [
77e2bf029a] - (SEMVER-MINOR) test_runner: support forced exit (Colin Ihrig) #52038
Commits
- [
e3ad05d8b0] - deps: V8: cherry-pick 500de8bd371b (Richard Lau) #52676 - [
053282e661] - deps: V8: backport c4be0a97f981 (Richard Lau) #52183 - [
200dadb879] - deps: V8: cherry-pick f8d5e576b814 (Richard Lau) #52183 - [
f5cd125e02] - deps: update googletest to fa6de7f (Node.js GitHub Bot) #52949 - [
bbbfd7f4e1] - deps: update corepack to 0.28.1 (Node.js GitHub Bot) #52946 - [
7ba30a57a6] - deps: update simdutf to 5.2.8 (Node.js GitHub Bot) #52727 - [
b21a480a28] - deps: update simdutf to 5.2.6 (Node.js GitHub Bot) #52727 - [
6cfad60d97] - deps: update googletest to 2d16ed0 (Node.js GitHub Bot) #51657 - [
34708d1429] - deps: update googletest to d83fee1 (Node.js GitHub Bot) #51657 - [
c1d3e558e8] - deps: update googletest to 5a37b51 (Node.js GitHub Bot) #51657 - [
69959d0fca] - deps: update googletest to 5197b1a (Node.js GitHub Bot) #51657 - [
c8305f6057] - deps: update googletest to eff443c (Node.js GitHub Bot) #51657 - [
760b788704] - deps: update googletest to c231e6f (Node.js GitHub Bot) #51657 - [
301541cc8f] - deps: update googletest to e4fdb87 (Node.js GitHub Bot) #51657 - [
981d57e401] - deps: update googletest to 5df0241 (Node.js GitHub Bot) #51657 - [
a1817f534d] - deps: update googletest to b75ecf1 (Node.js GitHub Bot) #51657 - [
42070ca189] - deps: update googletest to 4565741 (Node.js GitHub Bot) #51657 - [
edc3e5d056] - deps: update uvwasi to 0.0.21 (Node.js GitHub Bot) #52863 - [
26b1231ffb] - deps: upgrade npm to 10.7.0 (npm team) #52767 - [
e6d9fbece2] - doc: update process.versions properties (ishabi) #52736 - [
8c1f837c0a] - doc: remove mold use on mac for speeding up build (Cong Zhang) #52252 - [
d9c5114694] - doc: fix grammatical mistake (codershiba) #52808 - [
b350f435b7] - meta: add mailmap entry for legendecas (Chengzhong Wu) #52795 - [
61f9f12eff] - meta: bump actions/checkout from 4.1.1 to 4.1.4 (dependabot[bot]) #52787 - [
ac563667d6] - meta: bump github/codeql-action from 3.24.9 to 3.25.3 (dependabot[bot]) #52786 - [
70611d7924] - meta: bump actions/upload-artifact from 4.3.1 to 4.3.3 (dependabot[bot]) #52785 - [
30482ea273] - meta: bump actions/download-artifact from 4.1.4 to 4.1.7 (dependabot[bot]) #52784 - [
d1607cdebb] - meta: bump codecov/codecov-action from 4.1.1 to 4.3.1 (dependabot[bot]) #52783 - [
21f1b6bfc3] - meta: bump step-security/harden-runner from 2.7.0 to 2.7.1 (dependabot[bot]) #52782 - [
0c6019a222] - meta: standardize regex (Aviv Keller) #52693 - [
07c45ba389] - src: remove misplaced windows code under posix guard in node.cc (Ali Hassan) #52545 - [
28d2baa17c] - src,permission: throw async errors on async APIs (Rafael Gonzaga) #52730 - [
3dd96f1fab] - stream: implement TransformStream cleanup using "transformer.cancel" (Debadree Chatterjee) #50126 - [
8e7e778e01] - test: skip v8-updates/test-linux-perf (Michaël Zasso) #49639 - [
f8e18869e9] - test: replace always-opt flag with alway-turbofan (Michaël Zasso) #50115 - [
a501860d63] - test_runner: don't await the same promise for each test (Colin Ihrig) #52185 - [
e2ae4367f4] - test_runner: run top level tests in a microtask (Colin Ihrig) #52092 - [
77e2bf029a] - (SEMVER-MINOR) test_runner: support forced exit (Colin Ihrig) #52038 - [
b7bc63565e] - test_runner: ignore todo flag when running suites (Colin Ihrig) #52117 - [
be587e3ae3] - test_runner: use paths for test locations (Colin Ihrig) #52010 - [
743281ab25] - test_runner: support source mapped test locations (Colin Ihrig) #52010 - [
4051316d95] - tools: update lint-md-dependencies to [email protected] (Node.js GitHub Bot) #52729
Review requested:
- [ ] @nodejs/releasers
- [
77e2bf029a] - (SEMVER-MINOR) test_runner: support forced exit (Colin Ihrig) #52038
Do we mean to include this? It seems to be the only semver-minor change in an otherwise semver-patch release.
[28d2baa17c] - src,permission: throw async errors on async APIs (Rafael Gonzaga) #52730
This is a breaking change of an experimental feature. I dont have a strong opinion or enough experience on the matter whether to remove the commit and release v20.13.2 or v20.14.0
CI: https://ci.nodejs.org/job/node-test-pull-request/59379/
CI: https://ci.nodejs.org/job/node-test-pull-request/59383/
CI: https://ci.nodejs.org/job/node-test-pull-request/59385/ V8-CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/6001/
V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=benchmark-ubuntu2204-intel-64,v8test=v8test/6001/
V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=rhel8-s390x,v8test=v8test/6001/
V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=rhel8-ppc64le,v8test=v8test/6001/
it seems there are some issues on windows @nodejs/platform-windows
not ok 120 parallel/test-cli-node-options
13:43:32 ---
13:43:32 duration_ms: 1485.01000
13:43:32 severity: fail
13:43:32 exitcode: 134
13:43:32 stack: |-
13:43:32
13:43:32 <--- Last few GCs --->
13:43:32
13:43:32
13:43:32 <--- JS stacktrace --->
13:43:32
13:43:32 FATAL ERROR: Committing semi space failed. Allocation failed - JavaScript heap out of memory
13:43:32 ----- Native stack trace -----
13:43:32
13:43:32 Can't clean tmpdir: C:\workspace\node-test-binary-windows-js-suites\node\test\.tmp.124
13:43:32 Files blocking: []
13:43:32
13:43:32 node:internal/child_process:421
13:43:32 throw new ErrnoException(err, 'spawn');
13:43:32 ^
13:43:32
13:43:32 Error: spawn UNKNOWN
13:43:32 at ChildProcess.spawn (node:internal/child_process:421:11)
13:43:32 at spawn (node:child_process:761:9)
13:43:32 at execFile (node:child_process:351:17)
13:43:32 at expect (C:\workspace\node-test-binary-windows-js-suites\node\test\parallel\test-cli-node-options.js:119:3)
13:43:32 at expectNoWorker (C:\workspace\node-test-binary-windows-js-suites\node\test\parallel\test-cli-node-options.js:89:3)
13:43:32 at Object.<anonymous> (C:\workspace\node-test-binary-windows-js-suites\node\test\parallel\test-cli-node-options.js:85:1)
13:43:32 at Module._compile (node:internal/modules/cjs/loader:1358:14)
13:43:32 at Module._extensions..js (node:internal/modules/cjs/loader:1416:10)
13:43:32 at Module.load (node:internal/modules/cjs/loader:1208:32)
13:43:32 at Module._load (node:internal/modules/cjs/loader:1024:12) {
13:43:32 errno: -4094,
13:43:32 code: 'UNKNOWN',
13:43:32 syscall: 'spawn'
13:43:32 }
13:43:32
13:43:32 Node.js v20.14.0
13:43:32 1: 00007FF61ECE4BDB node::SetCppgcReference+16075
13:43:32 2: 00007FF61EC57C24 EVP_MD_meth_get_input_blocksize+89812
13:43:32 3: 00007FF61F6C70C1 v8::Isolate::ReportExternalAllocationLimitReached+65
13:43:32 4: 00007FF61F6B0758 v8::Function::Experimental_IsNopFunction+1336
13:43:32 5: 00007FF61F517630 v8::PrimitiveArray::Length+73952
13:43:32 6: 00007FF61F4D0113 v8::Platform::SystemClockTimeMillis+360003
13:43:32 7: 00007FF61F5208E0 v8::PrimitiveArray::Length+111504
13:43:32 8: 00007FF61F5140CB v8::PrimitiveArray::Length+60283
13:43:32 9: 00007FF61F52957D v8::PrimitiveArray::Length+147501
13:43:32 10: 00007FF61F529E02 v8::PrimitiveArray::Length+149682
13:43:32 11: 00007FF61F533098 v8::PrimitiveArray::Length+187208
13:43:32 12: 00007FF61F532B26 v8::PrimitiveArray::Length+185814
13:43:32 13: 00007FF61EFC7738 CrashForExceptionInNonABICompliantCodeRange+15992
13:43:32 14: 00007FF61F22842C v8::PropertyDescriptor::value+105196
13:43:32 15: 00007FF61F21035C v8::PropertyDescriptor::value+6684
13:43:32 16: 00007FF61F210815 v8::PropertyDescriptor::value+7893
13:43:32 17: 00007FF61F210EB8 v8::PropertyDescriptor::value+9592
13:43:32 18: 00007FF61F211E4E v8::PropertyDescriptor::value+13582
13:43:32 19: 00007FF61F21196D v8::PropertyDescriptor::value+12333
13:43:32 20: 00007FF61F211378 v8::PropertyDescriptor::value+10808
13:43:32 21: 00007FF61F1ED69C v8::CodeEvent::GetFunctionName+46780
13:43:32 22: 00007FF61F7788FE v8::PropertyDescriptor::writable+678062
13:43:32 23: 00007FF61F7E4051 v8::PropertyDescriptor::writable+1118209
13:43:32 24: 00007FF61F6E9EA0 v8::PropertyDescriptor::writable+93776
13:43:32 25: 00007FF61F6E9EA0 v8::PropertyDescriptor::writable+93776
13:43:32 26: 00007FF61F6E9EA0 v8::PropertyDescriptor::writable+93776
13:43:32 27: 00007FF61F6E9EA0 v8::PropertyDescriptor::writable+93776
13:43:32 28: 00007FF61F6E9EA0 v8::PropertyDescriptor::writable+93776
13:43:32 29: 00007FF61F6E9EA0 v8::PropertyDescriptor::writable+93776
13:43:32 30: 00007FF61F6E9EA0 v8::PropertyDescriptor::writable+93776
13:43:32 31: 00007FF61F6E9EA0 v8::PropertyDescriptor::writable+93776
13:43:32 32: 00007FF61F6E8260 v8::PropertyDescriptor::writable+86544
13:43:32 33: 00007FF61F6E7E5B v8::PropertyDescriptor::writable+85515
13:43:32 34: 00007FF61F596FB4 v8::base::CPU::has_sse41+166004
13:43:32 35: 00007FF61F596883 v8::base::CPU::has_sse41+164163
13:43:32 36: 00007FF61F6A641B v8::Function::Call+571
13:43:32 37: 00007FF61EC775A1 node::OnFatalError+129345
13:43:32 38: 00007FF61EBD234E node::TriggerNodeReport+32126
13:43:32 39: 00007FF61ED19B44 node::CreateEnvironment+596
13:43:32 40: 00007FF61EB460A4 RSA_meth_get_flags+171204
13:43:32 41: 00007FF61EB418A8 RSA_meth_get_flags+152776
13:43:32 42: 00007FF61ED3B8FE uv_poll_stop+254
13:43:32 43: 00007FF61FF02B3E inflateValidate+159662
13:43:32 44: 00007FFBC64E7AC4 BaseThreadInitThunk+20
13:43:32 45: 00007FFBC8DBA4E1 RtlUserThreadStart+33
13:43:32 ...
CI: https://ci.nodejs.org/job/node-test-pull-request/59440/
cc @nodejs/releasers The release might be postponed due to some issues with the CI. I might add some more backports. Could it be caused by https://github.com/nodejs/node/commit/07c45ba389a916569758e89cec8c7744fd24a1c8 ? @thisalihassan
cc @nodejs/releasers The release might be postponed due to some issues with the CI. I might add some more backports. Could it be caused by 07c45ba ? @thisalihassan
Could be but I am not sure, it was also a part of 22.1.0
cc @nodejs/releasers The release might be postponed due to some issues with the CI. I might add some more backports. Could it be caused by 07c45ba ? @thisalihassan
Could be but I am not sure, it was also a part of 22.1.0
I'll try to remove it and see if it solves the issue, might require a backport
I think you're just seeing flakes. This test didn't fail in https://ci.nodejs.org/job/node-test-pull-request/59440
I think you're just seeing flakes. This test didn't fail in https://ci.nodejs.org/job/node-test-pull-request/59440
Read too late, I'm having a lot of failing test on my backport too https://github.com/nodejs/node/pull/53144 I'll give a try and if doesnt change I'll add it back, it's quite frustrating Edit: it seems it actually made it less flaky
CI: https://ci.nodejs.org/job/node-test-pull-request/59449/
CI: https://ci.nodejs.org/job/node-test-pull-request/59458/
CI: https://ci.nodejs.org/job/node-test-pull-request/59463/ CITGM: https://ci.nodejs.org/job/citgm-smoker/3442/ V8-CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/6008/
V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=benchmark-ubuntu2204-intel-64,v8test=v8test/6008/
V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=rhel8-s390x,v8test=v8test/6008/
V8 CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/nodes=rhel8-ppc64le,v8test=v8test/6008/
CI: https://ci.nodejs.org/job/node-test-pull-request/59472/ 🟢 CITGM: https://ci.nodejs.org/job/citgm-smoker/3442/ (v20.13.0 CITGM) https://ci.nodejs.org/job/citgm-smoker/3428/ V8-CI: https://ci.nodejs.org/job/node-test-commit-v8-linux/6008/ 🟢 RELEASE-CI: https://ci-release.nodejs.org/job/iojs+release/10229/ 🟢
I see a few new failures compared to v20.13.0 in CITGM PTAL @nodejs/releasers if you think it should be blocking or I can proceed
Can you please pull in https://github.com/nodejs/node/pull/53034? This fixes a bad regression on Headers. Ref https://github.com/nodejs/node/issues/53186 @QuiiBz.
Can you please pull in #53034? This fixes a bad regression on Headers. Ref #53186 @QuiiBz.
I have already started the release process, and according to policy it needs to stay in current for enough time before going to LTS. If it's not a problem I can release it in the next one (~2 weeks)