주요 변경사항
폐기 예정과 삭제
[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 : tighten address
validation in socket.send
(Voltrex) #39190
[f182b9b29f
] - (SEMVER-MAJOR) dns : runtime deprecate type coercion of dns.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 : expose DOMException
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 : validate AbortSignal
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 : refactor Interface
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 emit end
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 : add autoCommit
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
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 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 -----BEGIN PGP SIGNED MESSAGE----- Hash: SHA256 ab2a9b508665f88d6516a6322971bbb988dddf311cd26edcaea374ff06ee8f14 node-v17.0.0-aix-ppc64.tar.gz bba3a1d2638ee194f82a6173296bebabf1b28897a5cd41bbc146629ac05e0751 node-v17.0.0-darwin-arm64.tar.gz ec178ba85607bde1ead414230c1fb5ad57768dcc224d7a100f13be6f8a0bec3e node-v17.0.0-darwin-arm64.tar.xz 091f29119bfb2a9004171f4626e0e76021f7f8db07148bd45caa6a61eb2a4e3d node-v17.0.0-darwin-x64.tar.gz 05a5308c28711ab5593cfbabadf5c62c5063a182bff413bd1336a824ce4c6f20 node-v17.0.0-darwin-x64.tar.xz 8021132e37f0b7dc85c00ad32fb5176d2933ec4a4056a96bd6c3cf632147ec2f node-v17.0.0-headers.tar.gz 2573e4c4913d38a5d6631ade68fb41ee5ec1e4408024fa4dda3aa4453cefea62 node-v17.0.0-headers.tar.xz d00e801d49b7419cbb07be4c8f026b43560c4e53579abce9d764edf7ebbc6554 node-v17.0.0-linux-arm64.tar.gz 6573675a97fa63870d5adf4969152e27fb49cdc9a6664bd6364dcc899659d559 node-v17.0.0-linux-arm64.tar.xz 90e0447f4867f624e416fb39373e94734860c7fb158976335673f94607182a43 node-v17.0.0-linux-armv7l.tar.gz 2f260508471f558fa8efa0e1f0be3e3c43c6c6f053db5bfcc8998bd338617fe9 node-v17.0.0-linux-armv7l.tar.xz 9e3f1c7fc59dadb0f9303a11c50247d62688be85c3e70e90c040655b49f93a54 node-v17.0.0-linux-ppc64le.tar.gz ed5ee6161759cd8db351593a055d279bbf53f28ec45c58236cb275f2f7bc6433 node-v17.0.0-linux-ppc64le.tar.xz 6ae1826a06c974e059b8f6d37d97cce340bcdfc3c6746e1e73139f606de4d6a1 node-v17.0.0-linux-s390x.tar.gz 1b09ea0916cfcfba12b4912cb0671d5331e572b5e14f067433e599ee11ca267c node-v17.0.0-linux-s390x.tar.xz 252505ade312c6c346c6b8d00e2be9e383446d81430ee4c1e5a04972e0817da4 node-v17.0.0-linux-x64.tar.gz e3b8c76134a4f693607e679b407bc0783cec7b1fdcab9f13ca7df1ae6acee440 node-v17.0.0-linux-x64.tar.xz 481bf9e955f8d613e1513d10c853c7cc4cda4389929ce3a232024fdf093ed98e node-v17.0.0.pkg bcac24b990be48e6d1fead0726cd395b48b0dd05d030396ddac94b628aa03f2f node-v17.0.0.tar.gz c352ac4d8e8de429a3f940e202fdffc31dd6809d0e92a5b23ddca9a9a62e35ff node-v17.0.0.tar.xz 053a6e7e34ae791b25a691fded34bcd3259adb519cea8873b74c93eb6f57c667 node-v17.0.0-win-x64.7z 34fdcaff4f930504b08bf9083f2d6e42f874e1bc93e453d592387f1cc5bb4a2b node-v17.0.0-win-x64.zip cf5ca9d60f2b39518f4503675a4f259b67f81a6148bb6307e04be60f91c5e071 node-v17.0.0-win-x86.7z bf4d9cef6c5ec93b4c482cf5ff856cedcc8383b888a2e7fdcf2cf43c6e9ad5a2 node-v17.0.0-win-x86.zip 746042b936fbd3c67988fcce2b4bfaa0516765b26a02500376427e907ee929f2 node-v17.0.0-x64.msi c0a3b338ed0519db2bb14890f27f443dcf620ab6d11ef3ce17b2242074bee5c6 node-v17.0.0-x86.msi b9745ba9b54e7b9f0cc38d66d4783a7224212e4d8630eed0793430b4d0b756e4 win-x64/node.exe 95d44c197ebbc042dbed838ecde8f78c8902dc6d266605859f93c28d2051b3e0 win-x64/node.lib b3add83b027a8ddfb92a42b7314f3b8b89bfec4c22c2105cff1ecc4a3e3c9c3c win-x64/node_pdb.7z da556d50d1a397698aa09b9f6204afd593bae42354384ddc7c6714336bec3152 win-x64/node_pdb.zip 59d4dc681b38776df9baf8b044111b50e29cefb7ec2238d2de8a2df40241f1b3 win-x86/node.exe 708622a96033ea289f09421906e51a32d0cbfde560fb82a78498f3f5a7617152 win-x86/node.lib 7b3108e0a6dd8e068156d009f7aec5b4ee058fd2ece5fd659f421ebda7477f78 win-x86/node_pdb.7z b23e990313961f397066fb5c729bb4170f80f9dcf40dbac03c482352385a2db9 win-x86/node_pdb.zip -----BEGIN PGP SIGNATURE----- iQEzBAEBCAAdFiEETtd49TnjY0x3nIfG1wYoSKGrAFwFAmFu5zoACgkQ1wYoSKGr AFxaDggAlg1cJMRp5xWV6b3ysIVk685j/3Uf5o/qpdaG5EujLzeCZTr4mP2Xr9J4 rzXZIaafOli9ULGulicmbySKyN3OVOBlIutGDtmFPs3HXj7xjx4M/FWnL3BJ2615 iOYsFQzlaI+9uc83IKAk2Mg/SGNytJhjeikTU0pCaev+SPSXg15a8Z7jl4vLr52K zPxbb6Oldpc5e0ang9kL0TuJIcVQq97a4jDfm6rEx6h3WCjspDZZPaWOGiCNB1Id Vce1ptCJOeUzNdpqRhnz4P4mkcSwlDc9Cq6Lq7EeLSfG36djrINgkTGGe/og2YhG GRHvPoEFIdf+mOxzaJSmJMbhhRWWdQ== =D37b -----END PGP SIGNATURE-----