-
-
Notifications
You must be signed in to change notification settings - Fork 28
chore: Add support for Django 6.x #15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
This PR adds support for Django 6.0 to the django-keel template project, allowing users to choose between Django 5.2 and 6.0 when generating new projects. The changes prepare the template for Django 6.0's official release in December 2025, with Django 6.0b1 already available for testing.
Key Changes:
- Added Django 6.0 as a selectable option in copier.yml configuration
- Updated documentation badges and version references to reflect Django 5.2/6.0 support
- Parameterized hardcoded Django version strings to use the
{{ django_version }}template variable - Updated the testing compatibility matrix to include Django 6.0 combinations
Reviewed changes
Copilot reviewed 14 out of 14 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| copier.yml | Adds django_version parameter with choices "5.2" and "6.0", defaulting to "6.0" |
| template/docs/index.md.jinja | Replaces hardcoded "5.2" with {{ django_version }} variable |
| template/docs/development/testing.md.jinja | Updates Django documentation link to use {{ django_version }} |
| template/README.md.jinja | Replaces hardcoded "5.2" with {{ django_version }} variable |
| template/CHANGELOG.md.jinja | Replaces hardcoded "5.2" with {{ django_version }} variable |
| pyproject.toml | Adds Django 6.0 classifier |
| docs/index.md | Updates badge from "5.2" to "6.0" and feature list to "5.2/6.0" |
| docs/getting-started/installation.md | Updates badge and features to show "5.2/6.0" support |
| docs/CHANGELOG.md | Updates version reference to "5.2/6.0" |
| docs/12-factor.md | Updates dependency example constraint to ">=5.2,<=6.0" |
| README.md | Updates badges to "6.0", adds Django 6.0 rows to testing matrix, updates feature list to "5.2/6.0" |
| CHANGELOG.md | Updates version reference to "5.2/6.0" |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| | 3.12 | 5.2 | ✅ Tested | | ||
| | 3.12 | 6.0 | ✅ Tested | | ||
| | 3.13 | 5.1 | ✅ Tested | | ||
| | 3.13 | 5.2 | ✅ Tested | |
Copilot
AI
Dec 16, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The testing matrix is missing a row for Python 3.13 with Django 6.0. Based on the pattern, there should be a row showing "3.13 | 6.0 | ✅ Tested" between the existing Python 3.13 rows and the Python 3.14 rows.
| | 3.13 | 5.2 | ✅ Tested | | |
| | 3.13 | 5.2 | ✅ Tested | | |
| | 3.13 | 6.0 | ✅ Tested | |
README.md
Outdated
| | 3.12 | 5.1 | ✅ Tested | | ||
| | 3.12 | 5.2 | ✅ Tested | | ||
| | 3.12 | 6.0 | ✅ Tested | | ||
| | 3.13 | 5.1 | ✅ Tested | | ||
| | 3.13 | 5.2 | ✅ Tested | | ||
| | 3.14 | 6.0 | ✅ Tested | | ||
| | 3.14 | 5.1 | ✅ Tested | | ||
| | 3.14 | 5.2 | ✅ Tested | | ||
| | 3.14 | 5.2 | ✅ Tested | | ||
| | 3.14 | 6.0 | ✅ Tested | | ||
|
|
||
| ### Support Policy | ||
|
|
||
| - **Python**: Last 2-3 minor versions (currently 3.12, 3.13, 3.14) | ||
| - **Django**: Last 2-3 minor versions (currently 5.1, 5.2) | ||
| - **Django**: Last 2-3 minor versions (currently 5.1, 5.2, 6.0) |
Copilot
AI
Dec 16, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The copier.yml configuration only offers Django 5.2 and 6.0 as choices, but the README.md testing matrix and pyproject.toml classifiers reference Django 5.1 support. This creates inconsistency - users cannot actually select Django 5.1 through the template, so either Django 5.1 should be added as a choice in copier.yml, or the references to it in the testing matrix should be removed if it's no longer supported.
docs/12-factor.md
Outdated
| ```toml | ||
| dependencies = [ | ||
| "django>=5.2,<5.3", | ||
| "django>=5.2,<=6.0", |
Copilot
AI
Dec 16, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The 12-factor.md documentation shows an example with a restrictive version constraint "django>=5.2,<=6.0" that doesn't align with how the actual template files handle Django versioning. The templates use either "^{{ django_version }}" (Poetry) or ">={{ django_version }}" (uv), which automatically handle version ranges. This example should be updated to reflect actual usage, or be changed to a more appropriate range like "django>=5.2,<7.0" to allow all 5.x and 6.x versions.
| "django>=5.2,<=6.0", | |
| "django>=5.2,<7.0", |
* main: chore(deps): bump node from 20-slim to 25-slim in /template (#34) feat(frontend): add Vite bundling option for HTMX+Tailwind (#32) fix(ci): add required copier fields to scheduled workflow (#33) chore(deps): bump actions/checkout from 5 to 6 (#30) chore: Update Issue/PR template (#29) feat(ecs): make deployment production-ready with monitoring (#28) feat: add complete Fly.io deployment implementation (#27) fix: Remove git config changes fix: remove unsafe _tasks section to eliminate copier trust warning feat: enhance copier template user experience (#22) chore: Modify CI triggers for pull requests docs: Clarify pytest coverage implies code coverage docs: Update link to GitHub discussions
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 14 out of 14 changed files in this pull request and generated 1 comment.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| | Python | Django | Status | | ||
| | ------ | ------ | --------- | | ||
| | 3.12 | 5.1 | ✅ Tested | | ||
| | 3.12 | 5.2 | ✅ Tested | | ||
| | 3.13 | 5.1 | ✅ Tested | | ||
| | 3.12 | 6.0 | ✅ Tested | | ||
| | 3.13 | 5.2 | ✅ Tested | | ||
| | 3.13 | 6.0 | ✅ Tested | | ||
| | 3.14 | 5.2 | ✅ Tested | | ||
| | 3.14 | 5.2 | ✅ Tested | | ||
| | 3.14 | 6.0 | ✅ Tested | |
Copilot
AI
Dec 21, 2025
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The compatibility matrix claims that all Python + Django version combinations are tested, but the CI workflows (ci.yml and scheduled.yml) do not appear to include a matrix for testing different Django versions. Consider either updating the CI to actually test these combinations, or clarifying that these are "supported" rather than actively "tested" combinations.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull request overview
Copilot reviewed 16 out of 16 changed files in this pull request and generated no new comments.
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
Summary
Closes #13
Django 6.0b1 is released. This is a pre-relase test to have support for Django 6.x when it's released in Dec 2025.
Why
Django 6.x is planned to be released in Dec 2025. Django 6.0b1 is released and this should offer support for Django 6.x
Changes
Breaking changes
Screenshots / logs