The Python Software foundation has released 3.9 RC2 and warns users to look out for deprecation warnings, as they are dropping backwards compatibility for unsupported Python 2.7. Python maintainers stopped support for Python 2.7 in April, five years after it was meant to end.
The cessation of support also comes 12 years after Guido van Rossum, the Python creator, announced Python 3.
The main thing about version 3.9 RC2 is that most of the backward-compatibility layers for Python 2.7 have been removed. Python 3.8 had the layers, but that was only because it was released last year in October when support for Python 2.7 was still operational.
All the compatibility layers will be replaced eventually
The Python 3.9 version is slated for an early October release, so maintainers think it is sensible to remove the 2.7 compatibility layers.
When Python 2.7 was still supported, many functions were kept for backward compatibility with version 2.7. Because the support for 2.7 is now over, the backward compatibility layers are no longer useful and will all be removed.
As we mentioned earlier, even with backward compatibility with Python 2.7, compatibility layers have been issuing ‘DeprecationWarning’ alerts for a few years.
Some compatibility layers remain
Even though most of the layers have been removed in Python 3.9, some exceptions have been made for some of the 2.7 compatibility layers to support project maintainers, so they have time to transition from Python 2 and add support for the new version.
The move to keep some of the compatibility layers came from concerns by the Python-backed RedHat. The maintainer there, Victor Stinner, maintains upstream and downstream Python for RedHat Enterprise Linux and Fedora.
Meanwhile, Fedora 33 is highly anticipated and will release sometime in mid-October.