You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Python 3.6 has reached its end of life and isn't available for download in https://www.python.org/downloads/ anymore. At the time of writing (Nov 2022), the lowest version is 3.7.
Possible Solution/Idea
Remove support for Python 3.6 for semver3. Alternative would be to remove it in semver3.1.
After we get a clearer picture from the poll below we will act accordingly.
To remove support for Python 3.6, we need to adapt the following files:
setup.cfg in classifiers and python_requires
.github/workflows/python-testing.yml
pyproject.toml
tox.ini
README.rst
CONTRIBUTING.rst
Review documentation (examples that point to Python 3.6 needs an update)
Is setup.py still needed? Can it be removed? Yes, was only needed for compatibility reasons with Python 3.6.
I think we should drop support for python 3.6 in the next release.
Dropping support for python 3.6 does not mean all the previous versions published on PyPI will be removed and unavailable, so the impact for users on python 3.6 will not be felt if they do not upgrade the package indiscriminately. Also to prevent accidental upgrades, I think we can set the minimum python version in the setup.(py|cfg)and that should prevent python 3.6 users from installing it. Usually, users of eol python versions generally do not actively develop their applications, therefore would not want to use new features just for the sake of it.
Otherwise, I think dropping support for an eol python version on its own would not warrant a major version release for two reasons. First, it is not a public API change, which is what semver compatibility is all about. This would make it a patch release, since it is an implementation change (that may break dependencies of they depended on the"buggy" implementation). Second, there are other mechanisms to preserve compatibility on the python interpreter level in this context.
For these reasons, limited impact on the community and the fact that it is not a public API change, I think we should not think twice about dropping support for eol python versions, but make sure that users of eol python versions can't upgrade by using the appropriate configuration for our PyPI deployment.
Activity
tlaferriere commentedon Nov 17, 2022
I think we should drop support for python 3.6 in the next release.
Dropping support for python 3.6 does not mean all the previous versions published on PyPI will be removed and unavailable, so the impact for users on python 3.6 will not be felt if they do not upgrade the package indiscriminately. Also to prevent accidental upgrades, I think we can set the minimum python version in the
setup.(py|cfg)and that should prevent python 3.6 users from installing it. Usually, users of eol python versions generally do not actively develop their applications, therefore would not want to use new features just for the sake of it.Otherwise, I think dropping support for an eol python version on its own would not warrant a major version release for two reasons. First, it is not a public API change, which is what semver compatibility is all about. This would make it a patch release, since it is an implementation change (that may break dependencies of they depended on the"buggy" implementation). Second, there are other mechanisms to preserve compatibility on the python interpreter level in this context.
For these reasons, limited impact on the community and the fact that it is not a public API change, I think we should not think twice about dropping support for eol python versions, but make sure that users of eol python versions can't upgrade by using the appropriate configuration for our PyPI deployment.
tomschr commentedon Nov 17, 2022
Thanks Thomas for your opinions. 👍 I had similar thoughts, but you summed it up perfectly.
I will leave the poll open for some time. If the majority agrees, I'll remove 3.6 and increase the minimum Python version to 3.7.
Thanks!
Fix python-semver#372: Remove support for Python 3.6
Fix python-semver#372: Remove support for Python 3.6
Fix python-semver#372: Remove support for Python 3.6
Merge pull request #383 from tomschr/feature/372-rm-python36
Add changelog entry for #372