Notable Changes
Experimental Web Streams API
Node.js now exposes an experimental implementation of the
Web Streams API.
While it is experimental, the API is not exposed on the global object and is only
accessible using the new stream/web
core module:
import { ReadableStream, WritableStream } from 'stream/web';
// Or from 'node:stream/web'
Importing the module will emit a single experimental warning per process.
The raw API is implemented and we are now working on its integration with
various existing core APIs.
Contributed by James M Snell - #39062
Other notable changes
- [
83f3b959f9
] - (SEMVER-MINOR) fs: allow empty string for temp directory prefix (Voltrex) #39028 - [
c04fd2bb97
] - deps: upgrade npm to 7.19.1 (npm team) #39225
Commits
- [
aafa08d7b9
] - bootstrap: load perf_hooks eagerly during bootstrap (Joyee Cheung) #38971 - [
6e46eb186c
] - bootstrap: support perf hooks in snapshot (Joyee Cheung) #38971 - [
10681828ac
] - build: update gcovr for gcc 8 compatibility (Richard Lau) #39326 - [
8381132f76
] - build: add riscv into host_arch_cc (Lu Yahan) #39004 - [
a7ba21864d
] - build: restore libplatform headers in distribution (Jeroen Ooms) #39288 - [
41161eabf2
] - build: remove unused comment in Makefile (LitoMore) #39171 - [
f6a1092471
] - build: allow to build riscv64 using Makefile (Makoto Kato) #39048 - [
a7cd40ed8d
] - build: uvwasi honours node_shared_libuv (Jérémy Lal) #39260 - [
3ed04994b7
] - build: shorten path used in tarball build workflow (Richard Lau) #39192 - [
65b56b3774
] - build: fix building with external builtins (Momtchil Momtchev) #39091 - [
412b1012d2
] - build: pass directory instead of list of files to js2c.py (Joyee Cheung) #39069 - [
171ca6bb3c
] - build: don't pass--mode
argument to V8 test-runner (Richard Lau) #39055 - [
cf8536ea3f
] - build: fix commit linter on unrebased PRs (Mary Marchini) #39121 - [
cf0533b8b2
] - build: use Actions to validate commit message (Mary Marchini) #32417 - [
4202274851
] - crypto: move OPENSSL_IS_BORINGSSL guard (Shelley Vohr) #39136 - [
89f5a73ba5
] - crypto: use compatible ecdh function (Shelley Vohr) #39054 - [
30e878b603
] - crypto: add OPENSSL_IS_BORINGSSL guard (Shelley Vohr) #39138 - [
630266cba2
] - debugger: indicate server is ending (Rich Trott) #39334 - [
48d9680f84
] - debugger: remove final lint exceptions in inspect_repl.js (Rich Trott) #39078 - [
4507714f9d
] - deps: V8: backport 5c76da8ddcf8 (Michaël Zasso) #39337 - [
0e64bd0dd6
] - deps: V8: cherry-pick 359d44df4cdd (Michaël Zasso) #39337 - [
142ce6838b
] - deps: V8: cherry-pick 3805a698f7b6 (Michaël Zasso) #39337 - [
2657c305cb
] - deps: V8: cherry-pick 56fe020eec0c (Michaël Zasso) #39337 - [
5c5a93e533
] - deps: V8: cherry-pick 2b77ca200c56 (Michaël Zasso) #39337 - [
cf49ebb052
] - deps: V8: cherry-pick 53784bdb8f01 (Michaël Zasso) #39337 - [
3d351b29c1
] - deps: V8: cherry-pick cb4faa902e9f (Michaël Zasso) #39337 - [
165130a3e0
] - deps: patch V8 to 9.1.269.38 (Michaël Zasso) #39196 - [
c04fd2bb97
] - deps: upgrade npm to 7.19.1 (npm team) #39225 - [
bf4c50f9d9
] - deps: upgrade npm to 7.19.0 (npm team) #39148 - [
8630b39376
] - deps: update Acorn to v8.4.1 (Michaël Zasso) #39166 - [
38ae4077c7
] - doc: fix typos in Web Streams API documentation (Tobias Nießen) #39351 - [
fb6616ecbb
] - doc: add text about moving long commit lists out of PR description (Danielle Adams) #39186 - [
29c9cc8f03
] - doc: do not use & for "and" in text (Rich Trott) #39345 - [
0b3b2695bc
] - doc: do not use tilde for "about" or "approximately" (Rich Trott) #39344 - [
64a185e595
] - doc: use consistent abbreviation formatting (Rich Trott) #39343 - [
2573bf5116
] - doc: update AUTHORS (Rich Trott) #39277 - [
63b6084724
] - doc: put information about the past in details tags (Rich Trott) #39321 - [
e26635085a
] - doc: replace outdatedutil.promisify
timer examples with references (foxxyz) #39164 - [
d101a85e36
] - doc: move AndreasMadsen to emeritus (Rich Trott) #39315 - [
2d552a32d6
] - doc: move ofrobots to collaborator emeritus (Rich Trott) #39307 - [
131d676f64
] - doc: simplify CRAN mirror text in benchmark guide (Rich Trott) #39287 - [
c92b80e631
] - doc: use "repository" instead of "repo" in onboarding.md (Rich Trott) #39286 - [
81df9b1e92
] - doc: update collaborator email address (Rich Trott) #39263 - [
b8860f35c9
] - doc: remove GitHub mark (Rich Trott) #39251 - [
f06ebf1775
] - doc: remove emailing the TSC from offboarding doc (Rich Trott) #39280 - [
175a6569f4
] - doc: add annotation to writeFiledata
asObject
(Jacob) #39167 - [
4d53c63c22
] - doc: fix boldface punctuation for full sentences (Rich Trott) #39278 - [
146f733f43
] - doc: fix constants usage in fs.access example (Cyrille Bourgois) #39289 - [
eacee0ab17
] - doc: use "repository" in guides versus repo (Michael Dawson) #39198 - [
04bcfcfff1
] - doc: update Node-api version matrix (Michael Dawson) #39197 - [
4dd6ab389a
] - doc: remove onboarding-extras (Rich Trott) #39252 - [
a01dacfdcd
] - doc: move Sam Ruby to emeritus (Rich Trott) #39264 - [
2bb3713b74
] - doc: update AUTHORS file (Rich Trott) #39250 - [
2227c1368f
] - doc: fix color contrast for anchor marks in dark mode (Rich Trott) #39168 - [
f8cdaad9d4
] - doc: rename datatypes to data types (FrankEntriken) #39209 - [
250024eaec
] - doc: normalize CSS variable names and indentation (Rich Trott) #39199 - [
db74a35348
] - doc: remove unnecessary module format comments (Rich Trott) #39219 - [
24a1f7ec84
] - doc: use more consistent formatting for deprecations (Rich Trott) #39218 - [
24c0d7d872
] - doc: update AUTHORS (Rich Trott) #39217 - [
3e5ed72b0a
] - doc: use "pull request" instead of "PR" in packages.md (Rich Trott) #39213 - [
ddc24b2105
] - doc: move v8.stopCoverage() to expected location in doc (Rich Trott) #39212 - [
68c334c8c9
] - doc: move vm.measureMemory() to expected location in doc (Rich Trott) #39211 - [
81d52d7c79
] - doc: fix CHANGELOG.md formatting (Richard Lau) #39223 - [
9c3a5fd53e
] - doc: add cc oss-security@lists.openwall.com (Daniel Bevenius) #39191 - [
07ba2875ae
] - doc: remove instructions for unsupported Node.js versions (Rich Trott) #39185 - [
482851f647
] - doc: remove obsolete cc recommendations (Rich Trott) #39181 - [
8311b29083
] - doc: use "repository" in maintaining-V8 doc (Rich Trott) #39179 - [
952580e1bf
] - doc: fix broken link in errors.md (Rich Trott) #39200 - [
af1e1dba36
] - doc: correct JavaScript primitive value names in n-api.md (legendecas) #39129 - [
00728d1301
] - doc: apply logical ordering to CSS variables (Rich Trott) #39169 - [
aec2744e14
] - doc: remove file name from self-reference links (Antoine du Hamel) #39165 - [
74bb915178
] - doc: use repository instead of repo (Rich Trott) #39157 - [
a669a191a1
] - doc: use ASCII order for md refs (Antoine du Hamel) #39170 - [
21e8720155
] - doc: fixEventTarget.dispatchEvent
docs (Rohan Sharma) #39127 - [
90ec7660bc
] - doc: update AUTHORS file (Rich Trott) #39082 - [
81cebec5cc
] - doc: esm examples /w imports for process, Buffer (Guy Bedford) #39043 - [
c1588887a6
] - doc: fix napi_default_property name (Davidson Francis) #39104 - [
a440f6c69c
] - doc: fix dead links in packages.md (Michaël Zasso) #39113 - [
33cad271c5
] - errors: remove eager stack generation for node errors (Gus Caplan) #39182 - [
ac05a0a8a3
] - errors: don't throw TypeError on missing export (Benjamin Coe) #39017 - [
83f3b959f9
] - (SEMVER-MINOR) fs: allow empty string for temp directory prefix (Voltrex) #39028 - [
ac7184d8c7
] - http: clean up HttpParser correctly (Tobias Koppers) #39292 - [
35331cbd13
] - http,https: align server option of https with http (Qingyu Deng) #38992 - [
29194d4f88
] - inspector: move inspector async hooks to environment (Joyee Cheung) #39112 - [
ecf627a9af
] - lib: rename TransferedReadableStream etc (Tobias Nießen) #39352 - [
0e55cb72df
] - lib: make lazyDOMException more common (Khaidi Chu) #39105 - [
cfd96aa8f9
] - meta: fix tls code owners (Robert Nagy) #39355 - [
e5c2d80560
] - meta: use form schema for bug report template (Michaël Zasso) #39194 - [
bd472daf0c
] - meta: add @nodejs/actions as CODEOWNERS (Mary Marchini) #39119 - [
63f87027e3
] - node-api: cctest on v8impl::Reference (legendecas) #38970 - [
7ea98fbccd
] - perf_hooks: refactor perf_hooks for snapshot building (Joyee Cheung) #38971 - [
20cc8ec2af
] - readline: allow completer to rewrite existing input (Anna Henningsen) #39178 - [
b168ec2a2a
] - repl: processTopLevelAwait fallback error handling (ejose19) #39290 - [
a101fe68ad
] - repl: correctly hoist top level await declarations (ejose19) #39265 - [
d441d91450
] - repl: ensure correct syntax err for await parsing (Guy Bedford) #39154 - [
9184259a54
] - src: add JSDoc typings for v8 (Voltrex) #38944 - [
66553feeba
] - src: compare IPv4 addresses in host byte order (Colin Ihrig) #39096 - [
ea8d83bf59
] - src,crypto: fix 0-length output crash in webcrypto (Khaidi Chu) #38913 - [
683c995001
] - src,zlib: tighten up Z_*_WINDOWBITS macros (Khaidi Chu) #39115 - [
cb32f69e00
] - stream: cleanup async handling (Robert Nagy) #39329 - [
1fc6382942
] - stream: don't emit prefinish after error or close (Robert Nagy) #39332 - [
35b6669e13
] - stream: use finished for pump (Robert Nagy) #39203 - [
9af62a1357
] - (SEMVER-MINOR) stream: implement WHATWG streams (James M Snell) #39062 - [
0bb980aeaf
] - test: remove eslint-disable comment from fixture file (Rich Trott) #39320 - [
21f77031fb
] - test: move debugger test case to parallel (Rich Trott) #39300 - [
0ec93a1fc1
] - test: use common.PORT instead of hardcoded port number (Rich Trott) #39298 - [
11a8b81caf
] - test: remove debugger workaround for AIX (Rich Trott) #39296 - [
8e77aa23f1
] - test: add test for debugger restart message issue (Rich Trott) #39273 - [
13755599e1
] - test: remove workaround code in debugger test (Rich Trott) #39238 - [
1f31e3c774
] - test: remove checks for armv6 (Rich Trott) #39162 - [
d486d0117c
] - test: move test-debugger-address to parallel (Rich Trott) #39236 - [
cdc7a19f48
] - test: remove common.enoughTestCpu (Rich Trott) #39161 - [
cc32365f56
] - (SEMVER-MINOR) test: add WPT streams tests (James M Snell) #39062 - [
fff21a4afb
] - test: replace "inspector-cli" with "debugger" (Rich Trott) #39156 - [
df17c62818
] - test: use localhost test instead of connecting to remote (Adam Majer) #39011 - [
dfe99d2aac
] - tls: move legacy code into own file (Robert Nagy) #39333 - [
f338fddbb0
] - tools: add GitHub Action to run find-inactive-collaborators.mjs (Rich Trott) #39335 - [
b3a0dd1e4a
] - tools: pass bot token to node-pr-labeler (Michaël Zasso) #39271 - [
b56a3d9009
] - tools: update gyp-next to v0.9.3 (Jiawen Geng) #39291 - [
3cd9f5e298
] - tools: add find-inactive-collaborators.js (Rich Trott) #39262 - [
0673ede3ad
] - tools: take ownership of deps/v8/tools/node (Michaël Zasso) #39222 - [
cb8c6ffbce
] - tools: update ESLint to 7.30.0 (Colin Ihrig) #39242 - [
d5113f9e34
] - tools: remove armv6 from test tools (Rich Trott) #39162 - [
802d9c4488
] - tools: update path-parse to 1.0.7 (Rich Trott) #39232 - [
ab9ccd014c
] - tools: remove unusedlint-pr-commit-message.sh
(Richard Lau) #39120 - [
6200f3b35f
] - tools: update @babel/eslint-parser to 7.14.7 (Rich Trott) #39160 - [
dfe5d1139c
] - tools: update remark-preset-lint-node to 2.4.1 (Rich Trott) #39201 - [
4715105581
] - tools: upgradehighlight.js
to version 11.0.1 (Antoine du Hamel) #39032 - [
2481ddd08d
] - tools,doc: fix error message for unrecognized type (Antoine du Hamel) #39221 - [
adb812c042
] - typings: add a few JSDoc typings for the net lib module (nerdthatnoonelikes) #38953 - [
29673b8ac8
] - typings: add JSDoc typings for timers (Voltrex) #38834 - [
fe1c81f247
] - wasi: use missing validator (Voltrex) #39070