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.
- Ask users to include peer dependents of a major-bumped package in the release, even they've had no changes (#173)
- UI: Include all peer dependents of a major-bumped package as available packages to release, even if they've had no changes (#173)
- Add interactive web UI for selecting package versions to release (#166)
- Added
--interactive
(-i
) flag to launch a web-based UI for easier version selection - Added
--port
option to configure the web server port (default: 3000)
- Added
- Refine breaking change dependent detection to only consider peer dependencies (#170)
- This change supports our policy of requiring packages with breaking changes to be released alongside their dependents
- Regular dependencies are no longer included in this check
- Allow
npm:name@version
dependency redirections in manifest (#158)
- 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.