chore(deps): ignore Django major updates in the python group#3206
Merged
Conversation
A Django major is a deliberate migration, not something that should ride in on a routine grouped bump alongside patch-level tooling updates. Django 6.0.7 is out and resolves cleanly against the current pins, so nothing would otherwise stop Dependabot proposing it. Minor and patch updates still come through, so the 5.2.x line keeps getting security and bug fixes. The rule is an exact, case-insensitive name match, so django-stubs, django-stubs-ext, django-dbbackup and djangorestframework are unaffected. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
|
There was a problem hiding this comment.
Pull request overview
Adjusts Dependabot configuration to keep Django major upgrades out of the routine grouped Python dependency update flow, so deliberate framework migrations don’t get bundled with normal tooling bumps while still allowing minor/patch updates for ongoing fixes.
Changes:
- Adds a Dependabot
ignorerule forDjangolimited toversion-update:semver-majorwithin theuvecosystem updates. - Documents the intent and matching behavior directly in
.github/dependabot.yml.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
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.



Keeps Django major version bumps out of the grouped Python Dependabot PR. A Django major is a deliberate migration, not something that should ride in on a routine grouped bump alongside patch-level tooling updates.
Minor and patch updates still flow through, so the 5.2.x line keeps getting security and bug fixes.
Scope
The rule is an exact, case-insensitive name match on
Django— not adjango*wildcard, which would have swept up five unrelated packages. Verified by simulating dependabot-core's ownwildcard_match?logic (it lowercases both sides, soDjangoanddjangoboth match):ignoresits at the ecosystem level rather than insidegroups:— there is no per-group ignore. A group'sexclude-patternswould only split Django into its own PR, not suppress the major.Why this is worth having
Django 6.0.7 is out while the repo pins 5.2.14. I confirmed 6.0.7 resolves cleanly against every current pin (
uv lock --dry-runwith the pin swapped:Resolved 125 packages,django v5.2.14 -> v6.0.7), and nothing in the tree caps Django below 6 —djangorestframeworkneeds>=4.2,drf-spectacularneeds>=2.2. So nothing would stop Dependabot proposing the major on a future run.Worth noting for context: the first grouped Python run (#3205) did not include Django, so this is a forward-looking guard rather than a fix for something already broken.
Validation
Nothing in CI validates this file —
actionlintonly covers.github/workflows/, so a malformed config fails silently rather than turning a check red. Verified manually:update-types: ["version-update:semver-major"]matches the documented enum.wildcard_match?(table above).🤖 Generated with Claude Code