-
Generate a new version using:
pnpm release:version
This command will bump the version in every package of the project.
-
Generate the changelog using:
pnpm release:changelog --release master
Running this command requires a GitHub personal access token with the
public_repo
scope.Set
GITHUB_TOKEN
variable in.env
file so to avoid passing it with command every timeOR
pass token with argument
--githubToken YOUR_TOKEN
-
Copy the generated changelog from the console, clean it up, add a short summary of the release highlights and use the new version number as the title.
Writing good highlights:
- Focus on new user facing features or changes
- Be concise, link to relevant documentation for extra clarity
Use the following template to format the list of changes:
<!-- HEADER + HIGHLIGHTS --> ### `@toolpad/core` - Commit message (#pr-number) @author - ... ### `@toolpad/studio` - Commit message (#pr-number) @author - ... ### Docs - Commit message (#pr-number) @author - ... ### Core - Commit message (#pr-number) @author - ... <!-- CONTRIBUTORS -->
Strip the
[tag]
from the commit lines and order them in each section. Sections that don't have changes can be removed altogether. If necessary, improve, redact or correct commit messages. -
Prepend the changelog to
CHANGELOG.md
. -
Open a PR to the
master
branch with the proposed changes. Add the "release" label. -
Smoke test the release with the CodeSandbox CI package of the PR branch:
a. Run Toolpad Core
pnpm dlx https://pkg.csb.dev/mui/toolpad/commit/<build>/create-toolpad-app smoke --core-version https://pkg.csb.dev/mui/toolpad/commit/<build>/@toolpad/core cd smoke pnpm add https://pkg.csb.dev/mui/toolpad/commit/<build>/@toolpad/core -S pnpm dedupe && pnpm dev
And verify the app runs
b. Run Toolpad Studio
pnpm dlx https://pkg.csb.dev/mui/toolpad/commit/<build>/create-toolpad-app --studio smoke cd smoke pnpm add https://pkg.csb.dev/mui/toolpad/commit/<build>/@toolpad/studio -S pnpm dedupe && pnpm dev
And verify the editor works
-
Merge the PR changes, then check out the
master
branch and pull the last commit. -
Publish the package to
npm
-
If you are not logged in to
npm
in your CLI, first log in with:npm login
-
Publish to
npm
pnpm release:publish
If you've created a prerelease, then instead use
pnpm release:publish-canary
-
-
Publish the documentation. The documentation must be updated on the
docs-latest
branch.git push upstream master:docs-latest -f
You can follow the deployment process on the Netlify Dashboard. Once deployed, it will be accessible at https://mui-toolpad-docs.netlify.app/.
-
- Use
<version number>
to Choose a tag (when you enter new version GH UI will pop a suggestionCreate new tag: *** on publish
) - Use
<commit of merged PR>
as the target - Use the cleaned changelog as the content of Describe this release
- Use
<version number>
as the Release title - Mark as prerelease if necessary.
- Publish release
- Use