Django

Django End of Life - Dates and Lifecycle

Django is a high-level Python web framework that handles authentication, database ORM, and admin tooling out of the box, used in production by Instagram, Spotify, and Mozilla.

Last updated 8 August 2026

23

Versions tracked

20

At EOL

3

Supported

Django version lifecycle and end-of-life dates
Version Released Mainstream Support Extended Support Latest
6.1
05 Aug 2026
30 Apr 2027 Ends in 8 months, 2 weeks
31 Dec 2027 Ends in 1 year, 4 months
6.1 05 Aug 2026
6.0
03 Dec 2025
31 Aug 2026 Ends in 2 weeks, 5 days
30 Apr 2027 Ends in 8 months, 2 weeks
6.0.8 04 Aug 2026
5.2 LTS
02 Apr 2025
03 Dec 2025 Ended 8 months, 1 week ago
30 Apr 2028 Ends in 1 year, 8 months
5.2.17 04 Aug 2026
5.1
07 Aug 2024
02 Apr 2025 Ended 1 year, 4 months ago
03 Dec 2025 Ended 8 months, 1 week ago
5.1.15 02 Dec 2025
5.0
04 Dec 2023
07 Aug 2024 Ended 2 years ago
02 Apr 2025 Ended 1 year, 4 months ago
5.0.14 02 Apr 2025
4.2 LTS
03 Apr 2023
04 Dec 2023 Ended 2 years, 8 months ago
07 Apr 2026 Ended 4 months ago
4.2.30 07 Apr 2026
4.1
03 Aug 2022
05 Apr 2023 Ended 3 years, 4 months ago
01 Dec 2023 Ended 2 years, 8 months ago
4.1.13 01 Nov 2023
4.0
07 Dec 2021
03 Aug 2022 Ended 4 years ago
01 Apr 2023 Ended 3 years, 4 months ago
4.0.10 14 Feb 2023

Django ships a new feature release roughly every eight months, and every third release is designated Long Term Support (LTS). That distinction matters more here than in most frameworks, because the gap between an LTS and a standard release's support window is large: an LTS gets three years of security coverage, while a standard release gets roughly sixteen months. Picking the wrong one to build on can mean re-planning an upgrade far sooner than expected.

Django Lifecycle Explained

Every Django release goes through two support phases regardless of type. The first eight months are mainstream support, covering security fixes, data loss bugs, and regressions. After that, standard releases (the .0 and .1 versions in each cycle) drop into extended support, security and data-loss fixes only, for another eight months, then reach end of life at around the sixteen-month mark. LTS releases (the .2 version that closes out each three-release cycle) get a much longer extended support phase, 28 months instead of eight, bringing their total lifespan to three years.

This is why the Django project itself recommends anchoring production applications to LTS releases specifically rather than whatever the latest version happens to be. A standard release gives you new features sooner, but the support clock runs out roughly twice as fast, and by the project's own account, a large share of installations in the wild are running a version that's already past its supported window at any given time.

Is Django outdated in 2026?

No. Django continues to ship new releases on its regular eight-month cadence, adds official support for each new Python version quickly, and remains one of the most widely deployed Python web frameworks in production. The "outdated" perception is usually about specific old versions still in use, like 3.2 or earlier, rather than the framework itself.

Is Django 3.2 still supported?

No, Django 3.2 reached end of life in April 2024. It was an LTS release, so it had the full three-year window, but that window has since closed, and it no longer receives any security patches.

Is Django 6 production ready?

Yes. Django doesn't ship pre-release versions as numbered major releases, so Django 6.0 is production-ready the same way every prior release has been. It's a standard release rather than LTS, though, which means its support window is the shorter sixteen-month one, worth factoring in if you're choosing it for a long-lived production system.

Does Django have a future?

The project's release cadence, LTS commitment, and rapid adoption of new Python versions all point to continued, active investment rather than a framework winding down. Django has maintained this same predictable rhythm for years, which is itself a signal of stability that faster-moving frameworks don't always offer.