주요 변경사항
Node.js 12.16.0에는 이번 릴리즈에 수정된 회귀 여섯 개가 포함되어 있습니다.
자기 처리 모듈(Self Resolving Modules)의 잘못된 플래그 제거:
12.16.0에는 ESM 구현과 관련하여 대규모 업데이트가 포함되었습니다. 새로운 기능 중 하나는 자기 지시적 모듈(Self Referential Modules)인데, --experimental-modules
플래그 없이도 동작하도록 잘못 릴리스 되었습니다. 이번 릴리스에서는 이 기능을 적절하게 플래그하고 있습니다.
프로세스 정리 중 발생하는 WASM 관련 단언문:
Node.js 프로세스 정리 중에 생긴 변화로 인해 WASM을 특정 목적으로 사용시 크래시가 발생하였습니다. 이는 변경 사항을 부분적으로 되돌려서 수정되었습니다. 회귀 테스트와 완전한 수정은 진행 중이며 추후 12.x와 13.x 릴리스에 포함될 수 있습니다.
Largepages 런타임 옵션을 사용할 때 발생하는 링크 실패:
Semver-Minor 변경 사항으로 소개되었던 런타임 옵션 --use-largepages
는 링크 실패를 발생시켰습니다. master에서는 수정되었지만 현재 버전 릴리스에서는 완전히 수정되지 않았기 때문에 취소되었습니다. 이 기능은 취소되었지만 추후 Semver-Minor 릴리스에는 반영될 수도 있습니다.
Async Hook이 에러를 처리할 때 예외를 발생시키는 문제:
async hook 내부의 변화로 인해 내부 API가 undefined와 함께 호출되는 경우가 생겼고, 이는 프로세스 크래시를 발생시켰습니다. async hook의 변경 사항들은 취소되었습니다. 회귀 테스트와 수정이 제안된 상태고, 회귀가 안정적으로 수정이 되면 추후 Semver-Patch 릴리스에 다시 반영될 것입니다.
EventEmitter의 새로운 열거 가능한 읽기 전용 속성이 @types/extend를 따르지 않는 문제
열거 가능한 이벤트의 새로운 속성이 EventEmitter 클래스에 추가되었습니다. @types/extend
가 읽기 전용으로 변경된 기존의 필드를 덮어쓰려고 했기 때문에, 클래스를 확장하는 데 @types/extend
모듈을 사용한 기존의 코드가 작동하지 않게 됐습니다. EventEmitter의 첫 번째 읽기 전용 속성이기 때문에, 이 기능은 Semver-Major로 간주됩니다. 새로운 기능은 취소되었지만 기존 코드와 호환되는 방식이 발견되면 추후 Semver-Minor 릴리스에 다시 반영할 것입니다.
HTTP 파서의 예외가 uncaughtException을 발생시키지 않는 문제:
Node.js 내부 리팩터링으로 인해, async_hooks
after
hook이 존재할 때 process.on('uncaughtException')
에서 HTTP 파서의 에러가 검출되지 않는 버그가 생겼습니다. 이 버그에 대한 수정이 이번 릴리스에 포함되었습니다.
Commits
- [
51fdd759b9
] - async_hooks: ensure event after been emitted on runInAsyncScope (legendecas) #31784 - [
7a1b0ac06f
] - Revert “build: re-introduce --use-largepages as no-op” (Myles Borins) #31782 - [
a53eeca2a9
] - Revert “build: switch realpath to pwd” (Myles Borins) #31782 - [
6d432994e6
] - Revert “build: warn upon --use-largepages config option” (Myles Borins) #31782 - [
a5bc00af12
] - Revert “events: allow monitoring error events” (Myles Borins) - [
f0b2d875d9
] - module: 12.x self resolve flag as experimental modules (Guy Bedford) #31757 - [
42b68a4e24
] - src: inform callback scopes about exceptions in HTTP parser (Anna Henningsen) #31801 - [
065a32f064
] - Revert “src: make --use-largepages a runtime option” (Myles Borins) #31782 - [
3d5beebc62
] - Revert “src: make large_pages node.cc include conditional” (Myles Borins) #31782 - [
43d02e20e0
] - src: keep main-thread Isolate attached to platform during Dispose (Anna Henningsen) #31795 - [
7a5954ef26
] - src: fix -Winconsistent-missing-override warning (Colin Ihrig) #30549
Windows 32-bit Installer: https://nodejs.org/dist/v12.16.1/node-v12.16.1-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v12.16.1/node-v12.16.1-x64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v12.16.1/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v12.16.1/win-x64/node.exe
macOS 64-bit Installer: https://nodejs.org/dist/v12.16.1/node-v12.16.1.pkg
macOS 64-bit Binary: https://nodejs.org/dist/v12.16.1/node-v12.16.1-darwin-x64.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-ppc64le.tar.xz
Linux s390x 64-bit Binary: https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-s390x.tar.xz
AIX 64-bit Binary: https://nodejs.org/dist/v12.16.1/node-v12.16.1-aix-ppc64.tar.gz
SmartOS 64-bit Binary: https://nodejs.org/dist/v12.16.1/node-v12.16.1-sunos-x64.tar.xz
ARMv7 32-bit Binary: https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v12.16.1/node-v12.16.1.tar.gz
Other release files: https://nodejs.org/dist/v12.16.1/
Documentation: https://nodejs.org/docs/v12.16.1/api/
SHASUMS
1 | -----BEGIN PGP SIGNED MESSAGE----- |