Flask

Flask End of Life - Dates and Lifecycle

Flask is a lightweight WSGI web framework for Python, built on Werkzeug and Jinja, known for its minimal core and flexible extension model.

Last updated 8 August 2026

11

Versions tracked

10

At EOL

1

Supported

Flask version lifecycle and end-of-life dates
Version Released Security Support Latest
3.1.3
18 Feb 2026
Active
3.1.1
13 May 2025
19 Aug 2025 Ended 11 months, 2 weeks ago
3.1.0
13 Nov 2024
13 May 2025 Ended 1 year, 2 months ago
3.0.0
30 Sep 2023
18 Jan 2024 Ended 2 years, 6 months ago
2.3.0
25 Apr 2023
25 Apr 2023 Ended 3 years, 3 months ago
2.2.0
01 Aug 2022
03 Aug 2022 Ended 4 years ago
2.1.0
28 Mar 2022
30 Mar 2022 Ended 4 years, 4 months ago
2.0.0
11 May 2021
21 May 2021 Ended 5 years, 2 months ago

Flask has been part of the Python web ecosystem since 2010, built on Werkzeug and Jinja to offer a minimal core with extensions handling everything else. It's one of the most widely used Python web frameworks, valued for giving developers control over structure rather than imposing one.

Flask Lifecycle Explained

Flask has no formal, published end of life policy, and its own maintainers have confirmed this directly in response to user questions. As maintainer davidism put it, "the latest feature branch gets bug fixes... when a new feature release is made, that will become the new supported branch." Maintainer tachyondecay added explicitly that Flask does not use semantic versioning in the way that implies long-term support for older lines, only the most recently released version is supported at any given time.

In practice, this means every prior release becomes unsupported the moment a new one ships, security fixes included. Flask's own guidance to application developers is to pin dependencies deliberately, using standard Python packaging tools, rather than relying on the framework itself to maintain older branches. New releases also periodically drop support for older Python versions in step with Python's own end of life schedule.

A February 2022 incident illustrates why this matters in practice, not just in theory. Flask versions before 2.0 specified only a lower bound on their itsdangerous dependency (itsdangerous >= 0.24), with no upper limit. When itsdangerous 2.1.0 shipped, it removed code that older Flask versions relied on, and installing Flask 1.1.2 or similar would silently pull in the newest itsdangerous and crash with an ImportError, even for teams who had deliberately stayed on an older Flask version. Maintainer davidism's response was direct: the affected versions were unsupported, and the real fix was to pin the full dependency tree with a tool like pip-tools rather than expect Flask to keep old branches compatible with newer releases of its own dependencies.

Is it safe to pin an old Flask version?

Only if you pin your entire dependency tree, not just Flask itself. Older Flask releases often specify only a minimum version for dependencies like itsdangerous and MarkupSafe, with no upper bound, so a newer release of one of those can silently break an old, "pinned" Flask installation. This happened in practice in 2022, when an itsdangerous update broke Flask versions before 2.0. Use a tool like pip-tools to lock your full dependency tree if you need to stay on an older version.

Does Flask have an EOL policy?

No, not a formal one. Flask maintainers have stated directly that only the latest release is supported, and that once a new version ships, the previous one is no longer maintained, without a fixed backport window the way some frameworks offer.

Is Flask still relevant in 2026?

Yes, it remains one of the most widely used Python web frameworks, continuing to receive regular releases and security patches on its current version.

When was Flask released?

Flask's first public preview release, version 0.1, shipped in April 2010. It reached its 1.0 release in April 2018.

Is Flask backend?

Yes, Flask is a backend, server-side Python framework for building web applications and APIs, not a frontend tool.