Skip to content

Conversation

@michaelpj
Copy link
Collaborator

Put the examples and rationales next to the guidelines, fix a few typos.

Thanks to @dndales for feedback.

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

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.

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.

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?

Copy link
Collaborator Author

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.

Copy link
Collaborator Author

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!

Copy link

@dnadales dnadales left a 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!

@michaelpj michaelpj merged commit d88e9d7 into main Mar 31, 2023
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

Successfully merging this pull request may close these issues.

3 participants