Node v14.0.0(현재 버전)

주요 변경사항

폐기 예정

  • (SEMVER-MAJOR) crypto: 다이제스트가 없는 pbkdf2를 EOL(End-of-Life)로 바꾸었습니다. (James M Snell) #31166
  • (SEMVER-MAJOR) fs: 가비지 컬렉션 중에 FileHandle을 닫는 동작이 폐기 예정이 되었습니다. (James M Snell) #28396
  • (SEMVER-MAJOR) http: OutboundMessage.prototype.flush를 EOL로 바꾸었습니다. (James M Snell) #31164
  • (SEMVER-MAJOR) lib: GLOBAL과 root 별칭을 EOL로 바꾸었습니다. (James M Snell) #31167
  • (SEMVER-MAJOR) os: tmpDir()를 EOL로 바꾸었습니다. (James M Snell) #31169
  • (SEMVER-MAJOR) src: 폐기 예정이었던 wasm 타입 검사를 제거했습니다. (Clemens Backes) #32116
  • (SEMVER-MAJOR) stream: _writableState.buffer를 EOL로 바꾸었습니다. (James M Snell) #31165
  • (SEMVER-MINOR) doc: process.mainModule이 폐기 예정이 되었습니다. (Antoine du HAMEL) #32232
  • (SEMVER-MINOR) doc: 인자가 없는 process.umask()는 폐기 예정이 되었습니다. (Colin Ihrig) #32499

ECMAScript 모듈 - 실험적 경고 제거

  • module: 실험적인 모듈 경고를 제거했습니다. (Guy Bedford) #31974

Node.js 13에서 --experimental-modules 플래그를 사용할 필요가 없어졌지만, Node.js에서 EcmaScript 모듈을 실행하면 여전히 ESM 모듈 로더는 실험적이라는 ExperimentalWarning 경고가 뜰 수 있습니다.

Node.js 14부터는 Node.js에서 ESM을 사용할 때 이 경고가 없습니다. 하지만 Node.js의 ESM 구현체는 아직 실험적입니다. 안정성 지수에 따르면 “이 기능은 유의적 버전(Semantic Versioning) 규칙의 대상이 아닙니다. 차후 릴리스에서 하위 호환성을 깨뜨리는 변경이나 제거가 있을 수 있습니다.” 사용자는 프로덕션 환경에서 이 기능을 사용할 때 주의해야 합니다.

Node.js의 ESM 구현체는 개발자가 익숙한 경험과는 다릅니다. 대부분의 트랜스파일 워크플로우는, Node.js ESM 구현체가 지원하지 않는 선택적인 파일 확장자나 JSON 모듈 같은 기능을 지원합니다. 트랜스파일된 환경의 모듈을 Node.js에서 동작하도록 어느 정도 리팩토링해야 할 가능성이 높습니다.
명세 준수와 웹 호환성이라는 두 가지 주요 목표에 따라 많은 디자인 결정이 이루어졌음을 강조할 필요가 있습니다. 현재의 구현체가
유니버설 자바스크립트로 가는 길의 기반을 닦아주어 미래의 ESM 모듈 작성을 대비할 수 있을 것이라고 믿고 있습니다. 자세한 내용은 문서를 참고하세요.

Node.js의 ESM 구현체는 아직 실험적이지만 Node.js에서 ESM이 "안정적"이라고 부를 수 있을 정도로 가까워졌습니다. 경고를 제거한 것은 이 방향으로 가는 큰 발걸음입니다.

새로운 V8 ArrayBuffer API

  • src: 새로운 V8 ArrayBuffer API로 마이그레이션했습니다. (Thang Tran) #30782

V8이 같은 기반 주소를 가리키는 여러 ArrayBuffer를 더는 허용하지 않습니다. 이는 네이티브 애드온에 영향을 줄 것입니다.

툴체인과 컴파일러 업그레이드

  • (SEMVER-MAJOR) build: 14.x에서 macos 배포 대상을 10.13으로 업데이트했습니다. (AshCripps) #32454
  • (SEMVER-MAJOR) doc: Linux armv7을 위한 크로스 컴파일러 머신을 업데이트했습니다. (Richard Lau) #32812
  • (SEMVER-MAJOR) doc: Centos/RHEL 릴리스가 devtoolset-8을 사용하도록 업데이트했습니다. (Richard Lau) #32812
  • (SEMVER-MAJOR) doc: 공식 바이너리에서 SmartOS를 제거했습니다. (Richard Lau) #32812
  • (SEMVER-MAJOR) win: 지원이 끝난 Windows 버전에서 실행되는 것을 막았습니다. (João Reis) #31954

ARM에서 Node.js 바이너리와 네이티브 애드온 간에 ABI가 맞지 않을 것입니다. std::shared_ptr와 상호작용하는 네이티브 애드온만 깨질 것입니다. Node.js 14의 차후 버전에서 수정할 것으로 기대하고 있습니다. - #30786

V8 8.1로 업데이트

  • (SEMVER-MAJOR) deps: V8을 8.1.307.20으로 업데이트했습니다. (Matheus Marchini) #32116
    • 기본적으로 옵셔널 체이닝이 활성화되었습니다. (MDN, v8.dev)
    • 기본적으로 널 병합 연산자가 활성화되었습니다. (MDN, v8.dev)
    • 기본적으로 Intl.DisplayNames가 활성화되었습니다. (MDN, v8.dev)
    • 기본적으로 Intl.DateTimeFormatcalendarnumberingSystem 옵션이 활성화되었습니다. (MDN)

다른 주요 변경사항

  • cli, report: --report-on-fatalerror를 안정(stable)으로 바꾸었습니다. (Colin Ihrig) #32496
  • deps: libuv를 1.37.0으로 업그레이드했습니다. (Colin Ihrig) #32866
  • fs: fs/promises 별칭 모듈을 추가했습니다. (Gus Caplan) #31553

Semver-Major Commits

  • [5360dd151d] - (SEMVER-MAJOR) assert: handle (deep) equal(NaN, NaN) as being identical (Ruben Bridgewater) #30766

  • [a621608f12] - (SEMVER-MAJOR) build: update macos deployment target to 10.13 for 14.x (AshCripps) #32454

  • [e65bed1b7e] - (SEMVER-MAJOR) child_process: create proper public API for channel (Anna Henningsen) #30165

  • [1b9a62cff4] - (SEMVER-MAJOR) crypto: make DH error messages consistent (Tobias Nießen) #31873

  • [bffa5044c5] - (SEMVER-MAJOR) crypto: move pbkdf2 without digest to EOL (James M Snell) #31166

  • [10f5fa7513] - (SEMVER-MAJOR) crypto: forbid setting the PBKDF2 iter count to 0 (Tobias Nießen) #30578

  • [2883c855e0] - (SEMVER-MAJOR) deps: update V8 to 8.1.307.20 (Matheus Marchini) #32116

  • [1b2e2944bc] - (SEMVER-MAJOR) dgram: don’t hide implicit bind errors (Colin Ihrig) #31958

  • [1a1ce93317] - (SEMVER-MAJOR) doc: update cross compiler machine for Linux armv7 (Richard Lau) #32812

  • [dad96e4fc1] - (SEMVER-MAJOR) doc: update Centos/RHEL releases use devtoolset-8 (Richard Lau) #32812

  • [5317202aa1] - (SEMVER-MAJOR) doc: remove SmartOS from official binaries (Richard Lau) #32812

  • [75ee5b2622] - (SEMVER-MAJOR) doc: deprecate process.umask() with no arguments (Colin Ihrig) #32499

  • [afe353061b] - (SEMVER-MAJOR) doc: fs.write is not longer coercing strings (Juan José Arboleda) #31030

  • [a45c1aa39f] - (SEMVER-MAJOR) doc: fix mode and flags being mistaken in fs (Ruben Bridgewater) #27044

  • [331d636240] - (SEMVER-MAJOR) errors: remove unused ERR_SOCKET_CANNOT_SEND error (Colin Ihrig) #31958

  • [b8e41774d4] - (SEMVER-MAJOR) fs: add fs/promises alias module (Gus Caplan) #31553

  • [fb6df3bfac] - (SEMVER-MAJOR) fs: validate the input data to be of expected types (Ruben Bridgewater) #31030

  • [2d8febceef] - (SEMVER-MAJOR) fs: deprecate closing FileHandle on garbage collection (James M Snell) #28396

  • [67e067eb06] - (SEMVER-MAJOR) fs: watch signals for recursive incompatibility (Eran Levin) #29947

  • [f0d2df41f8] - (SEMVER-MAJOR) fs: change streams to always emit close by default (Robert Nagy) #31408

  • [a13500f503] - (SEMVER-MAJOR) fs: improve mode and flags validation (Ruben Bridgewater) #27044

  • [535e9571f5] - (SEMVER-MAJOR) fs: make FSStatWatcher.start private (Lucas Holmquist) #29971

  • [c1b2f6afbe] - (SEMVER-MAJOR) http: detach socket from IncomingMessage on keep-alive (Robert Nagy) #32153

  • [173d044d09] - (SEMVER-MAJOR) http: align OutgoingMessage and ClientRequest destroy (Robert Nagy) #32148

  • [d3715c76b5] - (SEMVER-MAJOR) http: move OutboundMessage.prototype.flush to EOL (James M Snell) #31164

  • [c776a37791] - (SEMVER-MAJOR) http: end with data can cause write after end (Robert Nagy) #28666

  • [ff2ed3ec85] - (SEMVER-MAJOR) http: remove unused hasItems() from freelist (Rich Trott) #30744

  • [d247a8e1dc] - (SEMVER-MAJOR) http: emit close on socket re-use (Robert Nagy) #28685

  • [6f0ec79e42] - (SEMVER-MAJOR) http,stream: make virtual methods throw an error (Luigi Pinca) #31912

  • [ec0dd6fa1c] - (SEMVER-MAJOR) lib: move GLOBAL and root aliases to EOL (James M Snell) #31167

  • [d7452b7140] - (SEMVER-MAJOR) module: warn on using unfinished circular dependency (Anna Henningsen) #29935

  • [eeccd52b4e] - (SEMVER-MAJOR) net: make readable/writable start as true (Robert Nagy) #32272

  • [ab4115f17c] - (SEMVER-MAJOR) os: move tmpDir() to EOL (James M Snell) #31169

  • [8c18e91c8a] - (SEMVER-MAJOR) process: remove undocumented now argument from emitWarning() (Rich Trott) #31643

  • [84c426cb60] - (SEMVER-MAJOR) repl: properly handle repl.repl (Ruben Bridgewater) #30981

  • [4f523c2c1a] - (SEMVER-MAJOR) src: migrate to new V8 ArrayBuffer API (Thang Tran) #30782

  • [c712fb7cd6] - (SEMVER-MAJOR) src: add abstract IsolatePlatformDelegate (Marcel Laverdet) #30324

  • [1428a92492] - (SEMVER-MAJOR) stream: make pipeline try to wait for ‘close’ (Robert Nagy) #32158

  • [388cef61e8] - (SEMVER-MAJOR) stream: align stream.Duplex with net.Socket (Robert Nagy) #32139

  • [7cafd5f3a9] - (SEMVER-MAJOR) stream: fix finished w/ ‘close’ before ‘end’ (Robert Nagy) #31545

  • [311e12b962] - (SEMVER-MAJOR) stream: fix multiple destroy calls (Robert Nagy) #29197

  • [1f209129c7] - (SEMVER-MAJOR) stream: throw invalid argument errors (Robert Nagy) #31831

  • [d016b9d708] - (SEMVER-MAJOR) stream: finished callback for closed streams (Robert Nagy) #31509

  • [e559842188] - (SEMVER-MAJOR) stream: make readable & writable computed (Robert Nagy) #31197

  • [907c07fa85] - (SEMVER-MAJOR) stream: move _writableState.buffer to EOL (James M Snell) #31165

  • [66f4e4edcb] - (SEMVER-MAJOR) stream: do not emit ‘end’ after ‘error’ (Robert Nagy) #31182

  • [75b30c606c] - (SEMVER-MAJOR) stream: emit ‘error’ asynchronously (Robert Nagy) #29744

  • [4bec6d13f9] - (SEMVER-MAJOR) stream: enable autoDestroy by default (Robert Nagy) #30623

  • [20d009d2fd] - (SEMVER-MAJOR) stream: pipe should not swallow error (Robert Nagy) #30993

  • [67ed526ab0] - (SEMVER-MAJOR) stream: error state cleanup (Robert Nagy) #30851

  • [e902fadc5e] - (SEMVER-MAJOR) stream: do not throw multiple callback errors in writable (Robert Nagy) #30614

  • [e13a37e49d] - (SEMVER-MAJOR) stream: ensure finish is emitted in next tick (Robert Nagy) #30733

  • [9d09969f4c] - (SEMVER-MAJOR) stream: always invoke end callback (Robert Nagy) #29747

  • [0f78dcc86d] - (SEMVER-MAJOR) util: escape C1 control characters and switch to hex format (Ruben Bridgewater) #29826

  • [cb8898c48f] - (SEMVER-MAJOR) win: block running on EOL Windows versions (João Reis) #31954

  • [a9401439c7] - (SEMVER-MAJOR) zlib: align with streams (Robert Nagy) #32220

Semver-Minor Commits

  • [63f0dd1ab9] - (SEMVER-MINOR) async_hooks: merge run and exit methods (Andrey Pechkurov) #31950
  • [a683e87cd0] - (SEMVER-MINOR) async_hooks: prevent sync methods of async storage exiting outer context (Stephen Belanger) #31950
  • [f571b294f5] - (SEMVER-MINOR) doc: deprecate process.mainModule (Antoine du HAMEL) #32232
  • [e04f599258] - (SEMVER-MINOR) doc: add basic embedding example documentation (Anna Henningsen) #30467
  • [e93503be83] - (SEMVER-MINOR) embedding: provide hook for custom process.exit() behaviour (Anna Henningsen) #32531
  • [a8cf886de7] - (SEMVER-MINOR) src: shutdown platform from FreePlatform() (Anna Henningsen) #30467
  • [0e576740dc] - (SEMVER-MINOR) src: fix what a dispose without checking (Jichan) #30467
  • [887b6a143b] - (SEMVER-MINOR) src: allow non-Node.js TracingControllers (Anna Henningsen) #30467
  • [7e0264d932] - (SEMVER-MINOR) src: add ability to look up platform based on Environment\* (Anna Henningsen) #30467
  • [d7f11077f1] - (SEMVER-MINOR) src: make InitializeNodeWithArgs() official public API (Anna Henningsen) #30467
  • [821e21de8c] - (SEMVER-MINOR) src: add unique_ptr equivalent of CreatePlatform (Anna Henningsen) #30467
  • [7dead8440c] - (SEMVER-MINOR) src: add LoadEnvironment() variant taking a string (Anna Henningsen) #30467
  • [c44edec4da] - (SEMVER-MINOR) src: provide a variant of LoadEnvironment taking a callback (Anna Henningsen) #30467
  • [a9fb51f9be] - (SEMVER-MINOR) src: align worker and main thread code with embedder API (Anna Henningsen) #30467
  • [084c379648] - (SEMVER-MINOR) src: associate is_main_thread() with worker_context() (Anna Henningsen) #30467
  • [64c01222d9] - (SEMVER-MINOR) src: move worker_context from Environment to IsolateData (Anna Henningsen) #30467
  • [288382a4ce] - (SEMVER-MINOR) src: fix memory leak in CreateEnvironment when bootstrap fails (Anna Henningsen) #30467
  • [d7bc5816a5] - (SEMVER-MINOR) src: make FreeEnvironment() perform all necessary cleanup (Anna Henningsen) #30467
  • [43d32b073f] - (SEMVER-MINOR) src,test: add full-featured embedder API test (Anna Henningsen) #30467
  • [2061c33670] - (SEMVER-MINOR) test: add extended embedder cctest (Anna Henningsen) #30467
  • [2561484dcb] - (SEMVER-MINOR) test: re-enable cctest that was commented out (Anna Henningsen) #30467

Semver-Patch Commits

  • [9b6e797379] - Revertassert: fix line number calculation after V8 upgrade” (Michaël Zasso) #32116
  • [c740fbda9d] - buffer: add type check in bidirectionalIndexOf (Gerhard Stoebich) #32770
  • [c8e3470e53] - buffer: mark pool ArrayBuffer as untransferable (Anna Henningsen) #32759
  • [f2c22db580] - build: remove .git folders when testing V8 (Richard Lau) #32877
  • [c0f43bfda8] - build: add configure flag to build V8 with DCHECKs (Anna Henningsen) #32787
  • [99e7f878ce] - build: re-enable ASAN Action using clang (Matheus Marchini) #32776
  • [3e55284e9b] - build: use same flags as V8 for ASAN (Matheus Marchini) #32776
  • [4e5ec41024] - build: add build from tarball (John Kleinschmidt) #32129
  • [6a349019da] - build: temporarily skip ASAN build (Matheus Marchini) #32116
  • [da92f15413] - build: reset embedder string to “-node.0” (Matheus Marchini) #32116
  • [e883059c24] - cli, report: move --report-on-fatalerror to stable (Colin Ihrig) #32496
  • [bf86f55e22] - deps: patch V8 to 8.1.307.30 (Michaël Zasso) #32693
  • [b5bbde8cf1] - deps: upgrade to libuv 1.37.0 (Colin Ihrig) #32866
  • [7afe24dba6] - deps: upgrade to libuv 1.36.0 (Colin Ihrig) #32866
  • [1cd235d1a0] - deps: patch V8 to run on Xcode 8 (Matheus Marchini) #32116
  • [5d867badd0] - deps: V8: silence irrelevant warnings (Michaël Zasso) #32116
  • [8d2c441e4d] - deps: V8: cherry-pick 931bdbd76f5b (Matheus Marchini) #32116
  • [049160dfb6] - deps: V8: cherry-pick 1e36e21acc40 (Matheus Marchini) #32116
  • [0220c298c5] - deps: bump minimum icu version to 65 (Michaël Zasso) #32116
  • [f90eba1d91] - deps: make v8.h compatible with VS2015 (Joao Reis) #32116
  • [56b6a4f732] - deps: V8: forward declaration of Rtl\*FunctionTable (Refael Ackermann) #32116
  • [40c9419b35] - deps: V8: patch register-arm64.h (Refael Ackermann) #32116
  • [55407ab73e] - deps: patch V8 to run on older XCode versions (Ujjwal Sharma) #32116
  • [990bc9adb4] - deps: V8: un-cherry-pick bd019bd (Refael Ackermann) #32116
  • [17a6def4e8] - deps: update V8 dtrace & postmortem metadata (Colin Ihrig) #32116
  • [0f14123186] - deps: V8: stub backport fast API call changes (Anna Henningsen) #32885
  • [bf412ed77b] - deps: V8: stub backport d5b444bc5a84 (Anna Henningsen) #32885
  • [fdaa365b0b] - deps: V8: stub backport 65238018ca4b and 8d08318e1a85 (Anna Henningsen) #32885
  • [8198e7882c] - deps: V8: stub backport 9e52d5c5d717 (Anna Henningsen) #32885
  • [a27852ae7c] - deps: V8: cherry-pick 98b1ef80c722 (Anna Henningsen) #32885
  • [e8c7b7a2df] - deps: V8: cherry-pick b5c917ee80cb (Anna Henningsen) #32885
  • [552cee0cc0] - deps: V8: cherry-pick 700b1b97e9ab (Anna Henningsen) #32885
  • [9b7a1b048a] - deps: V8: cherry-pick e8ba5699c648 (Anna Henningsen) #32885
  • [1f02617b05] - deps: V8: cherry-pick 55a01ec7519a (Anna Henningsen) #32885
  • [da728c482c] - deps: V8: cherry-pick 9f0f2cb7f08d (Anna Henningsen) #32885
  • [2ee8b4a512] - deps: V8: cherry-pick e395d1698453 (Anna Henningsen) #32885
  • [dfc66a6af4] - deps: V8: cherry-pick d1253ae95b09 (Anna Henningsen) #32885
  • [c3ecbc758b] - deps: V8: cherry-pick fa3e37e511ee (Anna Henningsen) #32885
  • [9568fbc7cd] - deps: V8: cherry-pick f0057afc2fb6 (Anna Henningsen) #32885
  • [07d4372d5a] - deps: V8: cherry-pick 94723c197199 (Anna Henningsen) #32885
  • [4a11a54f9a] - deps: V8: backport 844fe8f7d965 (Anna Henningsen) #32885
  • [1b7878558a] - deps: V8: cherry-pick 2db93c023379 (Anna Henningsen) #32885
  • [122937fc67] - deps: V8: cherry-pick 4b1447e4bb0e (Anna Henningsen) #32885
  • [01573ba4ae] - deps: remove duplicated postmortem metadata entry (Matheus Marchini) #32521
  • [9290febefa] - deps: patch V8 to 8.1.307.26 (Matheus Marchini) #32521
  • [a9e4cec70d] - Revertdeps: V8: cherry-pick f9257802c1c0” (Matheus Marchini) #32521
  • [77542a5d57] - deps: revert whitespace changes on V8 (Matheus Marchini) #32587
  • [9add24ecd3] - doc: missing brackets (William Bonawentura) #32657
  • [1796cc0df5] - doc: improve consistency in usage of NULL (Michael Dawson) #32726
  • [2662b0c9e3] - doc: improve net docs (Robert Nagy) #32811
  • [5d940de17b] - doc: note that signatures of binary may be from subkeys (Reşat SABIQ) #32591
  • [3c8dd6d0c3] - doc: add transform stream destroy() return value (Colin Ihrig) #32788
  • [39368b34eb] - doc: updated guidance for n-api changes (Michael Dawson) #32721
  • [cba6e5dc09] - doc: remove warning from response.writeHead (Cecchi MacNaughton) #32700
  • [8f7fd8d6aa] - doc: improve AsyncLocalStorage sample (Andrey Pechkurov) #32757
  • [a7c75f956f] - doc: document buffer.from returns internal pool buffer (Harshitha KP) #32703
  • [f6a91156c7] - doc: add puzpuzpuz to collaborators (Andrey Pechkurov) #32817
  • [1db8da21f2] - doc: split process.umask() entry into two (Rich Trott) #32711
  • [6ade42bb3c] - doc: stream.end(cb) cb can be invoked with error (Pranshu Srivastava) #32238
  • [edb3ffb003] - doc: fix os.version() Windows API (Colin Ihrig) #32156
  • [a777cfa843] - doc: remove repetition (Luigi Pinca) #31868
  • [7c524fb092] - doc: fix Writable.write callback description (Robert Nagy) #31812
  • [43fb664701] - doc: fix missing changelog corrections (Myles Borins) #31854
  • [a2d6f98e1a] - doc: fix typo (Colin Ihrig) #31675
  • [17e3f3be76] - doc: update pr-url for DEP0022 EOL (Colin Ihrig) #31675
  • [cd0f5a239e] - doc: update pr-url for DEP0016 EOL (Colin Ihrig) #31675
  • [5170daaca5] - doc: fix changelog for v10.18.1 (Andrew Hughes) #31358
  • [d845915d46] - doc: mark Node.js 8 End-of-Life in CHANGELOG (Beth Griggs) #31152
  • [009a9c475b] - doc,src,test: assign missing deprecation code (Colin Ihrig) #31674
  • [ed4fbefb71] - fs: use finished over destroy w/ cb (Robert Nagy) #32809
  • [3e9302b2b3] - fs: validate the input data before opening file (Yongsheng Zhang) #31731
  • [1a3e358a1d] - http: refactor agent ‘free’ handler (Robert Nagy) #32801
  • [399749e4d8] - lib: created isValidCallback helper (Yash Ladha) #32665
  • [bc55b57e64] - lib: fix few comment typos in fs/watchers.js (Denys Otrishko) #31705
  • [f98668ade3] - module: remove experimental modules warning (Guy Bedford) #31974
  • [fe1bda9aeb] - module: fix memory leak when require error occurs (Qinhui Chen) #32837
  • [076ba3150d] - Revertn-api: detect deadlocks in thread-safe function” (Gabriel Schulhof) #32880
  • [1092bb94f4] - process: suggest --trace-warnings when printing warning (Anna Henningsen) #32797
  • [d19a2c33b3] - src: migrate measureMemory to new v8 api (gengjiawen) #32116
  • [a63db7fb5e] - src: remove deprecated wasm type check (Clemens Backes) #32116
  • [c080b2d821] - src: avoid calling deprecated method (Clemens Backes) #32116
  • [7ed0d1439e] - src: remove use of deprecated Symbol::Name() (Colin Ihrig) #32116
  • [59eeb3b5b9] - src: stop overriding deprecated V8 methods (Clemens Backes) #32116
  • [339c192ddb] - src: update NODE_MODULE_VERSION to 83 (Matheus Marchini) #32116
  • [6681a685a9] - src: remove unused using in node_worker.cc (Daniel Bevenius) #32840
  • [b9d9f91a80] - src: use basename(argv0) for --trace-uncaught suggestion (Anna Henningsen) #32798
  • [24e1e28b38] - src: ignore GCC -Wcast-function-type for v8.h (Daniel Bevenius) #32679
  • [a946189ccd] - src: add AliasedStruct utility (James M Snell) #32778
  • [457f1f1ed0] - src: remove unused v8 Array namespace (Juan José Arboleda) #32749
  • [b68e26ee70] - src: flush V8 interrupts from Environment dtor (Anna Henningsen) #32523
  • [96bf137cca] - src: use env->RequestInterrupt() for inspector MainThreadInterface (Anna Henningsen) #32523
  • [72da426780] - src: use env->RequestInterrupt() for inspector io thread start (Anna Henningsen) #32523
  • [99c9b2368c] - src: fix cleanup hook removal for InspectorTimer (Anna Henningsen) #32523
  • [6dffd6b3de] - src: make Environment::interrupt\_data\_ atomic (Anna Henningsen) #32523
  • [8c5ad1392f] - src: initialize inspector before RunBootstrapping() (Anna Henningsen) #32672
  • [eafd64b1c8] - src: consistently declare BindingData class (Sam Roberts) #32677
  • [78c82a38ac] - src: move fs state out of Environment (Anna Henningsen) #32538
  • [7005670f34] - src: move http parser state out of Environment (Anna Henningsen) #32538
  • [19b671506c] - src: move v8 stats buffers out of Environment (Anna Henningsen) #32538
  • [4df24f040d] - src: move HTTP/2 state out of Environment (Anna Henningsen) #32538
  • [1fc3de908e] - src: make creating per-binding data structures easier (Anna Henningsen) #32538
  • [0e9f9b7592] - src: include AsyncWrap provider strings in snapshot (Anna Henningsen) #32572
  • [effebf87ab] - src: remove unused v8 namespace (Juan José Arboleda) #32375
  • [d23eed256b] - src: remove calls to deprecated ArrayBuffer methods (Michaël Zasso) #32358
  • [f3682102dc] - src: give Http2Session JS fields their own backing store (Anna Henningsen) #31648
  • [90f7a5c010] - src: set arraybuffer_untransferable_private_symbol (Thang Tran) #31053
  • [d06efafe6b] - src: explicitly allocate backing stores for v8 stat buffers (Anna Henningsen) #30946
  • [917fedd21a] - src: unset NODE_VERSION_IS_RELEASE from master (Michaël Zasso) #30584
  • [69f19f4ccd] - src: remove uses of deprecated wasm TransferrableModule (Clemens Backes) #30026
  • [acac5df260] - src,doc: add documentation for per-binding state pattern (Anna Henningsen) #32538
  • [ad4c10e824] - stream: improve comments regarding end() errors (Robert Nagy) #32839
  • [6e5c23b6c8] - stream: update comment to indicate unused API (Robert Nagy) #32808
  • [21bd6679ce] - stream: fix finished typo (Robert Nagy) #31881
  • [85c6fcd1cd] - stream: avoid writing to writable (Robert Nagy) #31805
  • [0875837417] - stream: fix async iterator destroyed error order (Robert Nagy) #31700
  • [b9a7625fdf] - stream: removed outdated TODO (Robert Nagy) #31701
  • [68e1288e00] - test: mark addons/zlib-bindings/test flaky on arm (Michaël Zasso) #32885
  • [a09bf3ad5f] - test: replace console.log/error() with debuglog (daemon1024) #32692
  • [d1b41bbd86] - test: only detect uname on supported os (Xu Meng) #32833
  • [4bb29ed044] - test: mark cpu-prof-dir-worker flaky on all (Sam Roberts) #32828
  • [e18a40e42d] - test: replace equal with strictEqual (Jesus Hernandez) #32727
  • [320f297a35] - test: mark test-worker-prof flaky on arm (Sam Roberts) #32826
  • [4b5658b536] - test: mark test-http2-reset-flood flaky on all (Sam Roberts) #32825
  • [ead51be541] - test: cover node entry type in perf_hooks (Julian Duque) #32751
  • [9e5189a560] - test: use symlinks to copy shells (John Kleinschmidt) #32129
  • [c5763e8dc1] - test: wait for message from parent in embedding cctest (Anna Henningsen) #32563
  • [c3204a8787] - test: use common.buildType in embedding test (Anna Henningsen) #32422
  • [f2cc28aec3] - test: use InitializeNodeWithArgs in cctest (Anna Henningsen) #32406
  • [df1592d2e9] - test: async iterate destroyed stream (Robert Nagy) #28995
  • [5100e84f4b] - test: fix flaky test-fs-promises-file-handle-close (Anna Henningsen) #31687
  • [52944b834a] - test: remove test (Clemens Backes) #32116
  • [119fdf6813] - test: remove checks for deserializing wasm (Matheus Marchini) #32116
  • [add5f6e5cd] - tls: provide default cipher list from command line (Anna Henningsen) #32760
  • [405ae1909b] - tools: update V8 gypfiles for 8.1 (Matheus Marchini) #32116
  • [7fe61222ef] - worker: mention argument name in type check message (Anna Henningsen) #32815
  • [7147df53e8] - worker: fix type check in receiveMessageOnPort (Anna Henningsen) #32745
  • [0c545f0f72] - zlib: emits ‘close’ event after readable ‘end’ (Sergey Zelenov) #32050

Windows 32-bit Installer: https://nodejs.org/dist/v14.0.0/node-v14.0.0-x86.msi

Windows 64-bit Installer: https://nodejs.org/dist/v14.0.0/node-v14.0.0-x64.msi

Windows 32-bit Binary: https://nodejs.org/dist/v14.0.0/win-x86/node.exe

Windows 64-bit Binary: https://nodejs.org/dist/v14.0.0/win-x64/node.exe

macOS 64-bit Installer: https://nodejs.org/dist/v14.0.0/node-v14.0.0.pkg

macOS 64-bit Binary: https://nodejs.org/dist/v14.0.0/node-v14.0.0-darwin-x64.tar.gz

Linux 64-bit Binary: https://nodejs.org/dist/v14.0.0/node-v14.0.0-linux-x64.tar.xz

Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v14.0.0/node-v14.0.0-linux-ppc64le.tar.xz

Linux s390x 64-bit Binary: https://nodejs.org/dist/v14.0.0/node-v14.0.0-linux-s390x.tar.xz

AIX 64-bit Binary: https://nodejs.org/dist/v14.0.0/node-v14.0.0-aix-ppc64.tar.gz

ARMv7 32-bit Binary: https://nodejs.org/dist/v14.0.0/node-v14.0.0-linux-armv7l.tar.xz

ARMv8 64-bit Binary: https://nodejs.org/dist/v14.0.0/node-v14.0.0-linux-arm64.tar.xz

Source Code: https://nodejs.org/dist/v14.0.0/node-v14.0.0.tar.gz

Other release files: https://nodejs.org/dist/v14.0.0/

Documentation: https://nodejs.org/docs/v14.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
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256

9d6b1bf5df82fac15ca1df96155092d7463c300b82cae4c25e5e8a13227b7993 node-v14.0.0-aix-ppc64.tar.gz
4e50cec7aeef91c6d00d08a3bab938358da182984aa549c2aeab9868e3342f55 node-v14.0.0-darwin-x64.tar.gz
3e9986a8e5392dcf9f9ab0055fe472e24263067088d905da34917ba0c2877b35 node-v14.0.0-darwin-x64.tar.xz
3391dfc99db10c02540db8eabecb61794be8045587c3b4ce0aab40db810e8b61 node-v14.0.0-headers.tar.gz
f7d1a9c3912d50fb8151677b79668339e6f68caf2211badea1d4fda5653819fb node-v14.0.0-headers.tar.xz
4da6fd45e7a26037c82f931f173695547f774b780986d545efc266a5a9b80906 node-v14.0.0-linux-arm64.tar.gz
29c612fcdb40133171959b269878138bbfe7723d46681f70e2017ee30134e7ad node-v14.0.0-linux-arm64.tar.xz
e998790e8d992e32917482cd6ae658cdc04ada98e67495e1c8bd44b3112d742d node-v14.0.0-linux-armv7l.tar.gz
d3dbf6d2003ea51ae01b636a92f67422fb2e7b508b7297042002a5a74089bbaf node-v14.0.0-linux-armv7l.tar.xz
8baeb23c7cdbdb47387c243b6b5bac17443cbb58f6aa0a7913a0126f241c598b node-v14.0.0-linux-ppc64le.tar.gz
095af83c5c5397d8b2f2f830a8057f447ff657c05687cfa523c25a6da01a9418 node-v14.0.0-linux-ppc64le.tar.xz
c460ca5f5bab96dae12c378cd569f0ced5102e5da2ed023aff0cc592b85828e1 node-v14.0.0-linux-s390x.tar.gz
e9a33652234ee657264de265ce90b71087ba80dd46e33e8bef632fcc29718810 node-v14.0.0-linux-s390x.tar.xz
0c3224a9e946e46793e81bced623bb7c0c06538aebea6383ca318a62ac1f49fd node-v14.0.0-linux-x64.tar.gz
a2aaaa621074e1b56bb751bda53ce726319fac617587443371c0a7742481e5b6 node-v14.0.0-linux-x64.tar.xz
99bdbf39b1db0f300cbea54ca62fb48e100a594953b575467d4e54f18ebe1d40 node-v14.0.0.pkg
5ee2a8d3036a1652ec93bbd8b5812e0ae41e0450af729b14df4a27afc6f17cf8 node-v14.0.0.tar.gz
6e220129f1d3101695ce63af59f353bd915bafbd61fb954010c6e59cf550c764 node-v14.0.0.tar.xz
a325bbabadacb684c30e01156bc176252737059008fa0309f38037e373ad7ced node-v14.0.0-win-x64.7z
e8f73d4f2e9935df929360c09ae932ceb316784a7450b256024af5d01fe29b75 node-v14.0.0-win-x64.zip
edab1900004fae29575a151e4953b296013f583b4aac22b6d758eeb595055e15 node-v14.0.0-win-x86.7z
62382dae915ecfc00b2345511ce50cb6ef96eced191123b019fe552f2c640cd6 node-v14.0.0-win-x86.zip
1e90cb6aa0de5516db594f094109acae208919a39ff66d5dcde3549545c03d78 node-v14.0.0-x64.msi
2ad4bd3d4e12c56e3cdee9f04bde50e5d5c0c02359955f88a17531e4cff7cf04 node-v14.0.0-x86.msi
b388738c1619e11d8f028fe38e30018d8a00d7d1ff85c9831b00300e6fdbc930 win-x64/node.exe
365b8e1dce6884d8866110d257451db1c87e3c006cfa5c2d21ad6082baf9af09 win-x64/node.lib
579161e5a16f87ee8cf1850425824f0b477b5860e130fd989c30db8f4722e0c9 win-x64/node_pdb.7z
e20746d9805d2221bfae05d105d4984e6e2c3ac229cd849c4d3d1a74f6376624 win-x64/node_pdb.zip
9976ff8d2b2d18a815eaa2e9286e34b4da50617c9643f3daf8b865f948d402ea win-x86/node.exe
15556719f4f35c0942368d8710878cfb8794b5aec4c389bc4a5d6d30eb0199fa win-x86/node.lib
51ddcf4d61c948705393236ee9911a7cc63c0511230190aa1bcdb99eb087ec13 win-x86/node_pdb.7z
1cd961948281c62add40665dd0054e15ae138cc8f8cd69f51fc397e00e2b241f win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEETtd49TnjY0x3nIfG1wYoSKGrAFwFAl6fCfYACgkQ1wYoSKGr
AFybzwgAnpJsb/9X5q/snNyU+YjqwuBErsjAcCzLH03PTeX5H4igpe06zWedb+4H
0anxdkEl6cHCb+VdCNfeOKKYQoY4UIWQDQyZ+CgSPr/9qBlK8YONLAZFOAJcnpR+
ywpvE1SDLeBXsEoFF6sTD+MyfXz9LeIMVBrYUPibUj4SzB7H6istjx34pza54bbt
GdwHdjT5TbaGwJYBxMCD/w41DjdLJ6O+eI/Kc1CcJTN1QiKc6L/aH4KrSyj/mSVd
24t20X9J6VVjn8Axl9k2MD7HUIHesOGkNqN7FJ7fRS8KjNGrhh+BwI2Q4z6JZtLk
mgiEtXL7Mz4aq+U6+Y3z8lR3Jcwrzw==
=glXd
-----END PGP SIGNATURE-----