-
Notifications
You must be signed in to change notification settings - Fork 0
Tidy up the versioning section a bit #64
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
Conversation
Put the examples and rationales next to the guidelines, fix a few typos. Thanks to @dndales for feedback.
|
|
||
| A set of packages defined in the same source repository MUST include version bounds which are as tight as necessary to ensure that they function correctly when distributed via a package repository. | ||
| Typically this will mean pinning the major version. | ||
| #### Rationale |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I love this Principle; Example; Rationale sequence. It helps me understand the why's and how much better ❤️
| **Cardano dependencies** | ||
|
|
||
| Cardano packages themselves typically both a) make frequent breaking changes and b) have important behavioural differences between major versions. | ||
| However, Cardano packages themselves typically both a) make frequent breaking changes and b) have important behavioural differences between major versions. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👌
| ### Intra-repository dependencies | ||
|
|
||
| A set of packages defined in the same source repository MUST include version bounds which are as tight as necessary to ensure that they function correctly when [distributed](./distribution.md) via a package repository. | ||
| It is not possible to give a fully-general rule for what bounds to use, but assuming that the packages are following something like PVP, typically pinning the major version is the right thing to do. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't know if this belongs here, but why not require then that all packages in the same repo depend on an exact version of packages on that repo?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We don't want to require too much work of people. For example, if you do a patch release of A, it would be nice to not also have to release B just to change the very-precise bound of B on A. If your follow PVP then a major version bound should be appropriate anyway.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
But I think the best practice here is not obvious and I'm very open to arguments for different policies!
dnadales
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great 🤩 Thank you!
Put the examples and rationales next to the guidelines, fix a few typos.
Thanks to @dndales for feedback.