Skip to content
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

Version 5.2.0 is a breaking change #395

Closed
renefloor opened this issue Dec 13, 2022 · 8 comments
Closed

Version 5.2.0 is a breaking change #395

renefloor opened this issue Dec 13, 2022 · 8 comments
Labels
bug Something isn't working

Comments

@renefloor
Copy link

Steps to Reproduce

  1. Use version 5.1.0
  2. Update to version 5.2.0 without changing your code
  3. Your project won't compile

Semantic versioning depends on developers upgrading a major version when there is a breaking change. PR #383 replaces strings with URI's. Of course a String is not a URI, so existing code will break working. On package level you should not commit pubspec.lock files, but that means the CI checks will pick any newest version that's in the current major, so our CI pipelines in the PR failed on totally unrelated files.

I'm not sure if it still make sense to fix this (by reverting it in 5.1.1 and releasing 6.0.0), but my main goal is to make you aware of your responsibilities as package maintainers on versioning. (I know, as I'm a package maintainer myself as well, so I'm trying to be constructive and positive.)

Major versions in semantic versioning are not just nice numbers, they have actually a function. Please use them as well for that.

@renefloor renefloor added the bug Something isn't working label Dec 13, 2022
@JEuler
Copy link
Collaborator

JEuler commented Dec 13, 2022

Hi! Yeah, that was on my mind... Sorry for inconvenience, I propose we should release the 6.0.0 version and continue to live. And proceed with semantic versioning.

@JEuler
Copy link
Collaborator

JEuler commented Dec 13, 2022

I will not be able to remove the 5.2.0 version from pub.dev (if it is possible for anyone) but definitely not possible for me.
Probably we can point it out in README somewhere on very high position.

@JEuler
Copy link
Collaborator

JEuler commented Dec 14, 2022

Bumped to 6.0.0. Added ChangeLog note about breaking change. Again - sorry for that.

@techouse
Copy link
Collaborator

I take half the blame here as v5.2.0 was initially my suggestion.

@renefloor
Copy link
Author

renefloor commented Dec 14, 2022

I will not be able to remove the 5.2.0 version from pub.dev (if it is possible for anyone) but definitely not possible for me.

You indeed can't. Nobody can. You could publish 5.2.0+1 or 5.2.1, but that is basically a breaking change again for anybody who already adopted 5.2.0. There is not really a way to fix this nicely. Thanks for making people aware it is a breaking change though.

Please close the issue if you see fit. Could help keeping it open to prevent others making an issue though.

@JEuler
Copy link
Collaborator

JEuler commented Dec 14, 2022

Yeah, I was thinking to leave it open for a while.

@RoarGronmo
Copy link

Will this say that all depending libraries / apps to 5.2.0 and 6.0.0 need to change from String to Uri from now?

@JEuler
Copy link
Collaborator

JEuler commented Dec 15, 2022

Hi, yeah!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants