Differences between revisions 18 and 19
Revision 18 as of 2020-06-05 21:53:54
Size: 1686
Editor: ManuelJacob
Comment: Drop note that is more likely to confuse users than to help them.
Revision 19 as of 2020-06-05 21:59:08
Size: 1698
Editor: ManuelJacob
Comment: Update Python 3 information (mostly sources from Python3 page).
Deletions are marked like this. Additions are marked like this.
Line 27: Line 27:
We will continue to support Python 2.7 for the foreseeable future. We may drop support for Python 2.7 sometime in 2020. See [[Python3]] for more information.
Line 31: Line 31:
Mercurial is actively being ported to Python 3. See [[Python3]] for more. Mercurial 5.2 and newer has support for Python 3.5 and newer.

Supported Python Versions

The versions of Python supported by Mercurial.

1. Current support

Mercurial 4.3 and newer require Python 2.7. Mercurial versions up to 4.2 support Python versions 2.6 to 2.7, provided they include the following standard library components:

  • sha/hashlib
  • gzip
  • bz2 (needed for bundles)
  • ctypes (only on Windows)

Mercurial 3.5 dropped support for Python 2.4 and 2.5. As our primary users of these Python versions are enterprise Linux users of RHEL 5 and Centos 5, we've started packaging RPMs for these systems with a private copy of a recent Python.

Mercurial 4.3 dropped support for Python 2.6. As work towards porting to Python 3 progressed, continuing to support Python 2.6 was a hindrance to porting efforts.

Some versions of Python may have difficulty with some particular features. For instance, Python before 2.5 cannot properly verify SSL certificates.

2. Future support plan

Python 2.3 support was dropped in July 2009 for Mercurial 1.3 when it became difficult for developers to continue testing compatibility. Now that we have a 2.4 buildbot, this is mostly a non-issue.

Python 2.4 and 2.5 support was dropped in May 2015 for Mercurial 3.5 as it was becoming a barrier to Python 3.x support.

We may drop support for Python 2.7 sometime in 2020. See Python3 for more information.

3. Python 3.x support

Mercurial 5.2 and newer has support for Python 3.5 and newer.

Mercurial will never support Python 3.0 to 3.4 because of missing support for the % operator on bytestrings (bytes in Python 3).


SupportedPythonVersions (last edited 2022-03-04 01:04:18 by GregorySzorc)