chore(deps): guard against re-breaking django pin for Python <3.12 - #203
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Path: .coderabbit.yaml Review profile: CHILL Plan: Pro Plus Run ID: ⛔ Files ignored due to path filters (1)
📒 Files selected for processing (1)
Included review availability: Your plan provides up to 1 included review per hour; 0 remain after this review. WalkthroughThe changelog adds an ChangesDjango Renovate compatibility
Estimated code review effort: 1 (Trivial) | ~2 minutes Merge Risk: ⚪ Minimal · up to This PR preserves the Python-compatible Django pin for older Python versions and prevents Renovate from proposing the incompatible upgrade again; no actionable merge-blocking risk remains beyond normal checks and review. Suggested reviewers: 🚥 Pre-merge checks | ✅ 3 | ❌ 2❌ Failed checks (1 warning, 1 inconclusive)
✅ Passed checks (3 passed)
Full details: Linked Issues checkExplanation The PR intentionally does not implement the primary requirement in [ Full details: Out of Scope Changes checkExplanation The visible changelog change is related to the Django and Renovate dependency objective. The claimed renovate.json change is also related, but that file is excluded by the !**/*.json path filter and cannot be assessed for unrelated changes. Full details: Docstring CoverageExplanation No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (1 skipped: 1 unsupported.)
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Replaces #200.
What renovate PR #200 proposed
Bump the
requirements.txtlinedjango>=4.2.0,<5.0.0; python_version < "3.12"todjango>=6.1,<6.2.0; python_version < "3.12".Why it's unsafe as-is
Django 6.0+ dropped support for Python < 3.12 - it only supports 3.12, 3.13, 3.14. Installing
django>=6.1on Python 3.9/3.10/3.11 fails, which is exactly what broke CI on PR #200 (unittest (3.10)failed, other jobs cancelled).This isn't new: the same breaking bump was already proposed and rejected once before, in #198 (
chore(deps): update dependency django to v6.1→fix: scope django 6.1 to supported Python versions). Renovate re-proposed the identical breaking change in #200 because nothing inrenovate.jsontold it the<3.12pin was intentional.Also worth noting:
djangoisn't an actual runtime dependency of this SDK (it's not inpyproject.toml'sdependencies) - it's only used bypytest-djangofor framework-detection tests, so there's no SDK-facing migration needed either way.What this PR does instead
requirements.txtis left as-is (already correct/safe:django>=4.2.0,<5.0.0for<3.12,django>=6.1,<6.2.0for>=3.12).renovate.json: added apackageRulesentry that scopesallowedVersions: "<5.0.0"to just the<3.12line (matched viamatchCurrentValue), so Renovate keeps proposing Django 4.2.x patch updates for that line but can't re-suggest the incompatible 6.x bump again. The>=3.12line is untouched and keeps getting normal 6.1.x updates.CHANGELOG.md: documented the decision underUnreleased.Follow-up
Please close #200 once this merges.