Skip to content

FAQ Roadmap

SickGear edited this page Mar 6, 2021 · 1 revision
Clone this wiki locally

SickGear Wiki: Home | Reporting Issues | > Frequently Answered Questions < | Install Guides

Python 2 + 3 compatibility plan

q: Python 2.x is End-of-Line in 2020. Are you guys working on moving to Python 3.x?

a: SG supports 2.7+ and 3.7+, there is no EOL "cliff" except for blind panic that the foolish will carry.

2021 Dec 07: Python 3.10.1 support added.
2021 Nov 15: Python 3.9.9 support added.
2021 Nov 06: Python 3.9.8 support added.
2021 Aug 31: Python 3.8.12, 3.9.7 and 3.10.0 support added.
2021 Jun 28: Python 3.7.11, 3.8.11 and 3.9.6 support added.
2021 May 03: Python 3.8.10 and 3.9.5 support added.
2021 Apr 05: Python 3.9.4 support added. If upgrading from 3.9.3 flush pip with python -m pip cache purge.
2021 Apr 05: Do not use Python version 3.9.3 (recalled).
2021 Apr 03: Python 3.9.3 support added.
2021 Apr 03: Python 3.8.9 support added.
2021 Feb 19: Python 3.9.2 support added.
2021 Feb 19: Python 3.8.8 support added.
2020 Dec 02: Python 3.9.1 support added.
2020 Nov 21: Python 3.8.7 support added.
2020 Oct 05: Python 3.9.0 support added.
2020 Sep 24: Python 3.8.6 support added.
2020 Jul 20: Python 3.8.5 support added.
2020 Jul 14: Python 3.8.4 support added.
2020 May 15: Python 3.8.3 support added.
2020 Mar 15: Do not use Python version 3.7.6 or 3.8.1 - they both contain a bug flagged as critical.
2020 Jan 10: SickGear is now operational with py3.7.1-3.9.x and py2.7.9-2.7.18 inclusive versions.
2019 Dec 27: only on the develop branch.

Given that the minimum supported 2.7.9 version is already years old without a major security issue, and also that 2.7.18 was released Apr 2020, the 2.7 "EOL" date is nothing to worry over, it simply means no new development for Python 2.x.

Python Maintenance releases

Being the last of the 2.x series, 2.7 will receive bugfix support until 2020. Support officially stops January 1 2020, but the final release will occur after that date.

Python planned future release dates:

  • 2.7.17 release candidate 2019 Oct 05
  • 2.7.17 full release 2019 Oct 19
  • 2.7.18 code freeze January, 2020
  • 2.7.18 release candidate early April, 2020
  • 2.7.18 final was released 20 April, 2020

Bottom line, anyone that knows Python is not even slightly concerned over its EOL date. SG will support 3.7.1+ because it has the performance of 2.7 and will continue to support 2.7.9 to 2.7.18 inclusive. To be clear, effort put into the codebase means both Python 2 and 3 are supported, SickGear will NOT abandon Python 2.7 for a long time.

Finally, there is no need to risk issues for some users by changing #!/usr/bin/env python2 in core files. It has always been documented to explicitly specify a Python binary when running SickGear e.g. python sickgear.py rather than just sickgear.py so those lines are ignored anyway.