Django End of Life (EOL) Dates & Support Timeline
Complete end-of-life dates, support windows, and security status for all Django versions. Data sourced from endoflife.date and official vendor documentation. Updated at every deploy.
Running an EOL version? Get matched with support options — free ↓| Version | Latest Release | Release Date | EOL Date | Days | Status |
|---|---|---|---|---|---|
| 1.3 | 1.3.7 | Mar 23, 2011 | Feb 26, 2013 | 4912 days past EOL | EOL |
| 1.4 | 1.4.22 | Mar 23, 2012 | Oct 1, 2015 | 3965 days past EOL | EOL |
| 1.5 | 1.5.12 | Feb 26, 2013 | Sep 2, 2014 | 4359 days past EOL | EOL |
| 1.6 | 1.6.11 | Nov 6, 2013 | Apr 1, 2015 | 4148 days past EOL | EOL |
| 1.7 | 1.7.11 | Sep 3, 2014 | Dec 1, 2015 | 3904 days past EOL | EOL |
| 1.8 | 1.8.19 | Apr 1, 2015 | Apr 1, 2018 | 3052 days past EOL | EOL |
| 1.9 | 1.9.13 | Dec 1, 2015 | Apr 4, 2017 | 3414 days past EOL | EOL |
| 1.10 | 1.10.8 | Aug 1, 2016 | Dec 2, 2017 | 3172 days past EOL | EOL |
| 1.11 LTS | 1.11.29 | Apr 4, 2017 | Apr 1, 2020 | 2321 days past EOL | EOL |
| 2.0 | 2.0.13 | Dec 2, 2017 | Apr 1, 2019 | 2687 days past EOL | EOL |
| 2.1 | 2.1.15 | Aug 1, 2018 | Dec 2, 2019 | 2442 days past EOL | EOL |
| 2.2 LTS | 2.2.28 | Apr 1, 2019 | Apr 11, 2022 | 1581 days past EOL | EOL |
| 3.0 | 3.0.14 | Dec 2, 2019 | Apr 6, 2021 | 1951 days past EOL | EOL |
| 3.1 | 3.1.14 | Aug 4, 2020 | Dec 7, 2021 | 1706 days past EOL | EOL |
| 3.2 LTS | 3.2.25 | Apr 6, 2021 | Apr 1, 2024 | 860 days past EOL | EOL |
| 4.0 | 4.0.10 | Dec 7, 2021 | Apr 1, 2023 | 1226 days past EOL | EOL |
| 4.1 | 4.1.13 | Aug 3, 2022 | Dec 1, 2023 | 982 days past EOL | EOL |
| 4.2 LTS | 4.2.30 | Apr 3, 2023 | Apr 7, 2026 | 124 days past EOL | EOL |
| 5.0 | 5.0.14 | Dec 4, 2023 | Apr 2, 2025 | 494 days past EOL | EOL |
| 5.1 | 5.1.15 | Aug 7, 2024 | Dec 3, 2025 | 249 days past EOL | EOL |
| 5.2 LTS | 5.2.17 | Apr 2, 2025 | Apr 30, 2028 | 630 days remaining | Active |
| 6.0 | 6.0.8 | Dec 3, 2025 | Apr 30, 2027 | 264 days remaining | Active |
| 6.1 | 6.1 | Aug 5, 2026 | Dec 31, 2027 | 509 days remaining | Active |
[](https://endoflife.ai/django)
What does Django end of life mean for your organization?
When a version of Django reaches end of life, the maintainers stop issuing security patches. Vulnerabilities discovered after this date are publicly disclosed on the National Vulnerability Database, exploit code appears on GitHub, and your systems remain permanently exposed.
The CVE blind spot: Most vulnerability scanners check for known CVEs but do not flag the accumulation of unpatched vulnerabilities in EOL software. With a zero-day, nobody knows about the vulnerability. With EOL software, the vulnerability is public — listed, rated, and often weaponized — but no patch will ever exist. This is the most dangerous gap in enterprise security posture.
Organizations running EOL Django should treat it as a vulnerability class in their risk register, apply compensating controls (network segmentation, enhanced monitoring, access restriction), and prioritize migration to a supported version.
Your options when Django reaches end of life
There are four realistic paths. Which one is right depends far more on how long the system needs to keep running than on the version you are on today.
| Option | Best when | Watch out for |
|---|---|---|
| Move to a supported version | The system will outlive the current version's support window and you can schedule the work | Budget for compatibility testing, not just the upgrade itself — that is where the real cost sits |
| Replace the component | The project is unmaintained, or a better-supported alternative exists | The replacement has its own lifecycle and its own end-of-life date — you are changing vendors, not escaping the problem |
| Buy extended support | Migration is genuinely underway but cannot finish before the deadline, or the workload is frozen by certification or a third-party application | A bridge, not a destination — every year purchased is a year the migration still has to happen |
| Document accepted risk | The system is isolated, short-lived, or scheduled for retirement | Only defensible with real compensating controls and a written decision — auditors treat undocumented end-of-life software as a finding |
How to choose, in one question: how many more years does this system need to run? Under a year, extended support (where it exists) is usually cheaper than an emergency migration. One to three years, migrate — support purchased repeatedly costs more than doing the project once, and the project only gets harder as the version ages. Indefinitely, migrate now and plan the next migration before it surprises you.
Worth saying plainly, because vendors selling extended support rarely will: extended support is often the more expensive choice over a multi-year horizon. It is the right answer when a deadline is genuinely unreachable, not as a default. Compare the annual fee against the one-time cost of migrating before committing to either.
Extended Support Options
If you cannot migrate immediately, extended support vendors provide continued security patches for EOL Django versions. This is a bridge, not a permanent solution — plan your migration in parallel.
Django has 20 versions past end of life — security patches have stopped, but CVE disclosures haven't. The good news: extended support for Django exists — vetted vendors ship security patches for years past the official date. Right now that coverage spans Django 3.2, 4.2, with 10+ post-EOL CVE fixes documented in vendor release notes. Tell us where to reach you and we'll reply with matched options and pricing guidance.