Ensure all commits in master were tested at Facebook.
- Check that they were a part of the latest internal sync.
- For stable releases, prefer that they’ve been landed for a week or so.
- Only skip this step if you really know what you’re doing!
Verify that you have npm permissions.
Ensure your React is fresh.
Ensure runtime dependencies match what users would get.
Do the local sanity checks in the repo root.
STABLE RELEASE ONLY: Update error codes.
(See #10619 #10621 and #10622)
Update the version.
Build it!
Run fast packaging smoke test.
Run slow packaging smoke test.
Release!
Bonus: Try it out!
Ensure all commits in master were tested at Facebook.
Verify that you have npm permissions.
npm owner ls reactnpm owner ls react-artnpm owner ls react-domnpm owner ls react-test-rendererEnsure your React is fresh.
mastergit pullgit logoutput matches the commit list.yarnin the repo root.Ensure runtime dependencies match what users would get.
For
fbjs:fbjsin rootpackage.json.packages/*/package.jsondepending onfbjsspecify the same range.yarn upgrade fbjs@^THAT_VERSIONin the repo root. (Don’t miss the caret!)For
object-assign:object-assignin rootpackage.json.packages/*/package.jsondepending onobject-assignspecify the same range.yarn upgrade object-assign@^THAT_VERSIONin the repo root. (Don’t miss the caret!)For
prop-types:prop-typesin rootpackage.json.packages/*/package.jsondepending onprop-typesspecify the same range.yarn upgrade prop-types@^THAT_VERSIONin the repo root. (Don’t miss the caret!)This might change the lockfile. This should not change any
package.json.Commit the changes, if any. (see Update to latest allowed versions of
fbjsandprop-types#10626)Edit:
react-artis broken in the 16 branch but this shouldn't block RC, and will be fixed asap by @sophiebits and @flarnie in Pull in react-art/lib/{Circle,Rectangle,Wedge}.art #10629Do the local sanity checks in the repo root.
yarn testin the repo root.yarn lintin the repo root.yarn flowin the repo root.STABLE RELEASE ONLY: Update error codes.
yarn build -- --extract-errorsin the repo root.scripts/error-codes/codes.jsonchanges,git commit -am 'Update error codes'*-stablebranch for docs when you’re reading this, we need to cherry-pick that commit to that branch. This makes sure the website decoder knows about the updated error codes. But ideally we should just change docs to serve from master.(See #10619 #10621 and #10622)
Update the version.
src/ReactVersion.jsversionin allpackages/*/package.json:packages/react-art/package.jsonpackages/react-dom/package.jsonpackages/react-noop-renderer/package.jsonpackages/react-test-renderer/package.jsonyarn version-checkto verify your changes.git commit -am "<version number>"Build it!
yarn buildin the repo root.Run fast packaging smoke test.
fixtures/packaging/babel-standalone/dev.htmlin the browser for a smoke test.Run slow packaging smoke test.
cd fixtures/packagingand runnode build-all.jsnpm install -g serveserve -s .Release!
git pushgit push --tagsbuild/packagesnpm publish --tag nextin the subfolder.npm publishin the subfolder.Bonus: Try it out!
create-react-app myappcd myappnpm start