poetry: ^1.2.3.0
(caret with four components) are not detected
#26940
Labels
manager:poetry
Poetry package manager
priority-3-medium
Default priority, "should be done" but isn't prioritised ahead of others
type:bug
Bug fix of existing functionality
versioning:poetry
Poetry versioning scheme
Discussed in #26939
Originally posted by msw-kialo January 30, 2024
How are you running Renovate?
Mend Renovate hosted app on github.com
If you're self-hosting Renovate, tell us what version of Renovate you run.
No response
If you're self-hosting Renovate, select which platform you are using.
None
Was this something which used to work for you, and then stopped?
I have not seen this working
Describe the problem
TLDR: No updates for constraints like
^69.0.0.20240115
(four components), but for>=69.0.0.20240115
.Most PyPI packages providing types for other libraries (
types-
) use four components as version numbers: the original three components from the target library and a following version indicating the revision of the type package it.While this appears to not be compliant with poetry's defined version constraints, it does work in everyday use. IMO RenovateBot should support what works with the manager itself.
BTW: DependaBot correctly updates them; that is the reason we stumbled across this (as we correctly migrate from DependaBot to RenovateBot).
These packages aren't even listed on the dependency dashboard.
Workaround: Using an inequality operator instead of caret, resolves the issue. However,
poetry add $package
uses the caret operator by default (making it error-prone to avoid it).Reproduction Repository: https://github.com/msw-kialo/renovate-poetry-fails-semver (two dependencies one with inequality and one with caret; RenovateBot PR for one; DependaBot PRs for both) forked to https://github.com/renovate-reproductions/26939
Relevant debug logs
Logs
Have you created a minimal reproduction repository?
I have linked to a minimal reproduction in the description above
The text was updated successfully, but these errors were encountered: