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

11.0.0 proposal #23230

Closed
wants to merge 2 commits into from
Closed

11.0.0 proposal #23230

wants to merge 2 commits into from

Conversation

jasnell
Copy link
Member

@jasnell jasnell commented Oct 2, 2018

This is the in progress 11.0.0 release. The changelog is expected to change significantly as new 10.x releases occur between now and Oct 23.

Please consider the semver-major cut-off to be in effect. I will only pull in semver-major commits that have consensus from the TSC or are considered critical fixes

Notable Changes (DRAFT):

  • Build
    • FreeBSD 10 is no longer supported. #22617
  • child_process
    • The default value of the windowsHide option has been changed to true. #21316
  • console
    • console.countReset() will emit a warning if the timer being reset does not exist. #21649
    • console.time() will no longer reset a timer if it already exists. #20442
  • crypto
    • PEM-level encryption is now supported. #23151
    • An API for key pair generation has been added. #22660
  • Dependencies
    • V8 has been updated to 7.0. #22754
  • fs
    • The fs.read() method now requires a callback. #22146
    • The previously deprecated fs.SyncWriteStream utility has been removed.#20735
  • http
    • The http, https, and tls modules now use the WHATWG URL parser by default. #20270
  • http2
    • An event will be emitted when a PING frame is received. #23009
    • Support for the ORIGIN frame has been added. #22956
  • General
    • Use of process.binding() has been deprecated. Userland code using process.binding() should re-evaluate that use and begin migrating.
    • An experimental implementation of queueMicrotask() has been added. #22951
  • Internal
    • Windows performance-counter support has been removed. #22485
    • The --expose-http2 command-line option has been removed. #20887
  • Promises
    • A new multipleResolves event will be emitted when a Promise is resolved (or rejected) more than once. #22218
  • Timers
    • Interval timers will be rescheduled even if previous interval threw an error. #20002
  • util
    • The WHATWG TextEncoder and TextDecoder are now globals. #22281
    • util.inspect() output size is limited to 128 MB by default. #22756
    • A runtime warning will be emitted when NODE_DEBUG is set for either http or http2. #21914
Checklist
  • make -j4 test (UNIX), or vcbuild test (Windows) passes
  • tests and/or benchmarks are included
  • documentation is changed or added
  • commit message follows commit guidelines

@jasnell jasnell added the wip Issues and PRs that are still a work in progress. label Oct 2, 2018
@jasnell jasnell added this to the 11.0.0 milestone Oct 2, 2018
@nodejs-github-bot nodejs-github-bot added the meta Issues and PRs related to the general management of the project. label Oct 2, 2018
@vsemozhetbyt
Copy link
Contributor

Please consider also #23181

@jasnell
Copy link
Member Author

jasnell commented Oct 2, 2018

@targos: would you be able to point to a concise summary of the new v8 features in V8 7.0 relative to the 6.8 version currently in Node.js 10?

@jasnell jasnell changed the title 11.0.0 proposal [WIP] 11.0.0 proposal Oct 2, 2018
@jasnell
Copy link
Member Author

jasnell commented Oct 2, 2018

@vsemozhetbyt ... Can you please tag that pr with the 11.0 milestone? I'm not at my laptop at the moment to do so.

@richardlau
Copy link
Member

Can you please tag that pr with the 11.0 milestone? I'm not at my laptop at the moment to do so.

Done.

@@ -8,7 +8,8 @@ release lines.

Select a Node.js version below to view the changelog history:

* [Node.js 10](doc/changelogs/CHANGELOG_V10.md) — **Current**
* [Node.js 11](doc/changelogs/CHANGELOG_V11.md) - **Current**
* [Node.js 10](doc/changelogs/CHANGELOG_V10.md) — Current
Copy link
Member

Choose a reason for hiding this comment

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

Are we going to have two current releases (10 and 11) until 10 turns LTS later this month?

Copy link
Member Author

Choose a reason for hiding this comment

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

Yes, unfortunately.

@vsemozhetbyt
Copy link
Contributor

Some of the V8 news are:

  1. Array.prototype.flat() and Array.prototype.flatMap() in V8 6.9 (semver minor)
    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flat
    https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/flatMap
  2. Stable Array.prototype.sort() in V8 7.0 (semver major, can break things)
    https://en.wikipedia.org/wiki/Sorting_algorithm#Stability
    https://v8.dev/blog/array-sort

@ronkorving
Copy link
Contributor

Friendly suggestion for the release notes:

Use of process.binding() has been deprecated. Userland code using process.binding() should re-evaluate that use and begin migrating.

migrating to.... what? I would suggest adding that to that sentence.

@@ -934,8 +934,8 @@ is not supported.
<!-- YAML
added: v8.3.0
changes:
- version: REPLACEME
pr-url: REPLACEME
Copy link
Member

Choose a reason for hiding this comment

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

This should be: #22281

Copy link
Member Author

Choose a reason for hiding this comment

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

ugh... we need to update the docs to request that people not use the REPLACEME as a token in the pr-url field. That needs to be filled in either before landing the PR or as it is landed so it doesn't get missed.

Copy link
Contributor

@refack refack Oct 3, 2018

Choose a reason for hiding this comment

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

This should have a lint rule, probably added to the mythical commit-queue, and in the meantime to ncu (nodejs/automation#29)

@@ -995,8 +995,8 @@ mark.
<!-- YAML
added: v8.3.0
changes:
- version: REPLACEME
pr-url: REPLACEME
Copy link
Member

Choose a reason for hiding this comment

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

This should be: #22281

@markozxuu
Copy link

@jasnell Any new about ECMAScript Modules? 😸

@jasnell
Copy link
Member Author

jasnell commented Oct 3, 2018

@mapeso ... nothing significant. Work is progressing on that on a variety of fronts but there are not notable changes there specifically in 11.0.0 at this time. Because the ESM stuff is experimental, most of those changes will roll in incrementally through multiple patch and minor releases until it is stable enough to graduate from experimental.

@cloudever
Copy link

What about stable workers?

@addaleax
Copy link
Member

addaleax commented Oct 3, 2018

@cloudever #22940 tracks the progress on that :)

@cosminn777

This comment has been minimized.

@targos
Copy link
Member

targos commented Oct 7, 2018

Many semver-minor commits are going to be in v10.12.0: #23313

@jasnell
Copy link
Member Author

jasnell commented Oct 8, 2018

@targos

Many semver-minor commits are going to be in v10.12.0

Yep, I expected as much. I usually churn through the changelog 4 or 5 times before the actual release happens. I suspect the changelog for 11.0.0 is going to be much smaller.

@jasnell jasnell force-pushed the 11.0.0-proposal branch 2 times, most recently from 201ce61 to 91a54dd Compare October 17, 2018 20:04
@jasnell
Copy link
Member Author

jasnell commented Oct 17, 2018

Updated to master.
Test build underway: https://ci-release.nodejs.org/job/iojs+release/3850/
CI: https://ci.nodejs.org/job/node-test-pull-request/17949/
CITGM: https://ci.nodejs.org/view/Node.js-citgm/job/citgm-smoker/1591/

Small nit... waiting a few minutes to start CI again...

@jasnell
Copy link
Member Author

jasnell commented Oct 17, 2018

@jasnell
Copy link
Member Author

jasnell commented Oct 18, 2018

Resume CI: https://ci.nodejs.org/job/node-test-pull-request/17975/

Test build: https://ci-release.nodejs.org/job/iojs+release/3853/ (not everyone will be able to see this link)

@apapirovski
Copy link
Member

Quick question: I'm guessing you weren't able to pull in #22842?

Notable changes:

* Build
  * FreeBSD 10 is no longer supported.[#22617](#22617)
* `child_process`
  * The default value of the `windowsHide` option has been changed
    to `true`. [#21316](#21316)
* `console`
  * `console.countReset()` will emit a warning if the timer
    being reset does not exist. [#21649](#21649)
  * `console.time()` will no longer reset a timer if it already
    exists. [#20442](#20442)
* Dependencies
  * V8 has been updated to 7.0.
    [#22754](#22754)
* `fs`
  * The `fs.read()` method now requires a callback.
    [#22146](#22146)
  * The previously deprecated `fs.SyncWriteStream` utility has been
    removed.[#20735](#20735)
* `http`
  * The `http`, `https`, and `tls` modules now use the WHATWG URL parser
    by default. [#20270](#20270)
* General
  * Use of `process.binding()` has been deprecated. Userland code using
    `process.binding()` should re-evaluate that use and begin migrating. If
    there are no supported API alternatives, please open an issue in the
    Node.js GitHub repository so that a suitable alternative may be discussed.
  * An experimental implementation of `queueMicrotask()` has been added.
    [#22951](#22951)
* Internal
  * Windows performance-counter support has been removed.
    [#22485](#22485)
  * The `--expose-http2` command-line option has been removed.
    [#20887](#20887)
* Timers
  * Interval timers will be rescheduled even if previous interval threw
    an error. [#20002](#20002)
* `util`
  * The WHATWG `TextEncoder` and `TextDecoder` are now globals.
    [#22281](#22281)
  * `util.inspect()` output size is limited to 128 MB by default.
    [#22756](#22756)
  * A runtime warning will be emitted when `NODE_DEBUG` is set for
    either `http` or `http2`. [#21914](#21914)
PR-URL: TBD
@jasnell
Copy link
Member Author

jasnell commented Oct 22, 2018

@jasnell
Copy link
Member Author

jasnell commented Oct 22, 2018

Release Candidate Build: https://ci-release.nodejs.org/job/iojs+release/3860/

@jasnell jasnell removed the wip Issues and PRs that are still a work in progress. label Oct 23, 2018
@jasnell jasnell changed the title [WIP] 11.0.0 proposal 11.0.0 proposal Oct 23, 2018
@jasnell
Copy link
Member Author

jasnell commented Oct 23, 2018

Release build: https://ci-release.nodejs.org/job/iojs+release/3862/ (not everyone will be able to access this link)

jasnell added a commit that referenced this pull request Oct 23, 2018
@jasnell
Copy link
Member Author

jasnell commented Oct 23, 2018

@targos ... have you had any issues running git-secure-tag with recent versions of Node.js? I'm getting a strange error when I try to run it

@jasnell
Copy link
Member Author

jasnell commented Oct 23, 2018

@indutny @targos @nodejs/build ... The release might not happen today unless I'm able to figure out why I'm having the following issue with git-secure-tag..

james@ubuntu:~/node/main$ git secure-tag v11.0.0 cea049bcf8bb0f9a6e0095dbd5dffdb14dc8f71b -sm '2018-10-23 Node.js v11.0.0 (Current) Release'
/home/james/.nvm/versions/node/v10.12.0/lib/node_modules/git-secure-tag/lib/git-secure-tag/batch.js:15
  this.proc.stdout.on('data', data => this.onData(data));
                   ^

TypeError: Cannot read property 'on' of undefined
    at new Batch (/home/james/.nvm/versions/node/v10.12.0/lib/node_modules/git-secure-tag/lib/git-secure-tag/batch.js:15:20)
    at Hash.calculate (/home/james/.nvm/versions/node/v10.12.0/lib/node_modules/git-secure-tag/lib/git-secure-tag/hash.js:144:17)
    at async.waterfall (/home/james/.nvm/versions/node/v10.12.0/lib/node_modules/git-secure-tag/lib/git-secure-tag/api.js:130:12)
    at nextTask (/home/james/.nvm/versions/node/v10.12.0/lib/node_modules/git-secure-tag/node_modules/async/dist/async.js:5324:14)
    at Object.waterfall (/home/james/.nvm/versions/node/v10.12.0/lib/node_modules/git-secure-tag/node_modules/async/dist/async.js:5334:5)
    at API.sign (/home/james/.nvm/versions/node/v10.12.0/lib/node_modules/git-secure-tag/lib/git-secure-tag/api.js:127:9)
    at Object.<anonymous> (/home/james/.nvm/versions/node/v10.12.0/lib/node_modules/git-secure-tag/bin/git-secure-tag:41:7)
    at Module._compile (internal/modules/cjs/loader.js:688:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:699:10)
    at Module.load (internal/modules/cjs/loader.js:598:32)
james@ubuntu:~/node/main$

@jasnell
Copy link
Member Author

jasnell commented Oct 23, 2018

I think I have a temporary work around...

@devsnek
Copy link
Member

devsnek commented Oct 23, 2018

@jasnell will #23794 not make it? its got 9 hours left to land

@Trott
Copy link
Member

Trott commented Oct 23, 2018

@jasnell will #23794 not make it? its got 9 hours left to land

@devsnek Things only need 48 hours to land, so that can land now.

@devsnek
Copy link
Member

devsnek commented Oct 23, 2018

@Trott cool. btw i'm going by git-node counters, is there a bug there?

@Trott
Copy link
Member

Trott commented Oct 23, 2018

@Trott cool. btw i'm going by git-node counters, is there a bug there?

Since the rule changed recently, it may be out of date. Try upgrading to the latest node-core-utils. If that doesn't fix it, open an issue or PR in the node-core-utils repo if there isn't one already.

@jasnell
Copy link
Member Author

jasnell commented Oct 23, 2018

No, it did not make it.

jasnell added a commit to jasnell/new.nodejs.org that referenced this pull request Oct 23, 2018
@devsnek
Copy link
Member

devsnek commented Oct 23, 2018

will there be an 11.0.1 then? queueMicrotask is kinda broken without that commit...

jasnell added a commit to nodejs/nodejs.org that referenced this pull request Oct 23, 2018
@jasnell
Copy link
Member Author

jasnell commented Oct 23, 2018

Released!

@devsnek ... Perhaps in a week or two, yes. I won't be cutting a new release this week unless a regression is found in 11.0.0. Keep in mind that this is precisely why we added queueMicrotask() as experimental. Fixes can be delivered incrementally outside of semver until we're certain it's ready to be used.

@jasnell jasnell closed this Oct 23, 2018
@targos targos added this to Releases in v11.x Oct 24, 2018
@targos
Copy link
Member

targos commented Oct 24, 2018

@jasnell I never had issues with git secure-tag.

@targos targos deleted the 11.0.0-proposal branch October 27, 2018 08:57
@targos targos added the v11.x label Oct 27, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
meta Issues and PRs related to the general management of the project.
Projects
No open projects
v11.x
  
Releases
Development

Successfully merging this pull request may close these issues.

None yet