Skip to content

Upgrade Django to 6.0 - #257

Merged
abe-101 merged 1 commit into
mainfrom
upgrade-django-6.0
Oct 13, 2026
Merged

abe-101 merged 1 commit into
mainfrom
upgrade-django-6.0

Conversation

@abe-101

@abe-101 abe-101 commented Oct 13, 2026 •

Copy link
Copy Markdown
Owner

Step 5: Django 5.2.18 → 6.0.9. Builds on #256 (now merged): DRF 3.15 and allauth 65.12 didn't support Django 6.

The diff is the one-line pin change. No code changes were needed.

Compatibility

  • Every installed package declares support for Django 6.0. I checked each package's metadata, not just pip check.
  • Production meets Django 6.0's requirements: Python ≥ 3.12 (on 3.12 since Run production on Python 3.12 #250) and PostgreSQL ≥ 14 (on 16.14). psycopg2 2.9.13 is still supported.

Verified

  • Schema: makemigrations --check (all apps) reports no changes, and migrate --plan on an existing database has nothing to do.
  • pytest: 128 passed, golden files included, with Django's 6.1 and 7.0 deprecation warnings treated as errors. Nothing in our code or our dependencies uses an API Django is about to remove.
  • mypy is clean, and manage.py check reports no issues.
  • Local production rehearsal. Clean Python 3.12 venv with only requirements.txt, production settings, and psycopg2 against local Postgres and Valkey:
    • a fresh migrate ran the whole chain; collectstatic and compress --force succeeded
    • gunicorn served home, the .ics feed (cold and cached), login, signup, admin login and static files, all 200
    • 15 Tishrei came out correct for 2026, 2027 and 2028
    • zero errors and zero deprecation warnings in the log

Next

Django 6.1 is blocked: django-celery-beat 2.9.0, its latest release, requires Django<6.1. The next steps are Python 3.13 and then the builder change for 3.14.

@abe-101
abe-101 changed the base branch from upgrade-table-apps to main October 13, 2026 02:51
Django 6.0 is the next step towards current Django. Every installed
package declares support for it, and the code needs no changes: there are
no migrations for any app, and nothing raises Django's 6.1 or 7.0
deprecation warnings.

6.1 can't follow yet: django-celery-beat 2.9.0, its latest release,
requires Django<6.1.

Assistant-model: Claude Code
@abe-101
abe-101 force-pushed the upgrade-django-6.0 branch from 5edcca4 to 69b00da Compare October 13, 2026 02:54
@abe-101
abe-101 merged commit 9598a38 into main Oct 13, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant