Skip to content

Release proposal: v1.0.2 #438

@rvagg

Description

@rvagg

Going to try something different here to get agreement on pushing a patch release

  • It seems to me that we ought not be afraid to push patch releases fairly frequently, the longer the changelog the more potential for trouble so let's just ship code
  • getting enough people around on IRC at the same time to get an agreement on a release is tricky and we'd have to come up with rules about what collection of people could authorize one
  • waiting for a TC meeting could be too long where there are important things to release
  • waiting for a TC meeting also excludes input from other collaborators
  • we already have a process around issues and pull requests and seeking consensus, or at least the lack of dissension

So, how about any collaborator who thinks there should be a patch release propose it via github along with the changelog, a CI link and/or nightlies containing the changes to be released and we get sign-off here. Sign-off for a release can just be a matter of:

  • enough delay to allow input from around the globe (although I think in this case I think we could make 24 hours or a little less)
  • gather +1's from collaborators (not just TC members)
  • a -1 from a collaborator should lead to discussion and an attempt to find agreement
  • .. perhaps a failure to resolve a -1 means that TC gets to decide by majority?

Any critical releases can be handled in an appropriate way--where there are security concerns these could be expedited and done fairly privately until the release is out by those who have access to cut a release.

So consider this issue my proposal for a 1.0.2 release.

Here's a nightly from just now: https://iojs.org/download/nightly/v1.0.2-nightly201501158440cacb10/

Here's a Jenkins run I've just started: https://jenkins-iojs.nodesource.com/job/iojs+any-pr+multi/79/

Here's a changelog so far:

  • src: fix documentation url in help message (Shigeki Ohtsu)
  • win,msi: warn that older io.js needs manual uninstall (Bert Belder)
  • win,msi: change UpgradeCode (Bert Belder)
  • deps: make node-gyp work again on windows (Bert Belder)
  • deps: update libuv to 1.2.1 (Saúl Ibarra Corretgé)
  • doc: mention io.js alongside Node in Punycode docs (Mathias Bynens)
  • deps: update http_parser to 2.4.1 (Fedor Indutny)
  • doc: update cluster entry in CHANGELOG (Ben Noordhuis)
  • doc: fix double smalloc example (Mathias Buus)

I'm mainly interested in this for the windows node-gyp fix but the upgrades to libuv and http_parser are also worthy of release.

I'm also working to make it so that >1 person can make formal releases. A select few people should be able to make a release by:

  1. creating a signed tag for the release in the codebase (and doing the bits that need doing in node_version.h)
  2. running the iojs+release job on Jenkins
  3. running a shell script on their own machine as well as the web server to promote the builds to the release directory and sign the shasums with the same GPG key used to sign the git tag

It's this last step that needs a bit of work. I'll have to give these people access to the server and set up a script that does the work on the remote to promote and locally to sign. I have these pieces in 2 parts now but they could be combined and I need to sort out permissions properly on the server so it's more secure to allow others in to this process.

Of course, the more GPG keys we have signing shasums, the more we need to list somewhere for people to authenticate our builds with so I also propose we list everyone who has signed a release from io.js on the README along with the id of their GPG key so it can be easily fetched (there is already a collaborator list so ids could just go on there). We should also document how people can verify downloads.

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