doc: add CTC meeting minutes 2016-07-13 · nodejs/node@b866fdc

1+

# Node Foundation CTC Meeting 2016-07-13

2+3+

## Links

4+5+

* **Audio Recording**: TBP

6+

* **GitHub Issue**: https://github.com/nodejs/node/issues/7707

7+

* [Minutes Google Doc](https://docs.google.com/document/d/1fP9_ZNcPoFh2VWCgUFu9-rDiDcMP88vhCC_oX6Aj528)

8+

* _[Previous Minutes Google Doc](https://docs.google.com/document/d/1NWIKwYxDTApvc9Xbq5JTMorRPKIBuBKAA0zcjm8K_II)_

9+10+

## Present

11+12+

* Anna Henningsen @addaleax (observer)

13+

* Bradley Meck @bmeck (observer/GoDaddy/TC39)

14+

* Ben Noordhuis @bnoordhuis (CTC)

15+

* Colin Ihrig @cjihrig (CTC)

16+

* Evan Lucas @evanlucas (CTC)

17+

* Jeremiah Senkpiel @Fishrock123 (CTC)

18+

* Fedor Indutny @indutny (CTC)

19+

* Josh Gavant @joshgav (observer/Microsoft)

20+

* Michael Dawson @mhdawson (CTC)

21+

* Brian White @mscdex (CTC)

22+

* Ali Ijaz Sheikh @ofrobots (CTC)

23+

* Alexis Campailla @orangemocha (CTC)

24+

* Rod Vagg @rvagg (CTC)

25+

* Stephen Loomis @srl295 (observer/ICU)

26+

* Myles Borins @TheAlphaNerd (observer)

27+

* Trevor Norris @trevnorris (CTC)

28+

* Rich Trott @Trott (CTC)

29+30+31+

## Standup

32+33+

* Anna Henningsen @addaleax (observer)

34+

* PRs & issues

35+

* Some v4.x backports

36+

* Bradley Meck @bmeck (observer/GoDaddy/TC39)

37+

* Bad news from V8/Chakra. Can’t do property hoisting for Babel like CJS interop.

38+

* Figuring out hooks for creating Modules in older Node versions

39+

* Ben Noordhuis @bnoordhuis (CTC)

40+

* Back-porting patches

41+

* Moving stuff over from malloc() to new[] because of AIX

42+

* ABI compatibility tool

43+

* PRs & issues, of course - how could I forget?

44+

* Colin Ihrig @cjihrig (CTC)

45+

* Reviewed issues and PRs

46+

* Opened a few PRs

47+

* Evan Lucas @evanlucas (CTC)

48+

* Simple doc fix

49+

* Working on cherry-picking into v6.x

50+

* Jeremiah Senkpiel @Fishrock123 (CTC)

51+

* Fixed a TTY test that was silently failing for over a year

52+

* misc PR & issue work

53+

* Fedor Indutny @indutny (CTC)

54+

* Various GYP-related tooling

55+

* Code reviews, and fixing issues

56+

* Josh Gavant @joshgav (observer/Microsoft)

57+

* Diagnostics WG meeting

58+

* debugging docs

59+

* Michael Dawson @mhdawson (CTC)

60+

* Added LinuxOne to v8 tests in CI

61+

* Involvement on some AIX issues

62+

* Working on ABI stable API, API WG meeting this week

63+

* Re-scheduled post-mortem WG meeting for next week, LTS and diagnostic WG meetings

64+

* misc reviews/lands and keeping up on issues

65+

* Brian White @mscdex (CTC)

66+

* Worked on PR to check for accidental git conflict markers when linting in CI

67+

* Backported some commits to v4.x

68+

* Reviewed PRs and commented on issues

69+

* Ali Ijaz Sheikh @ofrobots (CTC)

70+

* Back from vacation, buried in email (sorry for late responses!)

71+

* Alexis Campailla @orangemocha (CTC)

72+

* Investigating ABI incompatibilities. Preparing to drop VS 2013.

73+

* Reviewed miscellaneous Windows issues.

74+

* Resumed work on a PR for case normalization of the module cache on Windows

75+

* Rod Vagg @rvagg (CTC)

76+

* LTS README rework

77+

* Steven Loomis @srl295 (observer/ICU)

78+

* not much here, just trying to keep an eye on issues/PRs

79+

* Myles Borins @TheAlphaNerd (observer)

80+

* Working on v4.5.0 release https://github.com/nodejs/node/pull/7688

81+

* CITGM Enhancements (XML + Queue)

82+

* Working with V8 team to improve workflow for managing floated commits https://github.com/nodejs/LTS/issues/111

83+

* Trevor Norris @trevnorris (CTC)

84+

* Working fix for one of the realpath bugs

85+

* Backporting for v4.x

86+

* Working on AsyncWrap implementation details

87+

* Rich Trott @Trott (CTC)

88+

* Trying to handle flaky test outbreak on FreeBSD in CI

89+

* Various ESLint updates/improvements

90+

* Banging my head against test-tick-processor flakiness which is easily the longest-standing flaky test.

91+92+93+

## Agenda

94+95+

Extracted from **ctc-agenda** labelled issues and pull requests from the **nodejs org** prior to the meeting.

96+97+

### nodejs/node

98+99+

* build: drop support for VS 2013 in v7 [#7484](https://github.com/nodejs/node/pull/7484)

100+

* Node 6 fs.realpath behavior changes [#7175](https://github.com/nodejs/node/pull/7175)

101+

* http: don't inherit from Object.prototype [#6102](https://github.com/nodejs/node/pull/6102)

102+

* v4.5.0 proposal [#7688](https://github.com/nodejs/node/pull/7688)

103+104+

### nodejs/node-eps

105+106+

* proposal: WHATWG URL standard implementation [#28](https://github.com/nodejs/node-eps/pull/28)

107+108+109+

## Previous Meeting

110+111+

### build: drop support for VS 2013 in v7 [#7484](https://github.com/nodejs/node/issues/7484) (@jasnell)

112+113+

To be discussed again.

114+115+

### Node 6 fs.realpath behavior changes [#7175](https://github.com/nodejs/node/issues/7175)

116+117+

@trevnorris was to complete changes, to be discussed again.

118+119+

### Replace section 5.1 with unambiguous JavaScript grammar. [#33](https://github.com/nodejs/node-eps/pull/33)

120+121+

@jdalton’s proposal was merged.

122+123+

### AsyncWrap public API proposal [#18](https://github.com/nodejs/node-eps/pull/18)

124+125+

API was accepted, implementation TBD before October.

126+127+128+

## Minutes

129+130+

### build: drop support for VS 2013 in v7 [#7484](https://github.com/nodejs/node/issues/7484)

131+132+

@orangemocha: Decision to drop in v7 isn’t controversial. Will need to add tests for modules compiled with 2013 used with Node compiled with 2015.

133+134+

@orangemocha: Main question is switching in v6 before LTS. Is it a breaking change?

135+136+

Issue with node-sass module only comes up on Windows XP so can be discounted.

137+138+

No way to be sure if user modules compiled with 2013 might be incompatible with Node compiled with 2015. Have to run tests. Will CITGM provide sufficient testing?

139+140+

@myles: may not be enough native modules in CITGM to provide confidence.

141+142+

@Fishrock123: be sure to also test on pre-gyp’ed modules.

143+144+

@orangemocha: we may never have complete confidence that this isn’t a breaking change, but node-sass is the only issue ever reported.

145+146+

@orangemocha: Should we support modules built with 2013 in v7?

147+

@rvagg: need to include that in tests.

148+149+

**Next steps**: Run tests with modules compiled with 2013 to see if there are issues. Keep on agenda for next week and check on progress.

150+151+

### Node 6 fs.realpath behavior changes [#7175](https://github.com/nodejs/node/pull/7175)

152+153+

* ELOOP fix: https://github.com/nodejs/node/pull/7548

154+

* Windows PR: https://github.com/nodejs/node/pull/7559 (see also https://github.com/nodejs/node/issues/7192)

155+156+

ELOOP issue has been resolved. Windows problem being addressed in another PR. May have to use JS impl for Windows.

157+158+

@rvagg: If libuv can’t handle the realpath issue for Windows what should we do?

159+160+

@orangemocha: We’re using the JS impl for Windows.

161+162+

@trevnorris: we can use the libuv impl and defer to the JS impl if the libuv impl throws unexpectedly.

163+164+

@rvagg: should we just revert? How common is the case where this provides a speed-up?

165+166+

@trevnorris: keep both libuv and js impl for now.

167+168+

**Next steps**: All please review #7548 and #7559.

169+170+

### http: don't inherit from Object.prototype [#6102](https://github.com/nodejs/node/pull/6102)

171+172+

@mscdex: Prevent clash of header names with properties inherited from Object (e.g., __proto__). An object with a null prototype is already being used for the same purpose in `querystring.parse` since v6 release.

173+174+

@mscdex: Some have suggested cherry-picking some methods from Object such as `toString`:

175+176+

* So that object can be inspected.

177+

* To ensure backward compatibility.

178+179+

@mscdex: An eventual goal may be to store headers in an ES6 Map instead of on a plain object, but that will change the API considerably.

180+181+

@evanlucas: we should follow what we did with query string parameters.

182+183+

@rvagg: first need to review as some opposition to that.

184+185+

**Next steps**: All review PR.

186+187+

### proposal: WHATWG URL standard implementation [node-eps#28](https://github.com/nodejs/node-eps/pull/28)

188+189+

@trevnorris: Some discussion about supporting unregistered schemes (e.g. `chrome://`). We should support them, Chrome supports them.

190+191+

@trevnorris: `url.parse` can handle incomplete URLs (e.g. no scheme).

192+193+

@rvagg: Most important question is should `URL` be a global? There would be a `url` module and a different `URL` global.

194+195+

@fishrock123: there would be a transition period and then functionality would be in `URL`

196+197+

@rvagg: new impl is quite different from existing `url` module. Would like to see a diff. Migration will be difficult.

198+199+

**Next steps**: Waiting for @jasnell to return. Review again next week.

200+201+

### v4.5.0 proposal [#7688](https://github.com/nodejs/node/pull/7688)

202+203+

@thealphanerd:

204+205+

* Would like to include libuv v1.9.1.

206+

* Would like very extensive testing prior to release to exclude breaking changes.

207+208+

How can we best test?

209+210+

@rvagg: Promote the RC on social media.

211+212+

@thealphanerd: npm could help test, Myles will reach out.

213+214+

@rvagg: Heroku? (Hunter Loftis) Travis CI? Probably not because it depends on nvm which doesn’t do RC’s yet.

215+216+

@thealphanerd: will talk with @ljharb about nvm support for RCs.

217+218+

**Next steps**: @thealphanerd will ping all to test RC.

219+220+

### ES Modules update

221+222+

@bmeck: named imports from CJS modules (e.g. `import {use, route} from "express"` or `import {readFile, readFileSync} from "fs"`) can’t work.

223+224+

Updates to come on the topic via: https://github.com/nodejs/node-eps/issues/26

225+226+

## Q/A on public fora

227+228+

## Upcoming Meetings

229+230+

* CTC: 2016-07-20

231+

* TSC: 2016-07-14

232+

* Diagnostics: 2016-08-03

233+

* Post-Mortem: 2016-07-18

234+

* API: 2016-07-14

235+

* LTS: 2016-07-25

236+

* Build: 2016-07-19