{"id":856489,"date":"2026-09-22T10:24:10","date_gmt":"2026-09-22T10:24:10","guid":{"rendered":"https:\/\/www.newsbeep.com\/us\/856489\/"},"modified":"2026-09-22T10:24:10","modified_gmt":"2026-09-22T10:24:10","slug":"changesets-v3-bumps-peer-dependents-by-patch-and-ships-esm-only-with-an-88-smaller-install","status":"publish","type":"post","link":"https:\/\/www.newsbeep.com\/us\/856489\/","title":{"rendered":"Changesets v3: Bumps Peer Dependents by Patch and Ships ESM Only with an 88% Smaller Install"},"content":{"rendered":"<p>Changesets, the file based versioning and changelog tool for JavaScript monorepos, has shipped <a href=\"https:\/\/changesets.dev\/blog\/announcing-changesets-v3\" rel=\"nofollow noopener\" target=\"_blank\">v3.0<\/a>, its first major release in the seven years since v2, bringing leaner installs, a rebuilt CLI, and a long awaited change to how peer dependencies are bumped.<\/p>\n<p>The release landed on 11 August 2026, led by a refreshed maintainer team of Mateusz Burzy\u0144ski, Bjorn Lu and Adam Haglund working through a public <a href=\"https:\/\/github.com\/changesets\/changesets\/issues\/1945\" rel=\"nofollow noopener\" target=\"_blank\">v3 release plan<\/a>. It arrives with a new <a href=\"https:\/\/changesets.dev\" rel=\"nofollow noopener\" target=\"_blank\">documentation site<\/a>, a matching <a href=\"https:\/\/github.com\/changesets\/action\/releases\/tag\/v2.0.0\" rel=\"nofollow noopener\" target=\"_blank\">changesets\/action v2<\/a>, and more than 3M weekly downloads behind it.<\/p>\n<p>All packages are now <a href=\"https:\/\/changesets.dev\/guide\/migration\" rel=\"nofollow noopener\" target=\"_blank\">ESM only<\/a> and require Node.js 22.11 or newer, plus pnpm 10, npm 10.9 or Yarn 4.5.2 as a minimum, with Yarn Classic dropped. The cleanup cut install size from 16.1MB to 2.1MB and dependencies from 95 to 39, and internally the project moved to <a href=\"https:\/\/tsdown.dev\" rel=\"nofollow noopener\" target=\"_blank\">tsdown<\/a>, <a href=\"https:\/\/rolldown.rs\" rel=\"nofollow noopener\" target=\"_blank\">rolldown<\/a>, vitest and oxfmt. Changelog formatting no longer pulls in its own Prettier copy, instead using <a href=\"https:\/\/npmx.dev\/@changesets\/format\" rel=\"nofollow noopener\" target=\"_blank\">@changesets\/format<\/a> to detect prettier, oxfmt, deno or dprint in the project.<\/p>\n<p>The headline behaviour change is that a peer dependency update now gives dependents a <a href=\"https:\/\/github.com\/changesets\/changesets\/pull\/2090\" rel=\"nofollow noopener\" target=\"_blank\">patch bump rather than a major one<\/a>. The old behaviour generated years of complaints, including <a href=\"https:\/\/github.com\/changesets\/changesets\/issues\/1011\" rel=\"nofollow noopener\" target=\"_blank\">issue 1011<\/a>, where a team maintaining a design system monorepo wrote that bumping to a major version &#8220;feels like it is sending the wrong message and not honouring semver&#8221;. Authors shipping a genuine break can still add an explicit major changeset for the dependent.<\/p>\n<p>The maintainers of <a href=\"https:\/\/github.com\/dmno-dev\/bumpy\/blob\/main\/docs\/differences-from-changesets.md\" rel=\"nofollow noopener\" target=\"_blank\">Bumpy<\/a>, a recently launched competitor, note that v3 &#8220;hardcodes the opposite extreme&#8221;, since every peer change is now assumed non breaking, and that neither version lets you configure propagation. Their comparison still credits v3 with fixing many long standing complaints, while listing gaps such as pnpm <a href=\"https:\/\/github.com\/changesets\/changesets\/issues\/1707\" rel=\"nofollow noopener\" target=\"_blank\">catalog support<\/a> and an unchanged prerelease design.<\/p>\n<p>The CLI was rebuilt on <a href=\"https:\/\/github.com\/changesets\/changesets\/pull\/2009\" rel=\"nofollow noopener\" target=\"_blank\">cac<\/a> for argument parsing and <a href=\"https:\/\/github.com\/changesets\/changesets\/pull\/1879\" rel=\"nofollow noopener\" target=\"_blank\">clack prompts<\/a> for interaction, which also fixes cancelled prompts crashing the process. New pack and publish-plan commands support the build, pack and publish sequence <a href=\"https:\/\/e18e.dev\/docs\/publishing.html\" rel=\"nofollow noopener\" target=\"_blank\">recommended by the e18e community<\/a>, and the v2 action exposes sub actions so teams using npm trusted publishing can narrow publish permissions.<\/p>\n<p>Upgrading is mostly configuration work, documented in the <a href=\"https:\/\/changesets.dev\/guide\/migration\" rel=\"nofollow noopener\" target=\"_blank\">migration guide<\/a>. Beyond the install requirements, commands and flags have been renamed:<\/p>\n<p>&#13;<br \/>\n# v2&#13;<br \/>\nchangeset tag&#13;<br \/>\nchangeset status &#8211;sinceMaster&#13;<br \/>\n# v3&#13;<br \/>\nchangeset git-tag&#13;<br \/>\nchangeset status &#8211;since=main&#13;<\/p>\n<p>Configuration moves too, with prettier replaced by format and private packages no longer versioned unless opted back in:<\/p>\n<p>&#13;<br \/>\n{&#13;<br \/>\n &#8220;format&#8221;: &#8220;auto&#8221;,&#13;<br \/>\n &#8220;privatePackages&#8221;: { &#8220;version&#8221;: true, &#8220;tag&#8221;: false }&#13;<br \/>\n}&#13;<\/p>\n<p>changeset version now exits with code 1 when there is nothing to release, so as one team&#8217;s <a href=\"https:\/\/github.com\/neolution-ch\/release-playbook\/blob\/main\/docs\/CHANGESETS.md\" rel=\"nofollow noopener\" target=\"_blank\">release playbook<\/a> warns, &#8220;any script that runs it unconditionally under set -e will now fail on an empty release&#8221;.<\/p>\n<p>Against <a href=\"https:\/\/github.com\/semantic-release\/semantic-release\" rel=\"nofollow noopener\" target=\"_blank\">semantic-release<\/a>, which infers versions from conventional commits, and <a href=\"https:\/\/github.com\/release-it\/release-it\" rel=\"nofollow noopener\" target=\"_blank\">release-it<\/a>, Changesets keeps its distinctive trade off that contributors write release intent into markdown files, and the release stays reviewable as a pull request. v3 does not change that model, it makes it cheaper to install and better behaved around peer dependencies.<\/p>\n<p>Changesets is an MIT licensed tool for managing versioning and changelogs with a focus on monorepos. Contributors declare how their changes should be released, and the CLI turns those declarations into version bumps, changelog entries and registry publishes. v3 is <a href=\"https:\/\/github.com\/changesets\/changesets\/blob\/main\/packages\/cli\/CHANGELOG.md\" rel=\"nofollow noopener\" target=\"_blank\">available now<\/a>, with v2 kept on a <a href=\"https:\/\/github.com\/changesets\/changesets\/tree\/maintenance\/v2\" rel=\"nofollow noopener\" target=\"_blank\">maintenance branch<\/a>.<\/p>\n","protected":false},"excerpt":{"rendered":"Changesets, the file based versioning and changelog tool for JavaScript monorepos, has shipped v3.0, its first major release&hellip;\n","protected":false},"author":2,"featured_media":856490,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[56],"tags":[228,226,227,361658,361657,229,4779,88,177645,94427],"class_list":["post-856489","post","type-post","status-publish","format-standard","has-post-thumbnail","category-arts-and-design","tag-arts","tag-arts-and-design","tag-artsanddesign","tag-automated-deployment","tag-changesets-v3-release","tag-design","tag-development","tag-entertainment","tag-javascript","tag-web-development"],"_links":{"self":[{"href":"https:\/\/www.newsbeep.com\/us\/wp-json\/wp\/v2\/posts\/856489","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.newsbeep.com\/us\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.newsbeep.com\/us\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/us\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/us\/wp-json\/wp\/v2\/comments?post=856489"}],"version-history":[{"count":0,"href":"https:\/\/www.newsbeep.com\/us\/wp-json\/wp\/v2\/posts\/856489\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.newsbeep.com\/us\/wp-json\/wp\/v2\/media\/856490"}],"wp:attachment":[{"href":"https:\/\/www.newsbeep.com\/us\/wp-json\/wp\/v2\/media?parent=856489"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.newsbeep.com\/us\/wp-json\/wp\/v2\/categories?post=856489"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.newsbeep.com\/us\/wp-json\/wp\/v2\/tags?post=856489"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}