General icon indicating copy to clipboard operation
General copied to clipboard

Bypass release notes requirement on 0.0.x

Open MilesCranmer opened this issue 1 year ago • 3 comments

I was wondering if the breaking change release notes requirement could be lifted for packages when they are on 0.0.x? Packages on 0.0.x are pre-alpha so it feels a bit overkill to require this at that stage, since there is no way to mark a non-breaking change at that point in the development cycle.

Why register a 0.0.x package?

0.0.x is useful for packages that are still heavily iterating on the API, or are in an experimentation stage, but still have use as a dependency, or perhaps need real-world testing (via being registered). The transition from 0.x.y to 0.(x+1).0 often carries an expectation of few major API changes. Using 0.0.x is a nice way to indicate that there shouldn't be any expectations of changes from one version to the next.

Of course one still might like to indicate breaking changes between versions. But I think we shouldn't require it for 0.0.x.

MilesCranmer avatar Jan 20 '25 01:01 MilesCranmer

On a related note, currently going from 0.x to 0.(x+1) requires the word "breaking" in the release notes.

I am not sure this makes sense according to SemVer. Anything with 0. may or may not be breaking. The maintainer should be able to increment minor numbers for feature additions without breaking anything.

tpapp avatar May 02 '25 07:05 tpapp

On a related note, currently going from 0.x to 0.(x+1) requires the word "breaking" in the release notes.

I am not sure this makes sense according to SemVer. Anything with 0. may or may not be breaking. The maintainer should be able to increment minor numbers for feature additions without breaking anything.

For 0.x versions, Julia/Pkg intentionally deviates from SemVer. Our implementation is that for 0.x versions, going from 0.x to 0.(x+1) is breaking, while going from 0.x.y to 0.x.(y+1) is nonbreaking.

DilumAluthge avatar May 02 '25 21:05 DilumAluthge

Specifically regarding 0.0.x, there is no way to indicate a non-breaking change going to 0.0.(x+1). So I think the CI should permit releases without description of breaking changes as it leads to unnecessary release notes.

As an alternative, I think 0.1.0-alpha1, 0.1.0-beta1 would be useful – last I checked these were not yet available for packages.

MilesCranmer avatar May 02 '25 22:05 MilesCranmer