Django 2.1 End of Life
Support dates, vulnerabilities published since end of life, and upgrade guidance — rebuilt from live data.
Django 2.1 reached end of life on 2 Dec 2019. It no longer receives security fixes.
Support timeline
Official dates from the Django release process.
| Milestone | Date | Status |
|---|---|---|
| Initial release | 1 Aug 2018 | — |
| End of life | 2 Dec 2019 | 6.7 years ago |
| Active support ended | 1 Apr 2019 | security fixes only after this |
| Latest release | 2.1.15 · 2 Dec 2019 | final |
The cost of staying: CVEs since end of life
83 Django vulnerabilities have been published since 2 Dec 2019. All were fixed in supported branches — 2.1 received none of them. Source: NVD.
Django CVEs published since 2.1's EOL, by year
10 of the 83 are rated critical · data refreshed 2026-08-09
Published 18 Dec 2019 · rated critical — fixed in supported branches only, never in 2.1. Details
Published 3 Feb 2020 · rated critical — fixed in supported branches only, never in 2.1. Details
Published 2 Jul 2021 · rated critical — fixed in supported branches only, never in 2.1. Details
Where to go from 2.1
Recommended target: Django 6.1 (supported until 31 Dec 2027).
The newest actively supported branch is Django 6.1 (latest release 6.1). Review docs.djangoproject.com before upgrading.
Frequently asked questions
Is Django 2.1 still safe to use?
No. Django 2.1 stopped receiving security fixes on 2 Dec 2019. Since then, 83 Django vulnerabilities have been published and fixed in supported branches — Django 2.1 received none of those fixes.
Can I still download Django 2.1?
Yes — the final release (2.1.15) generally remains available from vendor archives and OS package mirrors, but installing it means running software with known, unpatched vulnerabilities.
What should I upgrade Django 2.1 to?
Upgrade to Django 6.1, the newest actively supported branch (supported until 31 Dec 2027).