주요 변경사항
폐기 예정과 삭제
- [
f182b9b29f
] - (SEMVER-MAJOR) dns:dns.lookup
옵션의 타입을 강제하는 기능을 런타임에서 폐기 예정으로 표시합니다. (Antoine du Hamel) #39793 - [
4b030d0573
] - doc: http에서 abort와 관련된 부분이 문서에서만 먼저 폐기 예정으로 표시합니다. (dr-js) #36670 - [
36e2ffe6dc
] - (SEMVER-MAJOR) module: 하위 경로 매핑이 제거되었습니다. (Guy Bedford) #40121 - [
64287e4d45
] - (SEMVER-MAJOR) module: 트레일링 슬래시 패턴을 런타임에서 폐기 예정으로 표시합니다. (Guy Bedford) #40117
OpenSSL 3.0
Node.js는 이제 OpenSSL 3.0을 포함하고 여기에는 QUIC을 지원하는 quictls/openssl이 포함되어 있습니다. OpenSSL 3.0에서는 새로운 FIPS 모듈을 사용해서 FIPS 지원을 다시 이용할 수 있습니다. FIPS 지원으로 Node.js를 빌드하는 자세한 방법은 BUILDING.md를 참고하세요.
OpenSSL 3.0 API는 OpenSSL 1.1.1에서 제공되는 API와 대부분 호환되어야 하지만 허용된 알고리즘과 키 크기에 관해서 제한이 강화되었기 때문에 생태계에 어느 정도의 영향은 있을 것으로 생각합니다.
Node.js 17을 사용하는 애플리케이션에서 ERR_OSSL_EVP_UNSUPPORTED
오류가 발생한다면 애플리케이션이나 사용 중인 모듈이 OpenSSL 3.0이 더는 기본적으로 허용하지 않는 알고리즘이나 키 크기를 사용할 가능성이 높습니다. 이러한 강화된 제한을 임시로 우회하는 방법으로 --openssl-legacy-provider
명령행 옵션을 사용하면 레거시 프로바이더로 되돌릴 수 있습니다.
OpenSSL 3.0의 모든 기능에 대한 자세한 내용은 OpenSSL 3.0 릴리스 블로그를 참고하세요.
https://github.com/nodejs/node/pull/38512, https://github.com/nodejs/node/pull/40478에서 기여되었습니다.
V8 9.5
V8 JavaScript 엔진이 V8 9.5로 업데이트되었습니다. 이 릴리스는 Intl.DisplayNames
API에 대한 추가적인 지원 타입과 Intl.DateTimeFormat
API의 확장된 timeZoneName
옵션이 포함되어 있습니다.
V8 9.5 릴리스 글에서 자세한 내용을 볼 수 있습니다. - https://v8.dev/blog/v8-release-95
Michaël Zasso가 기여했습니다. - https://github.com/nodejs/node/pull/40178
그 외 주요 변경사항
- [
1b2749ecbe
] - (SEMVER-MAJOR) dns: dns.lookup()에서 기본값을 verbatim=true로 변경했습니다. (treysis) #39987 - [
59d3d542d6
] - (SEMVER-MAJOR) errors: 종료를 일으키는 치명적인 예외에서 Node.js 버전을 출력합니다. (Divlo) #38332 - [
a35b7e0427
] - deps: npm의 버전을 8.1.0으로 업그레이드했습니다. (npm team) #40463 - [
6cd12be347
] - (SEMVER-MINOR) fs: FileHandle.prototype.readableWebStream()을 추가했습니다. (James M Snell) #39331 - [
d0a898681f
] - (SEMVER-MAJOR) lib: structuredClone() 전역 메서드를 추가했습니다. (Ethan Arrowood) #39759 - [
e4b1fb5e64
] - (SEMVER-MAJOR) lib:DOMException
을 전역으로 노출합니다. (Khaidi Chu) #39176 - [
0738a2b7bd
] - (SEMVER-MAJOR) stream: 오류가 발생한 스트림에서 finishied도 오류가 발생해야 합니다. (Robert Nagy) #39235
Semver-Major Commits
- [
9dfa30bdd5
] - (SEMVER-MAJOR) build: compile with C++17 (MSVC) (Richard Lau) #38807 - [
9f0bc602e4
] - (SEMVER-MAJOR) build: compile with --gnu++17 (Richard Lau) #38807 - [
62719c5fd2
] - (SEMVER-MAJOR) deps: update V8 to 9.5.172.19 (Michaël Zasso) #40178 - [
66da32c045
] - (SEMVER-MAJOR) deps,test,src,doc,tools: update to OpenSSL 3.0 (Daniel Bevenius) #38512 - [
40c6e838df
] - (SEMVER-MAJOR) dgram: tightenaddress
validation insocket.send
(Voltrex) #39190 - [
f182b9b29f
] - (SEMVER-MAJOR) dns: runtime deprecate type coercion ofdns.lookup
options (Antoine du Hamel) #39793 - [
1b2749ecbe
] - (SEMVER-MAJOR) dns: default to verbatim=true in dns.lookup() (treysis) #39987 - [
ae876d420c
] - (SEMVER-MAJOR) doc: update minimum supported FreeBSD to 12.2 (Michaël Zasso) #40179 - [
59d3d542d6
] - (SEMVER-MAJOR) errors: print Node.js version on fatal exceptions that cause exit (Divlo) #38332 - [
f9447b71a6
] - (SEMVER-MAJOR) fs: fix rmsync error swallowing (Nitzan Uziely) #38684 - [
f27b7cf95c
] - (SEMVER-MAJOR) fs: aggregate errors in fsPromises to avoid error swallowing (Nitzan Uziely) #38259 - [
d0a898681f
] - (SEMVER-MAJOR) lib: add structuredClone() global (Ethan Arrowood) #39759 - [
e4b1fb5e64
] - (SEMVER-MAJOR) lib: exposeDOMException
as global (Khaidi Chu) #39176 - [
36e2ffe6dc
] - (SEMVER-MAJOR) module: subpath folder mappings EOL (Guy Bedford) #40121 - [
64287e4d45
] - (SEMVER-MAJOR) module: runtime deprecate trailing slash patterns (Guy Bedford) #40117 - [
707dd77d86
] - (SEMVER-MAJOR) readline: validateAbortSignal
s and remove unused event listeners (Antoine du Hamel) #37947 - [
8122d243ae
] - (SEMVER-MAJOR) readline: introduce promise-based API (Antoine du Hamel) #37947 - [
592d1c3d44
] - (SEMVER-MAJOR) readline: refactorInterface
to ES2015 class (Antoine du Hamel) #37947 - [
3f619407fe
] - (SEMVER-MAJOR) src: allow CAP_NET_BIND_SERVICE in SafeGetenv (Daniel Bevenius) #37727 - [
0a7f850123
] - (SEMVER-MAJOR) src: return Maybe from a couple of functions (Darshan Sen) #39603 - [
bdaf51bae7
] - (SEMVER-MAJOR) src: allow custom PageAllocator in NodePlatform (Shelley Vohr) #38362 - [
0c6f345cda
] - (SEMVER-MAJOR) stream: fix highwatermark threshold and add the missing error (Rongjian Zhang) #38700 - [
0e841b45c2
] - (SEMVER-MAJOR) stream: don’t emit ‘data’ after ‘error’ or ‘close’ (Robert Nagy) #39639 - [
ef992f6de9
] - (SEMVER-MAJOR) stream: do not emitend
on readable error (Szymon Marczak) #39607 - [
efd40eadab
] - (SEMVER-MAJOR) stream: forward errored to callback (Robert Nagy) #39364 - [
09d8c0c8d2
] - (SEMVER-MAJOR) stream: destroy readable on read error (Robert Nagy) #39342 - [
a5dec3a470
] - (SEMVER-MAJOR) stream: validate abort signal (Robert Nagy) #39346 - [
bb275ef2a4
] - (SEMVER-MAJOR) stream: unify stream utils (Robert Nagy) #39294 - [
b2ae12d422
] - (SEMVER-MAJOR) stream: throw on premature close in Readable[AsyncIterator] (Darshan Sen) #39117 - [
0738a2b7bd
] - (SEMVER-MAJOR) stream: finished should error on errored stream (Robert Nagy) #39235 - [
954217adda
] - (SEMVER-MAJOR) stream: error Duplex write/read if not writable/readable (Robert Nagy) #34385 - [
f4609bdf3f
] - (SEMVER-MAJOR) stream: bypass legacy destroy for pipeline and async iteration (Robert Nagy) #38505 - [
e1e669b109
] - (SEMVER-MAJOR) url: throw invalid this on detached accessors (James M Snell) #39752 - [
70157b9cb7
] - (SEMVER-MAJOR) url: forbid certain confusable changes from being introduced by toASCII (Timothy Gu) #38631
Semver-Minor Commits
- [
6cd12be347
] - (SEMVER-MINOR) fs: add FileHandle.prototype.readableWebStream() (James M Snell) #39331 - [
341312d78a
] - (SEMVER-MINOR) readline: addautoCommit
option (Antoine du Hamel) #37947 - [
1d2f37d970
] - (SEMVER-MINOR) src: add --openssl-legacy-provider option (Daniel Bevenius) #40478 - [
3b72788afb
] - (SEMVER-MINOR) src: add flags for controlling process behavior (Cheng Zhao) #40339 - [
8306051001
] - (SEMVER-MINOR) stream: add readableDidRead (Robert Nagy) #36820 - [
08ffbd115e
] - (SEMVER-MINOR) vm: add support for import assertions in dynamic imports (Antoine du Hamel) #40249
Semver-Patch Commits
- [
ed01811e71
] - benchmark: increase crypto DSA keygen params (Brian White) #40416 - [
cb93fdbba5
] - build: reset embedder string to “-node.0” (Michaël Zasso) #40178 - [
ed76b49834
] - build: fix actions pull request’s branch (Mestery) #40494 - [
6baea14506
] - build: avoid run find inactive authors on forked repo (Jiawen Geng) #40465 - [
f9996d5b80
] - build: include new public V8 headers in distribution (Michaël Zasso) #40423 - [
983b757f3f
] - build: update codeowners-validator to 0.6 (FrankQiu) #40307 - [
73c3885e10
] - build: remove duplicate check for authors.yml (Rich Trott) #40393 - [
92090d3435
] - build: make scripts in gyp run with right python (Cheng Zhao) #39730 - [
28f711b552
] - crypto: remove incorrect constructor invocation (gc) #40300 - [
228e703ded
] - deps: workaround debug link error on Windows (Richard Lau) #38807 - [
a35b7e0427
] - deps: upgrade npm to 8.1.0 (npm team) #40463 - [
d434c5382a
] - deps: regenerate OpenSSL arch files (Daniel Bevenius) #40478 - [
2cebd5f02b
] - deps: add missing legacyprov.c source (Daniel Bevenius) #40478 - [
bf82dcd5ba
] - deps: patch V8 to 9.5.172.21 (Michaël Zasso) #40432 - [
795108a63d
] - deps: V8: make V8 9.5 ABI-compatible with 9.6 (Michaël Zasso) #40422 - [
5d7bd8616e
] - deps: suppress zlib compiler warnings (Daniel Bevenius) #40343 - [
fe84cd453d
] - deps: upgrade Corepack to 0.10 (Maël Nison) #40374 - [
2d503ed3ff
] - deps: V8: backport 239898ef8c77 (Felix Yan) #39827 - [
c9296b190f
] - deps: V8: cherry-pick 2a0bc36dec12 (Michaël Zasso) #40178 - [
5b358370ad
] - deps: V8: cherry-pick cf21eb36b975 (Michaël Zasso) #40178 - [
228e703ded
] - deps: workaround debug link error on Windows (Richard Lau) #38807 - [
cca9b95523
] - dgram: addnread
assertion toUDPWrap::OnRecv
(Darshan Sen) #40295 - [
7c77db0243
] - dns: refactor and use validators (Voltrex) #40022 - [
a278117f28
] - doc: update Collaborator guide to reflect GitHub web UI update (Antoine du Hamel) #40456 - [
4cf5563147
] - doc: indicate n-api out params that may be NULL (Isaac Brodsky) #40371 - [
15ce81a464
] - doc: remove ESLint comments which were breaking the CJS/ESM toggles (Mark Skelton) #40408 - [
54a85d6bb5
] - doc: add pronouns for tniessen to README (Tobias Nießen) #40412 - [
40db88b7b5
] - doc: format changelogs (Rich Trott) #40388 - [
4f68839910
] - doc: fix missing variable in deepStrictEqual example (OliverOdo) #40396 - [
ca6adcf37e
] - doc: fix asyncLocalStorage.run() description (Constantine Kim) #40381 - [
7dd3adf6dd
] - doc: fix typos in n-api docs (Ignacio Carbajo) #40402 - [
eb65871ab4
] - doc: format doc/guides using format-md task (Rich Trott) #40358 - [
0d50dfdf61
] - doc: improve phrasing in fs.md (Arslan Ali) #40255 - [
7723148758
] - doc: add link to core promises tracking issue (Michael Dawson) #40355 - [
ccee352630
] - doc: esm resolver spec refactoring for deprecations (Guy Bedford) #40314 - [
1fc1b0f5f2
] - doc: claim ABI version for Electron v17 (Milan Burda) #40320 - [
0d2b6aca60
] - doc: assign missing deprecation number (Michaël Zasso) #40324 - [
4bd8e0efa0
] - doc: fix typo in ESM example (Tobias Nießen) #40275 - [
03d25fe816
] - doc: fix typo in esm.md (Mason Malone) #40273 - [
6199441b00
] - doc: correct ESM load hook table header (Jacob) #40234 - [
78962d1ca1
] - doc: mark readline promise implementation as experimental (Antoine du Hamel) #40211 - [
4b030d0573
] - doc: deprecate (doc-only) http abort related (dr-js) #36670 - [
bbd4c6eee9
] - doc: claim ABI version for Electron v15 and v16 (Samuel Attard) #39950 - [
3e774a0500
] - doc: fix history forfs.WriteStream
open
event (Antoine du Hamel) #39972 - [
6fdd5827f0
] - doc: anchor link parity between markdown and html-generated docs (foxxyz) #39304 - [
7b7a0331f4
] - doc: reset added: version to REPLACEME (Luigi Pinca) #39901 - [
58257b7c61
] - doc: fix typo in webstreams.md (Luigi Pinca) #39898 - [
df22736d80
] - esm: consolidate ESM loader hooks (Jacob) #37468 - [
ac4f5e2437
] - lib: refactor to use let (gdccwxx) #40364 - [
3d11bafaa0
] - lib: make structuredClone spec compliant (voltrexmaster) #40251 - [
48655e17e1
] - lib,url: correct URL’s argument to pass idlharness (Khaidi Chu) #39848 - [
c0a70203de
] - meta: update AUTHORS (Node.js GitHub Bot) #40485 - [
cbc7b5d424
] - meta: consolidate AUTHORS entries for emanuelbuholzer (Rich Trott) #40469 - [
881174e016
] - meta: consolidate AUTHORS entries for ebickle (Rich Trott) #40447 - [
b80b85e130
] - meta: addtypings
to label-pr-config (Mestery) #40401 - [
95cf944736
] - meta: consolidate AUTHORS entries for evantorrie (Rich Trott) #40430 - [
c350c217f4
] - meta: consolidate AUTHORS entries for gabrielschulhof (Rich Trott) #40420 - [
a9411891cf
] - meta: consolidate AUTHORS information for geirha (Rich Trott) #40406 - [
0cc37209fa
] - meta: consolidate duplicate AUTHORS entries for hassaanp (Rich Trott) #40391 - [
49b7ec96a4
] - meta: update AUTHORS (Node.js GitHub Bot) #40392 - [
a3c0713d9e
] - meta: consolidate AUTHORS entry for thw0rted (Rich Trott) #40387 - [
eaa59571e0
] - meta: update label-pr-config (Mestery) #40199 - [
6a205d7a56
] - meta: use .mailmap to consolidate AUTHORS entries for ide (Rich Trott) #40367 - [
f570109094
] - net: check if option is undefined (Daijiro Wachi) #40344 - [
119558b6a2
] - net: remove unused ObjectKeys (Daijiro Wachi) #40344 - [
c7cd8ef6c6
] - net: check objectMode first and then readble || writable (Daijiro Wachi) #40344 - [
46446623f5
] - net: throw error to object mode in Socket (Daijiro Wachi) #40344 - [
38aa7cc7c7
] - src: get embedder options on-demand (Joyee Cheung) #40357 - [
ad4e70c817
] - src: ensure V8 initialized before marking milestone (Shelley Vohr) #40405 - [
a784258444
] - src: remove usage ofAllocatedBuffer
fromstream_*
(Darshan Sen) #40293 - [
f11493dfc9
] - src: add missing initialization (Michael Dawson) #40370 - [
5e248eceb6
] - src: update NODE_MODULE_VERSION to 102 (Michaël Zasso) #40178 - [
3f0b62375b
] - stream: convert premature close to AbortError (Robert Nagy) #39524 - [
79f4d5a345
] - stream: fix toWeb typo (Robert Nagy) #39496 - [
44ee6c2623
] - stream: call done() in consistent fashion (Rich Trott) #39475 - [
09ad64d66d
] - stream: add CompressionStream and DecompressionStream (James M Snell) #39348 - [
a99c230305
] - stream: implement streams to webstreams adapters (James M Snell) #39134 - [
a5ba28dda2
] - stream: fix performance regression (Brian White) #39254 - [
ce00381751
] - stream: use finished for async iteration (Robert Nagy) #39282 - [
e0faf8c3e9
] - test: replace common port with specific number (Daijiro Wachi) #40344 - [
8068f40313
] - test: fix typos in whatwg-webstreams explanations (Tobias Nießen) #40389 - [
eafdeab97b
] - test: add test for readStream.path when fd is specified (Qingyu Deng) #40359 - [
24f045dae2
] - test: replace .then chains with await (gdccwxx) #40348 - [
5b4ba52786
] - test: fix “test/common/debugger” identify async function (gdccwxx) #40348 - [
1d84e916d6
] - test: improve test coverage offs.ReadStream
withFileHandle
(Antoine du Hamel) #40018 - [
b63e449b2e
] - test: pass URL’s toascii.window.js WPT (Khaidi Chu) #39910 - [
842fd234b7
] - test: adapt test-repl to V8 9.5 (Michaël Zasso) #40178 - [
d7b9b9f8d7
] - test: remove test-v8-untrusted-code-mitigations (Ross McIlroy) #40178 - [
7624917069
] - tools: update tools/lint-md dependencies to support GFM footnotes (Rich Trott) #40445 - [
350a95b89f
] - tools: update lint-md dependencies (Rich Trott) #40404 - [
012152d7d6
] - tools: udpate @babel/eslint-parser (Rich Trott) #40394 - [
43c780e741
] - tools: remove @babel/plugin-syntax-import-assertions (Rich Trott) #40394 - [
b39db95737
] - tools: remove @bable/plugin-syntax-class-properties (Rich Trott) #40394 - [
a6fd39f44f
] - tools: remove @babel/plugin-syntax-top-level-await (Rich Trott) #40394 - [
8ca76eba73
] - tools: update ESLint to 8.0.0 (Rich Trott) #40394 - [
dd8e219d71
] - tools: prepare ESLint rules for 8.0.0 requirements (Rich Trott) #40394 - [
0a1b399781
] - tools: fix ESLint update scripts (Rich Trott) #40394 - [
d6d6b050ff
] - tools: warn about duplicates when generating AUTHORS file (Rich Trott) #40304 - [
1fd984581c
] - tools: update V8 gypfiles for 9.5 (Michaël Zasso) #40178 - [
a8a86387fa
] - tty: enable buffering (Robert Nagy) #39253 - [
9467cbadcb
] - typings: define types for os binding (Michaël Zasso) #40222 - [
70a5b86049
] - typings: add missing types to options and util bindings (Michaël Zasso) #40222 - [
3815a21beb
] - typings: define types for timers binding (Michaël Zasso) #40222 - [
9e64336fbf
] - typings: fix declaration of primordials (Michaël Zasso) #40222 - [
f581f6da94
] - url: fix performance regression (Brian White) #39778 - [
02de40246f
] - v8: remove --harmony-top-level-await (Geoffrey Booth) #40226
Windows 32-bit Installer: https://nodejs.org/dist/v17.0.0/node-v17.0.0-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v17.0.0/node-v17.0.0-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v17.0.0/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v17.0.0/win-x64/node.exe
macOS 64-bit Installer: https://nodejs.org/dist/v17.0.0/node-v17.0.0.pkg
macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v17.0.0/node-v17.0.0-darwin-arm64.tar.gz
macOS Intel 64-bit Binary: https://nodejs.org/dist/v17.0.0/node-v17.0.0-darwin-x64.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v17.0.0/node-v17.0.0-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v17.0.0/node-v17.0.0-linux-ppc64le.tar.xz
Linux s390x 64-bit Binary: https://nodejs.org/dist/v17.0.0/node-v17.0.0-linux-s390x.tar.xz
AIX 64-bit Binary: https://nodejs.org/dist/v17.0.0/node-v17.0.0-aix-ppc64.tar.gz
ARMv7 32-bit Binary: https://nodejs.org/dist/v17.0.0/node-v17.0.0-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v17.0.0/node-v17.0.0-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v17.0.0/node-v17.0.0.tar.gz
Other release files: https://nodejs.org/dist/v17.0.0/
Documentation: https://nodejs.org/docs/v17.0.0/api/
SHASUMS
1 | -----BEGIN PGP SIGNED MESSAGE----- |