-
Notifications
You must be signed in to change notification settings - Fork 29.8k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
v12.16.1 proposal #31781
v12.16.1 proposal #31781
Conversation
This commit addresses the following warning: ../src/node_api.cc:28:19: warning: 'mark_arraybuffer_as_untransferable' overrides a member function but is not marked 'override' [-Winconsistent-missing-override] v8::Maybe<bool> mark_arraybuffer_as_untransferable( ^ ../src/js_native_api_v8.h:42:27: note: overridden virtual function is here virtual v8::Maybe<bool> mark_arraybuffer_as_untransferable( PR-URL: #30549 Reviewed-By: Anna Henningsen <anna@addaleax.net> Reviewed-By: Ben Noordhuis <info@bnoordhuis.nl> Reviewed-By: Ruben Bridgewater <ruben@bridgewater.de> Reviewed-By: Jiawen Geng <technicalcute@gmail.com> Reviewed-By: David Carlier <devnexen@gmail.com>
PR-URL: #31757 Reviewed-By: Geoffrey Booth <webmaster@geoffreybooth.com> Reviewed-By: Jan Krems <jan.krems@gmail.com> Reviewed-By: Myles Borins <myles.borins@gmail.com>
Notable changes: Node.js 12.16.0 included large update to the ESM implementation in the 12.x release stream. One of the new features, Self Referential Modules, accidentally was released not behind the `--experimental-modules` flag. This release is being made specifically to appropraitely flag the feature which is not yet ready to be release on LTS. PR-URL: #31781
c16e613
to
455db4e
Compare
I've kicked off CI + CITGM. I might push this before CITGM finishes, depending on how long it takes as the changes in this release should have 0 ecosystem. breakage that isn't expected / desired (only moves a feature behind a flag). If anyone knows of other 12.x regressions I'd be happy to bring them in here. |
There were a couple of other regressions introduced in 12.16.0 too:
|
@richardlau PTAL #31782 If those get signed off I'll roll them in and hopefully get this release out before EOD |
Taking a bit of time to get the test suite done for the linux containered env. Might have to punt this release to tomorrow. Any concerns? |
526370a
to
ea794f3
Compare
ea794f3
to
e66fb69
Compare
Notable changes: Node.js 12.16.0 included 3 regressions that are being fixed in this release Accidental Unflagging of Self Resolving Modules: 12.16.0 included a large update to the ESM implementation. One of the new features, Self Referential Modules, was accidentally released without requiring the `--experimental-modules` flag. This release is being made to appropriately flag the feature. Isolate Disposal Order Change Introduced WASM Assertion: A change in the order of Isolate Disposal created an assertion error in WASM usage in V8. This was not present on 13.x or higher as they use a newer version of V8. The change was reverted. A regression test and fix are being worked on and will likely be included in a future 12.x release Use Largepages Runtime Option Introduced Linking Failure: A Semver-Minor change to introduce `--use-largepages` as a runtime option introduced a linking failure. This had been fixed in master but regressed as the fix has not yet gone out in a Current release. The feature has been reverted, but will be able to re-land with a fix in a future Semver-Minor release. Async Hooks was Causing an Exception When Handling Errors: Changes in async hooks internals introduced a case where an internal api call could be called with undefined causing a process to crash. The change to async hooks was reverted. A regression test and fix has been proposed and the change could re land in a future Semver-Patch release if the regression is reliably fixed. PR-URL: #31781
e66fb69
to
e0ff028
Compare
a70772f
to
9d6021a
Compare
9d6021a
to
1990e08
Compare
Notable changes: Node.js 12.16.0 included 6 regressions that are being fixed in this release **Accidental Unflagging of Self Resolving Modules**: 12.16.0 included a large update to the ESM implementation. One of the new features, Self Referential Modules, was accidentally released without requiring the `--experimental-modules` flag. This release is being made to appropriately flag the feature. **Process Cleanup Changed Introduced WASM-Related Assertion**: A change during Node.js process cleanup led to a crash in combination with specific usage of WASM. This has been fixed by partially reverted said change. A regression test and a full fix are being worked on and will likely be included in future 12.x and 13.x releases. **Use Largepages Runtime Option Introduced Linking Failure**: A Semver-Minor change to introduce `--use-largepages` as a runtime option introduced a linking failure. This had been fixed in master but regressed as the fix has not yet gone out in a Current release. The feature has been reverted, but will be able to reland with a fix in a future Semver-Minor release. **Async Hooks was Causing an Exception When Handling Errors**: Changes in async hooks internals introduced a case where an internal api call could be called with undefined causing a process to crash. The change to async hooks was reverted. A regression test and fix has been proposed and the change could re land in a future Semver-Patch release if the regression is reliably fixed. **New Enumerable Read-Only Property on EventEmitter breaks @types/extend** A new property for enumerating events was added to the EventEmitter class. This broke existing code that was using the `@types/extend` module for extending classses as `@types/extend` was attemping to write over the existing field which the new change made read-only. As this is the first property on EventEmitter that is read-only this feature could be considered Semver-Major. The new feature has been reverted but could re land in a future Semver-Minor release if a non breaking way of applying it is found. **Exceptions in the HTTP parser were not emitting an uncaughtException** A refactoring to Node.js interanls resulted in a bug where errors in the HTTP parser were not being emitted by `process.on('uncaughtException')`. The fix to this bug has been included in this release. PR-URL: #31781
1990e08
to
d3fb168
Compare
Hey all. I've done another pass on this. There are 4 changes that have been reverted and 2 that have had patches landed to fix the bugs that were introduced. I did my best to document what happened in the notable changes section as well as how these changes can be re-landed. We can still make other changes to this before we push it out tomorrow, but I could really use support here as I have limited time to actually do the release. Apologies in advance for the pace of these reversions and how this release was handled, doing my best to handle in a timely fashion while traveling and being off (today is a vacation day for US). As mentioned above a broader post-mortem here would be very useful including discussion on how we handle regressions. We should likely schedule this for the next release WG meeting |
Fwiw, I’ve opened an issue around how we handle regressions in LTS releases in the future: nodejs/Release#535 I also agree that it makes sense to try to put together a post-mortem for the regressions introduced here once this release is out. |
79dc7e4
to
25c179b
Compare
Notable changes: Node.js 12.16.0 included 6 regressions that are being fixed in this release Accidental Unflagging of Self Resolving Modules: 12.16.0 included a large update to the ESM implementation. One of the new features, Self Referential Modules, was accidentally released without requiring the `--experimental-modules` flag. This release is being made to appropriately flag the feature. Process Cleanup Changed Introduced WASM-Related Assertion: A change during Node.js process cleanup led to a crash in combination with specific usage of WASM. This has been fixed by partially reverted said change. A regression test and a full fix are being worked on and will likely be included in future 12.x and 13.x releases. Use Largepages Runtime Option Introduced Linking Failure: A Semver-Minor change to introduce `--use-largepages` as a runtime option introduced a linking failure. This had been fixed in master but regressed as the fix has not yet gone out in a Current release. The feature has been reverted, but will be able to reland with a fix in a future Semver-Minor release. Async Hooks was Causing an Exception When Handling Errors: Changes in async hooks internals introduced a case where an internal api call could be called with undefined causing a process to crash. The change to async hooks was reverted. A regression test and fix has been proposed and the change could re-land in a future Semver-Patch release if the regression is reliably fixed. New Enumerable Read-Only Property on EventEmitter breaks @types/extend: A new property for enumerating events was added to the EventEmitter class. This broke existing code that was using the `@types/extend` module for extending classses as `@types/extend` was attemping to write over the existing field which the new change made read-only. As this is the first property on EventEmitter that is read-only this feature could be considered Semver-Major. The new feature has been reverted but could re-land in a future Semver-Minor release if a non breaking way of applying it is found. Exceptions in the HTTP parser were not emitting an uncaughtException: A refactoring to Node.js interanls resulted in a bug where errors in the HTTP parser were not being emitted by process.on('uncaughtException') when the `async_hooks` `after` hook exists. The fix to this bug has been included in this release. PR-URL: #31781
25c179b
to
5263cc4
Compare
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Notable changes: Node.js 12.16.0 included 6 regressions that are being fixed in this release **Accidental Unflagging of Self Resolving Modules**: 12.16.0 included a large update to the ESM implementation. One of the new features, Self Referential Modules, was accidentally released without requiring the `--experimental-modules` flag. This release is being made to appropriately flag the feature. **Process Cleanup Changed Introduced WASM-Related Assertion**: A change during Node.js process cleanup led to a crash in combination with specific usage of WASM. This has been fixed by partially reverted said change. A regression test and a full fix are being worked on and will likely be included in future 12.x and 13.x releases. **Use Largepages Runtime Option Introduced Linking Failure**: A Semver-Minor change to introduce `--use-largepages` as a runtime option introduced a linking failure. This had been fixed in master but regressed as the fix has not yet gone out in a Current release. The feature has been reverted, but will be able to reland with a fix in a future Semver-Minor release. **Async Hooks was Causing an Exception When Handling Errors**: Changes in async hooks internals introduced a case where an internal api call could be called with undefined causing a process to crash. The change to async hooks was reverted. A regression test and fix has been proposed and the change could re land in a future Semver-Patch release if the regression is reliably fixed. **New Enumerable Read-Only Property on EventEmitter breaks @types/extend** A new property for enumerating events was added to the EventEmitter class. This broke existing code that was using the `@types/extend` module for extending classses as `@types/extend` was attemping to write over the existing field which the new change made read-only. As this is the first property on EventEmitter that is read-only this feature could be considered Semver-Major. The new feature has been reverted but could re land in a future Semver-Minor release if a non breaking way of applying it is found. **Exceptions in the HTTP parser were not emitting an uncaughtException** A refactoring to Node.js interanls resulted in a bug where errors in the HTTP parser were not being emitted by `process.on('uncaughtException')`. The fix to this bug has been included in this release. PR-URL: #31781
landed in d3fb168 |
2020-02-18, Version 12.16.1 'Erbium' (LTS), @MylesBorins
Notable changes
Node.js 12.16.0 included 6 regressions that are being fixed in this release
Accidental Unflagging of Self Resolving Modules:
12.16.0 included a large update to the ESM implementation. One of the new features,
Self Referential Modules, was accidentally released without requiring the
--experimental-modules
flag. This release is being made to appropriately flag the feature.
Process Cleanup Changed Introduced WASM-Related Assertion:
A change during Node.js process cleanup led to a crash in combination with
specific usage of WASM. This has been fixed by partially reverted said change.
A regression test and a full fix are being worked on and will likely be included
in future 12.x and 13.x releases.
Use Largepages Runtime Option Introduced Linking Failure:
A Semver-Minor change to introduce
--use-largepages
as a runtime optionintroduced a linking failure. This had been fixed in master but regressed as the fix has not yet gone out
in a Current release. The feature has been reverted, but will be able to reland with a fix in a future
Semver-Minor release.
Async Hooks was Causing an Exception When Handling Errors:
Changes in async hooks internals introduced a case where an internal api call could be called with undefined
causing a process to crash. The change to async hooks was reverted. A regression test and fix has been proposed
and the change could re-land in a future Semver-Patch release if the regression is reliably fixed.
New Enumerable Read-Only Property on EventEmitter breaks @types/extend
A new property for enumerating events was added to the EventEmitter class. This
broke existing code that was using the
@types/extend
module for extending classsesas
@types/extend
was attemping to write over the existing field which the newchange made read-only. As this is the first property on EventEmitter that is
read-only this feature could be considered Semver-Major. The new feature has been
reverted but could re-land in a future Semver-Minor release if a non breaking way
of applying it is found.
Exceptions in the HTTP parser were not emitting an uncaughtException
A refactoring to Node.js interanls resulted in a bug where errors in the HTTP
parser were not being emitted by
process.on('uncaughtException')
when theasync_hooks
after
hook exists. The fix to this bug has been included in this release.
Commits
51fdd759b9
] - async_hooks: ensure event after been emitted on runInAsyncScope (legendecas) #317847a1b0ac06f
] - Revert "build: re-introduce --use-largepages as no-op" (Myles Borins) #31782a53eeca2a9
] - Revert "build: switch realpath to pwd" (Myles Borins) #317826d432994e6
] - Revert "build: warn upon --use-largepages config option" (Myles Borins) #31782a5bc00af12
] - Revert "events: allow monitoring error events" (Myles Borins)f0b2d875d9
] - module: 12.x self resolve flag as experimental modules (Guy Bedford) #3175742b68a4e24
] - src: inform callback scopes about exceptions in HTTP parser (Anna Henningsen) #31801065a32f064
] - Revert "src: make --use-largepages a runtime option" (Myles Borins) #317823d5beebc62
] - Revert "src: make large_pages node.cc include conditional" (Myles Borins) #3178243d02e20e0
] - src: keep main-thread Isolate attached to platform during Dispose (Anna Henningsen) #317957a5954ef26
] - src: fix -Winconsistent-missing-override warning (Colin Ihrig) #30549