Supported Python Versions
The versions of Python supported by Mercurial.
1. Current support
Mercurial 6.2 (to be released) and newer only has support for Python 3.6+. Mercurial 5.2 and newer has support for Python 2.7 and Python 3.5 and newer. Mercurial 4.3 and newer require at least Python 2.7. Python must include the following standard library components:
- bz2 (needed for bundles)
- ctypes (only on Windows)
2. Past support
Python 3.5 support is being dropped in Mercurial 6.2. Python 2 support is being dropped in Mercurial 6.2.
Python 2.6 support was dropped in Mercurial 4.3. As work towards porting to Python 3 progressed, continuing to support Python 2.6 was a hindrance to porting efforts.
Python 2.4 and 2.5 support was dropped in Mercurial 3.5 as it was becoming a barrier to Python 3.x support. 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.
Python 2.3 support was dropped in Mercurial 1.3.
Some versions of Python may have difficulty with some particular features. For instance, Python before 2.5 cannot properly verify SSL certificates.
Mercurial never supported Python 3.0 to 3.4 because of missing support for the % operator on bytestrings (bytes in Python 3).
3. Future support plan
We may drop support for older versions of Python 3 in the future.