From c12ade13472d9cb4a6a57222019e5e0894178405 Mon Sep 17 00:00:00 2001 From: memsharded Date: Tue, 17 May 2022 14:20:49 +0200 Subject: [PATCH 1/2] propose Python minimum version support updates --- design/003-codebase-python.md | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/design/003-codebase-python.md b/design/003-codebase-python.md index d2913e3..bc2ec6d 100644 --- a/design/003-codebase-python.md +++ b/design/003-codebase-python.md @@ -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 @@ -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, 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 @@ -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 and a half 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 From fb8ea42644223405e64fe5d63e6a51ff1445b2bc Mon Sep 17 00:00:00 2001 From: memsharded Date: Tue, 17 May 2022 16:06:52 +0200 Subject: [PATCH 2/2] minor fixes --- design/003-codebase-python.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/design/003-codebase-python.md b/design/003-codebase-python.md index bc2ec6d..1ecc720 100644 --- a/design/003-codebase-python.md +++ b/design/003-codebase-python.md @@ -27,7 +27,7 @@ that will help to improve the codebase and write more maintainable source: 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, but that also has security implications, + 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. @@ -40,7 +40,7 @@ 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 and a half beyond that date. When one version support +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.