惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

L
LangChain Blog
V
V2EX
爱范儿
爱范儿
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
Martin Fowler
Martin Fowler
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Apple Machine Learning Research
Apple Machine Learning Research
WordPress大学
WordPress大学
有赞技术团队
有赞技术团队
宝玉的分享
宝玉的分享
Last Week in AI
Last Week in AI
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
罗磊的独立博客
小众软件
小众软件
Vercel News
Vercel News
博客园 - 司徒正美
阮一峰的网络日志
阮一峰的网络日志
V
Visual Studio Blog
J
Java Code Geeks
P
Proofpoint News Feed
MongoDB | Blog
MongoDB | Blog
B
Blog
美团技术团队
量子位

Node.js Blog

Node.js — Security Bug Bounty Program Paused Due to Loss of Funding Node.js — Node.js 25.9.0 (Current) Node.js — Developing a minimally HashDoS resistant, yet quickly reversible integer hash for V8 Node.js — Node.js 25.8.2 (Current) Node.js — Node.js 24.14.1 (LTS) Node.js — Node.js 22.22.2 (LTS) Node.js — Node.js 20.20.2 (LTS) Node.js — Tuesday, March 24, 2026 Security Releases Node.js — Node.js 25.8.1 (Current) Node.js — Evolving the Node.js Release Schedule Node.js — Node.js 22.22.1 (LTS) Node.js — Node.js 20.20.1 (LTS) Node.js — Node.js 25.8.0 (Current) Node.js — Node.js 25.7.0 (Current) Node.js — Node.js 24.14.0 (LTS) Node.js — New HackerOne Signal Requirement for Vulnerability Reports Node.js — Node.js 25.6.1 (Current) Node.js — Node.js 24.13.1 (LTS) Node.js — Node.js 25.6.0 (Current) Node.js — OpenSSL Security Advisory Assessment, January 2026 Node.js — Node.js 25.5.0 (Current) Node.js — Chalk to Node.js util styleText Node.js — Node.js 25.4.0 (Current) Node.js — Mitigating Denial-of-Service Vulnerability from Unrecoverable Stack Space Exhaustion for React, Next.js, and APM Users Node.js — Node.js 22.22.0 (LTS) Node.js — Node.js 25.3.0 (Current) Node.js — Node.js 24.13.0 (LTS) Node.js — Node.js 20.20.0 (LTS) Node.js — Tuesday, January 13, 2026 Security Releases Node.js — Node.js 24.12.0 (LTS)
Node.js — Node.js 16.4.0 (Current)
2021-06-23 · via Node.js Blog

Danielle Adams

Notable changes

  • async_hooks:
    • stabilize part of AsyncLocalStorage (Vladimir de Turckheim) #37675
  • deps:
    • upgrade npm to 7.18.1 (npm-robot) #39065
    • update V8 to 9.1.269.36 (Michaël Zasso) #38273
  • dns:
    • allow --dns-result-order to change default dns verbatim (Ouyang Yadong) #38099

Commits

  • [d2b972ee52] - async_hooks: check for empty contexts before removing (Bryan English) #39095
  • [03e75fda4c] - async_hooks: switch between native and context hooks correctly (Stephen Belanger) #38912
  • [8115e6ee6d] - (SEMVER-MINOR) async_hooks: stabilize part of AsyncLocalStorage (Vladimir de Turckheim) #37675
  • [5f51729014] - bootstrap: move event loop handle checking into snapshot builder (Joyee Cheung) #39007
  • [9d100aa269] - bootstrap: split NodeMainInstance::Run() (Joyee Cheung) #39007
  • [2aaf2f231f] - build: reconfigure when gyp files change on Windows (Joyee Cheung) #39066
  • [7f225a05ee] - Revert "build: work around bug in MSBuild v16.10.0" (Michaël Zasso) #38977
  • [1853127dde] - build: reset embedder string to "-node.0" (Michaël Zasso) #38273
  • [c0d236f5ea] - build: make build-addons errors fail the build (Richard Lau) #38983
  • [173292bcf8] - build: fix commit-queue default branch (Mary Marchini) #38998
  • [e939e243bf] - build: don't pass python override to V8 build (Richard Lau) #38969
  • [651c58b412] - build: correct Xcode spelling in .gitignore (bl-ue) #38895
  • [5203c9ced7] - build: fast-track npm PRs and dont-land them on LTS (Michaël Zasso) #38885
  • [7de57d4d33] - build: dont-land gyp-next PRs on LTS branches (Michaël Zasso) #38887
  • [e87cd4542b] - child_process: refactor to use validateBoolean (Qingyu Deng) #38927
  • [69fa9e16e9] - (SEMVER-MINOR) child_process: allow options.cwd receive a URL (Khaidi Chu) #38862
  • [cf9d686c35] - crypto: fix aes crash when tag length too small (Khaidi Chu) #38914
  • [1799ea36f0] - crypto: use compatible version of EVP_CIPHER_name (Shelley Vohr) #38925
  • [6d5dc63ae4] - crypto: fix label cast in EVP_PKEY_CTX_set0_rsa_oaep_label (Shelley Vohr) #38926
  • [6e93c17bf5] - crypto: use EVP_get_cipherbynid directly (Shelley Vohr) #38901
  • [82c293959e] - crypto: add missing rand.h include (Shelley Vohr) #38864
  • [e4f802de9a] - debugger: rename internal library for clarity (Rich Trott) #39080
  • [1e8bdab581] - debugger: use ERR_DEBUGGER_STARTUP_ERROR in _inspect.js (Rich Trott) #39024
  • [b43cb69fbb] - debugger: use error codes in debugger REPL (Rich Trott) #39024
  • [dc9218136b] - debugger: use ERR_DEBUGGER_ERROR in debugger client (Rich Trott) #39024
  • [711916a271] - debugger: remove unnecessary boilerplate copyright comment (Rich Trott) #38952
  • [0f65e41442] - debugger: reduce scope of eslint disable comment (Rich Trott) #38946
  • [1fa724ec5a] - deps: upgrade npm to 7.18.1 (npm-robot) #39065
  • [c6aa68598d] - deps: upgrade npm to 7.17.0 (npm-robot) #38999
  • [864fe9910b] - deps: make V8 9.1 abi-compatible with 9.0 (Michaël Zasso) #38991
  • [c93f3573eb] - deps: V8: cherry-pick fa4cb172cde2 (Michaël Zasso) #38273
  • [3c6c28b0a1] - deps: V8: cherry-pick 4c074516397b (Michaël Zasso) #38273
  • [3c37396d5c] - deps: V8: cherry-pick 5f4413194480 (Michaël Zasso) #38273
  • [3433559a55] - deps: V8: cherry-pick 272445f10927 (Michaël Zasso) #38273
  • [f56c78574e] - deps: V8: cherry-pick c0fceaa0669b (Michaël Zasso) #38273
  • [7197fcec93] - deps: V8: cherry-pick d59db06bf542 (Michaël Zasso) #38273
  • [bf7aa9fef8] - deps: silence irrelevant V8 warnings (Michaël Zasso) #37587
  • [eac377bc15] - deps: V8: backport aaacffa1e003 (Michaël Zasso) #38273
  • [1a7c8a12c1] - deps: fix V8 build issue with inline methods (Jiawen Geng) #35415
  • [3c9a75522b] - deps: make v8.h compatible with VS2015 (Joao Reis) #32116
  • [8ed258339a] - deps: V8: forward declaration of Rtl*FunctionTable (Refael Ackermann) #32116
  • [4ef37c83a9] - deps: V8: patch register-arm64.h (Refael Ackermann) #32116
  • [7c61c6ee25] - deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #32116
  • [e82ef4148e] - (SEMVER-MINOR) deps: update V8 to 9.1.269.36 (Michaël Zasso) #38273
  • [70af146745] - deps: upgrade npm to 7.16.0 (npm-robot) #38920
  • [a71df7630e] - (SEMVER-MINOR) dns: allow --dns-result-order to change default dns verbatim (Ouyang Yadong) #38099
  • [dce256b210] - doc: remove references to deleted freenode channels (devsnek) #39047
  • [1afff98805] - doc: fix typos (bl-ue) #39049
  • [858f66e691] - doc: add missing parameter types (Voltrex) #39013
  • [ed91379186] - doc: clearify that http does chunked encoding itself (Mao Wtm) #28379
  • [51561f390a] - doc: add missing changelog links (Antoine du Hamel) #39016
  • [a19170eb9d] - doc: clarify that only one Python version is required to build (bl-ue) #38894
  • [7b219992e0] - doc: fix markup for aesImportParams (Tobias Nießen) #38898
  • [405b50cdba] - doc: use await in filehandle.truncate() snippet (RA80533) #38939
  • [5218fe86d1] - doc: fixed typo in process.md (Derevianchenko Maksym) #38941
  • [f903ad85f2] - doc: add missing semis after classes (Darshan Sen) #38931
  • [0bdeeda3b5] - doc: update write callback documentation (Simone Busoli) #38959
  • [7a7c0588ad] - doc: mark util.inherits as legacy (Voltrex) #38896
  • [f6964dc506] - doc: clarify when readable._read(...) is called (Shaun Keys) #38726
  • [3481b02e77] - doc: mark Node.js 15.x as EOL (Antoine du Hamel) #38891
  • [17a9846920] - doc: fix .mjs syntax in crypto.md (himself65) #38882
  • [8c7b2bab5f] - doc,fs: remove experimental status for WHATWG URL as path (Antoine du Hamel) #38870
  • [eddde6c31a] - errors: don't rekey on primitive type (Benjamin Coe) #39025
  • [3d7892ef39] - errors: add ERR_DEBUGGER_STARTUP_ERROR (Rich Trott) #39024
  • [631856ea32] - errors: add ERR_DEBUGGER_ERROR (Rich Trott) #39024
  • [336571fbdd] - Revert "http: make HEAD method to work with keep-alive" (Michaël Zasso) #38949
  • [c2b4fbba0f] - lib: remove semicolon in preparation for babel/eslint-parser update (Rich Trott) #39094
  • [f17dde81f3] - lib: make internal/options lazy (Joyee Cheung) #38993
  • [551430514b] - lib: add JSDoc typings for child_process (Voltrex) #38222
  • [ded83350a0] - lib: make primordials Promise methods safe (Antoine du Hamel) #38650
  • [637c1fa83c] - lib: refactor debuglog init (Antoine du Hamel) #38838
  • [5b5e07a2cc] - meta: update label-pr-config (Michaël Zasso) #38950
  • [92ed1c6cce] - module: fix legacy node specifier resolution to resolve "main" field (Antoine du Hamel) #38979
  • [4174f139b6] - net: use missing validator (Voltrex) #38984
  • [f7724ab342] - node-api: avoid crashing on passed-in null string (Gabriel Schulhof) #38923
  • [ec3e5b4c15] - node-api: avoid SecondPassCallback crash (Michael Dawson) #38899
  • [74f5e30d69] - node-api: rtn pending excep on napi_new_instance (legendecas) #38798
  • [4c6193fea1] - report: generates report on threads with no isolates (legendecas) #38994
  • [3c7a7d9ee4] - (SEMVER-MINOR) src: allow to negate boolean CLI flags (Michaël Zasso) #39023
  • [284d9c6228] - src: cleanup uv_fs_t regardless of success or not (legendecas) #38996
  • [902bb858d7] - src: refactor to use locale functions (Darshan Sen) #39014
  • [10370c5e8a] - src: fix multiple AddLinkedBinding() calls (Anna Henningsen) #39012
  • [ff8313c3a5] - src: throw error in LoadBuiltinModuleSource when reading fails (Joyee Cheung) #38904
  • [9ba5518f08] - src: skip test_fatal/test_threads for Debug builds (Daniel Bevenius) #38805
  • [06afb8df65] - (SEMVER-MINOR) src: make InitializeOncePerProcess more flexible (Shelley Vohr) #38888
  • [db4b192113] - src: add not-weak DCHECK to PersistentToLocal::Strong (Anna Henningsen) #38875
  • [08b2a4a138] - src,test: raise error for --enable-fips when no FIPS (Daniel Bevenius) #38859
  • [5d92c09bbf] - src,url: separate some tables out of node_url.cc (Khaidi Chu) #38988
  • [c20e28e1a0] - stream: fix pipeline pump (Robert Nagy) #39006
  • [7b026d8a72] - test: move inspector-cli tests to sequential (Rich Trott) #39079
  • [a53911b166] - test: improve buffer coverage (Rongjian Zhang) #38538
  • [5e9175f148] - test: fix name of variable in inspector-cli test (Tobias Nießen) #38869
  • [bd924610ec] - test: fix typo (Houssem Chebab) #39045
  • [d50df5dec1] - test: fix typo in test-http2-invalidheaderfield.js (Ikko Ashimine) #39021
  • [6111671d45] - test: adapt abort tests for new Windows code (Michaël Zasso) #38273
  • [1816d46cef] - test: adapt test-linux-perf to V8 changes (Michaël Zasso) #38273
  • [32961c4781] - test: fix V8 serdes test for V8 9.1 (Michaël Zasso) #38273
  • [f652284b3b] - test: remove obsolete TLS test (Rich Trott) #39001
  • [81bbeab3bd] - test: improve coverage of lib/events.js (Rongjian Zhang) #38582
  • [e82111f890] - test: http outgoing _headers setter null (ycjcl868) #38881
  • [1f10e84939] - test: suppress warning in test_environment.cc (Daniel Bevenius) #38868
  • [379b5f79a9] - tls: tweak clientCertEngine argument parsing (Shelley Vohr) #38900
  • [78d2e0ed8e] - tools: update babel-eslint-parser to 7.14.5 (Rich Trott) #39094
  • [fed641127a] - tools: update ESLint to 7.29.0 (Rich Trott) #39083
  • [3ae2a0be48] - tools: fix typo (Houssem Chebab) #39044
  • [a1d0aef60e] - tools: update doctool dependencies, migrate to ESM (Michaël Zasso) #38966
  • [2a292cf574] - tools: update V8 gypfiles for 9.1 (Michaël Zasso) #38273
  • [0c90fd8454] - tools: avoid crashing CQ when git push fails (Antoine du Hamel) #36861
  • [f817c2d3bb] - tools: fix typo in commit-queue.sh (bl-ue) #39000
  • [be5101eb32] - tools: update ESLint to 7.28.0 (Luigi Pinca) #38955
  • [9bf9ddb490] - tools: refactor snapshot builder (Joyee Cheung) #38902
  • [0706565097] - tools: bump remark-preset-lint-node to 2.3.0 (Rich Trott) #38910
  • [7d35fa7938] - tools: update gyp-next to v0.9.1 (Jiawen Geng) #38867
  • [00c20e621f] - tools,doc: forbid CJS globals in ESM code snippets (Antoine du Hamel) #38889
  • [99161b09f6] - url,src: simplify ipv6 logic by using uv_inet_pton (Khaidi Chu) #38842
  • [f40725f2a1] - vm: use missing validator (Voltrex) #38935
  • [f959cb3c68] - worker: do not look up context twice in PostMessage (Anna Henningsen) #38784

Windows 32-bit Installer: https://nodejs.org/dist/v16.4.0/node-v16.4.0-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v16.4.0/node-v16.4.0-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v16.4.0/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v16.4.0/win-x64/node.exe
macOS 64-bit Installer: https://nodejs.org/dist/v16.4.0/node-v16.4.0.pkg
macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v16.4.0/node-v16.4.0-darwin-arm64.tar.gz
macOS Intel 64-bit Binary: https://nodejs.org/dist/v16.4.0/node-v16.4.0-darwin-x64.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v16.4.0/node-v16.4.0-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v16.4.0/node-v16.4.0-linux-ppc64le.tar.xz
Linux s390x 64-bit Binary: https://nodejs.org/dist/v16.4.0/node-v16.4.0-linux-s390x.tar.xz
AIX 64-bit Binary: https://nodejs.org/dist/v16.4.0/node-v16.4.0-aix-ppc64.tar.gz
ARMv7 32-bit Binary: https://nodejs.org/dist/v16.4.0/node-v16.4.0-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v16.4.0/node-v16.4.0-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v16.4.0/node-v16.4.0.tar.gz
Other release files: https://nodejs.org/dist/v16.4.0/
Documentation: https://nodejs.org/docs/v16.4.0/api/

SHASUMS

-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

7695554a71873ea2393248438508c5d73a4fc195f760a9317e33670826ab691f  node-v16.4.0-aix-ppc64.tar.gz
771469be99d6af048d9b192cd7b338c68a4604e0fcc7f8804278c91b5ad3f74f  node-v16.4.0-darwin-arm64.tar.gz
69847f02e277a5455e8ae06ccaeb6bb51672ff36aeda64c7f8a9c3dba87774e8  node-v16.4.0-darwin-arm64.tar.xz
95c81b54ea3069fcf230664d5d80b10e46f8fff5163644b7076fe48df13fc2fb  node-v16.4.0-darwin-x64.tar.gz
2fe18b643d3846c22921b88041fcac6f6f532b7c1a60fc25e984de98c2466575  node-v16.4.0-darwin-x64.tar.xz
5085d9669b5df764faf234ad6d7ed1ce6c468d9f3c7f680c7b008d5be12dc4b2  node-v16.4.0-headers.tar.gz
92d8d154af3fdc31695e29d19a1541d55205c4e4dcfafdb2e826e79a39be29b3  node-v16.4.0-headers.tar.xz
8500c9b61717eeeb6f62ed88723dc4896b1bd0a38d8a0f8f8bfcd99e4879e921  node-v16.4.0-linux-arm64.tar.gz
dd8895d727f38f5d3bcfc9e6cfeeb5e61a55ef788ca23a789f87c4e36f8a599e  node-v16.4.0-linux-arm64.tar.xz
0a40f6d679f8eccab2b9c43a385172fa0b0584246eef2c41c986fdf572206fa8  node-v16.4.0-linux-armv7l.tar.gz
f455f936e3ba97fc5150cb0e161a90cc1eeaa4d6c6b39b5c679cee792d21a5e5  node-v16.4.0-linux-armv7l.tar.xz
8b68bb6bb00af0db969e4c3c0f47bba408c71dfb3a33dd9a95336bd1f03769e8  node-v16.4.0-linux-ppc64le.tar.gz
a309bb0da47872988dfe4cab3e170856844ef1f61f62cd3c5202a096a5c5a1f5  node-v16.4.0-linux-ppc64le.tar.xz
9008300e37e088bf8abc8848208ac3fec23b4c26165c3b396c6a533e8c6b08da  node-v16.4.0-linux-s390x.tar.gz
8dd5ae54694aaea813b7d3c499b57412f625dbaebdca389a1ed7377125726324  node-v16.4.0-linux-s390x.tar.xz
6fb7bc9aece48f2d94941c586ed5d541ac29c8981bc09585fcabe9e4b87d57fa  node-v16.4.0-linux-x64.tar.gz
cb2076ea116f0132c2233ac00da306b3061cda2eacbd0fab5b1263e0c9ff0686  node-v16.4.0-linux-x64.tar.xz
14741dd37ce35dee9675ea0ed7134884db65e218e4841534229a53698c6a6484  node-v16.4.0.pkg
37e526b494a0ae53d2205421b93cc3d6fa2d9f4d8349891814a23e69d59a6d8d  node-v16.4.0.tar.gz
f91e212e0b64d5fa745b15da4b8ac504acf72fb9216bfa77d3f66ca0e178c81d  node-v16.4.0.tar.xz
19da293c890b41793516a97775e1bcfb94c62dfc0c38df3fdf830bde22c7d63c  node-v16.4.0-win-x64.7z
2232f638c4913059e3de358d54629288092cd068553deaa60b9b46d6d760abcb  node-v16.4.0-win-x64.zip
48e0a70a87c604371e67757d68008b4d5bb32c01862da9a3b3c9bdcb2a850639  node-v16.4.0-win-x86.7z
24fc12e114165d1671dc6cc8ee4e078b0795a49dc6895204510366db2f1252b0  node-v16.4.0-win-x86.zip
286223b111698ab68ea1c2bf7379e542ec47187baa00e905bdb55898eed3599a  node-v16.4.0-x64.msi
56193c89e4091c9485a1e90a39b37b17dc64ffc6983cce978265471c289f5718  node-v16.4.0-x86.msi
afede6dc68ac545d90ee46247438b63661965c7d91aee04dd4efa2cbec7970c0  win-x64/node.exe
fe0a67955d3d9078a1495d936b59c9161ca8f8dbe29e95bfbf90a04b8bf6de23  win-x64/node.lib
7f2c849dfc3c3d0e915ee7ccbccdfd7711ef20288834d26807f743758512bec3  win-x64/node_pdb.7z
9297615005e2177a4576894f9e67902604fad1153d548a7c65e3670633bf18bd  win-x64/node_pdb.zip
0b0d8a752c579838961b6ef8e4d2e7b7a9b839e7b73add30b8aa2889d3f92444  win-x86/node.exe
3a4e948add4fcb30eca711e7a76a3c16fe1f61ae7ab4eec85b80992ca96496fa  win-x86/node.lib
8e41e601620d9d3ad0a68fc29071c7edbfd84b3f13e74e070ea2f791fb9a0a8f  win-x86/node_pdb.7z
b1c72aa329f308c3a0aa5411ab18083aa384c84c33d133712fcb80d6f6b2d5d4  win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----

iQIzBAEBCAAdFiEEdPEmArbxxOkT+qN606iWE2Q7YgEFAmDTHtMACgkQ06iWE2Q7
YgFRJhAAzpwqIYTz79O4jiG92kkmMAxmEeBtg2PQ9t0zmC0jejgJbFbxOSRQ4JlG
A4DIzW3xnROjCpb9jQIGLoEiUKZFpqq3jtKpWbPceWioDzpswMs+rnguiIuWAg6R
QEEyAfqfM0ZY4jmxQoJyIe/dss2OxZdL5+57FsmAeoubcfxtEQjarwPyG3s4tbVu
scjU0WLfFhQdckNRTnCUN8llD10rvtlgG0vagaSmwsbwn4vsnZnpyfVU7m/ujxLd
cxIltUUf8jk5rxmQYy7ad3rPTeu8i4r75H1xHO1u5vFCyoiadCJK2JLbK+RiTge7
fu/aXvqLp8XXnZEobTo213AyJysmrBIPp42RuyRZV/oOsKK3mykbbaqldHKa9xHk
W8vh9aK199iTvL0OrFa3OG7jSCHav/jJtUX9RrtIS9mX/DrT298T21TkjV6zpL7r
OshE4pSHnRwVMPxBt2nBWtLc6EVy5oziABh4Jce/NIbSHJdObMX1B5dqZhwcGSRC
oHgOvFU4zBgZCIl3cvyMCw6NBcojtaXSGBRWAvh2B5WXRykcidqedfCN1VrjLicn
1yHX/k48K77ELwT02RLgvZUZSWxsVy5OKXJhgXOsGGho4tgSzfk6jpTYNGhaAZ/h
pQbfGdVOWfQiyJRWVbiY+dL0nX/Y35Mw3SOQ5z34fGmu6pq4f2g=
=dlmQ
-----END PGP SIGNATURE-----