Skip to content

Release proposal: v3.0.0 #1807

Description

@rvagg

Currently this is a tracking PR for a 3.0.0 release, some discussion continues on from #1805. This proposal doesn't have a timeframe yet, there are too many unknowns at this stage but we may be able to proceed fairly quickly if things come together nicely.

To be honest I'm not sure exactly what the semver-major here is except for the V8 upgrade and I don't know the details about what's breaking in the C++ API there, perhaps @kkoopa, @bnoordhuis or @trevnorris could fill us in on the details of the breakage for the CHANGELOG? Is this the one where we get all the Maybe* API drama that's going to hurt for everyone?

V8 on the next branch is currently at 4.3.61.21, the CHANGELOG for that is at https://chromium.googlesource.com/v8/v8/+/4.3.61/ChangeLog

The only things on the JS side from scanning the changelog that may be relevant are:

  • Remove --harmony-scoping flag.
  • Implement subclassing Arrays (issue 3930).
  • [es6] Fix for-const loops (issue 3983).

@domenic could I put it on your TODO list to give us a summary of what's changed on the JavaScript end, if anything?

One outstanding item of concern is that I got multiple failures of test-debug-port-from-cmdline.js on OSX, caused by a hanging background process listening on the debug port--I don't know if it was this test on a previous run that caused that hanging process or not, however. If this keeps on showing up then it'll have to hold up a release until we find a fix.

Current log of commits is as follows, but I expect us to get a v2.1.1 out so this will change.

Activity

  1. rvagg commented on May 27, 2015

    @rvagg
    MemberAuthor

    First release candidate for testing: https://iojs.org/download/next-nightly/v2.1.1-next-nightly2015052770716fdd93/ v3.0.0-RC1 perhaps?

  2. added
    metaIssues and PRs related to the general management of the project.
    on May 27, 2015
  3. jbergstroem commented on May 27, 2015

    @jbergstroem
    Member

    Next seems to fail consistently on an arm7: https://jenkins-iojs.nodesource.com/job/iojs+any-pr+multi/nodes=armv7-wheezy/714/tapTestReport/test.tap-180/ -- might be a pr/issue for it somewhere. If that's the case, sorry for not searching properly.

  4. rvagg commented on May 27, 2015

    @rvagg
    MemberAuthor

    not consistent, but probably about as consistent as the OSX one, see https://jenkins-iojs.nodesource.com/job/iojs+any-pr+multi/713/ for a successful one for example

  5. trevnorris commented on May 27, 2015

    @trevnorris
    Contributor

    @rvagg I'm working on finishing the Uint8Array implementation of Buffer behind a flag. Though there are questions I have for the TC meeting tomorrow before it can be finished. This is something I would like to be released on v3.0, if possible.

    If it is, I'll give you a full list of any API changes that come with it. Though it will be behind a flag, so one one should immediately feel it.

  6. kkoopa commented on May 27, 2015

    @kkoopa

    Is this the one where we get all the Maybe* API drama that's going to hurt for everyone?

    Yes, every single native addon ever written will need extensive rewriting and it cannot really be automated in a sensible way. Every npm package depending on a native addon will also need updating to pull in the new versions from their upstreams. In total, 64 000 packages may need updating.

    This is way worse than those crummy Isolates.

  7. rvagg commented on May 27, 2015

    @rvagg
    MemberAuthor

    @kkoopa what's the status of NAN for this? Is it having to wait for 2.0 to make this work? Got an ETA on that (sorry, I've been following but a little detached atm)

  8. kkoopa commented on May 27, 2015

    @kkoopa

    Definitely 2.0, there is not a snowball's chance in hell of NAN 1.x working on io.js 3.0. nan/next builds against iojs/next. What is missing is mostly documentation and a conversion script. The sooner someone writes this, the sooner it can be released.

  9. imyller commented on May 27, 2015

    @imyller
    Member

    My humble suggestion:

    Maybe it is time to consider adding and maintaining a Foreign Function Interface (FFI) in the core? Something like the node-ffi provides. Not as a replacement for current addon system, but as a less volatile alternative.

    That wouldn't help the immediate package breakage 3.x.x brings, but would steer addon developers who do not need the full V8 native access to implement their own bindings in pure JS in the future.

  10. kkoopa commented on May 27, 2015

    @kkoopa
  11. imyller commented on May 27, 2015

    @imyller
    Member

    @kkoopa Thanks, missed the FFI PR. Hope it goes through. Soon.

  12. kkoopa commented on May 27, 2015

    @kkoopa

    Simply adding FFI still won't solve anything for many years to come, as people want their addons running on many versions of Node.

  13. imyller commented on May 27, 2015

    @imyller
    Member

    I just hope this doesn't turn in to Python 2 vs 3 for Node if the breakage too widespread. 64,000 packages @kkoopa mentioned is a huge chunk of the ecosystem.

  14. kkoopa commented on May 27, 2015

    @kkoopa

    The problem with Python 2 vs Python 3 was that they kept on supporting Python 2 and even adding new features to it. They should have cut it off completely and let it die quickly and Python 2 would have died off within a year. Python 2 is strictly inferior to Python 3 and it is a shame that it is still in use.

  15. imyller commented on May 27, 2015

    @imyller
    Member

    Agreed. My 👍 goes for the incredible and fast progress io.js makes. An outstanding team behind it.

    At the same time I'm also bit worried about the quickly progressing fragmentation of packages only supporting 1.x.x, then 2.x.x and soon 3.x.x. Some packages catch up, but at every step the ecosystem looses some permanently.

    If important enough people outside the core start making choices like "oh, we are going to stick with 2.x.x because 3.x.x migration has been marginal" then it spells Python-like trouble for Node.

  16. 67 remaining items

  17. ronkorving commented on Jul 10, 2015

    @ronkorving
    Contributor

    What's the policy on which V8 versions to follow? V8 4.5.x has been shipping with a whole bunch of ES6 features people have been waiting for (arrow functions, just to name my favorite addition).

  18. trevnorris commented on Jul 10, 2015

    @trevnorris
    Contributor

    @ronkorving I believe it's still unstable. master branch stays on the stable release.

  19. ronkorving commented on Jul 11, 2015

    @ronkorving
    Contributor

    Understood. Sorry, Ben already explained to me how this works. I'll have to be patient :)

  20. flying-sheep commented on Jul 15, 2015

    @flying-sheep

    stable means “the version in the currently stable chromium”, right?

    that means upgrading to 4.5 can happen once chromium 45 gets stable?

  21. domenic commented on Jul 15, 2015

    @domenic
    Contributor

    Yes. It just branched https://groups.google.com/a/chromium.org/forum/#!topic/blink-dev/14zoZnUu5Oc so I'd anticipate another 6-8 weeks.

  22. flying-sheep commented on Jul 15, 2015

    @flying-sheep

    great, one doesn’t see an ETA often in the world of open source!

  23. mgol commented on Jul 21, 2015

    @mgol
    Contributor

    Chrome 44 stable just went out, which means V8 4.4 is stable.

  24. flying-sheep commented on Jul 22, 2015

    @flying-sheep

    4.4 doesn’t seem to have any new ES6 features, though 😊

    https://gist.github.com/flying-sheep/02064095595db1f26c11

  25. mgol commented on Jul 22, 2015

    @mgol
    Contributor

    It does - it adds support for computed properties, computed shorthand
    method names etc.

    Michał Gołębiowski

  26. targos commented on Jul 22, 2015

    @targos
    Member

    @flying-sheep true, but it now ships at least two new features:

    • unicode escapes
    • computed property names
  27. flying-sheep commented on Jul 22, 2015

    @flying-sheep

    according to the changelog (the thing i linked is simply the filtered original changelog) computed properties are in 4.2 already.

    btw i don’t want to argue about anything, i just wanted to show you the filtered changelog since i found it interesting 😄

  28. mgol commented on Jul 22, 2015

    @mgol
    Contributor

    Maybe the initial code was in but it definitely wasn't enabled by default. They're in 4.4, they weren't in 4.3. The changelog is apparently not 100% accurate.

  29. flying-sheep commented on Jul 22, 2015

    @flying-sheep

    got it, thanks!

  30. brendanashworth commented on Aug 14, 2015

    @brendanashworth
    Contributor

    3.0.0 was released in #2299, closing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    metaIssues and PRs related to the general management of the project.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions