Mercurial > public > mercurial-scm > hg-stable
changeset 51877:905bc9d0a149
python-compat: drop support for Python3.6 and 3.7
As discussed on the mailing list?, these are old version that seems safe to
drop. Python 3.8 comes with various improvement especially regarding typing
capabilities.
[1] https://lists.mercurial-scm.org/pipermail/mercurial-devel/2024-July/297998.html
author | Pierre-Yves David <pierre-yves.david@octobus.net> |
---|---|
date | Tue, 10 Sep 2024 22:26:23 +0200 |
parents | 6cc18075f82a |
children | 7933bcb02bfc |
files | contrib/automation/hgautomation/cli.py contrib/automation/hgautomation/linux.py contrib/automation/linux-requirements-py3.txt contrib/automation/linux-requirements.txt.in contrib/packaging/debian/rules contrib/packaging/inno/readme.rst contrib/packaging/wix/readme.rst contrib/python3-ratchet.py setup.py |
diffstat | 9 files changed, 9 insertions(+), 31 deletions(-) [+] |
line wrap: on
line diff
--- a/contrib/automation/hgautomation/cli.py Tue Sep 10 21:19:36 2024 +0200 +++ b/contrib/automation/hgautomation/cli.py Tue Sep 10 22:26:23 2024 +0200 @@ -446,9 +446,6 @@ help='Python version to use', choices={ 'system3', - '3.5', - '3.6', - '3.7', '3.8', 'pypy', 'pypy3.5', @@ -475,7 +472,7 @@ sp.add_argument( '--python-version', help='Python version to use', - choices={'3.5', '3.6', '3.7', '3.8', '3.9', '3.10'}, + choices={'3.8', '3.9', '3.10'}, default='3.9', ) sp.add_argument(
--- a/contrib/automation/hgautomation/linux.py Tue Sep 10 21:19:36 2024 +0200 +++ b/contrib/automation/hgautomation/linux.py Tue Sep 10 22:26:23 2024 +0200 @@ -25,7 +25,7 @@ } INSTALL_PYTHONS = r''' -PYENV3_VERSIONS="3.5.10 3.6.13 3.7.10 3.8.10 3.9.5 pypy3.5-7.0.0 pypy3.6-7.3.3 pypy3.7-7.3.3" +PYENV3_VERSIONS="3.8.10 3.9.5 pypy3.5-7.0.0 pypy3.6-7.3.3 pypy3.7-7.3.3" git clone https://github.com/pyenv/pyenv.git /hgdev/pyenv pushd /hgdev/pyenv
--- a/contrib/automation/linux-requirements-py3.txt Tue Sep 10 21:19:36 2024 +0200 +++ b/contrib/automation/linux-requirements-py3.txt Tue Sep 10 22:26:23 2024 +0200 @@ -16,7 +16,7 @@ --hash=sha256:3901be1cb7c2a780f14668691474d9252c070a756be0a9ead98cfeabfa11aeb8 \ --hash=sha256:8ee1e5f5a1afc5b19bdfae4fdf0c35ed324074bdce3500c939842c8f818645d9 # via black -black==19.10b0 ; python_version >= "3.6" and platform_python_implementation != "PyPy" \ +black==19.10b0 ; python_version >= "3.8" and platform_python_implementation != "PyPy" \ --hash=sha256:1b30e59be925fafc1ee4565e5e08abef6b03fe455102883820fe5ee2e4734e0b \ --hash=sha256:c2edb73a08e9e0e6f65a0e6af18b059b8b1cdd5bef997d7a0b181df93dc81539 # via -r contrib/automation/linux-requirements.txt.in
--- a/contrib/automation/linux-requirements.txt.in Tue Sep 10 21:19:36 2024 +0200 +++ b/contrib/automation/linux-requirements.txt.in Tue Sep 10 22:26:23 2024 +0200 @@ -1,5 +1,5 @@ # black pulls in typed-ast, which doesn't install on PyPy. -black==19.10b0 ; python_version >= '3.6' and platform_python_implementation != 'PyPy' +black==19.10b0 ; python_version >= '3.8' and platform_python_implementation != 'PyPy' # Bazaar doesn't work with Python 3 nor PyPy. bzr ; python_version <= '2.7' and platform_python_implementation == 'CPython' docutils @@ -13,5 +13,5 @@ # Needed to avoid warnings from fuzzywuzzy. python-Levenshtein # typed-ast dependency doesn't install on PyPy. -typed-ast ; python_version >= '3.0' and platform_python_implementation != 'PyPy' +typed-ast ; python_version >= '3.8' and platform_python_implementation != 'PyPy' vcrpy
--- a/contrib/packaging/debian/rules Tue Sep 10 21:19:36 2024 +0200 +++ b/contrib/packaging/debian/rules Tue Sep 10 22:26:23 2024 +0200 @@ -15,7 +15,7 @@ # the actual versions that are installed, see the comment above where we set # DEB_HG_PYTHON_VERSIONS below. If you choose to set `DEB_HG_PYTHON_VERSIONS` # yourself, set it to a space-separated string of python version numbers, like: -# DEB_HG_PYTHON_VERSIONS="3.7 3.8" make deb +# DEB_HG_PYTHON_VERSIONS="3.8" make deb DEB_HG_MULTI_VERSION?=0 # Set to 1 to make /usr/bin/hg a symlink to chg, and move hg to
--- a/contrib/packaging/inno/readme.rst Tue Sep 10 21:19:36 2024 +0200 +++ b/contrib/packaging/inno/readme.rst Tue Sep 10 22:26:23 2024 +0200 @@ -8,7 +8,7 @@ * Inno Setup (http://jrsoftware.org/isdl.php) version 5.4 or newer. Be sure to install the optional Inno Setup Preprocessor feature, which is required. -* Python 3.6+ (to run the ``packaging.py`` script) +* Python 3.8+ (to run the ``packaging.py`` script) Building ========
--- a/contrib/packaging/wix/readme.rst Tue Sep 10 21:19:36 2024 +0200 +++ b/contrib/packaging/wix/readme.rst Tue Sep 10 22:26:23 2024 +0200 @@ -16,7 +16,7 @@ The following system dependencies must be installed: -* Python 3.6+ (to run the ``packaging.py`` script) +* Python 3.8+ (to run the ``packaging.py`` script) Building ========
--- a/contrib/python3-ratchet.py Tue Sep 10 21:19:36 2024 +0200 +++ b/contrib/python3-ratchet.py Tue Sep 10 22:26:23 2024 +0200 @@ -93,23 +93,6 @@ '--working-tests must be from that repo' ) sys.exit(1) - try: - subprocess.check_call( - [ - opts.python3, - '-c', - 'import sys ; ' - 'assert ((3, 5) <= sys.version_info < (3, 6) ' - 'or sys.version_info >= (3, 6, 2))', - ] - ) - except subprocess.CalledProcessError: - print( - 'warning: Python 3.6.0 and 3.6.1 have ' - 'a bug which breaks Mercurial' - ) - print('(see https://bugs.python.org/issue29714 for details)') - sys.exit(1) rt = subprocess.Popen( [
--- a/setup.py Tue Sep 10 21:19:36 2024 +0200 +++ b/setup.py Tue Sep 10 22:26:23 2024 +0200 @@ -5,11 +5,9 @@ # 'python setup.py --help' for more options import os -# Mercurial can't work on 3.6.0 or 3.6.1 due to a bug in % formatting -# in bytestrings. supportedpy = ','.join( [ - '>=3.6.2', + '>=3.8.0', ] )