diff --git a/doc/ctc-meetings/2016-08-10.md b/doc/ctc-meetings/2016-08-10.md new file mode 100644 index 00000000000000..6532fe387d673b --- /dev/null +++ b/doc/ctc-meetings/2016-08-10.md @@ -0,0 +1,281 @@ +# Node Foundation CTC Meeting 2016-08-10 + +## Links + +* **Audio Recording**: TBP +* **GitHub Issue**: [#8030](https://github.com/nodejs/node/issues/8030) +* **Minutes Google Doc**: +* _Previous Minutes Google Doc: _ + + + +## Present + +* Anna Henningsen @addaleax (CTC) +* Bradley Meck @bmeck (observer/GoDaddy/TC39) +* Ben Noordhuis @bnoordhuis (CTC) +* Сковорода Никита Андреевич @ChALkeR (CTC) +* Colin Ihrig @cjihrig (CTC) +* Evan Lucas @evanlucas (CTC) +* Jeremiah Senkpiel @Fishrock123 (CTC) +* Tracy Hinds @hackygolucky (observer/Node.js Foundation) +* James M Snell @jasnell (CTC) +* Josh Gavant @joshgav (observer/Microsoft) +* Michael Dawson @mhdawson (CTC) +* Brian White @mscdex (CTC) +* Ali Ijaz Sheikh @ofrobots (CTC) +* Myles Borins @TheAlphaNerd (observer/IBM) +* Trevor Norris @trevnorris (CTC) +* Rich Trott @Trott (CTC) + + +## Standup + +* Anna Henningsen @addaleax (CTC) + * Issues/PR review +* Bradley Meck @bmeck (observer/GoDaddy/TC39) + * Came up with overhauled plan for Module moving forward +* Сковорода Никита Андреевич @ChALkeR (CTC) + * A bit more work on the ecosystem detection tool + * Mostly comments, nothing significant + * Will file a docs linting PR soon — needs some final cleanup +* Colin Ihrig @cjihrig (CTC) + * Reviewing issues and PRs + * Working on the v6.4.0 release +* Evan Lucas @evanlucas (CTC) + * some more commit validation work + * backport pr for worker.exitedAfterDisconnect to v4.x +* Jeremiah Senkpiel @Fishrock123 (CTC) + * Nothing in particular +* Tracy Hinds @hackygolucky (observer/Node.js Foundation) +* James M Snell @jasnell (CTC) + * Going through PRs/Issues + * More exploration of possibility of HTTP/2 impl in core + * Other miscellaneous things +* Josh Gavant @joshgav (observer/Microsoft) + * meetings notes + * review some issues +* Michael Dawson @mhdawson (CTC) + * adding linxuOne release machine to the release CI, and getting linuxOne added to release job so that we get nightlies for that platform + * configuring new AIX machines from osuosl, adding to CI and validating with AIX build jobs that they look good. Working to get added to regular regression jobs. + * Working on build wg, FIPs and post-mortem presentations for Node interactive Europe + * Landing a few PRs + * Reading/commenting on issues + * Participation in LTS and Build WGs + * ABI stable API PoC +* Brian White @mscdex (CTC) + * Reviewing PRs, commenting on issues +* Ali Ijaz Sheikh @ofrobots (CTC) + * v8_inspector updates, V8 backports, writing up a doc on maintaining V8 +* Myles Borins @TheAlphaNerd (observer/IBM) + * v4.5.0 testing (potential regression) + * ABI Smoke Testing Job + * Landing V8 5.1 on v6.x + * junit reporters for CI with Johann +* Trevor Norris @trevnorris (CTC) + * PR reviews + * Vacation most of the week +* Rich Trott @Trott (CTC) + * onboarded @fhinkel + * minor work on tests + * ESLint update, minor indentation rule update +* Steven Loomis (Observer) + * Asked me to pass on his regrets as he’s on vacation. + * He’s been working on more Intl related items. + + +## Agenda + +Extracted from **ctc-agenda** labelled issues and pull requests from the **nodejs org** prior to the meeting. + +### nodejs/node + +* v4.5.0 proposal [#7688](https://github.com/nodejs/node/pull/7688) +* buffer: hard-deprecate Buffer constructor [#7152](https://github.com/nodejs/node/pull/7152) +* Revert "fs: add a temporary fix for re-evaluation support" [#6413](https://github.com/nodejs/node/pull/6413) +* errors: add internal/errors module [#6573](https://github.com/nodejs/node/pull/6573) +* Introduce staging branch for stable release streams [#6306](https://github.com/nodejs/node/issues/6306) + +### nodejs/node-eps + +* proposal: WHATWG URL standard implementation [#28](https://github.com/nodejs/node-eps/pull/28) + +### general + +* discussion: CommonJS and ES6 modules interoperability () + + +## Previous Meeting + +### nodejs/node + +* CTC membership nomination: @addaleax [#7607](https://github.com/nodejs/node/issues/7607) +* Revert fs changes [#7846](https://github.com/nodejs/node/pull/7846) +* [meta] realpath issues in v6 [#7726](https://github.com/nodejs/node/issues/7726) +* v4.5.0 proposal [#7688](https://github.com/nodejs/node/pull/7688) +* build: drop support for VS 2013 in v7 [#7484](https://github.com/nodejs/node/issues/7484) + * New issue specifically for v6: [#7989](https://github.com/nodejs/node/issues/7989) +* http: don't inherit from Object.prototype [#6102](https://github.com/nodejs/node/pull/6102) + +### nodejs/node-eps + +* proposal: WHATWG URL standard implementation [#28](https://github.com/nodejs/node-eps/pull/28) + +## Minutes + +### v4.5.0 proposal [#7688](https://github.com/nodejs/node/pull/7688) + +@thealphanerd: investigating problem with Bower, may delay release, if so will notify everyone. + +**Next steps**: + +* As above. + +--- + +### buffer: hard-deprecate Buffer constructor [#7152](https://github.com/nodejs/node/pull/7152) + +@trevnorris: In the future the Buffer function will need to be a proper class so that `iterate` can return a buffer and so that users can inherit from Buffer. + +Enabling inheritance forces the use of `new`. Thus it will break anyone who uses `Buffer` without the `new` keyword. + +@evanlucas: Wasn’t there a way around that? +Perhaps with use of @@species symbol, but still doesn’t remove the fact that we’ll need to remove the `new` keyword at some point. + +@addaleax: We could work around using `Reflect` API and check if call was made with `new` or not. There were perf concerns, @RReverser worked on something (see ). + +@evanlucas: Can we do that and just soft-deprecate not using `new`? + +@jasnell: We should absolutely *not* deprecate `new Buffer(...)`. + +@chalker: [Deprecating `new Buffer()` will force libraries to work around this in 0.10, 0.12, and LTS <4.4, doesn’t sound like a good thing to do now. + +**Next steps**: + +* Continue discussion in GitHub. +* Finalize decision next week. + +--- + +### Revert "fs: add a temporary fix for re-evaluation support" [#6413](https://github.com/nodejs/node/pull/6413) + +Do we land the revert? + +@chalker: This is going to break modules, notably those which depend on `graceful-fs`, including `gulp` and `unzip` (there’s another unzip module people use, unzip is not updated for a long time and its usage is rapidly decreasing), other inactive modules. + +gulp will update `graceful-fs` Gulp v4. Gulp accounts for 42% of usage of `graceful-fs`. Gulp doesn’t want to update `graceful-fs` in v3 because it's a semver-major change, wants to wait for semver-major update till v4. + +@jasnell: If we keep it as is I don’t think the modules are going to get fixed. + +@thealphanerd: if gulp v3 isn’t updated then it will continue to cause problems for people through v7 lifetime. Can gulp do something to make this easier on the community? + +@thealphanerd will follow up with gulp project leads about updating `graceful-fs` in Gulp v3. + +@chalker: Old version of `graceful-fs` now includes its own message that it will be broken in Node v7. Would be best to live up to our commitment. + +**Next steps**: + +* Myles to follow up with Gulp about changes in v3, notify CTC as appropriate. +* Finalize decision next week. + +--- + +### proposal: WHATWG URL standard implementation [#28](https://github.com/nodejs/node-eps/pull/28) + +Should `url` be a global or not? +@jasnell: To start let’s just not make it a global. + +@jasnell: No need to include this in v6; include in master and in v7. + +First step is to decide to land this as an EP in Node-EPs. Then, consider implementation. + +@evanlucas: Will the similarity of these cause confusion? +`require(‘url’).Url` and `require(‘url’).URL`. + +@jasnell: best answer is I’m not sure yet. + +@jasnell: We’ll move forward on the EP without the global. + +**Next steps**: + +* Remove global then land EP. +* Continue work/review on impl. + +--- + +### errors: add internal/errors module [#6573](https://github.com/nodejs/node/pull/6573) + +@jasnell: This begins the process of changing errors implementation so that changes to their text are not semver-major. + +Do we want this to land in v7? If we do, it needs to be complete by the end of August. + +@Fishrock123: think about whether we can keep the syntax similar between js and c++. + +@jasnell: if additional work is needed for C errors we should not rush it. + +**Next steps**: + +* Review in GitHub. +* Finalize next week. + +--- + +### Introduce staging branch for stable release streams [#6306](https://github.com/nodejs/node/issues/6306) + +@thealphanerd: If we had a staging branch we’d avoid blocking releases due to problematic commits. + +@Fishrock123: You can already stage to `v6.x` but usually people don’t do that. + +@thealphanerd: Since it has the same function as `staging` it would be good to name them similarly. + +@bnoordhuis: it’s confusing that there are different ways to get PRs backported in different branches. + +@Fishrock123: Actual practices are not likely to change. + +**Next steps**: + +* Continue discussion in GH. +* Keep on agenda. + +--- + +### discussion: CommonJS and ES6 modules interoperability (see ) + +@bmeck: + +* Cannot match babel’s semantics. +* Cannot support named imports from CJS modules. + +We cannot match babel’s semantics so whatever happens in the future, at a minimum people who use babel to compile will have to change to use whatever Node is using for ES modules. + +There’s no real way for us to support named imports from CJS modules, so these will be imported as the `default` property only, so people will not be able to use just `readFile` from `fs`. + +Those 2 breakages mean we have to rethink this. First route was to match babel. + +@bmeck proposes Node does a hard break. Remove most of Node’s magic names. + +We’ll need a separate WHATWG `registry` object + +@bmeck: New features are going to be targeting the module grammar exclusively. For example, `await` is not a keyword in the script grammar and if it’s treated that way it’s a language extension. TC39 considers `script` somewhat legacy. + +**Next steps**: + +* Schedule a session specifically on modules. + +--- + +## Q/A on public fora + +Q: Regarding WHATWG URL, how will updates be handled - major, minor, bug fix? + +@jasnell: Still need to figure out process. Currently monitoring WHATWG to get a sense of their process. If their change is semver-major ours would presumably also be. + +## Upcoming Meetings + +* CTC: 2016-08-17 +* TSC: 2016-08-11 +* Build: Sept +* LTS: Sept +* Diagnostics: Sept +* Post-Mortem: Sept +* API: Sept