Django 4.2 LTS reached end of life on April 7, 2026 — six weeks ago. If you're running 4.2 in production, you are no longer receiving security patches from the Django project. Django 5.1 reached EOL even earlier, in December 2025. Between those two versions, a significant portion of the production Django ecosystem is now running unsupported software.
LTS vs Standard Releases — What It Means for EOL
Django's release model creates two very different support timelines, and choosing the wrong track is the most common reason teams end up on EOL software unexpectedly.
Standard releases — Django 4.0, 4.1, 5.0, 5.1, 6.0 — receive 16 months of support total. Eight months of active development, then eight months of security-only patches. Django 5.1 shipped in August 2024 and was EOL by December 2025 — 16 months later.
LTS releases — Django 3.2, 4.2, 5.2, and the upcoming 7.2 — receive three full years of support. Eight months active, then 28 months of security-only patches. Always anchor your Django version choice to an LTS release.
The LTS trap: Choosing an LTS version is correct — but it can create false security. Teams on Django 4.2 LTS knew they had until "sometime in 2026" and deprioritized the upgrade. Now 4.2 is EOL and many of those teams are scrambling. Plan your migration to the next LTS before the current one hits EOL, not after.
Complete Django EOL Schedule
| Version | Type | Released | End of Life | Status | EOL Risk Score™ |
|---|---|---|---|---|---|
| Django 3.2 | LTS | Apr 6, 2021 | Apr 1, 2024 | EOL | 89 Critical |
| Django 4.0 | Standard | Dec 7, 2021 | Aug 1, 2023 | EOL | 92 Critical |
| Django 4.1 | Standard | Aug 3, 2022 | Dec 1, 2023 | EOL | 91 Critical |
| Django 4.2 | LTS | Apr 3, 2023 | Apr 7, 2026 | EOL | 76 Critical |
| Django 5.0 | Standard | Dec 4, 2023 | Apr 1, 2025 | EOL | 83 Critical |
| Django 5.1 | Standard | Aug 7, 2024 | Dec 3, 2025 | EOL | 78 Critical |
| Django 5.2 | LTS | Apr 2, 2025 | Apr 30, 2028 | ✅ Supported | 18 Low |
| Django 6.0 | Standard | Dec 2025 | Apr 30, 2027 | ✅ Latest | 12 Low |
Django 4.2 LTS — EOL April 7, 2026
EOL Risk Score™: 76 Critical
Django 4.2 was the LTS release that replaced Django 3.2 LTS. It became the dominant production Django version for the 2023–2026 period.
4.2 LTS officially supports Python 3.8 through 3.12 — which creates a compound EOL risk. Python 3.8 reached EOL in October 2024 and Python 3.9 reached EOL in October 2025. If your Django 4.2 deployment is running on Python 3.8 or 3.9, you have two layers of EOL exposure: the framework and the runtime.
The Django project has stopped issuing security advisories for 4.2. CVEs affecting 4.2 will be documented but not patched.
Target version: Upgrade to Django 5.2 LTS — supported until April 2028. If you need more time, commercial extended support is available from vendors like TuxCare for EOL Django versions including 4.2.
Django 5.1 — EOL December 3, 2025
EOL Risk Score™: 78 Critical
Django 5.1 was a standard (non-LTS) release with a 16-month support window. Released August 2024, it reached EOL December 3, 2025 — a short window that many teams didn't fully track.
If your team upgraded to 5.1 and hasn't moved to 5.2 or 6.0 yet, you've been running unsupported Django for over five months.
Target version: Upgrade to Django 5.2 LTS or 6.0. From 5.1, the path to 5.2 is straightforward with no major breaking changes.
Django 5.2 LTS — Supported Until April 2028
EOL Risk Score™: 18 Low
Django 5.2 is the current LTS release and the recommended upgrade target for teams coming from 4.2 or 5.1. It supports Python 3.10 through 3.13. Support runs until April 30, 2028.
This is your target version if you're on 4.2 or 5.1.
Python Compatibility Matrix
Running Django on an EOL Python version compounds your security exposure. This matrix shows which Python versions are supported by each Django version.
| Django Version | Python 3.8 (EOL) | Python 3.9 (EOL) | Python 3.10 | Python 3.11 | Python 3.12 | Python 3.13 |
|---|---|---|---|---|---|---|
| Django 4.2 LTS (EOL) | ✓ | ✓ | ✓ | ✓ | ✓ | — |
| Django 5.0 (EOL) | — | — | ✓ | ✓ | ✓ | — |
| Django 5.1 (EOL) | — | — | ✓ | ✓ | ✓ | ✓ |
| Django 5.2 LTS ✅ | — | — | ✓ | ✓ | ✓ | ✓ |
| Django 6.0 ✅ | — | — | — | ✓ | ✓ | ✓ |
Double EOL exposure: If you're running Django 4.2 on Python 3.8 or 3.9, both your framework and your runtime are past end of life. Check your Python version with
python --version.
How to Upgrade Safely
01 — Check your current version
Run python -m django --version or check your requirements.txt. Also check your Python version with python --version — you may need to upgrade Python alongside Django.
02 — Read the release notes for every version between yours and the target
Going from 4.2 to 5.2 means reading the 5.0, 5.1, and 5.2 release notes. Pay particular attention to removed features, changed default settings, and database migration behavior changes.
03 — Run Django's system checks
After updating Django, run python manage.py check --deploy. This surfaces deprecated API usage, security misconfigurations, and compatibility issues before they hit production.
04 — Update third-party packages
Your Django upgrade will often require updating django-rest-framework, celery, django-allauth, and other ecosystem packages. Run pip list --outdated and update packages that have dropped support for your current Django version.
05 — Run your full test suite before and after
Django upgrades are usually smooth but behavioral changes in the ORM, template engine, or middleware can surface in tests.
06 — Upgrade Python if needed
Django 5.2 LTS requires Python 3.10+. If you're on Python 3.8 or 3.9, upgrade Python first. Safest sequence: upgrade Python to 3.12, validate your app, then upgrade Django to 5.2.
07 — Consider extended support if you need more time
If your 4.2 migration will take longer than a few sprints, commercial extended support from vendors like TuxCare provides continued security patches for EOL Django versions including 3.2, 4.0, 4.2, 5.0, and 5.1.
Check your full Python stack for EOL exposure at endoflife.ai — free EOL checker, stack scanner, and EOL Risk Score™ for 455+ products. No signup required.
Top comments (0)