Release Notes for 8.10.1
Regenerate this script with:
tools/kraken -b v8.x -c Carbon -d 2018-04-03 -u DANGER 8.10.1
Your settings:
- Version:
8.10.1
- Previous version:
10.0.0
- Remote branch:
DANGER/v8.x
- Release type:
LTS
- Release date:
2018-04-03
Note: If you haven't used this script before, check out the requirements by running: tools/kraken -h
- Get on the right branch and update it
git fetch DANGER; git checkout v8.x; git merge --fast-forward DANGER/v8.x
- Look at
semver-minor
commits:branch-diff v8.x-staging DANGER/v9.x --exclude-label semver-major,semver-minor,dont-land-on-v8.x,backport-requested-v8.x, backported-to-v8.x --filter-release | tee audit-minors-8.10.1.md
- Cherry-pick
semver-patch
commits:branch-diff v8.x-staging DANGER/v9.x --exclude-label semver-major,semver-minor,dont-land-on-v8.x,backport-requested-v8.x, backported-to-v8.x --filter-release | audit-8.10.1.md
- Check out the proposal branch
git checkout -b v8.10.1-proposal v8.x-staging # TODO(gib): Confirm this.
- Create an initial release commit
git commit -am "2018-04-03, Version 8.10.1 'Carbon' (LTS)"
- Raise a PR with your changes, copy the PR-URL or PR number, and rerun the
script. # TODO(gib): Make this conditional on PR being unset.
tools/kraken -b v8.x -c Carbon -d 2018-04-03 -u DANGER 8.10.1 -p <PR>
- Update src/node_version.h with the new version and set release bit.
# TODO(gib): Make sure these work. sed -i "s/NODE_MAJOR_VERSION [0-9]\+$/NODE_MAJOR_VERSION 8/" src/node_version.h sed -i "s/NODE_MINOR_VERSION [0-9]\+$/NODE_MINOR_VERSION 10/" src/node_version.h sed -i "s/NODE_PATCH_VERSION [0-9]\+$/NODE_PATCH_VERSION 1/" src/node_version.h sed -i "s/NODE_VERSION_IS_LTS [0-1]$/NODE_VERSION_IS_LTS 1/" src/node_version.h # TODO(gib): This is broken. sed -i "s/NODE_VERSION_LTS_CODENAME \"$/NODE_VERSION_LTS_CODENAME 1/" src/node_version.h sed -i "s/NODE_VERSION_IS_RELEASE [0-1]$/NODE_VERSION_IS_RELEASE 1/" src/node_version.h
- Generate the changelog for the release.
changelog-maker --group --filter-release --start-ref v10.0.0 >release-8.10.1-changelog cp release-8.10.1-changelog release-8.10.1-notable
- Add changelog to doc/changelogs/CHANGELOG_v8.md:
# TODO(gib): Finish this. sed -i ""
- Manually edit the notable changes file
$VISUAL release-8.10.1-notable
- Add notable changes to doc/changelogs/CHANGELOG_v8.md:
# TODO(gib): Finish this. sed -i ""
- Update REPLACEME tags:
grep REPLACEME doc/api/*.md sed -i "s/REPLACEME/8.10.1/g" doc/api/*.md
- Check for DEP00XX tags:
grep DEP00XX doc/api/*.md
- Add changes to release commit
git commit --amend -am "2018-04-03, Version 8.10.1 'Carbon' (LTS) Notable changes: $(cat release-8.10.1-notable) PR-URL: " git push -u v8.10.1-proposal
YYYY-MM-DD, Version x.y.z (Release Type), @releaser
Notable changes
- List interesting changes here
- Particularly changes that are responsible for minor or major version bumps
- Also be sure to look at any changes introduced by dependencies such as npm
- ... and include any notable items from there
Commits
- Run node-test-pull-request, citgm-smoker, and iojs-release to create and test the rc.
- node-test-pull-request params:
# Not usable yet. https://www.ittybittytalks.com/how-to-automate-your-jenkins-build-script/
- citgm-smoker
- iojs-release
# Get the commit to build. git rev-parse --short HEAD
- node-test-pull-request params:
- Generate the tag:
git secure-tag v8.10.1 $(git rev-parse --short HEAD) -sm "2018-04-03 Node.js v8.10.1 'Carbon' (LTS) Release"
- Push to the upstream repo
git push DANGER v8.10.1
- Update src/node_version.h with the new version and unset release bit.
sed -i "s/NODE_PATCH_VERSION [0-9]\+$/NODE_PATCH_VERSION 2/" src/node_version.h sed -i "s/NODE_VERSION_IS_RELEASE [0-1]$/NODE_VERSION_IS_RELEASE 0/" src/node_version.h
- Create Working on... commit, and merge v8.10.1-proposal into v8.x
git commit -am "Working on v8.10.2 PR-URL: " git push DANGER v8.10.1-proposal git branch -d v8.x || true git checkout -b v8 DANGER/v8.x git fetch --all git merge --ff-only v8.10.1-proposal git push DANGER v8.x git checkout v8.x-staging git rebase v8.x git push --force-with-lease v8-staging
- Delete the v8.10.1-proposal branch in
- Merge v8.10.1-proposal into master, and rebase v8.x-staging on it.
git fetch --all git checkout master git reset --hard DANGER/master git cherry-pick v8.10.1 git reset src/node_version.h doc/api/*.md git checkout src/node_version.h doc/api/*.md git add -A git cherry-pick --continue # If you have Changelog conflicts, fix them manually. git push DANGER master
- Workaround the bug in tools/release.sh
echo "Could not find signed tag for \"\" or GPG key is not yours" -exit 1 +# exit 1
- Promote and sign the release builds.
tools/release.sh
- Check the release is at https://nodejs.org/dist/v8.10.1
- Create a blog post:
# cd /path/to/nodejs.org git fetch --all git checkout master git reset --hard up/master # TODO(gib): Fix this for other remotes. git checkout -b v8.10.1 npm i node scripts/release-post.js 8.10.1 $VISUAL locale/en/blog/release/v8.10.1.md npm run serve # Check that the post looks okay when rendered. xdg-open localhost:8080/en/blog/release/v8.10.1 git add locale/en/blog/release/v8.10.1.md git commit -m "Blog: v8.10.1 release post Refs: " git push -u fork v8.10.1
- Create and Squash and Merge the PR.
- Tweet about it:
ππππππ v8.10.1 of @nodejs is out! ππππππ Updates to V8 and libuv, and a host of others. https://nodejs.org/en/blog/release/v8.10.1/ Get it with `nvm i --lts`