Repository navigation
ci(dependabot): raise Python SDK floors only when a release falls outside them - #35
Merged
Merged
Conversation
…side them pyproject.toml has no lockfile, so Dependabot's default strategy for it bumps every `>=` floor to the newest release. For the SDK's runtime dependencies that is wrong: a library's floor is the oldest version it supports, and raising httpx to >=0.28.1 or pydantic to >=2.13.5 would only stop users from installing versions the SDK still works with. For the development pins it changes nothing, because CI installs the newest versions anyway. increase-if-necessary keeps a requirement unless a release falls outside it, which for pure floors means no pull requests until one is needed.
This was referenced Oct 2, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What and why
Dependabot opened #33 (httpx
>=0.27→>=0.28.1) and #34 (pydantic>=2.6→>=2.13.5) for the Python SDK's runtime dependencies.sdk/python/pyproject.tomlhas no lockfile, so the default strategy (bump_versions, per the Dependabot job log) raises every>=floor to the newest release. For a library that is the wrong direction. A floor is the oldest version the SDK supports, so raising it only stops users from installing versions that still work. For the development pins it changes nothing, because CI installs the newest versions anyway.versioning-strategy: increase-if-necessaryleaves a requirement alone unless a release falls outside it. In dependabot-core (python/.../update_checker/requirements_updater.rb,skip_pyproject_update?), a pyproject requirement that the new version already satisfies is skipped when there is no lockfile and the strategy is notbump_versions. With pure floors, that means no pull request until one is actually needed.#33 and #34 will be closed with a pointer here. #32 (the
pytest-covdevelopment pin) is merged separately, like #21–#23.How it was verified
.github/dependabot.ymlparses and has 0 errors against the SchemaStore dependabot-2.0 schemauv pip install --resolution lowest-direct -e '.[dev]'installshttpx0.27.0 andpydantic2.6.0, andpytest -qpasses 375 tests on Python 3.10.11 and 3.11.14make test/make lint/make web-test/make e2e: not applicable, configuration onlyChecklist
documents/en/anddocuments/zh/both updated: not applicableCHANGELOG.mdupdated if a user can see the change: not user-visiblemake generate, not edited by hand: no generated code touched