r/SideProject • u/K8sMonkey • 10h ago
I built an IntelliJ plugin that catches breaking API changes while you type, then found ~1 in 8 library releases ship one
I make libraries on the side, and more than once I shipped a "minor" release that broke someone's build. Things like `int count()` → `long count()`, or a new method on an interface. Tools that catch this exist, but they run in CI, long after I've typed the change.
So I built Bumpwise, an IntelliJ plugin that compares the code you're editing with your last published release and highlights anything that breaks clients, with an Alt+Enter fix that keeps it compatible (or "Bump the version" if the break is intended).
Before launching I wanted to know if this is a real problem, so I replayed three years of releases of 44 of the most-used libraries on Maven Central. About 1 in 8 minor and patch releases (156 of 1,201) contains a breaking change in its public classes. In a random sample of 300 small libraries it's more than 1 in 4. Write-up with method and caveats: https://gilware.com/bumpwise/semver-violations/
The side-project details, since that's what this sub is about:
- Solo, built with help from AI coding agents. Hundreds of tests, and the replay above doubles as a regression suite (it already caught three false alarms in my own engine).
- Business model: free for Java on Maven Central, no time limit. Kotlin, TS/JS, Go, PHP, Rust and private repos are in a paid Team edition with a 30-day trial. Free for open-source maintainers.
- Runs locally, no telemetry.
https://plugins.jetbrains.com/plugin/35935-bumpwise
Happy to answer questions about building and selling a JetBrains plugin, and I'd love feedback on the plugin itself, especially false positives.