Python 3.x version support / dropping 3.5 and 3.6
Gregory Szorc
gregory.szorc at gmail.com
Sun Feb 27 21:19:27 UTC 2022
6.1 will be the last release to support Python 2.7. That means 6.2 will be
Python 3 only.
Currently our Python 3 support is for 3.5-3.10.
Python 3.5 dropped out of support in September 2020 and Python 3.6 in
December 2021 (https://endoflife.date/python).
Do we have any interest in dropping support for 3.5 or 3.6 in the 6.2
release?
Features of interest in 3.6:
* Variable type annotations. (Annotating on <3.6 requires special syntax in
comments)
* Stabilization of async (unsure how much we'll adopt async though)
* PEP 519 path protocol. This might enable us to clean up path handling
throughout the codebase by adopting richly typed path objects with nice
path-like primitives.
* Enhancements to typing module to make it more useful.
Features of interest in 3.7:
* Postponed evaluation of type annotations (this is likely huge for
managing startup time)
* importlib.resources (allows us to clean up non-module file loading)
* @dataclass and data classes
I think the only in-support major distro still supporting 3.5 is Debian 9
Stretch, which goes out of support on 2022-06-30.
3.6 is more complicated. CentOS/RHEL 7 and Ubuntu 18.04 ship Python 3.6.
Although the former is already out of support. Ubuntu 18.04 is still in
main support until 2023-04-03 and has security support for another few
years.
My pulse on the larger Python ecosystem is that 3.5 is mostly dead and 3.6
is starting to wilt but not quite dead. Tons of projects dropped 3.5 in the
past year.
**So I'd like to propose dropping support for Python 3.5 in 6.2.** That
would mean 6.1 is our last release with both Python 2.7 and 3.5 support.
I don't think I can in good faith recommend dropping 3.6 support at this
time since it is still in wide use. But I do like the allure of the above
highlighted features in 3.7 and think they could lead to a higher quality
Mercurial and cleaner code base. If anyone else wants to make the case for
dropping 3.6 despite its apparent use in supported distros, I'd love to
hear it.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.mercurial-scm.org/pipermail/mercurial-devel/attachments/20220227/6257cd9b/attachment.html>
More information about the Mercurial-devel
mailing list