-
-
Notifications
You must be signed in to change notification settings - Fork 4k
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
Update minimum Python version to 3.5.0 #13268
Conversation
@ngosang 3.5 is almost EOL (less than 1 month), might as well go straight for 3.6 https://devguide.python.org/#status-of-python-branches |
I know but I want to support 3.5 even if it is discontinued. It is used by many Windows users and some old Linux distributions. The main reason to bump the version is because the search plugins are not compatible with Python 3.3 nor Python 3.4 from now. |
@ngosang I don't think there's any major Linux distro that qBittorrent currently "officially" supports that doesn't have python >= 3.6. Windows users should upgrade anyway as well. As an example, Ubuntu 16.04, which is the most recent Ubuntu release that doesn't have python >= 3.6 (it has 3.5.x) is nearly EOL already, but qBittorrent hasn't supported it for a long time anyway. |
We already had this discussion => qbittorrent/search-plugins#84 (comment) |
Fine, I won't insist more. |
Just to be sure, do you mean you're going to use features that are exclusively to python >= 3.5? |
From now I'm not testing Python 3.4 in local anymore (and I removed it from TravisCI too https://github.com/qbittorrent/search-plugins/pull/144/files). I'm not going to do big changes in the code but without testing Python 3.4 support could be broken at any time. Furthermore, unofficial plugins are not tested with Python 3.4 neither. |
Why?
Can you elaborate a bit on this please.
This is a good point, let plugin author have access to more modern features and ease their burden on supporting older python versions. |
Because I don't have Python 3.4 installed in my machine and I removed 3.4 from Travis CI. I'm going to test the changes in Python >= 3.5. If prefer the users to update the Python version that reporting bugs from old Python versions.
The same as before, I don't test the plugins in Python 3.3 since +2 years and Python 3.4 since +1 year. I can't guarantee that they work well, maybe they don't for years. I'm just doing a "best effort" to not include newest functionalities in the code. Those versions don't have support from Python, in fact the minimum supported version from now should be Python 3.6, not 3.5. I don't like the idea of "forcing" people to update the software, but Python 3.6 is 4 years old now (it's not new software). This will be better for the users (security, etc...) and for me (less testing and issues) => https://en.wikipedia.org/wiki/History_of_Python#Table_of_versions |
Well I'm just thinking out loud, if 3.4 is not removed from TravisCI then it is possible to still support it although it is a bit cumbersome...
I think we can do that at the end of this year or at the start of next year. |
@ngosang |
Update minimum Python version to 3.5.0
@Chocobo1 @ngosang Just a reminder to look at this again.
In relation to security comment, perhaps the CVE list below could also aid in determining minimum supported version: Ubuntu 20.04 for example is the minimum Linux OS we support & has Python 3.8.2 as the default version OOB. Debian Stretch, although under LTS until June 2022 should now be re-evaluated as the basis for minimum Python Debian Buster which is inline to take over as LTS version comes with "Python 3.7.3" My own opinion is to raise minimum to 3.8.2 inline with what we support on Ubuntu This could be done for the v4_3_x branch as #15126 will be in v4_4_x branch when done/merged. qBittorrent/src/gui/mainwindow.cpp Lines 2147 to 2149 in fefce03
Also, How come this wasn't changed? qBittorrent/src/gui/mainwindow.cpp Line 1882 in fefce03
|
I wonder would it be possible to make use of IsWindows7OrGreater function & IsWindows10OrGreater function to provide the supported python installer(s) for those systems. Example: |
Previous versions are unsupported by Python => https://en.wikipedia.org/wiki/History_of_Python#Table_of_versions
And by us => https://github.com/qbittorrent/search-plugins