Description
Situation
In issue #229, we decided to deprecate module level functions, but we haven't discussed the details for our upcoming semver 3 release.
Proposal
When semver 3 is released, remove the following module level functions:
semver.compare
(?) see Consider keepingcompare
module level function #258semver.parse
semver.parse_version_info
semver.format_version
semver.bump_{major,minor,patch,prerelease,build}
semver.finalize_version
semver.match
semver.max_ver
semver.min_ver
semver.replace
semver.VersionInfo._asdict
semver.VersionInfo._astuple
Suggested Removal Plan
As our deprecation procedure is almost finishd, I would suggest a plan for the upcoming future:
- Release 2.10.0 to get DeprecationWarnings and the updated documentation. Done. ✔️
- Maybe release further versions in the 2.10.x line if necessary (for other issues) Done. ✔️
- Prepare semver 3 line soon and remove deprecated functions in the communicated version. ✔️
Questions
@python-semver/reviewers I think we need to clarify some questions to lay down our removal plan:
-
Should we start with the semver 3 release after 2.10.0 is published?
IMHO, we should soon start with working on semver 3. Issues for semver 3 are piling up. I also think, focusing on one Python version (version 3 in this case) helps to make it easier to develop. That means, we can leave Python 2 behind.
-
Would it be a good idea to keep the deprecated functions for 3.0.0, but remove them in, lets say, version 3.1.0?
This makes the move a bit smoother as not all deprecated function will vanish all of a sudden when updating to 3.0.0.
-
Anything else you would like to see it addressed?
Thank for your feedback. 👍
Update: Due to #236, extended the list of deprecated functions with semver.compare
(?), semver.match
, semver.max_ver
, and semver.min_ver
. Also mention 2.10.0 and not 2.9.2.