# Changesets: what changed from 2 to 3 - Product: Changesets (https://whatsnew.fyi/product/changesets) - Vendor: Changesets - Range: changelog entries numbered after 2.31.1 up to and including 3.0.2, stable releases only - Entries below: 3 releases (newest first) - Resolved: 2 is 2.31.1 and 3 is 3.0.2, the newest stable release of each major we track - Carrying security changes: 0 · CVEs mentioned: 0 · Mentioning breaking changes: 1 · Removing or deprecating something: 1 - Page: https://whatsnew.fyi/product/changesets/compare/2...3 What's New is an index, not a publisher: every entry below links to the vendor's own release notes, which are the authoritative source. Entries are labelled where they are hand-curated sample data, pre-releases, or drawn from a secondary source such as a developer blog. Reuse: the summaries, labels and curation here are © What's New. Quote freely with attribution and a link back; wholesale republication of the corpus is not permitted — terms: https://whatsnew.fyi/terms. The vendors' own release notes remain their publishers'. ## What changed (18 changes, grouped by kind) ### Added #### 3.0.2 (2026-09-04) - Add review message on pre exit ### Changed #### 3.0.1 (2026-08-19) - Update links in default generated .changeset/README.md file - Updated @changesets/write to 1.0.1 #### 3.0.0 (2026-08-11) - Rename the `changeset tag` command to `changeset git-tag` - Set supported package manager versions in `engines` field to npm >=10.9.0, pnpm >=10.0.0, and yarn >=4.5.2 - Make `changeset version` exit with code 1 when there are no unreleased changesets instead of exiting with code 0 - Bump supported Node versions to ^22.11 || ^24 || >=26 - Move versioned prerelease changesets to `.changeset/pre/` folder instead of tracking them in `.changeset/pre.json` with auto-migration on next run - Publish packages with only prerelease versions with the prerelease tag in prerelease mode if the target registry doesn't auto-assign `latest` tag - Update `@manypkg/get-packages` to drop support for Bolt monorepos and add support for npm monorepos - Allow `CommitFunctions` to be both sync and async, with `defaultCommitFunctions` now being sync - Publish this package as ES module ### Removed #### 3.0.0 (2026-08-11) - Remove the `prettier` option in `.changeset/config.json` in favor of `format` which supports `auto`, `prettier`, `oxfmt`, `deno`, `dprint`, and `false` - Remove Yarn Classic support - Remove warning messages about using v1 configs - Remove support for the `--sinceMaster` flag for `changeset status` in favor of `--since=master` or `--since=main` - Remove the `pre.json` `initialVersions` property - Remove support for the deprecated `___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH.useCalculatedVersionForSnapshots` config in favor of `snapshot.useCalculatedVersion` ## Release notes ### 3.0.2 - Date: 2026-09-04 - Version: 3.0.2 - Original notes: https://github.com/changesets/changesets/releases/tag/%40changesets/cli%403.0.2 - Permalink: https://whatsnew.fyi/product/changesets/releases/3.0.2 - **added** — Add review message on pre exit ###### Patch Changes - [#2270](https://github.com/changesets/changesets/pull/2270) [`a0a4dc6`](https://github.com/changesets/changesets/commit/a0a4dc650033ea1dc53a9f2f7cbf9b46aaf339bd) Thanks [@bluwy](https://github.com/bluwy)! - Add review message on pre exit - Updated dependencies [[`1f4eb61`](https://github.com/changesets/changesets/commit/1f4eb6172547853d2a462a3ffd09e206f19e0a28), [`059f70a`](https://github.com/changesets/changesets/commit/059f70a82075a65108913eaecfc3b995565ce07b)]: - @changesets/apply-release-plan@8.1.0 - @changesets/git@4.0.1 - @changesets/read@1.0.1 ### 3.0.1 - Date: 2026-08-19 - Version: 3.0.1 - Original notes: https://github.com/changesets/changesets/releases/tag/%40changesets/cli%403.0.1 - Permalink: https://whatsnew.fyi/product/changesets/releases/3.0.1 - **changed** — Update links in default generated .changeset/README.md file - **changed** — Updated @changesets/write to 1.0.1 ###### Patch Changes - [#2239](https://github.com/changesets/changesets/pull/2239) [`fdfdc93`](https://github.com/changesets/changesets/commit/fdfdc93efeff2034a6211db13a69b3487d00a3dd) Thanks [@bluwy](https://github.com/bluwy)! - Update links in default generated `.changeset/README.md` file - Updated dependencies [[`d0386b6`](https://github.com/changesets/changesets/commit/d0386b69c8a8bd14a702e7636ab01c1e83b1914e)]: - @changesets/write@1.0.1 ### 3.0.0 - Date: 2026-08-11 - Version: 3.0.0 - Original notes: https://github.com/changesets/changesets/releases/tag/%40changesets/cli%403.0.0 - Permalink: https://whatsnew.fyi/product/changesets/releases/3.0.0 - **changed** — Rename the `changeset tag` command to `changeset git-tag` - **changed** — Set supported package manager versions in `engines` field to npm >=10.9.0, pnpm >=10.0.0, and yarn >=4.5.2 - **changed** — Make `changeset version` exit with code 1 when there are no unreleased changesets instead of exiting with code 0 - **changed** — Bump supported Node versions to ^22.11 || ^24 || >=26 - **removed** — Remove the `prettier` option in `.changeset/config.json` in favor of `format` which supports `auto`, `prettier`, `oxfmt`, `deno`, `dprint`, and `false` - **changed** — Move versioned prerelease changesets to `.changeset/pre/` folder instead of tracking them in `.changeset/pre.json` with auto-migration on next run - **removed** — Remove Yarn Classic support - **changed** — Publish packages with only prerelease versions with the prerelease tag in prerelease mode if the target registry doesn't auto-assign `latest` tag - **removed** — Remove warning messages about using v1 configs - **changed** — Update `@manypkg/get-packages` to drop support for Bolt monorepos and add support for npm monorepos - **removed** — Remove support for the `--sinceMaster` flag for `changeset status` in favor of `--since=master` or `--since=main` - **removed** — Remove the `pre.json` `initialVersions` property - **changed** — Allow `CommitFunctions` to be both sync and async, with `defaultCommitFunctions` now being sync - **changed** — Publish this package as ES module - **removed** — Remove support for the deprecated `___experimentalUnsafeOptions_WILL_CHANGE_IN_PATCH.useCalculatedVersionForSnapshots` config in favor of `snapshot.useCalculatedVersion` ###### Major Changes - [#2128](https://github.com/changesets/changesets/pull/2128) [`7113c01`](https://github.com/changesets/changesets/commit/7113c014330b3f972e54ece8e67731613193958f) Thanks [@Andarist](https://github.com/Andarist)! - Renamed the `changeset tag` command to `changeset git-tag`. - [#2074](https://github.com/changesets/changesets/pull/2074) [`3599e47`](https://github.com/changesets/changesets/commit/3599e47217d2ed2dd60da628fe4d1d3fc4b849c7) Thanks [@bluwy](https://github.com/bluwy)! - Set supported package manager versions in `"engines"` field, including npm >=10.9.0, pnpm >=10.0.0, and yarn >=4.5.2. - [#1860](https://github.com/changesets/changesets/pull/1860) [`92b1c1b`](https://github.com/changesets/changesets/commit/92b1c1b6b1733b1f1799a73828d378646b068798) Thanks [@mixelburg](https://github.com/mixelburg)! - `changeset version` now exits with code 1 when there are no unreleased changesets, instead of silently exiting with code 0. This makes it easier to detect when a version step is a no-op — for example, to prevent accidentally publishing packages with incorrect version tags when using `--snapshot` mode. - [#1482](https://github.com/changesets/changesets/pull/1482) [`df424a4`](https://github.com/changesets/changesets/commit/df424a4a09eea15b0fa9159ee0b98af0d95f58a7) Thanks [@Andarist](https://github.com/Andarist)! - Bumped supported Node versions to `^22.11 || ^24 || >=26` - [#1994](https://github.com/changesets/changesets/pull/1994) [`062530b`](https://github.com/changesets/changesets/commit/062530b825d53abc9d8934f3a50cc61ff3ff82b8) Thanks [@bluwy](https://github.com/bluwy)! - The `prettier` option in `.changeset/config.json` has been removed in favor of `format`. `format` supports `"auto"`, `"prettier"`, `"oxfmt"`, `"deno"`, and `"dprint"`, and `false` disables formatting. If you previously used `prettier: false`, migrate to `format: false` or remove the option to use automatic formatter detection. - [#2190](https://github.com/changesets/changesets/pull/2190) [`96b65ee`](https://github.com/changesets/changesets/commit/96b65eec4af2c58301a11cd7dff42a6bde9c9f8a) Thanks [@bluwy](https://github.com/bluwy)! - Move versioned prerelease changesets to `.changeset/pre/` folder instead of accumulating in the root and tracking the versioned changeset ids in the `.changeset/pre.json` file. Existing `pre.json` will auto-migrate to this new structure on the next run of `changeset version` or when calling `changeset status`. This change allows easier management of versioned prerelease changesets (for the final stable release) and current queued changesets (for the next prerelease). Changesets in `.changeset/pre/` can be edited or deleted depending if it's still relevant for the final stable release of a package. There's no need to synchronize the changeset ids in `pre.json` if certain changesets are deleted. - [#2145](https://github.com/changesets/changesets/pull/2145) [`f5887ff`](https://github.com/changesets/changesets/commit/f5887ff54a6b78eae87ae85fdac3294c4464da78) Thanks [@Andarist](https://github.com/Andarist)! - Removed Yarn Classic support - [#2097](https://github.com/changesets/changesets/pull/2097) [`8c88f6a`](https://github.com/changesets/changesets/commit/8c88f6a3362628ca580835a1a1f2310056ee5743) Thanks [@Andarist](https://github.com/Andarist)! - Packages with only prerelease versions published will now be published with the prerelease tag in the prerelease mode _if_ the target registry doesn't auto-assign `latest` tag. npm registry itself does that and such packages will continue to be released with `latest` tag (and not with the configured prerelease tag). - [#1879](https://github.com/changesets/changesets/pull/1879) [`c76b232`](https://github.com/changesets/changesets/commit/c76b232abc76f73592a21f0d5df9cc89406a31dc) Thanks [@beeequeue](https://github.com/beeequeue)! - Removed warning messages about using v1 configs. They will now be silently ignored. - [#1655](https://github.com/changesets/ _[Truncated at 4000 characters — full notes: https://github.com/changesets/changesets/releases/tag/%40changesets/cli%403.0.0]_