-
Notifications
You must be signed in to change notification settings - Fork 30.1k
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
Release proposal: v2.0.0 #1532
Release proposal: v2.0.0 #1532
Conversation
Responsible parties as far as I can tell are:
Folks, please push on getting your PRs merged if you can so we can get this out. |
Ok, landed that.
I would like to see the CI results after that lands. |
Thanks for opening this, @rvagg. I'd like to also propose #1513 as part of this release, since I think folks will open up the repl and type Otherwise, #1506 is waiting on a LGTM from @bnoordhuis or @indutny. I'm working on documenting the V8 upgrade process in a separate branch. |
also on the list is an item from @evanlucas who needs to fix the build for us now that it's failing on most test machines due to an ipv6 problem as per #1527 |
I think it's time to set a deadline on this. We are several weeks behind V8 and a new Chrome/V8 will be coming relatively soon. We should just merge the V8 upgrade and anything else that is ready and do a release, say, tomorrow. Anything that missed the train can hop on the next one in a few weeks. No need to hold things up waiting for all our ducks to line up. |
Also if someone broke the build we should immediately revert that patch instead of waiting for a fix. |
@domenic myself, @jbergstroem and @evanlucas are working on the broken build side, it's a bit more complicated than just a single thing but rest assured that if it comes to just reverting then that'll be done, we must get off red builds. |
Note that we've also got Fedora 21, Debian 8 and Ubuntu 15.04 in the CI set now. |
A failure I haven't seen before, on one of the Windows slaves:
@piscisaureus, @trevnorris, @bnoordhuis or other, do you have any idea if this is relevant? |
I suspect that's a bug in the Windows implementation of uv_hrtime(); it uses floating point math that may be lossy. I believe there is a libuv issue about it but I can't find it.
|
OK, now we're getting somewhere, we have the V8 upgrade in, at 4.2.77.18 and our first 2.0.0 release candidate is at: https://iojs.org/download/nightly/v2.0.0-nightly20150428509b59ea7c/ I'll start writing up some notable changes in here. @petkaantonov is still working on the url changes in #933 and has hit some snags, hopefully that'll be sorted within a couple of days. @bnoordhuis has the |
I think we should set a deadline so as to avoid the failure mode of "X is almost ready, just give it a few more days." |
If someone wants to adopt #774, s/he has my blessing. |
For me a deadline 2 days from now is fine. |
Converted this to a pull request so I can submit my CHANGELOG changes for review. @domenic can you have a look at the V8 4.2 notable items I've listed please? |
https://jenkins-iojs.nodesource.com/job/iojs+any-pr+multi/634/ CI looking pretty good |
@@ -4,6 +4,51 @@ | |||
|
|||
### Notable changes | |||
|
|||
* **V8**: upgrade to 4.2.77.18, see the [ChangeLog](https://chromium.googlesource.com/v8/v8/+/refs/heads/4.2.77/ChangeLog) for full details. Notable items: | |||
- Classes have moved out of staging, the `class` keyword is now usable without flags |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
s/,/;
Also want to mention object literal extensions (concise methods and property shorthands).
Maybe mention that like let and const, class is only usable in strict mode.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Did we get those free when they enabled classes such that we can use them in POJSO's too? { foo() { return 'bar' } }
? Would you mind having a quick go at some words for this for me?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
OK, did some experimenting and answered my own question console.log({woo(){return "woot!"}}.woo())
, nice. I'd still appreciate some words from you on this @domenic if you don't mind.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's try
- Object literal enhancement have moved out of staging: shorthand method and property syntax is now usable, as in
{ method() { }, property }
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
classes only in strict mode
V8 4.2 introduces some minor C++ API changes that make it necessary for many native add-ons to recompile in order to be usable in v2.0.0+ PR-URL: nodejs#1532
I think the CI is ok. |
yeah, just going through the motions now, which is mostly about sorting out the changelog docs and testing the build process |
|
||
* V8 upgrade to 4.2, minor changes to C++ API | ||
* `os.tmpdir()` is now cross-platform consistent and will no longer returns a path with a trailling slash on any platform | ||
* While not a *breaking change* the 'smalloc' module has been deprecated in anticipation of it becoming unsupportable with a future upgrade to V8 4.4. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe link to #1451?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done, ptal
V8 4.2 introduces some minor C++ API changes that make it necessary for many native add-ons to recompile in order to be usable in v2.0.0+ PR-URL: nodejs#1532
* **util**: add Promise, Map and Set inspection support (Christopher Monsanto) [#1471](https://github.com/iojs/io.js/pull/1471) | ||
* **V8**: upgrade to 4.2.77.18, see the [ChangeLog](https://chromium.googlesource.com/v8/v8/+/refs/heads/4.2.77/ChangeLog) for full details. Notable items: | ||
- Classes have moved out of staging; the `class` keyword is now usable without flags | ||
- Object literal enhancements have moved out of staging; shorthand method and property syntax is now usable (`{ method() { }, property }`) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Classes are still strict-mode only.
Object literals appear to be in regular mode? Still testing..
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Reason we might want to mention this is so we don't get questions why it doesn't work yet.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Object literals work in sloppy, except for computed props, which do not appear to exist in any non-flagged mode yet.
LGTM |
PR-URL: #1532 Notable Changes: * crypto: significantly reduced memory usage for TLS (Fedor Indutny & Сковорода Никита Андреевич) #1529 * net: socket.connect() now accepts a 'lookup' option for a custom DNS resolution mechanism, defaults to dns.lookup() (Evan Lucas) #1505 * npm: Upgrade npm to 2.9.0. See the v2.8.4 and v2.9.0 release notes for details. Notable items: - Add support for default author field to make npm init -y work without user-input (@othiym23) npm/npm/d8eee6cf9d - Include local modules in npm outdated and npm update (@ArnaudRinquin) npm/npm#7426 - The prefix used before the version number on npm version is now configurable via tag-version-prefix (@kkragenbrink) npm/npm#8014 * os: os.tmpdir() is now cross-platform consistent and will no longer returns a path with a trailling slash on any platform (Christian Tellnes) #747 * process: - process.nextTick() performance has been improved by between 2-42% across the benchmark suite, notable because this is heavily used across core (Brian White) #1548 - New process.geteuid(), process.seteuid(id), process.getegid() and process.setegid(id) methods allow you to get and set effective UID and GID of the process (Evan Lucas) #1536 * repl: - REPL history can be persisted across sessions if the NODE_REPL_HISTORY_FILE environment variable is set to a user accessible file, NODE_REPL_HISTORY_SIZE can set the maximum history size and defaults to 1000 (Chris Dickinson) #1513 - The REPL can be placed in to one of three modes using the NODE_REPL_MODE environment variable: sloppy, strict or magic (default); the new magic mode will automatically run "strict mode only" statements in strict mode (Chris Dickinson) #1513 * smalloc: the 'smalloc' module has been deprecated due to changes coming in V8 4.4 that will render it unusable * util: add Promise, Map and Set inspection support (Christopher Monsanto) #1471 * V8: upgrade to 4.2.77.18, see the ChangeLog for full details. Notable items: - Classes have moved out of staging; the class keyword is now usable in strict mode without flags - Object literal enhancements have moved out of staging; shorthand method and property syntax is now usable ({ method() { }, property }) - Rest parameters (function(...args) {}) are implemented in staging behind the --harmony-rest-parameters flag - Computed property names ({['foo'+'bar']:'bam'}) are implemented in staging behind the --harmony-computed-property-names flag - Unicode escapes ('\u{xxxx}') are implemented in staging behind the --harmony_unicode flag and the --harmony_unicode_regexps flag for use in regular expressions * Windows: - Random process termination on Windows fixed (Fedor Indutny) #1512 / #1563 - The delay-load hook introduced to fix issues with process naming (iojs.exe / node.exe) has been made opt-out for native add-ons. Native add-ons should include 'win_delay_load_hook': 'false' in their binding.gyp to disable this feature if they experience problems . (Bert Belder) #1433 * Governance: - Rod Vagg (@rvagg) was added to the Technical Committee (TC) - Jeremiah Senkpiel (@Fishrock123) was added to the Technical Committee (TC)
tagged @ 7c89c4c building @ https://jenkins-iojs.nodesource.com/job/iojs+release/62/ |
All looks fine, armv6 is there too. thanks @rvagg |
PR-URL: nodejs#1532 Notable Changes: * crypto: Diffie-Hellman key exchange (DHE) parameters ('dhparams') must now be 1024 bits or longer or an error will be thrown. A warning will also be printed to the console if you supply less than 2048 bits. See https://weakdh.org/ for further context on this security concern. (Shigeki Ohtsu) nodejs#1739. * node: A new --trace-sync-io command line flag will print a warning and a stack trace whenever a synchronous API is used. This can be used to track down synchronous calls that may be slowing down an application. (Trevor Norris) nodejs#1707. * node: To allow for chaining of methods, the setTimeout(), setKeepAlive(), setNoDelay(), ref() and unref() methods used in 'net', 'dgram', 'http', 'https' and 'tls' now return the current instance instead of undefined (Roman Reiss) nodejs#1779. * util: A significant speed-up (in the order of 35%) for the common-case of a single string argument to util.format(), used by console.log() (Сковорода Никита Андреевич) nodejs#1749.
PR-URL: nodejs#1532 Notable Changes: * crypto: Diffie-Hellman key exchange (DHE) parameters ('dhparams') must now be 1024 bits or longer or an error will be thrown. A warning will also be printed to the console if you supply less than 2048 bits. See https://weakdh.org/ for further context on this security concern. (Shigeki Ohtsu) nodejs#1739. * node: A new --trace-sync-io command line flag will print a warning and a stack trace whenever a synchronous API is used. This can be used to track down synchronous calls that may be slowing down an application. (Trevor Norris) nodejs#1707. * node: To allow for chaining of methods, the setTimeout(), setKeepAlive(), setNoDelay(), ref() and unref() methods used in 'net', 'dgram', 'http', 'https' and 'tls' now return the current instance instead of undefined (Roman Reiss & Evan Lucas) nodejs#1699 nodejs#1768 nodejs#1779. * util: A significant speed-up (in the order of 35%) for the common-case of a single string argument to util.format(), used by console.log() (Сковорода Никита Андреевич) nodejs#1749.
PR-URL: nodejs#1532 Notable Changes: * crypto: Diffie-Hellman key exchange (DHE) parameters ('dhparams') must now be 1024 bits or longer or an error will be thrown. A warning will also be printed to the console if you supply less than 2048 bits. See https://weakdh.org/ for further context on this security concern. (Shigeki Ohtsu) nodejs#1739. * node: A new --trace-sync-io command line flag will print a warning and a stack trace whenever a synchronous API is used. This can be used to track down synchronous calls that may be slowing down an application. (Trevor Norris) nodejs#1707. * node: To allow for chaining of methods, the setTimeout(), setKeepAlive(), setNoDelay(), ref() and unref() methods used in 'net', 'dgram', 'http', 'https' and 'tls' now return the current instance instead of undefined (Roman Reiss & Evan Lucas) nodejs#1699 nodejs#1768 nodejs#1779. * util: A significant speed-up (in the order of 35%) for the common-case of a single string argument to util.format(), used by console.log() (Сковорода Никита Андреевич) nodejs#1749.
PR-URL: nodejs#1532 Notable Changes: * crypto: Diffie-Hellman key exchange (DHE) parameters ('dhparams') must now be 1024 bits or longer or an error will be thrown. A warning will also be printed to the console if you supply less than 2048 bits. See https://weakdh.org/ for further context on this security concern. (Shigeki Ohtsu) nodejs#1739. * node: A new --trace-sync-io command line flag will print a warning and a stack trace whenever a synchronous API is used. This can be used to track down synchronous calls that may be slowing down an application. (Trevor Norris) nodejs#1707. * node: To allow for chaining of methods, the setTimeout(), setKeepAlive(), setNoDelay(), ref() and unref() methods used in 'net', 'dgram', 'http', 'https' and 'tls' now return the current instance instead of undefined (Roman Reiss & Evan Lucas) nodejs#1699 nodejs#1768 nodejs#1779. * npm: Upgraded to v2.10.1, release notes can be found in https://github.com/npm/npm/releases/tag/v2.10.1 and https://github.com/npm/npm/releases/tag/v2.10.0. * util: A significant speed-up (in the order of 35%) for the common-case of a single string argument to util.format(), used by console.log() (Сковорода Никита Андреевич) nodejs#1749.
This is very early but we're risking a long period of time with no release and a build-up of changes so we need to push to get this out.
Main issues for this release are in the 2.0.0 milestone. Note that the V8 upgrade still isn't in master, see #1506 for that.
5404cbc745
] - buffer: fix copy() segfault with zero arguments (Trevor Norris) #15203d3083b91f
] - buffer: little improve for Buffer.concat method (Jackson Tian) #1437e67542ae17
] - build: disable -Og when building with clang (Ben Noordhuis) #160978f4b038f8
] - build: turn on debug-safe optimizations with -Og (Ben Noordhuis) #1569a5dcff827a
] - build: Use option groups in configure output (Johan Bergström) #15332a3c8c187e
] - build: remove -J from test-ci (Rod Vagg) #1544e6874dd0f9
] - crypto: track external memory for SSL structures (Fedor Indutny) #1529935c9d3fa7
] - deps: make node-gyp work with io.js (cjihrig) #99056e4255382
] - deps: upgrade npm to 2.9.0 (Forrest L Norvell) #1573509b59ea7c
] - deps: enable v8 postmortem debugging again (Ben Noordhuis) #123201652c7709
] - deps: upgrade v8 to 4.2.77.18 (Chris Dickinson) #150601e6632d70
] - deps: upgrade v8 to 4.2.77.15 (Ben Noordhuis) #1399db4ded5903
] - deps: enable v8 postmortem debugging again (Ben Noordhuis) #123236cd5fb9d2
] - deps: upgrade v8 to 4.2.77.13 (Ben Noordhuis) #1232b3a7da1091
] - deps: update http_parser to 2.5.0 (Fedor Indutny) #1517dacc1fa35c
] - doc: update AUTHORS list (Rod Vagg) #15862a3a1909ab
] - doc: add require() lines to child.stdio example (Nick Raienko) #150402388dbf40
] - doc: fix some cross-references (Alexander Gromnitsky) #158457c4cc26e2
] - doc: add TC meeting 2015-04-22 minutes (Rod Vagg) #1556b4ad5d7050
] - doc: improve http.request and https.request opts (Roman Reiss) #15517dc8eec0a6
] - doc: deprecate smalloc module (Ben Noordhuis) #15661bcdf46ca7
] - doc: add TC meeting 2015-04-15 minutes (Rod Vagg) #1498391cae3595
] - doc: Add Known issues to v1.7.0/1.7.1 CHANGELOG (Yosuke Furukawa) #1473e55fdc47a7
] - doc: fix util.deprecate example (Nick Raienko) #15355178f93bc0
] - doc: Add Addon API (NAN) to working group list (Julian Duque) #1523f3cc50f811
] - doc: add TC meeting 2015-04-08 minutes (Rod Vagg) #1497bb254b533b
] - doc: update branch to master (Roman Reiss) #151122aafa5597
] - doc: add Fishrock123 to the TC (Jeremiah Senkpiel) #1507b16a328ede
] - doc: add spaces to child.kill example (Nick Raienko) #150326327757f8
] - doc: update AUTHORS list (Rod Vagg) #1476f9c681cf62
] - fs: validate fd on fs.write (Julian Duque) #1553801b47acc5
] - gitignore: ignore xcode workspaces and projects (Roman Klauke) #1562d5ce47e433
] - (SEMVER-MINOR) lib: deprecate the smalloc module (Ben Noordhuis) #15647384ca83f9
] - module: remove '' from Module.globalPaths (Chris Yip) #1488b4f5898395
] - net: ensure Write/ShutdownWrap references handle (Fedor Indutny) #15904abe2fa1cf
] - (SEMVER-MINOR) net: add lookup option to Socket.prototype.connect (Evan Lucas) #15051bef717476
] - (SEMVER-MINOR) net: cleanup connect logic (Evan Lucas) #1505c7782c0af8
] - node: improve nextTick performance (Brian White) #1571b57cc51d8d
] - (SEMVER-MAJOR) os: remove trailing slash from os.tmpdir() (Christian Tellnes) #747ca219b00d1
] - repl: fix for a+ fd clearing the file on read (Chris Dickinson) #1605051d482b15
] - repl: fix _debugger by properly proxying repl (Chris Dickinson) #16052e2fce0502
] - repl: fix persistent history and env variable name (Roman Reiss) #1593ea5195ccaf
] - repl: do not save history for non-terminal repl (Fedor Indutny) #15750450ce7db2
] - repl: add mode detection, cli persistent history (Chris Dickinson) #1513279f6116aa
] - src: fix -Wmissing-field-initializers warning (Ben Noordhuis) #160673062521a4
] - src: deprecate smalloc public functions (Ben Noordhuis) #1565ccb199af17
] - src: fix deprecation warnings (Ben Noordhuis) #1565609fa0de03
] - src: fix NODE_DEPRECATED macro (Ben Noordhuis) #15653c92ca2b5c
] - (SEMVER-MINOR) src: add ability to get/set effective uid/gid (Evan Lucas) #153630b7349176
] - stream_base: dispatch reqs in the stream impl (Fedor Indutny) #15630fa6c4a6fc
] - string_decoder: don't cache Buffer.isEncoding (Brian White) #1548f9b226c1c1
] - test: extend timeouts for ARMv6 (Rod Vagg) #1554bfae8236b1
] - test: fix test-net-dns-custom-lookup test assertion (Evan Lucas) #1531547213913b
] - test: adjust Makefile/test-ci, add to vcbuild.bat (Rod Vagg) #1530550c2638c0
] - tls: useSSL_set_cert_cb
for async SNI/OCSP (Fedor Indutny) #14641787416376
] - tls: destroy singleUse context immediately (Fedor Indutny) #15292684c902c4
] - tls: zero SSL_CTX freelist for a singleUse socket (Fedor Indutny) #15292d241b3b82
] - tls: destroy SSL once it is out of use (Fedor Indutny) #1529f7620fb96d
] - tls_wrap: Unlink TLSWrap and SecureContext objects (Сковорода Никита Андреевич) #1580a7d74633f2
] - tls_wrap: use localhost if options.host is empty (Guilherme Souza) #1493702997c1f0
] - _Revert_ "url: significantly improve the performance of the url module" (Rod Vagg) #16020daed24883
] - _Revert_ "url: delete href cache on all setter code paths" (Rod Vagg) #16020f39ef4ca1
] - _Revert_ "url: fix treatment of some values as non-empty" (Rod Vagg) #160266877216bd
] - url: fix treatment of some values as non-empty (Petka Antonov) #1589dbdd81a91b
] - url: delete href cache on all setter code paths (Petka Antonov) #15893fd7fc429c
] - (SEMVER-MAJOR) url: significantly improve the performance of the url module (Petka Antonov) #1561bf7ac08dd0
] - util: add Map and Set inspection support (Christopher Monsanto) #147130e83d2e84
] - win,node-gyp: optionally allow node.exe/iojs.exe to be renamed (Bert Belder) #12663bda6cbfa4
] - (SEMVER-MAJOR) win,node-gyp: enable delay-load hook by default (Bert Belder) #1433