All ongoing development is done on the
next branch. When preparing for a release, we'll create a
release branch which will eventually be merged into
master. This way, what's on
master is always what's published on
Release management is currently a manual process, to be performed by core team members only. Here's the process:
release branch, usually based on
Open a pull request for
Write the release notes in the PR description.
Decide on the version number, taking care to follow semver. Do a pre-release before doing the actual release.
yarn bump to increment the version number in all
package.json files as well as
Commit the version change as "Release vX.X.X" (using the correct version number).
Tag the release commit with
git tag vX.X.X (using the correct version number).
Push the release commit AND tag:
git push --follow-tags
Publish each package (in
./packages) to npm using the script below.
Create a new release on GitHub and copy the release notes there.
yarn build:packagescd packages/react-asyncnpm publish pkgcd ../react-async-devtoolsnpm publish pkg
Take care to publish the