All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- BREAKING: Bump minimum Node.js version to
^18.18
(#156) - BREAKING: Bump
@metamask/auto-changelog
to^4.0.0
(#156)- This requires
prettier@>=3.0.0
.
- This requires
- Bump
@metamask/utils
to^9.0.0
(#150)
- Correct Yarn constraint violations and update Yarn lockfile at the end of the release process (#145)
- This was previously a required step after running
create-release-branch
.
- This was previously a required step after running
- Enable MetaMask security code scanner (#133)
- BREAKING: Format changelogs using Prettier (#100)
- This is a breaking change since it changes the default formatting of the changelog in new release PRs. If you have a package script that runs
auto-changelog validate
, or you're callingauto-changelog validate
in CI, you'll now need to pass the--prettier
flag (see example).
- This is a breaking change since it changes the default formatting of the changelog in new release PRs. If you have a package script that runs
- Restore support for monorepos that use
workspace:^
references for interdependencies (#125)
- Move
@metamask/auto-changelog
fromdevDependencies
todependencies
and pin to ~3.3.0 (#122)
- BREAKING Bump minimum Node version to 16 (#114)
- Reorder workflow to update changelogs first (#109)
- When you run this tool you can use the changelogs to decide which versions to include in your release.
- Allow for partial releases (#98)
- It is no longer necessary to release every package that has changed. Instead, you may release a subset of packages (as long as it is okay to do so; see next items).
- Soft-enforce major-bumped packages to be released along with their dependents (#101)
- If a new major version of a package A is being included in the release, and there are is a package B which depends on A but which is not also being released at the same time, then the tool will produce an error. This is to ensure that if a consumer is upgrading package A in a project and they also need to upgrade package B for compatibility reasons, they can.
- Soft-enforce dependents to be released along with their dependencies (#102)
- If package B depends on package A, and A has changed since its last release, and B is being included in the release but not A, then the tool will produce an error. This is to ensure that if B has been changed to rely on a new feature that was added to A, it doesn't break when it is used in a project (since that feature is present in development but has not been published).
- Add support for nested workspaces (#84)
- Add
.yml
extension toRELEASE_SPEC
file (#83)
- Update changelogs correctly for monorepo packages (#50)
- The changelog update step was encountering an error when used for a monorepo package release that had already been released at least once. Related to this, the changelog was being updated with the wrong tag links. Both problems should now be resolved.
- Initial release
- In this first release, this tool only supports monorepos with an independent versioning scheme. We will add support for other kinds of projects in future releases.
- You can learn more on how to use this tool by reading the documentation.