Skip to content

Prepare semver 3.0.0 #176

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

Closed
6 of 7 tasks
tomschr opened this issue Nov 3, 2019 · 7 comments
Closed
6 of 7 tasks

Prepare semver 3.0.0 #176

tomschr opened this issue Nov 3, 2019 · 7 comments
Labels
Release_3.x.y Only for the major release 3

Comments

@tomschr
Copy link
Member

tomschr commented Nov 3, 2019

Situation

As we have released 2.9.0 of semver, we should consider of moving to 3.0.0 soon. This is needed to start working on adding new features and optimizing source code for Python 3.

(I've created this issue to make the upcoming 3.0.0 more visible and to have a record when we need to search the history.)

Suggested Solution

In order to create semver 3.0.0, we need to think about the following tasks:

  • Create a maintenance branch for 2.x.y line: maint/v2
  • Remove test target py27 and py34 from tox.ini
  • Tag the 2.9.0 release.
  • Update the Trove classifiers in setup.py and remove support for Python 2.7 and 3.4.
  • Optimize source code for Python 3 only and remove any code that was introduced due to 2.7.
  • Provide (and label it correctly) the 2.9.0 documentation for ReadTheDocs.
    We need a configuration that should be possible that old (2.9.x) and new versions (3.*) are still available and can coexit together peacefully. 😉
  • Change version number in master to 3.0.0.

Anything else? 😉

I've updated the description in #161 (comment) of issue #161

@s-celles
Copy link
Member

s-celles commented Nov 3, 2019

Tag the 2.9.0 release

I think it's ever the case... a 2.9.0 release have ever been tagged

@tomschr
Copy link
Member Author

tomschr commented Nov 4, 2019

Tag the 2.9.0 release

I think it's ever the case... a 2.9.0 release have ever been tagged

Yes, I just mention it to not forget about it. 😉 I've checked it now.

@tomschr tomschr added the Release_3.x.y Only for the major release 3 label Nov 5, 2019
@ppkt
Copy link
Member

ppkt commented Nov 12, 2019

a quick question - do we have any branch for 3.0.0 release?

@tomschr
Copy link
Member Author

tomschr commented Nov 13, 2019

@ppkt as far as I know, not now. I have some ideas in my mind which I would like to apply to a 3.0.0 only release. 😉

My impression was to wait(?) until Python 2.7 is EOL in January 2020. Maybe I got it wrong.

Well, anyway, it should be fairly easy to create a new branch. 😉

@tomschr
Copy link
Member Author

tomschr commented Nov 20, 2019

Checked "Provide (and label it correctly) the 2.9.0 documentation for ReadTheDocs."

tomschr added a commit to tomschr/python-semver that referenced this issue May 5, 2020
Generally, remove everything related to Python 2.7 & 3.4 and
add missing 3.8 & 3.9:

* Raise version to 2.99.99 (to indicate that it's different from 2.10.0)
* Prepare (empty) CHANGELOG for 2.99.99
* Correct Trove categories and python_requires in setup.py
* Adapt tox.ini & .travis.yml: remove old stuff, add missing (see above)
* Adapt semver.py
  - Remove if clause for cmp
  - Don't check for `__name__`, use `__qualname__` instead
  - Use yield from ... (for loop is not necessary anymore)
tomschr added a commit to tomschr/python-semver that referenced this issue May 5, 2020
Generally, remove everything related to Python 2.7 & 3.4 and
add missing 3.8 & 3.9:

* Raise version to 2.99.99 (to indicate that it's different from 2.10.0)
* Prepare (empty) CHANGELOG for 2.99.99
* Correct Trove categories and python_requires in setup.py
* Adapt tox.ini & .travis.yml: remove old stuff, add missing (see above)
* Adapt semver.py
  - Remove if clause for cmp
  - Don't check for `__name__`, use `__qualname__` instead
  - Use yield from ... (for loop is not necessary anymore)
tomschr added a commit to tomschr/python-semver that referenced this issue May 14, 2020
Generally, remove everything related to Python 2.7 & 3.4 and
add missing 3.8 & 3.9:

* Raise version to 2.99.99 (to indicate that it's different from 2.10.0)
* Prepare (empty) CHANGELOG for 2.99.99
* Correct Trove categories and python_requires in setup.py
* Adapt tox.ini & .travis.yml: remove old stuff, add missing (see above)
* Adapt semver.py
  - Remove if clause for cmp
  - Don't check for `__name__`, use `__qualname__` instead
  - Use yield from ... (for loop is not necessary anymore)
tomschr added a commit to tomschr/python-semver that referenced this issue Oct 17, 2020
* Remove targets py27, py34, and pypy from `tox.ini`
* Update `README.rst` and remove anything related to Python2
  Mention maintenance branch `maint/v2`
* `setup.py`
  - Update Trove classifiers
  - Require now Python >=3.5.*
  - Remove Tox and Clean classes, try to make it
    as simple as possible
* `semver.py`
  - Change version number to "3.0.0-alpha0"
  - Remove old code related to Python2
@tlaferriere
Copy link
Contributor

I have just read that python 3.5 has reached end of life. I think we should go ahead and focus on supporting python >= 3.6 since there are quite a few features relating to type hints that could be useful to us that were only added in 3.6.

tomschr added a commit to tomschr/python-semver that referenced this issue Oct 17, 2020
* Remove targets py27, py34, py35, and pypy from `tox.ini`
* Update `README.rst` and remove anything related to Python2
  Mention maintenance branch `maint/v2`
* `setup.py`
  - Update Trove classifiers
  - Require now Python >=3.5.*
  - Remove Tox and Clean classes, try to make it
    as simple as possible
* `semver.py`
  - Change version number to "3.0.0-alpha0"
  - Remove old code related to Python2
@tomschr
Copy link
Member Author

tomschr commented Oct 17, 2020

Good catch! Thanks for the hint! I've updated setup.py and tox.ini accordingly.

tomschr added a commit to tomschr/python-semver that referenced this issue Oct 17, 2020
* Remove targets py27, py34, py35, and pypy from `tox.ini`
* Update `README.rst` and remove anything related to Python2
  Mention maintenance branch `maint/v2`
* `setup.py`
  - Update Trove classifiers
  - Require now Python >=3.5.*
  - Remove Tox and Clean classes, try to make it
    as simple as possible
* `semver.py`
  - Change version number to "3.0.0-alpha0"
  - Remove old code related to Python2
* `tox.ini`
  - Remove py27, py34, and py35 (out of maintenance)
  - Add docs to default testenv
  - Remove --universal from bdist_wheel
tomschr added a commit to tomschr/python-semver that referenced this issue Oct 17, 2020
* Remove targets py27, py34, py35, and pypy from `tox.ini`
* Update `README.rst` and remove anything related to Python2
  Mention maintenance branch `maint/v2`
* `setup.py`
  - Update Trove classifiers
  - Require now Python >=3.6.*
  - Remove Tox and Clean classes, try to make it
    as simple as possible
* `semver.py`
  - Change version number to "3.0.0-alpha0"
  - Remove old code related to Python2
* `tox.ini`
  - Remove py27, py34, and py35 (out of maintenance)
  - Add docs to default testenv
  - Remove --universal from bdist_wheel
tomschr added a commit to tomschr/python-semver that referenced this issue Oct 19, 2020
* Remove targets py27, py34, py35, and pypy from `tox.ini`
* Update `README.rst` and remove anything related to Python2
  Mention maintenance branch `maint/v2`
* `setup.py`
  - Update Trove classifiers
  - Require now Python >=3.6.*
  - Remove Tox and Clean classes, try to make it
    as simple as possible
* `semver.py`
  - Change version number to "3.0.0-alpha0"
  - Remove old code related to Python2
* `tox.ini`
  - Remove py27, py34, and py35 (out of maintenance)
  - Add docs to default testenv
  - Remove --universal from bdist_wheel
tomschr added a commit to tomschr/python-semver that referenced this issue Oct 20, 2020
* Remove targets py27, py34, py35, and pypy from `tox.ini`
* Update `README.rst` and remove anything related to Python2
  Mention maintenance branch `maint/v2`
* `setup.py`
  - Update Trove classifiers
  - Require now Python >=3.6.*
  - Remove Tox and Clean classes, try to make it
    as simple as possible
* `semver.py`
  - Change version number to "3.0.0-alpha0"
  - Remove old code related to Python2
* `tox.ini`
  - Remove py27, py34, and py35 (out of maintenance)
  - Add docs to default testenv
  - Remove --universal from bdist_wheel
tomschr added a commit to tomschr/python-semver that referenced this issue Oct 21, 2020
* Remove targets py27, py34, py35, and pypy from `tox.ini`
* Update `README.rst` and remove anything related to Python2
  Mention maintenance branch `maint/v2`
* `setup.py`
  - Update Trove classifiers
  - Require now Python >=3.6.*
  - Remove Tox and Clean classes, try to make it
    as simple as possible
  - Extract metadata directly from source (affects all the __version__,
    __author__ etc. variables)
* `setup.cfg`
  - Add pycodestyle section
* `semver.py`
  - Change version number to "3.0.0-alpha0"
  - Remove old code related to Python2
  - Adjust Python2 vs. Python3 str/bytes
  - Add wheel as another test requirement
* `tox.ini`
  - Remove py27, py34, and py35 (out of maintenance)
  - Add docs to default testenv
  - Remove --universal from bdist_wheel
* Split test suite into separate files under tests/ dir
* Travis: Remove old versions, integrate new
  - Remove 2.7, 3.4, 3.5, and pypy
  - Integrate 3.8, 3.9-dev and nightly builds
  - Allow nightly to fail
* Add .editorconfig to have a consistent editor setup

Co-authored-by: Thomas Laferriere <t.laferriere@hotmail.ca>
tomschr added a commit to tomschr/python-semver that referenced this issue Oct 21, 2020
* Remove targets py27, py34, py35, and pypy from `tox.ini`
* Update `README.rst` and remove anything related to Python2
  Mention maintenance branch `maint/v2`
* `setup.py`
  - Update Trove classifiers
  - Require now Python >=3.6.*
  - Remove Tox and Clean classes, try to make it
    as simple as possible
  - Extract metadata directly from source (affects all the __version__,
    __author__ etc. variables)
* `setup.cfg`
  - Add pycodestyle section
* `semver.py`
  - Change version number to "3.0.0-alpha0"
  - Remove old code related to Python2
  - Adjust Python2 vs. Python3 str/bytes
  - Add wheel as another test requirement
* `tox.ini`
  - Remove py27, py34, and py35 (out of maintenance)
  - Add docs to default testenv
  - Remove --universal from bdist_wheel
* Split test suite into separate files under tests/ dir
* Travis: Remove old versions, integrate new
  - Remove 2.7, 3.4, 3.5, and pypy
  - Integrate 3.8, 3.9-dev and nightly builds
  - Allow nightly to fail
* Add .editorconfig to have a consistent editor setup

Co-authored-by: Thomas Laferriere <t.laferriere@hotmail.ca>
tomschr added a commit to tomschr/python-semver that referenced this issue Oct 22, 2020
* Remove targets py27, py34, py35, and pypy from `tox.ini`
* Update `README.rst` and remove anything related to Python2
  Mention maintenance branch `maint/v2`
* `setup.py`
  - Update Trove classifiers
  - Require now Python >=3.6.*
  - Remove Tox and Clean classes, try to make it
    as simple as possible
  - Extract metadata directly from source (affects all the __version__,
    __author__ etc. variables)
* `setup.cfg`
  - Add pycodestyle section
* `semver.py`
  - Change version number to "3.0.0-alpha0"
  - Remove old code related to Python2
  - Adjust Python2 vs. Python3 str/bytes
  - Add wheel as another test requirement
* `tox.ini`
  - Remove py27, py34, and py35 (out of maintenance)
  - Add docs to default testenv
  - Remove --universal from bdist_wheel
* Split test suite into separate files under tests/ dir
* Travis: Remove old versions, integrate new
  - Remove 2.7, 3.4, 3.5, and pypy
  - Integrate 3.8, 3.9-dev and nightly builds
  - Allow nightly to fail
* Add .editorconfig to have a consistent editor setup

Co-authored-by: Thomas Laferriere <t.laferriere@hotmail.ca>
tlaferriere added a commit to tlaferriere/python-semver that referenced this issue Oct 23, 2020
* Remove targets py27, py34, py35, and pypy from `tox.ini`
* Update `README.rst` and remove anything related to Python2
  Mention maintenance branch `maint/v2`
* `setup.py`
  - Update Trove classifiers
  - Require now Python >=3.6.*
  - Remove Tox and Clean classes, try to make it
    as simple as possible
  - Extract metadata directly from source (affects all the __version__,
    __author__ etc. variables)
* `setup.cfg`
  - Add pycodestyle section
* `semver.py`
  - Change version number to "3.0.0-alpha0"
  - Remove old code related to Python2
  - Adjust Python2 vs. Python3 str/bytes
  - Add wheel as another test requirement
* `tox.ini`
  - Remove py27, py34, and py35 (out of maintenance)
  - Add docs to default testenv
  - Remove --universal from bdist_wheel
* Split test suite into separate files under tests/ dir
* Travis: Remove old versions, integrate new
  - Remove 2.7, 3.4, 3.5, and pypy
  - Integrate 3.8, 3.9-dev and nightly builds
  - Allow nightly to fail
* Add .editorconfig to have a consistent editor setup

Co-authored-by: Thomas Laferriere <t.laferriere@hotmail.ca>
tlaferriere pushed a commit to tlaferriere/python-semver that referenced this issue Oct 23, 2020
Generally, remove everything related to Python 2.7 & 3.4 and
add missing 3.8 & 3.9:

* Raise version to 2.99.99 (to indicate that it's different from 2.10.0)
* Prepare (empty) CHANGELOG for 2.99.99
* Correct Trove categories and python_requires in setup.py
* Adapt tox.ini & .travis.yml: remove old stuff, add missing (see above)
* Adapt semver.py
  - Remove if clause for cmp
  - Don't check for `__name__`, use `__qualname__` instead
  - Use yield from ... (for loop is not necessary anymore)
tlaferriere added a commit to tlaferriere/python-semver that referenced this issue Oct 23, 2020
* Remove targets py27, py34, py35, and pypy from `tox.ini`
* Update `README.rst` and remove anything related to Python2
  Mention maintenance branch `maint/v2`
* `setup.py`
  - Update Trove classifiers
  - Require now Python >=3.6.*
  - Remove Tox and Clean classes, try to make it
    as simple as possible
  - Extract metadata directly from source (affects all the __version__,
    __author__ etc. variables)
* `setup.cfg`
  - Add pycodestyle section
* `semver.py`
  - Change version number to "3.0.0-alpha0"
  - Remove old code related to Python2
  - Adjust Python2 vs. Python3 str/bytes
  - Add wheel as another test requirement
* `tox.ini`
  - Remove py27, py34, and py35 (out of maintenance)
  - Add docs to default testenv
  - Remove --universal from bdist_wheel
* Split test suite into separate files under tests/ dir
* Travis: Remove old versions, integrate new
  - Remove 2.7, 3.4, 3.5, and pypy
  - Integrate 3.8, 3.9-dev and nightly builds
  - Allow nightly to fail
* Add .editorconfig to have a consistent editor setup

Co-authored-by: Thomas Laferriere <t.laferriere@hotmail.ca>
tlaferriere added a commit to tlaferriere/python-semver that referenced this issue Oct 23, 2020
* Remove targets py27, py34, py35, and pypy from `tox.ini`
* Update `README.rst` and remove anything related to Python2
  Mention maintenance branch `maint/v2`
* `setup.py`
  - Update Trove classifiers
  - Require now Python >=3.6.*
  - Remove Tox and Clean classes, try to make it
    as simple as possible
  - Extract metadata directly from source (affects all the __version__,
    __author__ etc. variables)
* `setup.cfg`
  - Add pycodestyle section
* `semver.py`
  - Change version number to "3.0.0-alpha0"
  - Remove old code related to Python2
  - Adjust Python2 vs. Python3 str/bytes
  - Add wheel as another test requirement
* `tox.ini`
  - Remove py27, py34, and py35 (out of maintenance)
  - Add docs to default testenv
  - Remove --universal from bdist_wheel
* Split test suite into separate files under tests/ dir
* Travis: Remove old versions, integrate new
  - Remove 2.7, 3.4, 3.5, and pypy
  - Integrate 3.8, 3.9-dev and nightly builds
  - Allow nightly to fail
* Add .editorconfig to have a consistent editor setup

Co-authored-by: Thomas Laferriere <t.laferriere@hotmail.ca>
tomschr added a commit to tomschr/python-semver that referenced this issue Oct 23, 2020
* Remove targets py27, py34, py35, and pypy from `tox.ini`
* Update `README.rst` and remove anything related to Python2
  Mention maintenance branch `maint/v2`
* `setup.py`
  - Update Trove classifiers
  - Require now Python >=3.6.*
  - Remove Tox and Clean classes, try to make it
    as simple as possible
  - Extract metadata directly from source (affects all the __version__,
    __author__ etc. variables)
* `setup.cfg`
  - Add pycodestyle section
  - Ignore venv directory
* `semver.py`
  - Change version number to "3.0.0-dev.1"
  - Remove old code related to Python2
  - Adjust Python2 vs. Python3 str/bytes
  - Add wheel as another test requirement
  - Add type annotations
  - Remove data types and return types from docstring
* `tox.ini`
  - Remove py27, py34, and py35 (out of maintenance)
  - Add docs to default testenv
  - Remove --universal from bdist_wheel
  - Add mypy target
* Split test suite into separate files under tests/ dir
* Travis: Remove old versions, integrate new
  - Remove 2.7, 3.4, 3.5, and pypy
  - Integrate 3.8, 3.9-dev and nightly builds
  - Allow nightly to fail
  - Add mypy test
* Add .editorconfig to have a consistent editor setup
* Add supported python versions to black config
  (cherry picked from commit d9394af)

Co-authored-by: Thomas Laferriere <t.laferriere@hotmail.ca>
tomschr added a commit to tomschr/python-semver that referenced this issue Oct 25, 2020
* Remove targets py27, py34, py35, and pypy from `tox.ini`
* Update `README.rst` and remove anything related to Python2
  Mention maintenance branch `maint/v2`
* `setup.py`
  - Update Trove classifiers
  - Require now Python >=3.6.*
  - Remove Tox and Clean classes, try to make it
    as simple as possible
  - Extract metadata directly from source (affects all the __version__,
    __author__ etc. variables)
* `setup.cfg`
  - Add pycodestyle section
  - Ignore venv directory
* `semver.py`
  - Change version number to "3.0.0-dev.1"
  - Remove old code related to Python2
  - Adjust Python2 vs. Python3 str/bytes
  - Add wheel as another test requirement
  - Add type annotations
  - Remove data types and return types from docstring
* `tox.ini`
  - Remove py27, py34, and py35 (out of maintenance)
  - Add docs to default testenv
  - Remove --universal from bdist_wheel
  - Add mypy target
* test suite:
  - Split test suite into separate files under tests/ dir
  - Move conftests.py -> tests
* Travis: Remove old versions, integrate new
  - Remove 2.7, 3.4, 3.5, and pypy
  - Integrate 3.8, 3.9-dev and nightly builds
  - Allow nightly to fail
  - Add mypy test
* Add .editorconfig to have a consistent editor setup
* Add supported python versions to black config
  (cherry picked from commit d9394af)

Co-authored-by: Thomas Laferriere <t.laferriere@hotmail.ca>
tomschr added a commit that referenced this issue Oct 26, 2020
tlaferriere added a commit to tlaferriere/python-semver that referenced this issue Oct 26, 2020
* Remove targets py27, py34, py35, and pypy from `tox.ini`
* Update `README.rst` and remove anything related to Python2
  Mention maintenance branch `maint/v2`
* `setup.py`
  - Update Trove classifiers
  - Require now Python >=3.6.*
  - Remove Tox and Clean classes, try to make it
    as simple as possible
  - Extract metadata directly from source (affects all the __version__,
    __author__ etc. variables)
* `setup.cfg`
  - Add pycodestyle section
* `semver.py`
  - Change version number to "3.0.0-alpha0"
  - Remove old code related to Python2
  - Adjust Python2 vs. Python3 str/bytes
  - Add wheel as another test requirement
* `tox.ini`
  - Remove py27, py34, and py35 (out of maintenance)
  - Add docs to default testenv
  - Remove --universal from bdist_wheel
* Split test suite into separate files under tests/ dir
* Travis: Remove old versions, integrate new
  - Remove 2.7, 3.4, 3.5, and pypy
  - Integrate 3.8, 3.9-dev and nightly builds
  - Allow nightly to fail
* Add .editorconfig to have a consistent editor setup

Co-authored-by: Thomas Laferriere <t.laferriere@hotmail.ca>
tlaferriere added a commit to tlaferriere/python-semver that referenced this issue Oct 26, 2020
* Remove targets py27, py34, py35, and pypy from `tox.ini`
* Update `README.rst` and remove anything related to Python2
  Mention maintenance branch `maint/v2`
* `setup.py`
  - Update Trove classifiers
  - Require now Python >=3.6.*
  - Remove Tox and Clean classes, try to make it
    as simple as possible
  - Extract metadata directly from source (affects all the __version__,
    __author__ etc. variables)
* `setup.cfg`
  - Add pycodestyle section
* `semver.py`
  - Change version number to "3.0.0-alpha0"
  - Remove old code related to Python2
  - Adjust Python2 vs. Python3 str/bytes
  - Add wheel as another test requirement
* `tox.ini`
  - Remove py27, py34, and py35 (out of maintenance)
  - Add docs to default testenv
  - Remove --universal from bdist_wheel
* Split test suite into separate files under tests/ dir
* Travis: Remove old versions, integrate new
  - Remove 2.7, 3.4, 3.5, and pypy
  - Integrate 3.8, 3.9-dev and nightly builds
  - Allow nightly to fail
* Add .editorconfig to have a consistent editor setup

Co-authored-by: Thomas Laferriere <t.laferriere@hotmail.ca>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Release_3.x.y Only for the major release 3
Projects
None yet
Development

No branches or pull requests

4 participants