Skip to content

Commit 45d02b7

Browse files
committed
Blog: v21.4.0 release post
Refs: nodejs/node#51043
1 parent 03ebfc9 commit 45d02b7

File tree

1 file changed

+141
-0
lines changed

1 file changed

+141
-0
lines changed

pages/en/blog/release/v21.4.0.md

+141
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
---
2+
date: '2023-12-05T09:32:52.032Z'
3+
category: release
4+
title: Node v21.4.0 (Current)
5+
layout: blog-post.hbs
6+
author: Michaël Zasso
7+
---
8+
9+
## 2023-12-05, Version 21.4.0 (Current), @targos
10+
11+
### Notable Changes
12+
13+
This release fixes a regression introduced in v21.3.0 that caused the `fs.writeFileSync`
14+
method to throw when called with `'utf8'` encoding, no flag option, and if the target file didn't exist yet.
15+
16+
- \[[`32acafeeb6`](https://github.com/nodejs/node/commit/32acafeeb6)] - **(SEMVER-MINOR)** **fs**: introduce `dirent.parentPath` (Antoine du Hamel) [#50976](https://github.com/nodejs/node/pull/50976)
17+
- \[[`724548674d`](https://github.com/nodejs/node/commit/724548674d)] - **fs**: use default w flag for writeFileSync with utf8 encoding (Murilo Kakazu) [#50990](https://github.com/nodejs/node/pull/50990)
18+
19+
### Commits
20+
21+
- \[[`b24ee15fb2`](https://github.com/nodejs/node/commit/b24ee15fb2)] - **benchmark**: update iterations in benchmark/crypto/hkdf.js (Lei Shi) [#50866](https://github.com/nodejs/node/pull/50866)
22+
- \[[`f79b54e60e`](https://github.com/nodejs/node/commit/f79b54e60e)] - **benchmark**: update iterations in benchmark/crypto/get-ciphers.js (Lei Shi) [#50863](https://github.com/nodejs/node/pull/50863)
23+
- \[[`dc049acbbb`](https://github.com/nodejs/node/commit/dc049acbbb)] - **benchmark**: update number of iterations for `util.inspect` (kylo5aby) [#50651](https://github.com/nodejs/node/pull/50651)
24+
- \[[`d7c562ae38`](https://github.com/nodejs/node/commit/d7c562ae38)] - **deps**: update googletest to 76bb2af (Node.js GitHub Bot) [#50555](https://github.com/nodejs/node/pull/50555)
25+
- \[[`59a45ddbef`](https://github.com/nodejs/node/commit/59a45ddbef)] - **deps**: update googletest to b10fad3 (Node.js GitHub Bot) [#50555](https://github.com/nodejs/node/pull/50555)
26+
- \[[`099ebdb781`](https://github.com/nodejs/node/commit/099ebdb781)] - **deps**: update undici to 5.28.1 (Node.js GitHub Bot) [#50975](https://github.com/nodejs/node/pull/50975)
27+
- \[[`4b1bed04f7`](https://github.com/nodejs/node/commit/4b1bed04f7)] - **deps**: update undici to 5.28.0 (Node.js GitHub Bot) [#50915](https://github.com/nodejs/node/pull/50915)
28+
- \[[`b281e98b1e`](https://github.com/nodejs/node/commit/b281e98b1e)] - **doc**: add additional details about `--input-type` (Shubham Pandey) [#50796](https://github.com/nodejs/node/pull/50796)
29+
- \[[`b7036f2028`](https://github.com/nodejs/node/commit/b7036f2028)] - **doc**: add procedure when CVEs don't get published (Rafael Gonzaga) [#50945](https://github.com/nodejs/node/pull/50945)
30+
- \[[`7adf239af0`](https://github.com/nodejs/node/commit/7adf239af0)] - **doc**: fix some errors in esm resolution algorithms (Christopher Jeffrey (JJ)) [#50898](https://github.com/nodejs/node/pull/50898)
31+
- \[[`759ebcaead`](https://github.com/nodejs/node/commit/759ebcaead)] - **doc**: reserve 121 for Electron 29 (Shelley Vohr) [#50957](https://github.com/nodejs/node/pull/50957)
32+
- \[[`cedc3427fa`](https://github.com/nodejs/node/commit/cedc3427fa)] - **doc**: run license-builder (github-actions\[bot]) [#50926](https://github.com/nodejs/node/pull/50926)
33+
- \[[`30a6f19769`](https://github.com/nodejs/node/commit/30a6f19769)] - **doc**: document non-node_modules-only runtime deprecation (Joyee Cheung) [#50748](https://github.com/nodejs/node/pull/50748)
34+
- \[[`eecab883f0`](https://github.com/nodejs/node/commit/eecab883f0)] - **doc**: add doc for Unix abstract socket (theanarkh) [#50904](https://github.com/nodejs/node/pull/50904)
35+
- \[[`ec74b93b38`](https://github.com/nodejs/node/commit/ec74b93b38)] - **doc**: remove flicker on page load on dark theme (Dima Demakov) [#50942](https://github.com/nodejs/node/pull/50942)
36+
- \[[`724548674d`](https://github.com/nodejs/node/commit/724548674d)] - **fs**: use default w flag for writeFileSync with utf8 encoding (Murilo Kakazu) [#50990](https://github.com/nodejs/node/pull/50990)
37+
- \[[`32acafeeb6`](https://github.com/nodejs/node/commit/32acafeeb6)] - **(SEMVER-MINOR)** **fs**: introduce `dirent.parentPath` (Antoine du Hamel) [#50976](https://github.com/nodejs/node/pull/50976)
38+
- \[[`c1ee506454`](https://github.com/nodejs/node/commit/c1ee506454)] - **fs**: remove workaround for `esm` package (Yagiz Nizipli) [#50907](https://github.com/nodejs/node/pull/50907)
39+
- \[[`1cf087dfb3`](https://github.com/nodejs/node/commit/1cf087dfb3)] - **lib**: refactor to use validateFunction in diagnostics_channel (Deokjin Kim) [#50955](https://github.com/nodejs/node/pull/50955)
40+
- \[[`c37d18d5e1`](https://github.com/nodejs/node/commit/c37d18d5e1)] - **lib**: streamline process.binding() handling (Joyee Cheung) [#50773](https://github.com/nodejs/node/pull/50773)
41+
- \[[`246cf73631`](https://github.com/nodejs/node/commit/246cf73631)] - **lib,src**: replace toUSVString with `toWellFormed()` (Yagiz Nizipli) [#47342](https://github.com/nodejs/node/pull/47342)
42+
- \[[`9bc79173a0`](https://github.com/nodejs/node/commit/9bc79173a0)] - **loader**: speed up line length calc used by moduleProvider (Mudit) [#50969](https://github.com/nodejs/node/pull/50969)
43+
- \[[`812ab9e4f8`](https://github.com/nodejs/node/commit/812ab9e4f8)] - **meta**: bump step-security/harden-runner from 2.6.0 to 2.6.1 (dependabot\[bot]) [#50999](https://github.com/nodejs/node/pull/50999)
44+
- \[[`1dbe1af19a`](https://github.com/nodejs/node/commit/1dbe1af19a)] - **meta**: bump github/codeql-action from 2.22.5 to 2.22.8 (dependabot\[bot]) [#50998](https://github.com/nodejs/node/pull/50998)
45+
- \[[`bed1b93f8a`](https://github.com/nodejs/node/commit/bed1b93f8a)] - **meta**: move one or more collaborators to emeritus (Node.js GitHub Bot) [#50931](https://github.com/nodejs/node/pull/50931)
46+
- \[[`1e7d101428`](https://github.com/nodejs/node/commit/1e7d101428)] - **src**: make ModifyCodeGenerationFromStrings more robust (Joyee Cheung) [#50763](https://github.com/nodejs/node/pull/50763)
47+
- \[[`709ac479eb`](https://github.com/nodejs/node/commit/709ac479eb)] - **src**: disable uncaught exception abortion for ESM syntax detection (Yagiz Nizipli) [#50987](https://github.com/nodejs/node/pull/50987)
48+
- \[[`f6ff11c9f9`](https://github.com/nodejs/node/commit/f6ff11c9f9)] - **src**: fix backtrace with tail \[\[noreturn]] abort (Chengzhong Wu) [#50849](https://github.com/nodejs/node/pull/50849)
49+
- \[[`74f5a1cbc9`](https://github.com/nodejs/node/commit/74f5a1cbc9)] - **src**: print MKSNAPSHOT debug logs to stderr (Joyee Cheung) [#50759](https://github.com/nodejs/node/pull/50759)
50+
- \[[`3a1c664a97`](https://github.com/nodejs/node/commit/3a1c664a97)] - **test**: replace forEach to for.. test-webcrypto-export-import-cfrg.js (Angelo Parziale) [#50785](https://github.com/nodejs/node/pull/50785)
51+
- \[[`ac3a6eefe3`](https://github.com/nodejs/node/commit/ac3a6eefe3)] - **test**: log more information in SEA tests (Joyee Cheung) [#50759](https://github.com/nodejs/node/pull/50759)
52+
- \[[`94462d42f5`](https://github.com/nodejs/node/commit/94462d42f5)] - **test**: consolidate utf8 text fixtures in tests (Joyee Cheung) [#50732](https://github.com/nodejs/node/pull/50732)
53+
- \[[`8e1a70a347`](https://github.com/nodejs/node/commit/8e1a70a347)] - **tools**: add triggers to update release links workflow (Moshe Atlow) [#50974](https://github.com/nodejs/node/pull/50974)
54+
- \[[`ca10cbb774`](https://github.com/nodejs/node/commit/ca10cbb774)] - **tools**: update lint-md-dependencies to rollup\@4.5.2 (Node.js GitHub Bot) [#50913](https://github.com/nodejs/node/pull/50913)
55+
- \[[`1e40c4a366`](https://github.com/nodejs/node/commit/1e40c4a366)] - **tools**: fix current version check (Marco Ippolito) [#50951](https://github.com/nodejs/node/pull/50951)
56+
- \[[`3faed331e1`](https://github.com/nodejs/node/commit/3faed331e1)] - **typings**: fix JSDoc in `internal/modules/esm/hooks` (Alex Yang) [#50887](https://github.com/nodejs/node/pull/50887)
57+
- \[[`6a087ceffa`](https://github.com/nodejs/node/commit/6a087ceffa)] - **url**: throw error if argument length of revokeObjectURL is 0 (DylanTet) [#50433](https://github.com/nodejs/node/pull/50433)
58+
59+
Windows 32-bit Installer: https://nodejs.org/dist/v21.4.0/node-v21.4.0-x86.msi \
60+
Windows 64-bit Installer: https://nodejs.org/dist/v21.4.0/node-v21.4.0-x64.msi \
61+
Windows ARM 64-bit Installer: https://nodejs.org/dist/v21.4.0/node-v21.4.0-arm64.msi \
62+
Windows 32-bit Binary: https://nodejs.org/dist/v21.4.0/win-x86/node.exe \
63+
Windows 64-bit Binary: https://nodejs.org/dist/v21.4.0/win-x64/node.exe \
64+
Windows ARM 64-bit Binary: https://nodejs.org/dist/v21.4.0/win-arm64/node.exe \
65+
macOS 64-bit Installer: https://nodejs.org/dist/v21.4.0/node-v21.4.0.pkg \
66+
macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v21.4.0/node-v21.4.0-darwin-arm64.tar.gz \
67+
macOS Intel 64-bit Binary: https://nodejs.org/dist/v21.4.0/node-v21.4.0-darwin-x64.tar.gz \
68+
Linux 64-bit Binary: https://nodejs.org/dist/v21.4.0/node-v21.4.0-linux-x64.tar.xz \
69+
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v21.4.0/node-v21.4.0-linux-ppc64le.tar.xz \
70+
Linux s390x 64-bit Binary: https://nodejs.org/dist/v21.4.0/node-v21.4.0-linux-s390x.tar.xz \
71+
AIX 64-bit Binary: https://nodejs.org/dist/v21.4.0/node-v21.4.0-aix-ppc64.tar.gz \
72+
ARMv7 32-bit Binary: https://nodejs.org/dist/v21.4.0/node-v21.4.0-linux-armv7l.tar.xz \
73+
ARMv8 64-bit Binary: https://nodejs.org/dist/v21.4.0/node-v21.4.0-linux-arm64.tar.xz \
74+
Source Code: https://nodejs.org/dist/v21.4.0/node-v21.4.0.tar.gz \
75+
Other release files: https://nodejs.org/dist/v21.4.0/ \
76+
Documentation: https://nodejs.org/docs/v21.4.0/api/
77+
78+
### SHASUMS
79+
80+
```text
81+
-----BEGIN PGP SIGNED MESSAGE-----
82+
Hash: SHA256
83+
84+
91f69ef2501efe9908b5adddc740c1b614054551abe1087a475b3f8e8bcd4f51 node-v21.4.0-aix-ppc64.tar.gz
85+
4b4e57ff8f70fbdf49e4917bed65a4c7c896af2b3af5932d1069e9c637bea581 node-v21.4.0-arm64.msi
86+
459a23a6044003c6cb5d24867da0c473bd8c2e4cb5689517051be182eed46c2b node-v21.4.0-darwin-arm64.tar.gz
87+
6b64cfd77fe1c09b96e6f57643d73a0bba22f270d58ab17eb23ffb62037f55b8 node-v21.4.0-darwin-arm64.tar.xz
88+
438cf09d2b48116170f1b2bf351f19a77e62c85b939524d4cf3c0a5b7bd0dba9 node-v21.4.0-darwin-x64.tar.gz
89+
3c789c5907a417f4e51c95b282af5b2d89442a51a60fe7144cc2e98e00353ccd node-v21.4.0-darwin-x64.tar.xz
90+
f16010627115873b53ec90bb3b896672602443c450dd390bbe59c64d619f2f40 node-v21.4.0-headers.tar.gz
91+
3da216a3129be17a21f7f6e4f488cd350b45acc2025eb65d078f88fd1071884e node-v21.4.0-headers.tar.xz
92+
071b90b14c2e74f8400c48683c21250491951faf9ae54756a2b53340c1574a27 node-v21.4.0-linux-arm64.tar.gz
93+
a3ae9aa0ce883cb6296f83e77602f39291ff2cc6136be9e6647330df748374be node-v21.4.0-linux-arm64.tar.xz
94+
48b0d4f52f421a6baa5fbb54339fb03a86cce976fd3b647271309d0a1844563d node-v21.4.0-linux-armv7l.tar.gz
95+
fe55e583f52c1685403d2834a079869e7a3c7484278b9ab181985a25936e61cf node-v21.4.0-linux-armv7l.tar.xz
96+
26e9de097745eb150739cf9f7664bfe6c61ebafac1954b5dd97f52c673212283 node-v21.4.0-linux-ppc64le.tar.gz
97+
ed1f88de3fc995060571821684ae1029081c525f693e8cb02fb65b27d73a2c47 node-v21.4.0-linux-ppc64le.tar.xz
98+
902a00cd9c2d15d2780704a553c70eaa64ee59443417f527f0da76e494d38179 node-v21.4.0-linux-s390x.tar.gz
99+
8e3e7eb7a29144ed8f7adea41687929570e3b0113b773b00f350b8799cdedcbf node-v21.4.0-linux-s390x.tar.xz
100+
d8cd0ec0b78bcbc591e7a4655a92c1c667e64bc434e7a895904dc1fe9442af1d node-v21.4.0-linux-x64.tar.gz
101+
9f3b4447a689c1c0f6c08f61967f2a8e50d2c8187805e85ad67701ef84c0095c node-v21.4.0-linux-x64.tar.xz
102+
4ae54c36a6891b20e1de4596d8991bccc32eb418a8b98448057762941a9efe5e node-v21.4.0.pkg
103+
e7b79431a3ec8c8193d30dbac92ed08777739417a9c2820acbde1eae2314eb96 node-v21.4.0.tar.gz
104+
7a80f6527654602d7358c5be2eefc4f80a64c8901630a83977b073c34f25479c node-v21.4.0.tar.xz
105+
be3646b1ed2d202cae5558d374856b32384f3cc7169c709ec88992e6d7c58a54 node-v21.4.0-win-arm64.7z
106+
519e98ce05cc395ce0292a34e0a225bae39d0b06652a133626be1723a5571588 node-v21.4.0-win-arm64.zip
107+
54d94594b012c9a5d0cb9ee752831494d1d97b62a7b4e9e228f358e892ff4172 node-v21.4.0-win-x64.7z
108+
8e7a1c04ff9d1b2680887a31b9eea1392913b91af29f928233ef832d879847de node-v21.4.0-win-x64.zip
109+
3eda30ea8831f2e39dffec848913de14b38a828d254b40a8a7a4969a878f7eba node-v21.4.0-win-x86.7z
110+
c1b94300c54c22ceb30086a8b50f0df7511ed456c3be54fc03a04b5d4c18820c node-v21.4.0-win-x86.zip
111+
2f040b8180f01d97d03d8b4e44601de22956947651f6724b38fdb7c4618e251e node-v21.4.0-x64.msi
112+
6c86dad32eed707f7aedfc7f986ac5a7dfa32b5d4474095dba8b3fb01f38037e node-v21.4.0-x86.msi
113+
57f326d3aa8fd777e75850e5df4a0b0931b7e154e349d8b5915772f4ae6b1f65 win-arm64/node.exe
114+
fe2dae50bdfba3f151248d0f8b87d621263a627099df6aa1611ccd94387464fe win-arm64/node.lib
115+
b72f06e1a57298661271f4d87cc841c9212c4123f159a356d6f9970edd0585d7 win-arm64/node_pdb.7z
116+
c8f034ab54a80af486083c858b1d538f2deeab5d3318f04b0843f1b60a53d28d win-arm64/node_pdb.zip
117+
84487781d837df4005223011a8528d8a74f6728027dd2d99038a5f8f02959b0d win-x64/node.exe
118+
d0310658ca8dfdfaab078ef2a017cc7347a30ce51f123e38ac4fcac74706f136 win-x64/node.lib
119+
1918a98f41c5dfa812b6e85f3b3502fcbbb09cf6be45ae481792e3c63184c8c9 win-x64/node_pdb.7z
120+
26412a3159a005efdbb1f899ce97ad090918d7a42708cb481d6a568f1a39b12b win-x64/node_pdb.zip
121+
36f6cd67be2b41b05bbcb5440e63d10ce2804edf7c4873a8fee8492123b667f7 win-x86/node.exe
122+
9395c4286ec710c0410fd4e7346f1b4a5ff0ad4f5c8501f716c0a8a20f79398e win-x86/node.lib
123+
b82c6cd16d8929b8f10a26916fd4ef821f1b9f71e21a192a50c4195c8eaf184b win-x86/node_pdb.7z
124+
ba7fbaa18c713206f4a129fd4a7e87ae5cd214d094d7758f12b833258376bd6d win-x86/node_pdb.zip
125+
-----BEGIN PGP SIGNATURE-----
126+
127+
iQIzBAEBCAAdFiEEj8yhP+8dDC6RAI4Jdw96mlrhVgAFAmVu7J0ACgkQdw96mlrh
128+
VgCXyQ//Rv+VyTOwtblsYJfkn3EaQkfSDnS+JApyu/FozHqoDPYBendhPauwbvV/
129+
WHSHoYsvMJlR16SfXxmnxOwe5wON72C6skAas9DjUxHV35DpxQJVOdhHkDHsNbf9
130+
uisFpZht8blqurUvLIVG/O95BCu6/+rVdvodkZbVXqwkPyRob0jED3i649SeWIt9
131+
/r+9Z4y0zI5FpzWg3ps11U/Twa7N0ErvWxHBE+oGtdIW4Gxq9zfLF2M6XHsuZIdJ
132+
qDERw+Q7aGuKQMNVZCbS+BVJU/kxXVt7/XdTVs929BiaClFII3oNET4XYYDeqqrg
133+
MmJXVJ1X44YrYS6bOaTGkrQDeLnZoGVFn7UeH96nWhDXEh5UIo21+LLT8yM3v5Bm
134+
FBGY+7OV703nRjV+AQBUXBDxLDAkLxClbh174ygMseIg+bt95O33VTbQyAlggBKf
135+
b4Qnh/2s039U1pOUGF3m0MCMq3mwRkNmJX5mOJOeZ1HIzgbeqNDerYdv2Ffj7zaa
136+
LFG3ulco0xwC0KP7+b7nEwhZ+5BOi4ESrJVfm3VTiT8sY5/yoR6EMq0vrKBjGnhE
137+
VYPoCXRCUO6q/dk0dqWOnR3GJ5u91iwFFcLkDeBB7W0gR9JPykQ/+CAtmhWlmPmX
138+
+cQor5PHAfU0nTEzUOVgj81kTyBZ0iOOIMqP+2ATa3BCqegw3oU=
139+
=oeMW
140+
-----END PGP SIGNATURE-----
141+
```

0 commit comments

Comments
 (0)