Remix.run Logo
Show HN: Bumpy – versioning/changelog tool, fixed 120 open changesets issues(github.com)
3 points by theozero 7 hours ago | 1 comments

Meet bumpy - your new favourite open-source versioning, release, and changelog tool. Especially useful in monorepos with many related packages, but also great to use in simpler setups.

This is a modern successor to the popular changesets tool, used by many open source projects.

While changesets is great, and I love the file-based bump+changelog workflow, the project has hundreds of open issues, many of which have been open for multiple years. Bumpy fixes most of the important ones (over 120+ by my last count), and adds some new features as well. It also greatly simplifies things, so it should be easier to evolve as folks start pushing its limits.

Some highlights:

  - changesets is built as a monorepo with 20 subpackages, this is a much simpler monolith
  - changesets requires you install a github app, use a github action, an npm module, and another for changelog formatting (this is a single install)
  - much more flexible include/exclude logic, instead of assuming behaviour is the same for all private packages
  - allows custom publishing commands, does not assume/force npm publishing
  - more sane peer dependency bumping logic
  - built in formatters, and easier to write custom ones
  - non-interactive version of add command (useful for agents)
  - it's infested with delightful frogs
  - lots of other small quality of life improvements
What's missing:

  - no prerelease workflows yet (changesets users say this part of it is very confusing, so want to get it right)
  - I want to allow multiple publish targets per package
  - Add plugin system to define common publishing targets (e.g., VSCode extension marketplace)
Yes it was coded using AI, but carefully. There is a comprehensive test suite. We are using it actively to release varlock along with 25+ related libs and plugins.

Run `bunx @varlock/bumpy init` to get started - if you are using changesets, it will help you migrate automatically.

delineato 6 hours ago | parent [-]

[dead]