-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Drop Python 3.6 and 3.7 support #4294
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
GitHub Actions doesn't anymore support Python 3.6 on latest Ubuntu and I doubt its well supported on Windows either. Easier to just remove it from there than running it on some older Ubuntu version. We can just run tests with it locally now and then until we drop Python 3.6 support ourselves (#4294).
Python 3.7 will reach its end-of-life in June 2023 and it's clear RF 7.0 won't be released before that. We can thus remove support of both Python 3.6 and Python 3.7 in RF 7.0. The main reason we have supported Python 3.6 quite long after its end-of-life in December 2021 is that it is the default Python version in RHEL 8 that is supported until May 2029. RHEL 9 uses Python 3.9 by default and with newer RHEL versions upgrading Python ought to be easier as well. It's unlikely that other long-term support Linux distributions would use Python 3.7 by default and removing its support as soon as it's not officially supported ought to be fine. |
Commit b092961 made Python 3.8 the minimum version and removed code supporting older versions. Some compatibility code may have been left behind, but it can be removed when encountered. The main thing that hasn't been done is updating documentation. I have already updated the User Guide locally, but we also need to update README.rst and INSTALL.rst. A problem with them is that changes would be visible on the GitHub project pages immediately and RF 7 isn't actually available until at the end of the year. Probably best to leave them as they are now and update them when we the first release candidate is out. That means we cannot close this issue until that either. |
Python 3.6 reached end-of-life in December 2021. We don't yet have concrete estimation when RF 6.0 will be released, or even when the development starts, but my guesstimate is that it will happen earliest in early 2023. Supporting Python version that itself hasn't been supported for over a year doesn't make much sense for us at that point.
At the time of this writing, April 2022, about 15% of Robot Framework downloads still use Python 3.6, but I expect that number to decline pretty fast in the future. It could be that some Linux distributions still support Python 3.6 and have it as the default Python version, but even with them installing a newer Python ought to be pretty easy.
A concrete benefit of dropping Python 3.6 is that it allows us to use datetime.fromisoformat that would help with #4258. Other Python 3.7 features that would likely be useful are dataclasses and importlib.resources.
The text was updated successfully, but these errors were encountered: