{"slug": "changesets", "name": "Changesets", "category": "productivity", "category_name": "Productivity", "description": "", "recommenders": 3, "commenters": 6, "warners": 1, "score": 2.177, "rising": -0.98, "first": "2026-04-21", "latest": "2026-06-05", "why": "Changesets (https://github.com/changesets/changesets) is a much better approach.", "why_is_quote": true, "has_verdict": false, "sentiment": {"recommend": 3, "neutral": 0, "compare": 2, "warn": 1}, "spark": [0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 0], "listed": true, "loved": [], "caveat": "", "short_quote": "Changesets (https://github.com/changesets/changesets) is a much better approach.", "kind": "", "icon": true, "domain": null, "github_repo": "github.com/changesets/changesets", "official_url": "https://github.com/changesets/changesets", "pricing": "", "aliases": ["Changesets", "changesets"], "verdict": null, "praise": [{"label": "", "summary": "", "quotes": [{"id": 774693936, "item_id": 48418371, "url": "https://news.ycombinator.com/item?id=48418371", "by": "turadg", "date": "2026-06-05", "stance": "recommend", "quote": "Changesets (https://github.com/changesets/changesets) is a much better approach.", "excerpt": "Broken promise 1 (Automatically generating CHANGELOGs) is spot on, especially in a monorepo with multiple released artifacts. A single commit could be a breaking change in one package and refactor in another. But the changelog tools see one commit and include it in both changelogs. Another issue is that once the commit lands on trunk, you can\u2019t revise the entry without editing history. You have to remember to fix it ", "context": "works in a monorepo with multiple released artifacts", "use_case": "monorepo changelogs", "switched_from": "", "story": "Stop Using Conventional Commits"}, {"id": 774636528, "item_id": 48414783, "url": "https://news.ycombinator.com/item?id=48414783", "by": "Benjamin_Dobell", "date": "2026-06-05", "stance": "recommend", "quote": "Many tools (e.g. Changesets https://github.com/changesets/changesets) use the semantic commit type", "excerpt": "My apologies, I missed this on first read due to the indentation style. That said, I don't agree on the commentary. Why on Earth are people not writing commit messages for their reverts? They should have semantic commit messages just the same as any other commit. Unless the point is that they're not following per-commit CD, and if you commit then revert that commit before a release was made. That sounds like a proces", "context": "", "use_case": "", "switched_from": "", "story": "Stop Using Conventional Commits"}, {"id": 765550032, "item_id": 47846877, "url": "https://news.ycombinator.com/item?id=47846877", "by": "hanspagel", "date": "2026-04-21", "stance": "recommend", "quote": "Publishing to npm, PyPi, Maven Central, crates.io, NuGet\u2026 all using changesets.", "excerpt": "We basically do the same for https://github.com/scalar/scalar/ Publishing to npm, PyPi, Maven Central, crates.io, NuGet\u2026 all using changesets.", "context": "", "use_case": "multi-registry package publishing", "switched_from": "", "story": "Using Changesets in a polyglot monorepo"}]}], "caveats": [{"label": "", "summary": "", "quotes": [{"id": 765561699, "item_id": 47847606, "url": "https://news.ycombinator.com/item?id=47847606", "by": "makisp", "date": "2026-04-21", "stance": "warn", "quote": "none of them tackled our two problems", "excerpt": "Hello HN, I'm Makis. For years I've maintained codebases we ship to multiple customers on independent version tracks, and writing release notes by hand has been a pain. I built ReleaseJet to automate it. There are existing tools for this (semantic-release, release-please, changesets) but none of them tackled our two problems: 1. We never adopted Conventional Commits. Our team labels issues and PRs, but we don't bothe", "context": "", "use_case": "", "switched_from": "", "story": "ReleaseJet \u2013 Release notes from issue labels, no Conventional Commits"}]}], "who": [{"by": "turadg", "context": "works in a monorepo with multiple released artifacts", "url": "https://news.ycombinator.com/item?id=48418371", "date": "2026-06-05"}], "tags": [], "use_cases": ["monorepo changelogs", "versioning", "multi-registry package publishing"], "compared": [], "makers": [], "threads": [{"url": "https://news.ycombinator.com/item?id=47845274", "title": "Using Changesets in a polyglot monorepo", "mentions": 3}, {"url": "https://news.ycombinator.com/item?id=48414027", "title": "Stop Using Conventional Commits", "mentions": 2}, {"url": "https://news.ycombinator.com/item?id=47847605", "title": "ReleaseJet \u2013 Release notes from issue labels, no Conventional Commits", "mentions": 1}], "sentiment_by_month": {"2025-11": {}, "2025-12": {}, "2026-01": {}, "2026-02": {}, "2026-03": {}, "2026-04": {"recommend": 1, "compare": 1, "warn": 1}, "2026-05": {"compare": 1}, "2026-06": {"recommend": 2}, "2026-07": {}, "2026-08": {}, "2026-09": {}, "2026-10": {}}, "quotes": [{"id": 774693936, "item_id": 48418371, "url": "https://news.ycombinator.com/item?id=48418371", "by": "turadg", "date": "2026-06-05", "stance": "recommend", "quote": "Changesets (https://github.com/changesets/changesets) is a much better approach.", "excerpt": "Broken promise 1 (Automatically generating CHANGELOGs) is spot on, especially in a monorepo with multiple released artifacts. A single commit could be a breaking change in one package and refactor in another. But the changelog tools see one commit and include it in both changelogs. Another issue is that once the commit lands on trunk, you can\u2019t revise the entry without editing history. You have to remember to fix it ", "context": "works in a monorepo with multiple released artifacts", "use_case": "monorepo changelogs", "switched_from": "", "story": "Stop Using Conventional Commits"}, {"id": 774636528, "item_id": 48414783, "url": "https://news.ycombinator.com/item?id=48414783", "by": "Benjamin_Dobell", "date": "2026-06-05", "stance": "recommend", "quote": "Many tools (e.g. Changesets https://github.com/changesets/changesets) use the semantic commit type", "excerpt": "My apologies, I missed this on first read due to the indentation style. That said, I don't agree on the commentary. Why on Earth are people not writing commit messages for their reverts? They should have semantic commit messages just the same as any other commit. Unless the point is that they're not following per-commit CD, and if you commit then revert that commit before a release was made. That sounds like a proces", "context": "", "use_case": "", "switched_from": "", "story": "Stop Using Conventional Commits"}, {"id": 768243281, "item_id": 48015205, "url": "https://news.ycombinator.com/item?id=48015205", "by": "theozero", "date": "2026-05-04", "stance": "compare", "quote": "it fixes a few things with changesets around custom publishing.", "excerpt": "check out https://bumpy.varlock.dev - still a bit of work to do to make other languages even easier, but it fixes a few things with changesets around custom publishing.", "context": "", "use_case": "versioning", "switched_from": "", "story": "Using Changesets in a polyglot monorepo"}, {"id": 765561699, "item_id": 47847606, "url": "https://news.ycombinator.com/item?id=47847606", "by": "makisp", "date": "2026-04-21", "stance": "warn", "quote": "none of them tackled our two problems", "excerpt": "Hello HN, I'm Makis. For years I've maintained codebases we ship to multiple customers on independent version tracks, and writing release notes by hand has been a pain. I built ReleaseJet to automate it. There are existing tools for this (semantic-release, release-please, changesets) but none of them tackled our two problems: 1. We never adopted Conventional Commits. Our team labels issues and PRs, but we don't bothe", "context": "", "use_case": "", "switched_from": "", "story": "ReleaseJet \u2013 Release notes from issue labels, no Conventional Commits"}, {"id": 765555969, "item_id": 47847248, "url": "https://news.ycombinator.com/item?id=47847248", "by": "Princesseuh", "date": "2026-04-21", "stance": "compare", "quote": "Hopefully easier than hacking around changesets, but less mature", "excerpt": "Not intending this to be an ad, but a friend of mine has been working on a changesets-based tool that has native polyglot support: https://github.com/bruits/sampo Hopefully easier than hacking around changesets, but less mature, of course. (Disclaimer: Him and I are in the same org and I have sent PRs to said tool)", "context": "", "use_case": "", "switched_from": "", "story": "Using Changesets in a polyglot monorepo"}, {"id": 765550032, "item_id": 47846877, "url": "https://news.ycombinator.com/item?id=47846877", "by": "hanspagel", "date": "2026-04-21", "stance": "recommend", "quote": "Publishing to npm, PyPi, Maven Central, crates.io, NuGet\u2026 all using changesets.", "excerpt": "We basically do the same for https://github.com/scalar/scalar/ Publishing to npm, PyPi, Maven Central, crates.io, NuGet\u2026 all using changesets.", "context": "", "use_case": "multi-registry package publishing", "switched_from": "", "story": "Using Changesets in a polyglot monorepo"}]}