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

Node.js v4 Release Timeline #2522

Closed
rvagg opened this Issue Aug 24, 2015 · 131 comments

Comments

Projects
None yet
@rvagg
Member

rvagg commented Aug 24, 2015

This is ultimately up to @nodejs/tsc but for the sake of just getting it done I'm going to propose the way forward and will both tag this as tsc-agenda and ask that @nodejs/tsc members comment on this thread, particularly if they'd like to -1 anything I'm suggesting—otherwise let's roll with this.

Our original aim was to get v4 out by the "end of August" so that we had a good 2 months of real-world use of v4 before it turned into LTS at the end of October. We really need to hit the end of October window for LTS so the longer we can have v4 out the better the chance of having a solid combination of features as we lock down what can be changed during LTS.

io.js v3 is doing a great job at being an alpha for Node.js v4 but it's adoption is limited and it will only be when we have a new Node.js out that we'll get an increase in usage. Thankfully there are already great efforts to update popular add-ons to NAN 2.

Core tasks

Managed by the 4.0.0 milestone

Website migration tasks

Listed and tracking here: nodejs/build#163

@nodejs/website @nodejs/evangelism are there other issues where you are tracking progress and do we have everything captured in @ @nodejs/build that you need?

Release procedure tasks

This is needed because once we get to a new server for nodejs.org we need to ensure we can put proper 0.10 and 0.12 binaries on it and and existing users have a seamless transition.

Listed and tracking here: nodejs/build#164

Timeline

Days are in Pacific Time, I think most of us are used to thinking that way.

Friday, 28th of August:

My proposal is that we adopt a feature freeze at the end of this week, i.e. midnight, Friday the 28th PT. This means that everything that's semver-major or semver-minor that is going to make it in to v4.0.0 needs to be landed by then.

Also, cut a v4.x branch and start the cherry-pick process like we're doing for v3.x.

Monday, 31st of August:

DNS changeover to the new nodejs.org site, ensuring consistency for users of /dist/, /api/ and other endpoints that are in use, but with new.nodejs.org code, on new infrastructure, hopefully on a CDN, and able to accept releases of all active lines of Node.js (0.10, 0.12 and v4 RCs) and io.js (v3 and possibly v2 kept alive if we have a call for it) (i.e. it should also serve iojs.org so we don't have to ship binaries to different locations just for that).

28th of August to 3rd of September:

A series of release candidates, made available, first at https://iojs.org/download/rc/ and then http://nodejs.org/download/rc/ after the DNS changeover and nodejs.org is being served off a the new server, to test the release procedure and make have testable builds that we can try out.

Changes that are not semver-major or semver-minor can still be cherry-picked into v4.x but we should become increasingly strict as the week progresses in the interests of having a solid v4.0.0.

Thursday, 3rd of September:

Release v4.0.0.

If, for some reason, we fail to get it out by end of day on Thursday, Pacific Time, we'll postpone the release until Monday, 7th of September so as to avoid the pain of a weekend release.


Again, this is a proposal but unless there is objection from @nodejs/tsc, let's treat it as the plan so we can ship this thing.

@rvagg rvagg added the tsc-agenda label Aug 24, 2015

@rvagg rvagg added this to the 4.0.0 milestone Aug 24, 2015

@jasnell

This comment has been minimized.

Member

jasnell commented Aug 24, 2015

This looks solid. +1
On Aug 24, 2015 6:37 AM, "Rod Vagg" notifications@github.com wrote:

This is ultimately up to @nodejs/tsc
https://github.com/orgs/nodejs/teams/tsc but for the sake of just
getting it done
I'm going to propose the way forward and will both tag
this as tsc-agenda and ask that @nodejs/tsc
https://github.com/orgs/nodejs/teams/tsc members comment on this
thread, particularly if they'd like to -1 anything I'm
suggesting—otherwise let's roll with this.

Our original aim was to get v4 out by the "end of August" so that we had a
good 2 months of real-world use of v4 before it turned into LTS at the end
of October. We really need to hit the end of October window for LTS so the
longer we can have v4 out the better the chance of having a solid
combination of features as we lock down what can be changed during LTS.

io.js v3 is doing a great job at being an alpha for Node.js v4 but it's
adoption is limited and it will only be when we have a new Node.js out that
we'll get an increase in usage. Thankfully there are already great efforts
to update popular add-ons to NAN 2.
Core tasks

Managed by the 4.0.0 milestone
https://github.com/nodejs/node/milestones/4.0.0

  • #2520 / [Converge] MSI related changes windows
    #2520
  • #2519 / [Converge] merge CHANGELOG.md with joyent/node ChangeLog doc
    #2519
  • #2518 / [Converge] copy relevant git metadata from joyent/node
    #2518
  • #2517 / [Converge] Re-enable mdb c++
    #2517
  • #2516 / build: use build_release target in vcbuild.bat to build
    releases build #2516
  • #2515 / [Converge] child_process argument type checking child_process
    #2515
  • #2514 / [Converge] SSLv2/3 related commits tls
    #2514
  • #2439 / win,msi: Upgrade from old upgrade code install windows
    #2439
  • #760 / process.send() is not synchronous child_process confirmed-bug
    process #760

Website migration tasks

Listed and tracking here: nodejs/build#163
nodejs/build#163

@nodejs/website https://github.com/orgs/nodejs/teams/website
@nodejs/evangelism https://github.com/orgs/nodejs/teams/evangelism are
there other issues where you are tracking progress and do we have
everything captured in @ @nodejs/build
https://github.com/orgs/nodejs/teams/build that you need?
Release procedure tasks

This is needed because once we get to a new server for nodejs.org we need
to ensure we can put proper 0.10 and 0.12 binaries on it and and existing
users have a seamless transition.

Listed and tracking here: nodejs/build#164
nodejs/build#164
Timeline

Days are in Pacific Time, I think most of us are used to thinking that
way.

Friday, 28th of August:

My proposal is that we adopt a feature freeze at the end of this week,
i.e. midnight, Friday the 28th PT. This means that everything that's
semver-major https://github.com/nodejs/node/labels/semver-major or
semver-minor https://github.com/nodejs/node/labels/semver-minor that is
going to make it in to v4.0.0 needs to be landed by then.

Also, cut a v4.x branch and start the cherry-pick process like we're
doing for v3.x.

Monday, 31st of August:

DNS changeover to the new nodejs.org http://nodejs.org site, ensuring
consistency for users of /dist/, /api/ and other endpoints that are in use,
but with new.nodejs.org https://github.com/nodejs/new.nodejs.org code,
on new infrastructure, hopefully on a CDN, and able to accept releases
of all active lines of Node.js (0.10, 0.12 and v4 RCs) and io.js (v3 and
possibly v2 kept alive if we have a call for it)
(i.e. it should also
serve iojs.org so we don't have to ship binaries to different locations
just for that).

28th of August to 3rd of September:

A series of release candidates, made available, first at
https://iojs.org/download/rc/ and then http://nodejs.org/download/rc/
after the DNS changeover and nodejs.org is being served off a the new
server, to test the release procedure and make have testable builds that we
can try out.

Changes that are not semver-major or semver-minor can still be
cherry-picked into v4.x but we should become increasingly strict as the
week progresses in the interests of having a solid v4.0.0.

Thursday, 3rd of September:

Release v4.0.0.

If, for some reason, we fail to get it out by end of day on Thursday,
Pacific Time, we'll postpone the release until Monday, 7th of September so

as to avoid the pain of a weekend release.

Again, this is a proposal but unless there is objection from @nodejs/tsc
https://github.com/orgs/nodejs/teams/tsc, let's treat it as the plan
so we can ship this thing.


Reply to this email directly or view it on GitHub
#2522.

@mscdex

This comment has been minimized.

Contributor

mscdex commented Aug 24, 2015

LGTM

@thefourtheye

This comment has been minimized.

Contributor

thefourtheye commented Aug 24, 2015

I love this plan. LGTM

@export-mike

This comment has been minimized.

export-mike commented Aug 24, 2015

As some would say. Amazeballs.

@ChALkeR

This comment has been minimized.

Member

ChALkeR commented Aug 24, 2015

Is «midnight, Friday the 28th PT» (feature freeze) 2015-08-28 00:00:00 or 2015-08-28 23:59:59? Doesn't seem clear to me.

@bnoordhuis

This comment has been minimized.

Member

bnoordhuis commented Aug 24, 2015

I hate feature freezes. Can we say that the v4.x branch is cut on the 28th and only gets bug fixes from then on but that master is still FFA?

@trevnorris

This comment has been minimized.

Contributor

trevnorris commented Aug 24, 2015

Think that's what is meant. The v4.x branch won't be receiving any changes, only fixes, until it's released. Changes will continue to land as normal on master. Basically, our current workflow won't change.

@bguiz

This comment has been minimized.

bguiz commented Aug 24, 2015

+1

@rvagg

This comment has been minimized.

Member

rvagg commented Aug 25, 2015

@bnoordhuis you're not the first person to object to my use of the term "feature freeze" here, really what I'm getting at is that all of this stuff should be landed by then: https://github.com/nodejs/node/milestones/4.0.0, cutting a v4.x branch will help with that. This is OSS so there's no PM breathing down our shoulders who will yell at us if we land a major change in the last couple of days but I'd really like us to focus on getting the important stuff landed this week and cut our losses if we can't.

@shigeki

This comment has been minimized.

Contributor

shigeki commented Aug 25, 2015

I have no objection but let me confirm that LTS starts 1st Oct. but feature freeze and only bug fix for v4.0 branch start from 3rd Sep. What is the difference? Is there any purpose to be 4 weeks ahead?

@rvagg

This comment has been minimized.

Member

rvagg commented Aug 25, 2015

Actually you're right, start of October according to https://github.com/nodejs/LTS/, I've had end of October in my head all this time for some reason, so that gives us even less time to get this right!

@shigeki

This comment has been minimized.

Contributor

shigeki commented Aug 25, 2015

So If there is no actual meaning of LTS starting in Oct., I think it is better to say that LTS starts form the date of the release of 4.0.0, 3rd Sep. but we need not change the end of LTS.

@Fishrock123

This comment has been minimized.

Member

Fishrock123 commented Aug 25, 2015

So If there is no actual meaning of LTS starting in Oct.

LTS means less stuff lands into it, since 5.0 will be stable, and there will be a master for 6.0

@rvagg

This comment has been minimized.

Member

rvagg commented Aug 25, 2015

The gap between releasing v4 and turning it into LTS gives us the opportunity to land semver-minor changes as well as some patch changes that we might decide don't belong in an LTS. We may get to 4.2.x by LTS, perhaps higher, then LTS stays on that minor.major (unless it's absolutely necessary to land a semver-minor)

@shigeki

This comment has been minimized.

Contributor

shigeki commented Aug 25, 2015

Okay, it sounds clear to me. Thanks.

@rvagg

This comment has been minimized.

Member

rvagg commented Aug 25, 2015

All of the big issues in https://github.com/nodejs/node/milestones/4.0.0 have assignees now. @joaocgreis, @misterdjules, @trevnorris, @shigeki, @bnoordhuis, @Fishrock123 could you please try and take care of them by the end of this week and if you can't allocate time or don't think it's going to make it then please just keep us informed so we can plan accordingly or have others jump in and help.

The only unassigned is the changelog merge @ #2519 which I'll take if nobody else steps up in the meantime.

@Globegitter

This comment has been minimized.

Globegitter commented Aug 25, 2015

Any chance for getting in #4? Seeing as https://github.com/indutny/node-spdy by @indutny is now out of beta for almost two weeks maybe that could be adopted and I do think HTTP/2 compatibility would be a big selling point for Nodejs 4.0.0. Or is that too much of wish-thinking and better for a release after?

@rvagg

This comment has been minimized.

Member

rvagg commented Aug 25, 2015

@Globegitter sorry, that's out of scope for this release, we're far from consensus on what, if anything should be done and have zero code against core to assess if we even decided to go for this.

@mikeal

This comment has been minimized.

Member

mikeal commented Aug 25, 2015

If I could get some high level bullet points for this release I can send them off to the marketing committee and we can line up some good PR around the release.

@rvagg

This comment has been minimized.

Member

rvagg commented Aug 26, 2015

@Fishrock123 I don't suppose you could handle that? You're probably in the best position to grok the delta between this release and everything else and maybe this should be about 0.10 & 0.12 -> v4. Additionally @mikeal probably building in some wording about the new LTS schedule would be worthwhile because v4 also represents a shift to a much more planned and predictable release schedule.

@Fishrock123

This comment has been minimized.

Member

Fishrock123 commented Aug 26, 2015

Yes, we'll need to advertise the release schedule with it since v5 is planned for oct when 4.0 goes into LTS.

@orangemocha

This comment has been minimized.

Member

orangemocha commented Aug 26, 2015

This PR is also on the 4.0 milestone:
#2424

@nigampatel

This comment has been minimized.

nigampatel commented Aug 26, 2015

+1

@joshgav

This comment has been minimized.

Member

joshgav commented Sep 8, 2015

@rvagg I'm looking into the following (for next release):

Although we've paid for signing certificates for Microsoft Authenticode and DigiCert are doing their best to go through their verification checklist, it's apparently impossible to call the number listed for the Node.js Foundation and reach anyone who has a clue how to connect with relevant individuals that can verify that it is indeed the Node.js Foundation (not the LF) and that I'm authorized on behalf of the Foundation to generate a certificate for them. So we're going live with NodeSource certs for .msi files. The .pkg files are signed properly with Apple certs owned by the Node.js Foundation.

/cc @gianugo

@rvagg

This comment has been minimized.

Member

rvagg commented Sep 8, 2015

thanks @joshgav, much appreciated

Status update: waiting for builds on ARM, it seems that the handle zapping commit has blown out ccache so it's having to build everything with no cache help .. Website is ready to go, release announcement is hovering here: nodejs/nodejs.org#110

@rvagg

This comment has been minimized.

Member

rvagg commented Sep 8, 2015

OK, while we wait, this one is the release commit that's going out, feel free to download tarballs from Jenkins to try them: https://ci.nodejs.org/job/iojs+release/168/

@silverwind

This comment has been minimized.

Contributor

silverwind commented Sep 8, 2015

Only one remaining build to go. Cheer for the last Pi to finish its build here:

https://ci.nodejs.org/job/iojs+release/168/nodes=pi1-raspbian-wheezy/console

@rvagg

This comment has been minimized.

Member

rvagg commented Sep 8, 2015

OK, this is slipping too much, I'm going to go ahead with it and add armv6 when it's finished

@jasnell

This comment has been minimized.

Member

jasnell commented Sep 8, 2015

+1
On Sep 8, 2015 8:01 PM, "Rod Vagg" notifications@github.com wrote:

OK, this is slipping too much, I'm going to go ahead with it and add armv6
when it's finished


Reply to this email directly or view it on GitHub
#2522 (comment).

@kkoopa

This comment has been minimized.

kkoopa commented Sep 8, 2015

Finally! Good call. The ARMv6 build will likely go on for 2-3 more hours.

@rvagg rvagg closed this Sep 8, 2015

@Ajedi32

This comment has been minimized.

Ajedi32 commented Sep 8, 2015

👍 🎉 🎈

@rfink

This comment has been minimized.

rfink commented Sep 8, 2015

+1,000,000 internets

@xforce

This comment has been minimized.

xforce commented Sep 8, 2015

Yay. Party Hard.

@stolsma

This comment has been minimized.

stolsma commented Sep 8, 2015

Yesssss..... :-)

@yosuke-furukawa

This comment has been minimized.

Member

yosuke-furukawa commented Sep 8, 2015

+1!!!! Thank you for every collaborator/tsc hard work.

@danielkhan

This comment has been minimized.

danielkhan commented Sep 8, 2015

Congratulations!

@Cangit

This comment has been minimized.

Cangit commented Sep 8, 2015

Congratulations on this huge milestone of merging io.js back into Node. Warm thanks to everyone involved and especially @rvagg for the last sprint to the finish.

@Scratch-net

This comment has been minimized.

Scratch-net commented Sep 8, 2015

Good job and thanks everyone!

@pezza3434

This comment has been minimized.

pezza3434 commented Sep 8, 2015

Good stuff! Good job everyone!

@nicolaspeixoto

This comment has been minimized.

nicolaspeixoto commented Sep 8, 2015

Congratulations!!!

@AntouanK

This comment has been minimized.

Member

AntouanK commented Sep 8, 2015

Thanks for your hard work everyone 👍

@rfink

This comment has been minimized.

rfink commented Sep 8, 2015

Maybe the wrong place to comment here, but is this the same team that works on the dockerhub images? Would we be able to expect that soon?

@chorrell

This comment has been minimized.

chorrell commented Sep 8, 2015

It's coming: nodejs/docker-node#42

Hopefully we can get it in the registry this week.

@magicdawn

This comment has been minimized.

magicdawn commented Sep 9, 2015

awesome work 👍

@domino14

This comment has been minimized.

domino14 commented Sep 9, 2015

👍 this is so awesome

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