Skip to content

patch vs. minor version bumps #626

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
cmyr opened this issue Jul 26, 2023 · 5 comments
Closed

patch vs. minor version bumps #626

cmyr opened this issue Jul 26, 2023 · 5 comments

Comments

@cmyr
Copy link
Contributor

cmyr commented Jul 26, 2023

I just noticed that v0.30.0 was published, and this raised a question for me:

Before version 1.0, a minor version bump is a breaking change. From a quick glance, it does not appear that there were any actually breaking changes in the code between 0.29 and 0.30. Before 1.0, semver guarantees are very loose. My personal feeling is that before 1.0, the patch field should be used for any non-breaking changes; the main benefit of this is that it lets cargo continue to resolve disparate dependency versions automatically.

Concretely, the current practice is a bit of a headache for me because I have a number of crates that rely on both the plist crate (which relies on quick_xml) as well as on quick_xml directly. This makes it easy for me to end up in the situation where I am compiling two different versions of quick_xml unnecessarily.

For further discussion of the semantic meaning of the minor/patch versions before 1.0, I found this discussion helpful.

(If it turns out that there was actually some breaking change that I didn't notice then please accept my apologies and close this 😁)

@Mingun
Copy link
Collaborator

Mingun commented Jul 26, 2023

Yes, I agree with all your points :). Actually, I though about releasing a 0.29.1 instead, but @dralley prefer to bump minor when we introduce new features. In your case you and/or plist can specify a version range instead of only 0.30, of course if you don't need new specific features.

Anyway, thanks for reporting this! Now I will have a stricter position to use patch releases when possible 😁

@Mingun Mingun closed this as completed Jul 26, 2023
@cmyr
Copy link
Contributor Author

cmyr commented Jul 26, 2023

Okay, thanks! it's not a huge deal in any case, but thought I'd at least check in and see. Thanks to everyone for their work!

@dralley
Copy link
Collaborator

dralley commented Jul 26, 2023

I don't have especially strong opinions, so if bumping the y-versions leads to real practical issues for a significant group of people, then I suppose I am neutral towards using z-releases instead. Mostly because we have pretty good test coverage, though.

@dralley
Copy link
Collaborator

dralley commented Jul 26, 2023

It helps that the changes have been smaller lately, too. A few months ago we were still merging multiple large (hundreds of lines each) PRs per release, and changes of that magnitude feel minor-bump-worthy even if they don't obviously break anything.

But that's not currently the case.

@cmyr
Copy link
Contributor Author

cmyr commented Jul 26, 2023

This discussion has prompted me to wonder whether it's worth considering 1.0 soon? Opened #627 for that discussion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants
@Mingun @dralley @cmyr and others