Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Update proposal] Propose Python minimum version support updates #35

Merged
merged 2 commits into from
Jun 7, 2022
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 11 additions & 1 deletion design/003-codebase-python.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
---

## Summary
Declare **Python 3.6** as the minimum Python version supported.
Declare **Python 3.6** as the minimum Python version supported for Conan 2.0 launch.
Declare a Python version support policy for 12 months after the minimum supported version has officially become End Of Life (EOL).


## Motivation
Expand All @@ -24,6 +25,11 @@ that will help to improve the codebase and write more maintainable source:
* Formatted string literals a.k.a. _f-strings_.
* Type hints for classes and instance variables.

There is also a support problem when Python officially declares versions EOL, because
dependencies stop supporting those versions and can break the Conan application. Conan
can pin and restrict the usage of those dependencies newer versions, but that also has security implications,
so it is not something that should be extended too much over time.


## Proposal
Python 3.6 will be the minimal supported version. Conan 2.0 is expected to be released
Expand All @@ -33,6 +39,10 @@ on 2021, by that date Python 3.6 will be the oldest release alive (EOL on Decemb
About Linux distros: starting on Debian 10 Buster (July 2019), the [Python 3
version installed is Python 3.7](https://wiki.debian.org/Python). Ubuntu 18.04 (April 2018) already included Python 3.6.

Conan will drop support for Python versions 12 months **after** their official EOL date, that is,
it will continue testing and supporting one year beyond that date. When one version support
becomes deprecated, the next Python version will be used as the minimum tested and supported one.


## Alternative Approaches
Newer Python versions provide several enhancements on type annotation that could help
Expand Down