I do see at semver, which Julia follows, including the package manager (and thus all packages?):
Given a version number MAJOR.MINOR.PATCH, increment the:
- MAJOR version when you make incompatible API changes,
- MINOR version when you add functionality in a backwards-compatible manner, and
- PATCH version when you make backwards-compatible bug fixes.
And I also saw a discussion on Discource today on a package perceived to be abandoned, in version 0.1, when in fact it was complete, and no additions planned.
When people have these incorrect assumptions that not yet 1.0 means immature, it doesn’t help the Julia community. And I’m thinking, will many packages never hit 1.0, as they don’t need breaking changes? This is possibly more common for Julia, with many (small) packages, easily usable together, while other languages may have more monolithic frameworks.
These aren’t issues specific to Julia, unless Julia [package manager] demands semver. Python’s version system doesn’t assume semver (some packages may use), and is strictly incompatible, or at least a (non-strict) superset of it.
Maybe I’m wrong and you’re allowed to jump to 1.0 without any breaking changes. Not sure there’s a downside to doing it. Then I think package owners should consider it. I realize many have a long list of TODOs (sometimes just in their heads) or wish to dos, that may never get there… So when would you upgrade?