On 2/27/22 22:19, Gregory Szorc wrote:
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.
Agreed, I think this is cautious enough.
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.
+1
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel
_______________________________________________
Mercurial-devel mailing list
Mercurial-devel@mercurial-scm.org
https://www.mercurial-scm.org/mailman/listinfo/mercurial-devel