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.