Does bumping a dependency's compat lower bound require a breaking release?

That’s it. That’s the question.

2 Likes

Hmm, my first reaction is to quote the semver spec

What should I do if I update my own dependencies without changing the public API?

That would be considered compatible since it does not affect the public API. Software that explicitly depends on the same dependencies as your package should have their own dependency specifications and the author will notice any conflicts. Determining whether the change is a patch level or minor level modification depends on whether you updated your dependencies in order to fix a bug or introduce new functionality. We would usually expect additional code for the latter instance, in which case it’s obviously a minor level increment.

which says a minor or patch release would be fine. But of course I am wondering if there’s more to it.

2 Likes

In general, no. See

2 Likes

Cool, thanks both!

There are certain cases that I’ve encountered, where bumping the lower compat bound of a dependency makes it impossible to install the package on an older Julia version (e.g. LTS) due to compat conflicts. In case your package is not 1.0 yet, you need to make a choice: do you want to keep supporting the older Julia version? In that case, you might want to make a breaking 0.n+1 release and backport fixes to 0.n. If you don’t want to support older Julia versions, there’s no need for a breaking release here. This situation is simplified post v1, where this may be a minor, non-breaking release, as backports are possible to the previous minor release.