Repository navigation
Since when does Dependabot bump the lower version of a package? #15544
|
Hello, I’m somewhat puzzled that Dependabot has changed behavior and now bumps both lower and upper version range… unasked? See for example an older PR jenstroeger/python-package-template#1185 and then the most recent PR jenstroeger/python-package-template#1222 for the same package which bumps both sides of the range? The latter is not a correct bump because it turns the valid package range into an exact pin which is not what I’m interested in. First glance at the docs didn’t reveal an option to disable this behavior. Thanks! |
Replies: 1 comment 4 replies
|
Nothing changed in Dependabot's rules. What changed is which rule you fall under, and it's decided by a PyPI lookup on your project's own name. For pip, Dependabot picks the strategy like this ( library? ? RequirementsUpdateStrategy::WidenRanges : RequirementsUpdateStrategy::BumpVersions
And Your That obviously doesn't match your description, so The fix is to stop letting it guess. In updates:
- package-ecosystem: "pip"
directory: "/"
versioning-strategy: widenThat's checked before the heuristic runs, so the PyPI comparison never happens. One thing I can't pin down: which side flipped between May and July. Either that PyPI summary changed, or your description did, or the detection did. The |
Nothing changed in Dependabot's rules. What changed is which rule you fall under, and it's decided by a PyPI lookup on your project's own name.
For pip, Dependabot picks the strategy like this (
python/lib/dependabot/python/update_checker.rb):WidenRangesmoves only the upper bound, which is what your #1185 did.BumpVersionsmoves both, which is what #1222 did and why the range collapsed to a pin.And
library?isn't about your repo layout. It'scheck_pypi_for_library_match, which takes thenamefrom yourpyproject.toml, fetcheshttps://pypi.org/pypi/<name>/json/, and returns true only if PyPI'sin…