Replies: 2 comments 1 reply
-
This might be a duplicate of #195 |
Beta Was this translation helpful? Give feedback.
-
There's a lot of complexity here, because dependency updates can mean different things in different circumstances. If the dependency is not part of the public API, then it might be a Then, in some languages like Python, narrowing a dependency range is a breaking change always, but multiple major versions can be included in a range. In Rust, narrowing a dependency range is only a breaking change if that package is used in the public API, but multiple major versions cannot be included. So selecting There is also Renovate/Dependabot we can lean on for some of this... depending on the scenario. We could try to represent these relationships somehow in To that end, is there a specific case we can start with where things don't "just work" as-is with Renovate and solve just that, for now, to get started? E.g., some Cargo workspace problem where CI starts failing once versions are updated of only a single package? |
Beta Was this translation helpful? Give feedback.
-
Consider a repo with three packages:
In this case, it's possible to update
package-that-uses-common
andanother-package-that-uses-common
independently from the other packages, so they should be versioned separately.However, updates to
common
should always update both other packages. Therefore, anytimecommon
needs to be version bumped, so should both of the sub-packages.Currently, if we were to publish a commit like
fix(common): ...
thenknope
would bumpcommon
without bumping the dependent packages (both thecommon
dependency and the version of each dependent). This makes it impossible to build and release the other packages without manual intervention or a complex workflow. One could add thecommon
scope to each sub-package, but then changes to common are duplicated across each changelog.There are other intricacies with this:
knope
recognize these dependencies?common
gets a breaking change? Shouldknope
just assume it'll work with the dependent packages and bump it anyways?Beta Was this translation helpful? Give feedback.
All reactions