Python 3.9

This version has reached end of life and no longer receives updates.

End of Life Python health badge
Released

October 5, 2020

Active Support

May 17, 2022

End of Life

October 31, 2025

Latest Patch

3.9.25 (October 31, 2025)

About Python 3.9

Python 3.9 introduced dictionary merge operators, type hinting generics in standard collections, and the zoneinfo module. It entered security-only maintenance and is approaching end of life.

Key Changes in Python 3.9

Breaking Changes

Python 3.9 recently reached end of life on October 31, 2025. This means it no longer receives security patches or bug fixes from the maintainers. If you are still on this version, now is the time to finalize your upgrade plan before the gap between your version and the current release grows wider.

The recommended upgrade path is to Python 3.14. Since Python 3.9 is 5 major versions behind, consider a staged upgrade through intermediate versions to catch breaking changes incrementally rather than all at once. Review the release notes for each intervening major version to identify API changes, deprecated features, and removed functionality that may affect your codebase.

Migration Notes

Upgrading from 3.9 to 3.12+ is a bigger jump. Key issues to watch: the dictionary merge operator is additive (not breaking), but several deprecated APIs were removed in 3.10-3.12. Run your test suite on each intermediate version.

Lifecycle Progress

Released: Oct 2020 EOL: Oct 2025

This version reached end of life October 31, 2025.

Previous Version

Python 3.8

End of Life
Next Version

Python 3.10

Security Only

All Python Versions

Version Released EOL Latest Status
3.14 October 7, 2025 October 31, 2030 3.14.3 Active
3.13 October 7, 2024 October 31, 2029 3.13.12 Active
3.12 October 2, 2023 October 31, 2028 3.12.12 Security Only
3.11 October 24, 2022 October 31, 2027 3.11.14 Security Only
3.10 October 4, 2021 October 31, 2026 3.10.19 Security Only
3.9 (current page) October 5, 2020 October 31, 2025 3.9.25 End of Life
3.8 October 14, 2019 October 7, 2024 3.8.20 End of Life
3.7 June 27, 2018 June 27, 2023 3.7.17 End of Life
3.6 December 23, 2016 December 23, 2021 3.6.15 End of Life
3.5 September 13, 2015 September 30, 2020 3.5.10 End of Life
3.4 March 16, 2014 March 18, 2019 3.4.10 End of Life
3.3 September 29, 2012 September 29, 2017 3.3.7 End of Life
3.2 February 20, 2011 February 20, 2016 3.2.6 End of Life
2.7 July 3, 2010 January 1, 2020 2.7.18 End of Life
3.1 June 27, 2009 April 9, 2012 3.1.5 End of Life
3.0 December 3, 2008 June 27, 2009 3.0.1 End of Life
2.6 October 1, 2008 October 29, 2013 2.6.9 End of Life

Frequently Asked Questions

When was Python 3.9 released?
Python 3.9 was released on October 5, 2020.
When does Python 3.9 reach end of life?
Python 3.9 reached end of life on October 31, 2025. It no longer receives security patches or bug fixes. You should upgrade to a supported version.
What is the latest patch version of Python 3.9?
The latest patch release is 3.9.25, released on October 31, 2025.
Should I still use Python 3.9?
No. Python 3.9 has reached end of life and no longer receives security updates. Running EOL software exposes your applications to unpatched vulnerabilities. You should plan an upgrade to a currently supported version.

Related Resources

Get release updates for Python

Breaking changes, security patches, EOL warnings. Monthly digest, no spam.

Free forever. Unsubscribe anytime. We track 50+ technologies.