-
Notifications
You must be signed in to change notification settings - Fork 229
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
Crate Versioning #76
Comments
First option will suffer from this drawback only when we will publish |
Actually, I think it is the other way around: when updating That's still somewhat acceptable for minor version bumps (semver-compatible), but for example when doing a breaking change in |
Maybe will be worth to do |
It's definitely non-trivial and don't know if I can give you a straight recommendation. But at least some notes. Independent versioning can certainly be done, but comes with error prone busywork. Do consider some amount of automation. For ESP it seems to be manual esp-rs/esp-hal#800 and STM mostly leans on At Tauri we've been using https://github.com/jbolda/covector, example configs. In terms of versions themselves, avoid Finally, I would say it helps to think about audiences when deciding on this. For example:
Because it can frame the tradeoffs better. For instance, maybe you would prefer more breaking changes in the setup code for brownfield projects, if that buys you decent stability on drivers and faster releases on new boards or |
As
avr-hal
is made up of quite a few crates, decision needs to be made how versioning is handled. The two extremes would be=X.Y.Z
to enforce the lock-step versioning.Option 1. has the obvious drawback that a breaking change in any crate would lead to a major version bump for all crates. OTOH, Option 2. would mean a lot of effort to ensure no errors are made and any crate needing an update gets it. Especially breaking changes in the generic part are difficult to manage here ...
At first glance, I'm not a fan of either of those. Maybe there is some middle-ground that is acceptable?
The text was updated successfully, but these errors were encountered: