Skip to content
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.0.0 proposal #26930

Merged
merged 1 commit into from
Apr 23, 2019
Merged

v12.0.0 proposal #26930

merged 1 commit into from
Apr 23, 2019

Conversation

BethGriggs
Copy link
Member

@BethGriggs BethGriggs commented Mar 26, 2019

In-progress 12.0.0 release - the changelog is expected to change significantly as new 11.x releases occur between now and April 23rd.

There will be one Release Candidate per week.

Refs: nodejs/Release#417, #26844

Notable Changes

  • assert:
    • improve performance to instantiate errors (Ruben Bridgewater) #26738
    • validate required arguments (Ruben Bridgewater) #26641
    • adjust loose assertions (Ruben Bridgewater) #25008
  • async_hooks:
    • remove deprecated emitBefore and emitAfter (Matteo Collina) #26530
    • remove promise object from resource (Andreas Madsen) #23443
  • bootstrap: make Buffer and process non-enumerable (Ruben Bridgewater) #24874
  • buffer:
    • use stricter range checks (Ruben Bridgewater) #27045
    • harden SlowBuffer creation (ZYSzys) #26272
    • harden validation of buffer allocation size (ZYSzys) #26162
    • do proper error propagation in addon methods (Anna Henningsen) #23939
  • child_process:
    • change the defaults maxBuffer size (kohta ito) #27179
    • harden fork arguments validation (ZYSzys) #27039
    • use non-infinite maxBuffer defaults (kohta ito) #23027
  • console: don't use ANSI escape codes when TERM=dumb (Vladislav Kaminsky) #26261
  • crypto:
    • remove legacy native handles (Tobias Nießen) #27011
    • decode missing passphrase errors (Tobias Nießen) #25208
    • move DEP0113 to End-of-Life (Tobias Nießen) #26249
    • remove deprecated crypto._toBuf (Tobias Nießen) #25338
    • set DEFAULT\_ENCODING property to non-enumerable (Antoine du Hamel) #23222
  • deps:
    • silence irrelevant V8 warning (Michaël Zasso) #26685
    • update postmortem metadata generation script (cjihrig) #26685
    • V8: un-cherry-pick bd019bd (Refael Ackermann) #26685
    • V8: cherry-pick 6 commits (Michaël Zasso) #26685
    • V8: cherry-pick d82c9af (Anna Henningsen) #26685
    • V8: cherry-pick e5f01ba (Anna Henningsen) #26685
    • V8: cherry-pick d5f08e4 (Anna Henningsen) #26685
    • V8: cherry-pick 6b09d21 (Anna Henningsen) #26685
    • V8: cherry-pick f0bb5d2 (Anna Henningsen) #26685
    • V8: cherry-pick 5b0510d (Anna Henningsen) #26685
    • V8: cherry-pick 91f0cd0 (Anna Henningsen) #26685
    • V8: cherry-pick 392316d (Anna Henningsen) #26685
    • V8: cherry-pick 2f79d68 (Anna Henningsen) #26685
    • sync V8 gypfiles with 7.4 (Ujjwal Sharma) #26685
    • update V8 to 7.4.288.13 (Ujjwal Sharma) #26685
    • bump minimum icu version to 63 (Ujjwal Sharma) #25852
    • silence irrelevant V8 warnings (Michaël Zasso) #25852
    • V8: cherry-pick 7803fa6 (Jon Kunkee) #25852
    • V8: cherry-pick 58cefed (Jon Kunkee) #25852
    • V8: cherry-pick d3308d0 (Michaël Zasso) #25852
    • V8: cherry-pick 74571c8 (Michaël Zasso) #25852
    • cherry-pick fc0ddf5 from upstream V8 (Anna Henningsen) #25852
    • sync V8 gypfiles with 7.3 (Ujjwal Sharma) #25852
    • sync V8 gypfiles with 7.2 (Michaël Zasso) #25852
    • update V8 to 7.3.492.25 (Michaël Zasso) #25852
    • add s390 asm rules for OpenSSL-1.1.1 (Shigeki Ohtsu) #19794
    • sync V8 gypfiles with 7.1 (Refael Ackermann) #23423
    • update V8 to 7.1.302.28 (Michaël Zasso) #23423
  • doc:
    • update behaviour of fs.writeFile (Sakthipriyan Vairamani (thefourtheye)) #25080
    • add internal functionality details of util.inherits (Ruben Bridgewater) #24755
  • errors: update error name (Ruben Bridgewater) #26738
  • fs:
    • use proper .destroy() implementation for SyncWriteStream (Matteo Collina) #26690
    • improve mode validation (Ruben Bridgewater) #26575
    • harden validation of start option in createWriteStream (ZYSzys) #25579
    • make writeFile consistent with readFile wrt fd (Sakthipriyan Vairamani (thefourtheye)) #23709
  • http:
    • validate timeout in ClientRequest() (cjihrig) #26214
    • return HTTP 431 on HPE_HEADER_OVERFLOW error (Albert Still) #25605
    • switch default parser to llhttp (Anna Henningsen) #24870
    • change DEP0066 to a runtime deprecation (Morgan Roderick) #24167
    • else case is not reachable (szabolcsit) #24176
  • lib:
    • move DEP0021 to end of life (cjihrig) #27127
    • remove Atomics.wake (Gus Caplan) #27033
    • validate Error.captureStackTrace() calls (Ruben Bridgewater) #26738
    • refactor Error.captureStackTrace() usage (Ruben Bridgewater) #26738
    • move DTRACE_* probes out of global scope (James M Snell) #26541
    • deprecate _stream_wrap (Sam Roberts) #26245
    • don't use util.inspect() internals (Ruben Bridgewater) #24971
    • improve error message for MODULE_NOT_FOUND (Ali Ijaz Sheikh) #25690
    • requireStack property for MODULE_NOT_FOUND (Ali Ijaz Sheikh) #25690
    • move DEP0029 to end of life (cjihrig) #25377
    • move DEP0028 to end of life (cjihrig) #25377
    • move DEP0027 to end of life (cjihrig) #25377
    • move DEP0026 to end of life (cjihrig) #25377
    • move DEP0023 to end of life (cjihrig) #25280
    • move DEP0006 to end of life (cjihrig) #25279
    • remove unintended access to deps/ (Anna Henningsen) #25138
    • move DEP0120 to end of life (cjihrig) #24862
    • use ES6 class inheritance style (Ruben Bridgewater) #24755
    • remove inherits() usage (Ruben Bridgewater) #24755
  • module:
    • remove dead code (Ruben Bridgewater) #26983
    • mark DEP0019 as End-of-Life (Ruben Bridgewater) #26973
    • throw an error for invalid package.json main entries (Ruben Bridgewater) #26823
    • don't search in require.resolve.paths (cjihrig) #23683
  • n-api: remove code from error name (Ruben Bridgewater) #26738
  • net:
    • do not manipulate potential user code (Ruben Bridgewater) #26751
    • emit "write after end" errors in the next tick (Ouyang Yadong) #24457
    • deprecate _setSimultaneousAccepts() undocumented function (James M Snell) #23760
  • net,http2: merge setTimeout code (ZYSzys) #25084
  • os: implement os.type() using uv_os_uname() (cjihrig) #25659
  • process:
    • global.process, global.Buffer getters (Guy Bedford) #26882
    • move DEP0062 (node --debug) to end-of-life (Joyee Cheung) #25828
    • exit on --debug and --debug-brk after option parsing (Joyee Cheung) #25828
    • improve --redirect-warnings handling (Ruben Bridgewater) #24965
  • readline: support TERM=dumb (Vladislav Kaminsky) #26261
  • repl:
    • add welcome message (gengjiawen) #25947
    • fix terminal default setting (Ruben Bridgewater) #26518
    • check colors with .getColorDepth() (Vladislav Kaminsky) #26261
    • deprecate REPLServer.rli (Ruben Bridgewater) #26260
  • src:
    • remove unused INT_MAX constant (Sam Roberts) #27078
    • update NODE_MODULE_VERSION to 72 (Ujjwal Sharma) #26685
    • remove AddPromiseHook() (Anna Henningsen) #26574
    • update NODE_MODULE_VERSION to 71 (Michaël Zasso) #25852
    • clean up MultiIsolatePlatform interface (Anna Henningsen) #26384
    • properly configure default heap limits (Ali Ijaz Sheikh) #25576
    • remove icuDataDir from node config (GauthamBanasandra) #24780
    • explicitly allow JS in ReadHostObject (Yang Guo) #23423
    • update postmortem constant (cjihrig) #23423
    • update NODE_MODULE_VERSION to 68 (Michaël Zasso) #23423
  • tls:
    • support TLSv1.3 (Sam Roberts) #26209
    • return correct version from getCipher() (Sam Roberts) #26625
    • check arg types of renegotiate() (Sam Roberts) #25876
    • add code for ERR_TLS_INVALID_PROTOCOL_METHOD (Sam Roberts) #24729
    • emit a warning when servername is an IP address (Rodger Combs) #23329
    • disable TLS v1.0 and v1.1 by default (Ben Noordhuis) #23814
    • remove unused arg to createSecureContext() (Sam Roberts) #24241
    • deprecate Server.prototype.setOptions() (cjihrig) #23820
    • load NODE_EXTRA_CA_CERTS at startup (Ouyang Yadong) #23354
  • util:
    • change inspect compact and breakLength default (Ruben Bridgewater) #27109
    • improve inspect edge cases (Ruben Bridgewater) #27109
    • only the first line of the error message (Simon Zünd) #26685
    • don't set the prototype of callbackified functions (Ruben Bridgewater) #26893
    • rename callbackified function (Ruben Bridgewater) #26893
    • increase function length when using callbackify() (Ruben Bridgewater) #26893
    • prevent tampering with internals in inspect() (Ruben Bridgewater) #26577
    • fix proxy inspection (Ruben Bridgewater) #26241
    • prevent leaking internal properties (Ruben Bridgewater) #24971
    • protect against monkeypatched Object prototype for inspect() (Rich Trott) #25953
    • treat format arguments equally (Roman Reiss) #23162
  • win, fs: detect if symlink target is a directory (Bartosz Sosnowski) #23724
  • zlib:
    • throw TypeError if callback is missing (Anna Henningsen) #24929
    • make “bare” constants un-enumerable (Anna Henningsen) #24824

@nodejs-github-bot nodejs-github-bot added the meta Issues and PRs related to the general management of the project. label Mar 26, 2019
@BethGriggs
Copy link
Member Author

@Trott
Copy link
Member

Trott commented Mar 26, 2019

rc0: https://nodejs.org/download/rc/v12.0.0-rc.0/

I brought this up a lot in the past, and if this is a chance to change the process as it is being documented now, then let's change it finally: These should not be labeled 'rc'. They are not release candidates. A release candidate is something that you put out for testing and, if no issues are found, then the version number is bumped and it is your actual version. In contrast, these are things that whether or not bugs are found, we will be adding more commits to. (Or am I wrong about that? I would be thrilled to be wrong about that. But since we haven't hit the semver-major cutoff date yet, I don't see how I could be....)

We can call it an alpha or a beta or pre or even just 12.0.0-0. But 'rc' sends the wrong information.

There will be one Release Candidate per week.

Yeah, not a release candidate if we know there's going to be another one. This one is not a candidate for release. 😀

@Trott
Copy link
Member

Trott commented Mar 26, 2019

Oh, and on that "rc" business: I'm OK with not switching it up and just sticking with the "rc" terminology for 12.x. But I guess I want to get it in front of the Release WG to change it going forward. I'm guessing nobody needs one more thing to figure out for 12.x while the existing process is being worked-through, knowledge-transferred, whatever-ed. 😀

@richardlau
Copy link
Member

Oh, and on that "rc" business: I'm OK with not switching it up and just sticking with the "rc" terminology for 12.x. But I guess I want to get it in front of the Release WG to change it going forward. I'm guessing nobody needs one more thing to figure out for 12.x while the existing process is being worked-through, knowledge-transferred, whatever-ed. 😀

@Trott I invite you to open an issue over in https://github.com/nodejs/Release which we can tag for discussion in the next or upcoming Release WG meeting. Bonus points if you can suggest alternative terminology. If we can agree on alternative terminology I think we'll need cooperation from the Build WG to change the directory the artifacts are uploaded to.

@BethGriggs
Copy link
Member Author

But since we haven't hit the semver-major cutoff date yet, I don't see how I could be....

@Trott - the semver-major cutoff date was set as 23rd March
#26844, nodejs/Release#417

@jasnell
Copy link
Member

jasnell commented Mar 27, 2019

Thank you @BethGriggs for pushing this one forward. I'm enjoying my much needed break from it ;-) ...


### Semver-Major Commits

* [[`afce912193`](https://github.com/nodejs/node/commit/afce912193)] - **(SEMVER-MAJOR)** **assert**: improve performance to instantiate errors (Ruben Bridgewater) [#26738](https://github.com/nodejs/node/pull/26738)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

There's an option on branch-diff that will group the subsystems alphabetically by name... --group I think. Makes the changelog much easier to read.

@BethGriggs
Copy link
Member Author

@jkrems jkrems mentioned this pull request Apr 5, 2019
@devsnek
Copy link
Member

devsnek commented Apr 5, 2019

#27033 got tsc signoff as semver major after the cutoff, will it be included in 12.x?

@BethGriggs
Copy link
Member Author

BethGriggs commented Apr 7, 2019

@devsnek, each week before I make the RC I'm hoping to post a list of the new Semver Major PRs on master for the TSC to 👍 - so it should be able to be included

@BethGriggs
Copy link
Member Author

RC2: https://nodejs.org/download/rc/v12.0.0-rc.2/

One more RC to come after the last set of commits have landed - (e.g. #26714)

@richardlau
Copy link
Member

It's a very minor thing but the linter is complaining about a missing newline in the changelog:

https://travis-ci.com/nodejs/node/jobs/193965570#L255-L256

Running Markdown linter on docs...
doc/changelogs/CHANGELOG_V12.md
  1:1  warning  Missing newline character at end of file  final-newline  remark-lint
⚠ 1 warning

@rvagg
Copy link
Member

rvagg commented Apr 18, 2019

two more infra/build related items to come in, one is ready (#27275, coming out of #26714), can you please pull in a7d7d4d, the other, BUILDING.md #26714 isn't quite done yet but I'll try and get that ready shortly.

@rvagg
Copy link
Member

rvagg commented Apr 20, 2019

BUILDING.md is done, that's in b581d59 and needs to be included here along with a7d7d4d

According to nodejs/build#1768 we're set for Node 12 on the build side. We failed on getting macOS up to where we wanted and the Python situation is going to cause major headaches during the life of 12 but that's just going to have to be the case.

@mmarchini
Copy link
Contributor

Would be nice to include https://chromium-review.googlesource.com/c/v8/v8/+/1570582 as well, since it fixes an issue where Node.js will crash if executed with --interpreted-frames-native-stack flag. Unfortunately I don't think it will on V8 on time. I could open a floating patch here before the V8 PR lands if there's no objections.

@rvagg
Copy link
Member

rvagg commented Apr 20, 2019

@mmarchini I think a PR would be the appropriate way to go if you want to get it landed. It'd be doubtful for 12.0.0 at this stage I think but maybe the first follow-up.

BethGriggs added a commit that referenced this pull request Apr 22, 2019
Notable changes:

* assert:
  * improve performance to instantiate errors (Ruben Bridgewater)
    [#26738](#26738)
  * validate required arguments (Ruben Bridgewater)
    [#26641](#26641)
  * adjust loose assertions (Ruben Bridgewater)
    [#25008](#25008)
* async_hooks:
  * remove deprecated emitBefore and emitAfter (Matteo Collina)
    [#26530](#26530)
  * remove promise object from resource (Andreas Madsen)
    [#23443](#23443)
* bootstrap
  * make Buffer and process non-enumerable (Ruben Bridgewater)
    [#24874](#24874)
* buffer:
  * use stricter range checks (Ruben Bridgewater)
    [#27045](#27045)
  * harden SlowBuffer creation (ZYSzys)
    [#26272](#26272)
  * harden validation of buffer allocation size (ZYSzys)
    [#26162](#26162)
  * do proper error propagation in addon methods (Anna Henningsen)
    [#23939](#23939)
* child_process:
  * change the defaults maxBuffer size (kohta ito)
    [#27179](#27179)
  * harden fork arguments validation (ZYSzys)
    [#27039](#27039)
  * use non-infinite maxBuffer defaults (kohta ito)
    [#23027](#23027)
* console:
  * don't use ANSI escape codes when TERM=dumb (Vladislav Kaminsky)
    [#26261](#26261)
* crypto:
  * remove legacy native handles (Tobias Nießen)
    [#27011](#27011)
  * decode missing passphrase errors (Tobias Nießen)
    [#25208](#25208)
  * move DEP0113 to End-of-Life (Tobias Nießen)
    [#26249](#26249)
  * remove deprecated crypto.\_toBuf (Tobias Nießen)
    [#25338](#25338)
  * set `DEFAULT\_ENCODING` property to non-enumerable
    (Antoine du Hamel)
    [#23222](#23222)
* deps:
  * silence irrelevant V8 warning (Michaël Zasso)
    [#26685](#26685)
  * update postmortem metadata generation script (cjihrig)
    [#26685](#26685)
  * V8: un-cherry-pick bd019bd (Refael Ackermann)
    [#26685](#26685)
  * V8: cherry-pick 6 commits (Michaël Zasso)
    [#26685](#26685)
  * V8: cherry-pick d82c9af (Anna Henningsen)
    [#26685](#26685)
  * V8: cherry-pick e5f01ba (Anna Henningsen)
    [#26685](#26685)
  * V8: cherry-pick d5f08e4 (Anna Henningsen)
    [#26685](#26685)
  * V8: cherry-pick 6b09d21 (Anna Henningsen)
    [#26685](#26685)
  * V8: cherry-pick f0bb5d2 (Anna Henningsen)
    [#26685](#26685)
  * V8: cherry-pick 5b0510d (Anna Henningsen)
    [#26685](#26685)
  * V8: cherry-pick 91f0cd0 (Anna Henningsen)
    [#26685](#26685)
  * V8: cherry-pick 392316d (Anna Henningsen)
    [#26685](#26685)
  * V8: cherry-pick 2f79d68 (Anna Henningsen)
    [#26685](#26685)
  * sync V8 gypfiles with 7.4 (Ujjwal Sharma)
    [#26685](#26685)
  * update V8 to 7.4.288.13 (Ujjwal Sharma)
    [#26685](#26685)
  * bump minimum icu version to 63 (Ujjwal Sharma)
    [#25852](#25852)
  * silence irrelevant V8 warnings (Michaël Zasso)
    [#25852](#25852)
  * V8: cherry-pick 7803fa6 (Jon Kunkee)
    [#25852](#25852)
  * V8: cherry-pick 58cefed (Jon Kunkee)
    [#25852](#25852)
  * V8: cherry-pick d3308d0 (Michaël Zasso)
    [#25852](#25852)
  * V8: cherry-pick 74571c8 (Michaël Zasso)
    [#25852](#25852)
  * cherry-pick fc0ddf5 from upstream V8 (Anna Henningsen)
    [#25852](#25852)
  * sync V8 gypfiles with 7.3 (Ujjwal Sharma)
    [#25852](#25852)
  * sync V8 gypfiles with 7.2 (Michaël Zasso)
    [#25852](#25852)
  * update V8 to 7.3.492.25 (Michaël Zasso)
    [#25852](#25852)
  * add s390 asm rules for OpenSSL-1.1.1 (Shigeki Ohtsu)
    [#19794](#19794)
  * sync V8 gypfiles with 7.1 (Refael Ackermann)
    [#23423](#23423)
  * update V8 to 7.1.302.28 (Michaël Zasso)
    [#23423](#23423)
* doc:
  * update behaviour of fs.writeFile
    (Sakthipriyan Vairamani (thefourtheye))
    [#25080](#25080)
  * add internal functionality details of util.inherits
    (Ruben Bridgewater)
    [#24755](#24755)
* errors:
  * update error name (Ruben Bridgewater)
    [#26738](#26738)
* fs:
  * use proper .destroy() implementation for SyncWriteStream
    (Matteo Collina)
    [#26690](#26690)
  * improve mode validation (Ruben Bridgewater)
    [#26575](#26575)
  * harden validation of start option in createWriteStream (ZYSzys)
    [#25579](#25579)
  * make writeFile consistent with readFile wrt fd
    (Sakthipriyan Vairamani (thefourtheye))
    [#23709](#23709)
* http:
  * validate timeout in ClientRequest() (cjihrig)
    [#26214](#26214)
  * return HTTP 431 on HPE\_HEADER\_OVERFLOW error (Albert Still)
    [#25605](#25605)
  * switch default parser to llhttp (Anna Henningsen)
    [#24870](#24870)
  * change DEP0066 to a runtime deprecation (Morgan Roderick)
    [#24167](#24167)
  * else case is not reachable (szabolcsit)
    [#24176](#24176)
* lib:
  * move DEP0021 to end of life (cjihrig)
    [#27127](#27127)
  * remove Atomics.wake (Gus Caplan)
    [#27033](#27033)
  * validate Error.captureStackTrace() calls (Ruben Bridgewater)
    [#26738](#26738)
  * refactor Error.captureStackTrace() usage (Ruben Bridgewater)
    [#26738](#26738)
  * move DTRACE\_\* probes out of global scope (James M Snell)
    [#26541](#26541)
  * deprecate \_stream\_wrap (Sam Roberts)  [#26245]
  (#26245)
  * don't use `util.inspect()` internals (Ruben Bridgewater)
    [#24971](#24971)
  * improve error message for MODULE\_NOT\_FOUND (Ali Ijaz Sheikh)
    [#25690](#25690)
  * requireStack property for MODULE\_NOT\_FOUND (Ali Ijaz Sheikh)
    [#25690](#25690)
  * move DEP0029 to end of life (cjihrig)
    [#25377](#25377)
  * move DEP0028 to end of life (cjihrig)
    [#25377](#25377)
  * move DEP0027 to end of life (cjihrig)
    [#25377](#25377)
  * move DEP0026 to end of life (cjihrig)
    [#25377](#25377)
  * move DEP0023 to end of life (cjihrig)
    [#25280](#25280)
  * move DEP0006 to end of life (cjihrig)
    [#25279](#25279)
  * remove unintended access to deps/ (Anna Henningsen)
    [#25138](#25138)
  * move DEP0120 to end of life (cjihrig)
    [#24862](#24862)
  * use ES6 class inheritance style (Ruben Bridgewater)
    [#24755](#24755)
  * remove `inherits()` usage (Ruben Bridgewater)
    [#24755](#24755)
* module:
  * remove dead code (Ruben Bridgewater)
    [#26983](#26983)
  * mark DEP0019 as End-of-Life (Ruben Bridgewater)
    [#26973](#26973)
  * throw an error for invalid package.json main entries
    (Ruben Bridgewater)
    [#26823](#26823)
  * don't search in require.resolve.paths (cjihrig)
    [#23683](#23683)
* n-api:
  * remove code from error name (Ruben Bridgewater)
    [#26738](#26738)
* net:
  * do not manipulate potential user code (Ruben Bridgewater)
    [#26751](#26751)
  * emit "write after end" errors in the next tick (Ouyang Yadong)
    [#24457](#24457)
  * deprecate \_setSimultaneousAccepts() undocumented function
    (James M Snell)
    [#23760](#23760)
* net,http2:
  * merge setTimeout code (ZYSzys)
    [#25084](#25084)
* os:
  * implement os.type() using uv\_os\_uname() (cjihrig)
    [#25659](#25659)
* process:
  * global.process, global.Buffer getters (Guy Bedford)
    [#26882](#26882)
  * move DEP0062 (node --debug) to end-of-life (Joyee Cheung)
    [#25828](#25828)
  * exit on --debug and --debug-brk after option parsing (Joyee Cheung)
    [#25828](#25828)
  * improve `--redirect-warnings` handling (Ruben Bridgewater)
    [#24965](#24965)
* readline:
  * support TERM=dumb (Vladislav Kaminsky)
    [#26261](#26261)
* repl:
  * add welcome message (gengjiawen)
    [#25947](#25947)
  * fix terminal default setting (Ruben Bridgewater)
    [#26518](#26518)
  * check colors with .getColorDepth() (Vladislav Kaminsky)
    [#26261](#26261)
  * deprecate REPLServer.rli (Ruben Bridgewater)
    [#26260](#26260)
* src:
  * remove unused INT\_MAX constant (Sam Roberts)
    [#27078](#27078)
  * update NODE\_MODULE\_VERSION to 72 (Ujjwal Sharma)
    [#26685](#26685)
  * remove `AddPromiseHook()` (Anna Henningsen)
    [#26574](#26574)
  * update NODE\_MODULE\_VERSION to 71 (Michaël Zasso)
    [#25852](#25852)
  * clean up MultiIsolatePlatform interface (Anna Henningsen)
    [#26384](#26384)
  * properly configure default heap limits (Ali Ijaz Sheikh)
    [#25576](#25576)
  * remove icuDataDir from node config (GauthamBanasandra)
    [#24780](#24780)
  * explicitly allow JS in ReadHostObject (Yang Guo)
    [#23423](#23423)
  * update postmortem constant (cjihrig)
    [#23423](#23423)
  * update NODE\_MODULE\_VERSION to 68 (Michaël Zasso)
    [#23423](#23423)
* tls:
  * support TLSv1.3 (Sam Roberts)
    [#26209](#26209)
  * return correct version from getCipher() (Sam Roberts)
    [#26625](#26625)
  * check arg types of renegotiate() (Sam Roberts)
    [#25876](#25876)
  * add code for ERR\_TLS\_INVALID\_PROTOCOL\_METHOD (Sam Roberts)
    [#24729](#24729)
  * emit a warning when servername is an IP address (Rodger Combs)
    [#23329](#23329)
  * disable TLS v1.0 and v1.1 by default (Ben Noordhuis)
    [#23814](#23814)
  * remove unused arg to createSecureContext() (Sam Roberts)
    [#24241](#24241)
  * deprecate Server.prototype.setOptions() (cjihrig)[
    #23820](#23820)
  * load NODE\_EXTRA\_CA\_CERTS at startup (Ouyang Yadong)
    [#23354](#23354)
* util:
  * change inspect compact and breakLength default (Ruben Bridgewater)
    [#27109](#27109)
  * improve inspect edge cases (Ruben Bridgewater)
    [#27109](#27109)
  * only the first line of the error message (Simon Zünd)
    [#26685](#26685)
  * don't set the prototype of callbackified functions
    (Ruben Bridgewater)
    [#26893](#26893)
  * rename callbackified function (Ruben Bridgewater)
    [#26893](#26893)
  * increase function length when using `callbackify()`
    (Ruben Bridgewater)
    [#26893](#26893)
  * prevent tampering with internals in `inspect()` (Ruben Bridgewater)
    [#26577](#26577)
  * fix proxy inspection (Ruben Bridgewater)
    [#26241](#26241)
  * prevent leaking internal properties (Ruben Bridgewater)
    [#24971](#24971)
  * protect against monkeypatched Object prototype for inspect()
    (Rich Trott)
    [#25953](#25953)
  * treat format arguments equally (Roman Reiss)
    [#23162](#23162)
* win, fs:
  * detect if symlink target is a directory (Bartosz Sosnowski)
    [#23724](#23724)
* zlib:
  * throw TypeError if callback is missing (Anna Henningsen)[
    #24929](#24929)
  * make “bare” constants un-enumerable (Anna Henningsen)
    [#24824](#24824)

PR-URL: #26930
@nodejs-github-bot
Copy link
Collaborator

@BethGriggs BethGriggs marked this pull request as ready for review April 22, 2019 22:57
@BethGriggs
Copy link
Member Author

@rvagg, I've pulled in #27275 and #26714 - thank you for putting those together

@nodejs/release please take a look, I do not expect to pull in any further commits for v12.0.0 (v12.0.0 commits)

/cc @jasnell

@rvagg
Copy link
Member

rvagg commented Apr 23, 2019

Thanks to @mhdawson for the heads-up: sunos binaries weren't appearing. The new smartos18 release machine wasn't hooked up to iojs+release (my bad I guess, although I'm sure I had this working last week!). I've re-run the rc.3 build and it's there now: https://nodejs.org/download/rc/v12.0.0-rc.3/

The promote script should give a ✓ on expected assets now when 12.0.0 gets promoted:

 ✓  Complete set of expected assets in place for v12.x

@addaleax
Copy link
Member

I’ll try to come up with some improvements for the notable changes list in a few minutes, if you don’t mind.

@addaleax
Copy link
Member

@BethGriggs In addaleax/node@aa3f88f, I’ve reworked the notable changes list in a few ways (grouped dependency changes, improved formatting via source highlighting, put changes in the right section, replaced useless commit messages, removed non-semver-major-commits).

Additionally, I’d suggest something like addaleax/node@b16ed10, where we separate out the changes that one would more typically consider “notable”, as opposed to having a long list of all breaking changes where the important ones don’t stand out.

Feel free to cherry-pick none, one, or both of these :)

Notable changes:

* assert:
    * validate required arguments (Ruben Bridgewater)
      [#26641](#26641)
    * adjust loose assertions (Ruben Bridgewater)
      [#25008](#25008)
* async_hooks:
    * remove deprecated `emitBefore` and `emitAfter` (Matteo Collina)
      [#26530](#26530)
    * remove promise object from resource (Andreas Madsen)
      [#23443](#23443)
* bootstrap: make Buffer and process non-enumerable (Ruben Bridgewater)
      [#24874](#24874)
* buffer:
    * use stricter range checks (Ruben Bridgewater)
      [#27045](#27045)
    * harden `SlowBuffer` creation (ZYSzys)
      [#26272](#26272)
    * harden validation of buffer allocation size (ZYSzys)
      [#26162](#26162)
    * do proper error propagation in addon methods (Anna Henningsen)
      [#23939](#23939)
* child_process:
    * remove `options.customFds` (cjihrig)
      [#25279](#25279)
    * harden fork arguments validation (ZYSzys)
      [#27039](#27039)
    * use non-infinite `maxBuffer` defaults (kohta ito)
      [#23027](#23027)
* console:
    * don't use ANSI escape codes when `TERM=dumb` (Vladislav Kaminsky)
      [#26261](#26261)
* crypto:
    * remove legacy native handles (Tobias Nießen)
      [#27011](#27011)
    * decode missing passphrase errors (Tobias Nießen)
      [#25208](#25208)
    * remove `Cipher.setAuthTag()` and `Decipher.getAuthTag()`
      (Tobias Nießen)
      [#26249](#26249)
    * remove deprecated `crypto._toBuf()` (Tobias Nießen)
      [#25338](#25338)
    * set `DEFAULT\_ENCODING` property to non-enumerable
      (Antoine du Hamel)
      [#23222](#23222)
* deps:
    * update V8 to 7.4.288.13
    (Michaël Zasso, cjihrig, Refael Ackermann)
    (Anna Henningsen, Ujjwal Sharma)
      [#26685](#26685)
    * bump minimum icu version to 63 (Ujjwal Sharma)
      [#25852](#25852)
    * update OpenSSL to 1.1.1b (Sam Roberts, Shigeki Ohtsu)
      [#26327](#26327)
* errors:
    * update error name (Ruben Bridgewater)
      [#26738](#26738)
* fs:
    * use proper .destroy() implementation for SyncWriteStream
      (Matteo Collina)
      [#26690](#26690)
    * improve mode validation (Ruben Bridgewater)
      [#26575](#26575)
    * harden validation of start option in `createWriteStream()`
      (ZYSzys)
      [#25579](#25579)
    * make writeFile consistent with readFile wrt fd
      (Sakthipriyan Vairamani (thefourtheye))
      [#23709](#23709)
* http:
    * validate timeout in `ClientRequest()` (cjihrig)
      [#26214](#26214)
    * return HTTP 431 on `HPE_HEADER_OVERFLOW` error (Albert Still)
      [#25605](#25605)
    * switch default parser to llhttp (Anna Henningsen)
      [#24870](#24870)
    * Runtime-deprecate `outgoingMessage._headers` and
      `outgoingMessage._headerNames` (Morgan Roderick)
      [#24167](#24167)
* lib:
    * remove `Atomics.wake()` (Gus Caplan)
      [#27033](#27033)
    * move DTRACE\_\* probes out of global scope (James M Snell)
      [#26541](#26541)
    * deprecate `_stream_wrap` (Sam Roberts)
      [#26245](#26245)
    * use ES6 class inheritance style (Ruben Bridgewater)
      [#24755](#24755)
* module:
    * remove unintended access to deps/ (Anna Henningsen)
      [#25138](#25138)
    * improve error message for MODULE\_NOT\_FOUND (Ali Ijaz Sheikh)
      [#25690](#25690)
    * requireStack property for MODULE\_NOT\_FOUND (Ali Ijaz Sheikh)
      [#25690](#25690)
    * remove dead code (Ruben Bridgewater)
      [#26983](#26983)
    * make `require('.')` never resolve outside the current directory
      (Ruben Bridgewater)
      [#26973](#26973)
    * throw an error for invalid package.json main entries
      (Ruben Bridgewater)
      [#26823](#26823)
    * don't search in `require.resolve.paths` (cjihrig)
      [#23683](#23683)
* net:
    * remove `Server.listenFD()` (cjihrig)
      [#27127](#27127)
    * do not add `.host` and `.port` properties to DNS error
      (Ruben Bridgewater)
      [#26751](#26751)
    * emit "write after end" errors in the next tick (Ouyang Yadong)
      [#24457](#24457)
    * deprecate `_setSimultaneousAccepts()` undocumented function
      (James M Snell)
      [#23760](#23760)
* os:
    * implement `os.type()` using `uv_os_uname()` (cjihrig)
      [#25659](#25659)
    * remove `os.getNetworkInterfaces()` (cjihrig)
      [#25280](#25280)
* process:
    * make global.process, global.Buffer getters (Guy Bedford)
      [#26882](#26882)
    * move DEP0062 (node --debug) to end-of-life (Joyee Cheung)
      [#25828](#25828)
    * exit on --debug and --debug-brk after option parsing
      (Joyee Cheung)
      [#25828](#25828)
    * improve `--redirect-warnings` handling (Ruben Bridgewater)
      [#24965](#24965)
* readline:
    * support TERM=dumb (Vladislav Kaminsky)
      [#26261](#26261)
* repl:
    * add welcome message (gengjiawen)
      [#25947](#25947)
    * fix terminal default setting (Ruben Bridgewater)
      [#26518](#26518)
    * check colors with `.getColorDepth()` (Vladislav Kaminsky)
      [#26261](#26261)
    * deprecate REPLServer.rli (Ruben Bridgewater)
      [#26260](#26260)
* src:
    * remove unused `INT_MAX` constant (Sam Roberts)
      [#27078](#27078)
    * update `NODE_MODULE_VERSION` to 72 (Ujjwal Sharma)
      [#26685](#26685)
    * remove `AddPromiseHook()` (Anna Henningsen)
      [#26574](#26574)
    * clean up `MultiIsolatePlatform` interface (Anna Henningsen)
      [#26384](#26384)
    * properly configure default heap limits (Ali Ijaz Sheikh)
      [#25576](#25576)
    * remove `icuDataDir` from node config (GauthamBanasandra)
      [#24780](#24780)
* tls:
    * support TLSv1.3 (Sam Roberts)
      [#26209](#26209)
    * return correct version from `getCipher()` (Sam Roberts)
      [#26625](#26625)
    * check arg types of renegotiate() (Sam Roberts)
      [#25876](#25876)
    * add code for `ERR_TLS_INVALID_PROTOCOL_METHOD` (Sam Roberts)
      [#24729](#24729)
    * emit a warning when servername is an IP address (Rodger Combs)
      [#23329](#23329)
    * disable TLS v1.0 and v1.1 by default (Ben Noordhuis)
      [#23814](#23814)
    * remove unused arg to createSecureContext() (Sam Roberts)
      [#24241](#24241)
    * deprecate `Server.prototype.setOptions()` (cjihrig)
      [#23820](#23820)
    * load `NODE_EXTRA_CA_CERTS` at startup (Ouyang Yadong)
      [#23354](#23354)
* util:
    * remove `util.print()`, `util.puts()`, `util.debug()`
      and `util.error()` (cjihrig)
      [#25377](#25377)
    * change inspect compact and breakLength default
      (Ruben Bridgewater)
      [#27109](#27109)
    * improve inspect edge cases (Ruben Bridgewater)
      [#27109](#27109)
    * only the first line of the error message (Simon Zünd)
      [#26685](#26685)
    * don't set the prototype of callbackified functions
      (Ruben Bridgewater)
      [#26893](#26893)
    * rename callbackified function (Ruben Bridgewater)
      [#26893](#26893)
    * increase function length when using `callbackify()`
      (Ruben Bridgewater)
      [#26893](#26893)
    * prevent tampering with internals in `inspect()`
      (Ruben Bridgewater)
      [#26577](#26577)
    * prevent Proxy traps being triggered by `.inspect()`
      (Ruben Bridgewater)
      [#26241](#26241)
    * prevent leaking internal properties (Ruben Bridgewater)
      [#24971](#24971)
    * protect against monkeypatched Object prototype for inspect()
      (Rich Trott)
      [#25953](#25953)
    * treat format arguments equally (Roman Reiss)
      [#23162](#23162)
* win, fs:
    * detect if symlink target is a directory (Bartosz Sosnowski)
      [#23724](#23724)
* zlib:
    * throw TypeError if callback is missing (Anna Henningsen)
      [#24929](#24929)
    * make “bare” constants un-enumerable (Anna Henningsen)
      [#24824](#24824)

PR-URL: #26930
@nodejs-github-bot
Copy link
Collaborator

@BethGriggs
Copy link
Member Author

@addaleax I have pulled in the first of those - thank you, it does make the notable changes clearer/easier to read :)

@refack
Copy link
Contributor

refack commented Apr 23, 2019

Extra Test Suites (['internet', 'benchmark', 'pummel']): https://ci.nodejs.org/job/node-test-commit-custom-suites-freestyle/6420/
We should make running those SOP (I'll make a node-release-candidate job that starts the 4 jobs (PR, V8, extras, CITGM))

@BethGriggs
Copy link
Member Author

@refack, I didn't realise those additional suites were run via a separate job - I can update releases.md to make sure we run on each release.

There seems to have been one test failure benchmark/http/bench-parser.js . Do we block the release on that? Or follow up with a fix in the next v12.x? (/cc @nodejs/release thoughts?)

(I was tagging and about to upload the release as you posted)

@MylesBorins
Copy link
Contributor

I think we are in to move forward and patch that benchmark fix in a follow up

@BethGriggs
Copy link
Member Author

Ah, i've just spotted #27359, I think we're good to go as it is a test issue.

@mhdawson
Copy link
Member

@BethGriggs. Good you found that I was looking at the test and it had not be modified recently so good to see we have already decided its a test issue.

@refack
Copy link
Contributor

refack commented Apr 23, 2019

@refack, I didn't realise those additional suites were run via a separate job - I can update releases.md to make sure we run on each release.

@joyeecheung and I realized that as well just a few minutes ago. I'm setting up https://ci.nodejs.org/job/node-release-candidate/ to be a self-documenting pre-release job.

@BethGriggs BethGriggs merged commit 2f45ad8 into v12.x Apr 23, 2019
BethGriggs added a commit that referenced this pull request Apr 23, 2019
BethGriggs added a commit that referenced this pull request Apr 23, 2019
Notable changes:

* assert:
    * validate required arguments (Ruben Bridgewater)
      [#26641](#26641)
    * adjust loose assertions (Ruben Bridgewater)
      [#25008](#25008)
* async_hooks:
    * remove deprecated `emitBefore` and `emitAfter` (Matteo Collina)
      [#26530](#26530)
    * remove promise object from resource (Andreas Madsen)
      [#23443](#23443)
* bootstrap: make Buffer and process non-enumerable (Ruben Bridgewater)
      [#24874](#24874)
* buffer:
    * use stricter range checks (Ruben Bridgewater)
      [#27045](#27045)
    * harden `SlowBuffer` creation (ZYSzys)
      [#26272](#26272)
    * harden validation of buffer allocation size (ZYSzys)
      [#26162](#26162)
    * do proper error propagation in addon methods (Anna Henningsen)
      [#23939](#23939)
* child_process:
    * remove `options.customFds` (cjihrig)
      [#25279](#25279)
    * harden fork arguments validation (ZYSzys)
      [#27039](#27039)
    * use non-infinite `maxBuffer` defaults (kohta ito)
      [#23027](#23027)
* console:
    * don't use ANSI escape codes when `TERM=dumb` (Vladislav Kaminsky)
      [#26261](#26261)
* crypto:
    * remove legacy native handles (Tobias Nießen)
      [#27011](#27011)
    * decode missing passphrase errors (Tobias Nießen)
      [#25208](#25208)
    * remove `Cipher.setAuthTag()` and `Decipher.getAuthTag()`
      (Tobias Nießen)
      [#26249](#26249)
    * remove deprecated `crypto._toBuf()` (Tobias Nießen)
      [#25338](#25338)
    * set `DEFAULT\_ENCODING` property to non-enumerable
      (Antoine du Hamel)
      [#23222](#23222)
* deps:
    * update V8 to 7.4.288.13
    (Michaël Zasso, cjihrig, Refael Ackermann)
    (Anna Henningsen, Ujjwal Sharma)
      [#26685](#26685)
    * bump minimum icu version to 63 (Ujjwal Sharma)
      [#25852](#25852)
    * update OpenSSL to 1.1.1b (Sam Roberts, Shigeki Ohtsu)
      [#26327](#26327)
* errors:
    * update error name (Ruben Bridgewater)
      [#26738](#26738)
* fs:
    * use proper .destroy() implementation for SyncWriteStream
      (Matteo Collina)
      [#26690](#26690)
    * improve mode validation (Ruben Bridgewater)
      [#26575](#26575)
    * harden validation of start option in `createWriteStream()`
      (ZYSzys)
      [#25579](#25579)
    * make writeFile consistent with readFile wrt fd
      (Sakthipriyan Vairamani (thefourtheye))
      [#23709](#23709)
* http:
    * validate timeout in `ClientRequest()` (cjihrig)
      [#26214](#26214)
    * return HTTP 431 on `HPE_HEADER_OVERFLOW` error (Albert Still)
      [#25605](#25605)
    * switch default parser to llhttp (Anna Henningsen)
      [#24870](#24870)
    * Runtime-deprecate `outgoingMessage._headers` and
      `outgoingMessage._headerNames` (Morgan Roderick)
      [#24167](#24167)
* lib:
    * remove `Atomics.wake()` (Gus Caplan)
      [#27033](#27033)
    * move DTRACE\_\* probes out of global scope (James M Snell)
      [#26541](#26541)
    * deprecate `_stream_wrap` (Sam Roberts)
      [#26245](#26245)
    * use ES6 class inheritance style (Ruben Bridgewater)
      [#24755](#24755)
* module:
    * remove unintended access to deps/ (Anna Henningsen)
      [#25138](#25138)
    * improve error message for MODULE\_NOT\_FOUND (Ali Ijaz Sheikh)
      [#25690](#25690)
    * requireStack property for MODULE\_NOT\_FOUND (Ali Ijaz Sheikh)
      [#25690](#25690)
    * remove dead code (Ruben Bridgewater)
      [#26983](#26983)
    * make `require('.')` never resolve outside the current directory
      (Ruben Bridgewater)
      [#26973](#26973)
    * throw an error for invalid package.json main entries
      (Ruben Bridgewater)
      [#26823](#26823)
    * don't search in `require.resolve.paths` (cjihrig)
      [#23683](#23683)
* net:
    * remove `Server.listenFD()` (cjihrig)
      [#27127](#27127)
    * do not add `.host` and `.port` properties to DNS error
      (Ruben Bridgewater)
      [#26751](#26751)
    * emit "write after end" errors in the next tick (Ouyang Yadong)
      [#24457](#24457)
    * deprecate `_setSimultaneousAccepts()` undocumented function
      (James M Snell)
      [#23760](#23760)
* os:
    * implement `os.type()` using `uv_os_uname()` (cjihrig)
      [#25659](#25659)
    * remove `os.getNetworkInterfaces()` (cjihrig)
      [#25280](#25280)
* process:
    * make global.process, global.Buffer getters (Guy Bedford)
      [#26882](#26882)
    * move DEP0062 (node --debug) to end-of-life (Joyee Cheung)
      [#25828](#25828)
    * exit on --debug and --debug-brk after option parsing
      (Joyee Cheung)
      [#25828](#25828)
    * improve `--redirect-warnings` handling (Ruben Bridgewater)
      [#24965](#24965)
* readline:
    * support TERM=dumb (Vladislav Kaminsky)
      [#26261](#26261)
* repl:
    * add welcome message (gengjiawen)
      [#25947](#25947)
    * fix terminal default setting (Ruben Bridgewater)
      [#26518](#26518)
    * check colors with `.getColorDepth()` (Vladislav Kaminsky)
      [#26261](#26261)
    * deprecate REPLServer.rli (Ruben Bridgewater)
      [#26260](#26260)
* src:
    * remove unused `INT_MAX` constant (Sam Roberts)
      [#27078](#27078)
    * update `NODE_MODULE_VERSION` to 72 (Ujjwal Sharma)
      [#26685](#26685)
    * remove `AddPromiseHook()` (Anna Henningsen)
      [#26574](#26574)
    * clean up `MultiIsolatePlatform` interface (Anna Henningsen)
      [#26384](#26384)
    * properly configure default heap limits (Ali Ijaz Sheikh)
      [#25576](#25576)
    * remove `icuDataDir` from node config (GauthamBanasandra)
      [#24780](#24780)
* tls:
    * support TLSv1.3 (Sam Roberts)
      [#26209](#26209)
    * return correct version from `getCipher()` (Sam Roberts)
      [#26625](#26625)
    * check arg types of renegotiate() (Sam Roberts)
      [#25876](#25876)
    * add code for `ERR_TLS_INVALID_PROTOCOL_METHOD` (Sam Roberts)
      [#24729](#24729)
    * emit a warning when servername is an IP address (Rodger Combs)
      [#23329](#23329)
    * disable TLS v1.0 and v1.1 by default (Ben Noordhuis)
      [#23814](#23814)
    * remove unused arg to createSecureContext() (Sam Roberts)
      [#24241](#24241)
    * deprecate `Server.prototype.setOptions()` (cjihrig)
      [#23820](#23820)
    * load `NODE_EXTRA_CA_CERTS` at startup (Ouyang Yadong)
      [#23354](#23354)
* util:
    * remove `util.print()`, `util.puts()`, `util.debug()`
      and `util.error()` (cjihrig)
      [#25377](#25377)
    * change inspect compact and breakLength default
      (Ruben Bridgewater)
      [#27109](#27109)
    * improve inspect edge cases (Ruben Bridgewater)
      [#27109](#27109)
    * only the first line of the error message (Simon Zünd)
      [#26685](#26685)
    * don't set the prototype of callbackified functions
      (Ruben Bridgewater)
      [#26893](#26893)
    * rename callbackified function (Ruben Bridgewater)
      [#26893](#26893)
    * increase function length when using `callbackify()`
      (Ruben Bridgewater)
      [#26893](#26893)
    * prevent tampering with internals in `inspect()`
      (Ruben Bridgewater)
      [#26577](#26577)
    * prevent Proxy traps being triggered by `.inspect()`
      (Ruben Bridgewater)
      [#26241](#26241)
    * prevent leaking internal properties (Ruben Bridgewater)
      [#24971](#24971)
    * protect against monkeypatched Object prototype for inspect()
      (Rich Trott)
      [#25953](#25953)
    * treat format arguments equally (Roman Reiss)
      [#23162](#23162)
* win, fs:
    * detect if symlink target is a directory (Bartosz Sosnowski)
      [#23724](#23724)
* zlib:
    * throw TypeError if callback is missing (Anna Henningsen)
      [#24929](#24929)
    * make “bare” constants un-enumerable (Anna Henningsen)
      [#24824](#24824)

PR-URL: #26930
BethGriggs added a commit to BethGriggs/nodejs.org that referenced this pull request Apr 23, 2019
BethGriggs added a commit to nodejs/nodejs.org that referenced this pull request Apr 23, 2019
@addaleax addaleax deleted the v12.x-proposal branch April 23, 2019 17:48
@targos targos added release Issues and PRs related to Node.js releases. and removed meta Issues and PRs related to the general management of the project. labels Jun 6, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
release Issues and PRs related to Node.js releases.
Projects
None yet
Development

Successfully merging this pull request may close these issues.