Reconsider rangeStrategy=auto behavior for Poetry #30988
Replies: 2 comments 1 reply
-
I think it's okay, sure if you can - stick to lockfile-update in managers where it works properly. But IMO sticking to pin is better than getting potentially inconsistent MRs, not many people see those warnings in renovate manager docs when onboarding a project with renovate.
Not sure how true it is, we're using poetry for libraries too :) Maybe we're wrong here. Either way, a default won't satisfy everyone, so i think defaulting to pin(arguably a more common use case) is okay. For specific situations such as libraries, users can already opt-in to use other strategies, |
Beta Was this translation helpful? Give feedback.
-
I think whatever is done here the Python version constraint in the poetry manager likely needs special behaviour. |
Beta Was this translation helpful? Give feedback.
-
Tell us more.
Today rangeStrategy=auto usually defaults to
update-lockfile
for managers, which makes a lot of sense, i.e.^1.0.0
The problem with Poetry and some others managers is that they don't support a "precise" way of changing a locked version. Instead we can only say "update foo in the lock file" and it might be updated higher than we intended if a newer compatible version exists, or lower if for some reason poetry cannot fully resolve that version in compatibility with other versions.
We probably have a choice of:
We usually don't default to pinning because that seems too "opinionated" and in the case of libraries, wrong to narrow ranges unnecessarily.
But for Poetry it's not utilized for building libraries - only applications - so the latter is not a concern.In summary:
update-lockfile
results in a use which can be unreliablereplace
will mean less PRs and potentially people thinking it's "broken"pin
will mean same number of PRs and reliability but users may think it's too opinionatedBeta Was this translation helpful? Give feedback.
All reactions