|
| 1 | +--- |
| 2 | +date: 2020-02-18T20:06:29.634Z |
| 3 | +version: 12.16.1 |
| 4 | +category: release |
| 5 | +title: Node v12.16.1 (LTS) |
| 6 | +slug: node-v12-16-1 |
| 7 | +layout: blog-post.hbs |
| 8 | +author: Myles Borins |
| 9 | +--- |
| 10 | + |
| 11 | +### Notable changes |
| 12 | + |
| 13 | +Node.js 12.16.0 included 6 regressions that are being fixed in this release |
| 14 | + |
| 15 | +**Accidental Unflagging of Self Resolving Modules**: |
| 16 | + |
| 17 | +12.16.0 included a large update to the ESM implementation. One of the new features, |
| 18 | +Self Referential Modules, was accidentally released without requiring the `--experimental-modules` |
| 19 | +flag. This release is being made to appropriately flag the feature. |
| 20 | + |
| 21 | +**Process Cleanup Changed Introduced WASM-Related Assertion**: |
| 22 | + |
| 23 | +A change during Node.js process cleanup led to a crash in combination with |
| 24 | +specific usage of WASM. This has been fixed by partially reverted said change. |
| 25 | +A regression test and a full fix are being worked on and will likely be included |
| 26 | +in future 12.x and 13.x releases. |
| 27 | + |
| 28 | +**Use Largepages Runtime Option Introduced Linking Failure**: |
| 29 | + |
| 30 | +A Semver-Minor change to introduce `--use-largepages` as a runtime option |
| 31 | +introduced a linking failure. This had been fixed in master but regressed as the fix has not yet gone out |
| 32 | +in a Current release. The feature has been reverted, but will be able to reland with a fix in a future |
| 33 | +Semver-Minor release. |
| 34 | + |
| 35 | +**Async Hooks was Causing an Exception When Handling Errors**: |
| 36 | + |
| 37 | +Changes in async hooks internals introduced a case where an internal api call could be called with undefined |
| 38 | +causing a process to crash. The change to async hooks was reverted. A regression test and fix has been proposed |
| 39 | +and the change could re-land in a future Semver-Patch release if the regression is reliably fixed. |
| 40 | + |
| 41 | +**New Enumerable Read-Only Property on EventEmitter breaks @types/extend** |
| 42 | + |
| 43 | +A new property for enumerating events was added to the EventEmitter class. This |
| 44 | +broke existing code that was using the `@types/extend` module for extending classses |
| 45 | +as `@types/extend` was attemping to write over the existing field which the new |
| 46 | +change made read-only. As this is the first property on EventEmitter that is |
| 47 | +read-only this feature could be considered Semver-Major. The new feature has been |
| 48 | +reverted but could re-land in a future Semver-Minor release if a non breaking way |
| 49 | +of applying it is found. |
| 50 | + |
| 51 | +**Exceptions in the HTTP parser were not emitting an uncaughtException** |
| 52 | + |
| 53 | +A refactoring to Node.js interanls resulted in a bug where errors in the HTTP |
| 54 | +parser were not being emitted by `process.on('uncaughtException')` when the `async_hooks` `after` |
| 55 | +hook exists. The fix to this bug has been included in this release. |
| 56 | + |
| 57 | +### Commits |
| 58 | + |
| 59 | +* [[`51fdd759b9`](https://github.com/nodejs/node/commit/51fdd759b9)] - **async_hooks**: ensure event after been emitted on runInAsyncScope (legendecas) [#31784](https://github.com/nodejs/node/pull/31784) |
| 60 | +* [[`7a1b0ac06f`](https://github.com/nodejs/node/commit/7a1b0ac06f)] - ***Revert*** "**build**: re-introduce --use-largepages as no-op" (Myles Borins) [#31782](https://github.com/nodejs/node/pull/31782) |
| 61 | +* [[`a53eeca2a9`](https://github.com/nodejs/node/commit/a53eeca2a9)] - ***Revert*** "**build**: switch realpath to pwd" (Myles Borins) [#31782](https://github.com/nodejs/node/pull/31782) |
| 62 | +* [[`6d432994e6`](https://github.com/nodejs/node/commit/6d432994e6)] - ***Revert*** "**build**: warn upon --use-largepages config option" (Myles Borins) [#31782](https://github.com/nodejs/node/pull/31782) |
| 63 | +* [[`a5bc00af12`](https://github.com/nodejs/node/commit/a5bc00af12)] - ***Revert*** "**events**: allow monitoring error events" (Myles Borins) |
| 64 | +* [[`f0b2d875d9`](https://github.com/nodejs/node/commit/f0b2d875d9)] - **module**: 12.x self resolve flag as experimental modules (Guy Bedford) [#31757](https://github.com/nodejs/node/pull/31757) |
| 65 | +* [[`42b68a4e24`](https://github.com/nodejs/node/commit/42b68a4e24)] - **src**: inform callback scopes about exceptions in HTTP parser (Anna Henningsen) [#31801](https://github.com/nodejs/node/pull/31801) |
| 66 | +* [[`065a32f064`](https://github.com/nodejs/node/commit/065a32f064)] - ***Revert*** "**src**: make --use-largepages a runtime option" (Myles Borins) [#31782](https://github.com/nodejs/node/pull/31782) |
| 67 | +* [[`3d5beebc62`](https://github.com/nodejs/node/commit/3d5beebc62)] - ***Revert*** "**src**: make large\_pages node.cc include conditional" (Myles Borins) [#31782](https://github.com/nodejs/node/pull/31782) |
| 68 | +* [[`43d02e20e0`](https://github.com/nodejs/node/commit/43d02e20e0)] - **src**: keep main-thread Isolate attached to platform during Dispose (Anna Henningsen) [#31795](https://github.com/nodejs/node/pull/31795) |
| 69 | +* [[`7a5954ef26`](https://github.com/nodejs/node/commit/7a5954ef26)] - **src**: fix -Winconsistent-missing-override warning (Colin Ihrig) [#30549](https://github.com/nodejs/node/pull/30549) |
| 70 | + |
| 71 | +Windows 32-bit Installer: https://nodejs.org/dist/v12.16.1/node-v12.16.1-x86.msi<br> |
| 72 | +Windows 64-bit Installer: https://nodejs.org/dist/v12.16.1/node-v12.16.1-x64.msi<br> |
| 73 | +Windows 32-bit Binary: https://nodejs.org/dist/v12.16.1/win-x86/node.exe<br> |
| 74 | +Windows 64-bit Binary: https://nodejs.org/dist/v12.16.1/win-x64/node.exe<br> |
| 75 | +macOS 64-bit Installer: https://nodejs.org/dist/v12.16.1/node-v12.16.1.pkg<br> |
| 76 | +macOS 64-bit Binary: https://nodejs.org/dist/v12.16.1/node-v12.16.1-darwin-x64.tar.gz<br> |
| 77 | +Linux 64-bit Binary: https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-x64.tar.xz<br> |
| 78 | +Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-ppc64le.tar.xz<br> |
| 79 | +Linux s390x 64-bit Binary: https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-s390x.tar.xz<br> |
| 80 | +AIX 64-bit Binary: https://nodejs.org/dist/v12.16.1/node-v12.16.1-aix-ppc64.tar.gz<br> |
| 81 | +SmartOS 64-bit Binary: https://nodejs.org/dist/v12.16.1/node-v12.16.1-sunos-x64.tar.xz<br> |
| 82 | +ARMv7 32-bit Binary: https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-armv7l.tar.xz<br> |
| 83 | +ARMv8 64-bit Binary: https://nodejs.org/dist/v12.16.1/node-v12.16.1-linux-arm64.tar.xz<br> |
| 84 | +Source Code: https://nodejs.org/dist/v12.16.1/node-v12.16.1.tar.gz<br> |
| 85 | +Other release files: https://nodejs.org/dist/v12.16.1/<br> |
| 86 | +Documentation: https://nodejs.org/docs/v12.16.1/api/ |
| 87 | + |
| 88 | +### SHASUMS |
| 89 | + |
| 90 | +``` |
| 91 | +-----BEGIN PGP SIGNED MESSAGE----- |
| 92 | +Hash: SHA256 |
| 93 | +
|
| 94 | +d928dd3dc4a79c39e45aa8f1f00c33117eb6145001427cb4dd838340932d8f2d node-v12.16.1-aix-ppc64.tar.gz |
| 95 | +34895bce210ca4b3cf19cd480e6563588880dd7f5d798f3782e3650580d35920 node-v12.16.1-darwin-x64.tar.gz |
| 96 | +7d20b9955c96d99fad1ef0e849b340d3ca1386dacd6c79e19d1ad3695bad7f6b node-v12.16.1-darwin-x64.tar.xz |
| 97 | +815e732561b6be1b2389b0cac53e34b65ad1835a5f0354d9888d992a4613947f node-v12.16.1-headers.tar.gz |
| 98 | +602ad5ba8ccf076215e0547632329d8a5c3ab0275a293ee1aebbfdd9345d2a6a node-v12.16.1-headers.tar.xz |
| 99 | +22750695d432e22f2a1faadfcd534a88a18933ffd658d45b08a5afa61acbc24a node-v12.16.1-linux-arm64.tar.gz |
| 100 | +396c43ba507b8ec33c70cdc6f73b4a7c725bddb3f74a85a8b8ed77b436856fed node-v12.16.1-linux-arm64.tar.xz |
| 101 | +d418d0516dfd744a8109e4ed58b021e3a1babb64baed2ebc30e613df97c643fb node-v12.16.1-linux-armv7l.tar.gz |
| 102 | +593dbc7e52518815d02dd5019c54afa5ada3dd143482cbc533c8c1ea80f44349 node-v12.16.1-linux-armv7l.tar.xz |
| 103 | +c8b1e47ac7a7a98f9f9b596b1ff567ad5416141317a3dcf4bff988508eb85bd6 node-v12.16.1-linux-ppc64le.tar.gz |
| 104 | +eee65be6b23245221920f18dded281f74a00dfa2479713134eea3146f1593ea6 node-v12.16.1-linux-ppc64le.tar.xz |
| 105 | +fef9eb79a9f5c50193ba369a2399998a86411f26eadc924674d915b06b71ac8f node-v12.16.1-linux-s390x.tar.gz |
| 106 | +6a77be335dec9349a40216cea072f2ca6e53bf10a7276040bfbd33984cdc5b95 node-v12.16.1-linux-s390x.tar.xz |
| 107 | +b2d9787da97d6c0d5cbf24c69fdbbf376b19089f921432c5a61aa323bc070bea node-v12.16.1-linux-x64.tar.gz |
| 108 | +b826753f14df9771609ffb8e7d2cc4cb395247cb704cf0cea0f04132d9cf3505 node-v12.16.1-linux-x64.tar.xz |
| 109 | +268703502c475a3e6878de0b1e67e6cc06315f41f878c3ec0bd58291537357da node-v12.16.1.pkg |
| 110 | +fec3dd2fdadc2b2fd8be29ebe8cdb859eace84e920a32053585feae0e641e9ce node-v12.16.1-sunos-x64.tar.gz |
| 111 | +fd5786acdc316a5eb64b73e274f44aa74ed2a74ef0b292cec2983bcab1ee96f0 node-v12.16.1-sunos-x64.tar.xz |
| 112 | +4fe8c3454f9bee5bbe72d44aa25cd931859b3037b7a9473081b3b2bd1b465b95 node-v12.16.1.tar.gz |
| 113 | +0a95845ba02c46102b5671d0c5732460073f2d397488337e18d1fc30146d412d node-v12.16.1.tar.xz |
| 114 | +e97aa4c4dc44185f55be7f46ff70a5594066f50853f3b7ad409cc108d32eef17 node-v12.16.1-win-x64.7z |
| 115 | +b93b73572c5e495154a9823d494de5729c77d1c83b041171154c4b5f3f76b590 node-v12.16.1-win-x64.zip |
| 116 | +2091f727d84044062e2657e20a24ccfbad3c699ee337c47d60ce77fcdadd711a node-v12.16.1-win-x86.7z |
| 117 | +7d4cb6b9b96d221e5fbb28083d688f36561b05ae2f796a22ebd606f319834b39 node-v12.16.1-win-x86.zip |
| 118 | +bb70e966062e860e3497b4c5cd490485b722f28ad8eb0abfda7fe91e987c59f1 node-v12.16.1-x64.msi |
| 119 | +9fd8788c089bb77999b7f2e6ef94cb1721dd9f5b1b08d4ed2f81e89529c9137a node-v12.16.1-x86.msi |
| 120 | +3f8dabbe93d05367035df2078cb72a20c1b74cf1b41648ea91d902825902fcee win-x64/node.exe |
| 121 | +4eb31990d5e46ba2a51d4fc14ef187ef51c403afe8823c71c557c0ba3cb6d732 win-x64/node.lib |
| 122 | +057803deaa2b29b597e15a82cfe78271f9320fc0cd23239564ab04df19ead3f6 win-x64/node_pdb.7z |
| 123 | +deee04ab036212fbaa2eeb5efec7e5ff87666dce3968c68450bf8fa12d1c2a59 win-x64/node_pdb.zip |
| 124 | +78fa91d73172df8e10e1824394087a9d6409259fdc3bd5a83fa90d53e4edb6a6 win-x86/node.exe |
| 125 | +67967c338c91652bbb376a0a4f3e0162478033d872d71af673e5ce127888ee50 win-x86/node.lib |
| 126 | +9e8b18c0df1fed91154fc9f7e5cf4e93a85b99ce653be0f77d6cd87f15556cc0 win-x86/node_pdb.7z |
| 127 | +b1a9c35d168c5876d040e1aeeb3e7c44c919f2716c560b44556cf9c6975991fc win-x86/node_pdb.zip |
| 128 | +-----BEGIN PGP SIGNATURE----- |
| 129 | +
|
| 130 | +iQEzBAEBCAAdFiEEDv/hvO/ZyE49CYFSkzsB9AtcqUYFAl5MPjUACgkQkzsB9Atc |
| 131 | +qUZrhgf/YyjE93K71UoKdkAPN316DY6asYc4+hoOwny+r4W1+0QSiWl7Pe+lm4tC |
| 132 | +OfCjrIr5i+OC+/VimWLlZ2ufwxWKJCX560TpE9vLe5z6+CTNEkTR2kA20lT/BnTH |
| 133 | +js/A+6BAilkMNrdXWspRGgIytk4/njsgq7uTutY0lx7jOclFPXuW615FCqUNA0Ev |
| 134 | +jyTy5b2htDH3J9QrLiHTlLZcz438W1RPvdQ8N8vIfY3QFTcugmBiltIg++rQ4Zh+ |
| 135 | +tQt/48hI/Xb4MvIQ83azzBwkvnXci4sVcekseuMeKjb5vbnd1qxvSPFMS6zvKmHi |
| 136 | +PrJMcpCXJiFuo92YBTL/rCkiTr/jsQ== |
| 137 | +=wB4y |
| 138 | +-----END PGP SIGNATURE----- |
| 139 | +
|
| 140 | +``` |
0 commit comments