Switch to Calendar Versioning
See original GitHub issueRationale
Currently, many projects related to Python packaging are CalVer’d. Among them, there are pip
, virtualenv
. pipenv
.
Also, there are some articles explaining why SemVer isn’t so good:
- https://bernat.tech/posts/version-numbers/
- https://hynek.me/articles/semver-will-not-save-you/
- https://snarky.ca/why-i-dont-like-semver/
Specification
PDM is also a heavy CLI app that has no guarantee of backward compatibility. Commands and options may change from time to time. So, PDM would also likely follow this pattern. We choose a three-part CalVer: <year>.<month>.<seq>
, where:
year
is a two-digit number representing the year.month
is a number without leading zerosseq
is a 0-indexed number representing the sequence of release in this month
Example
21.5.0
The first release of May 2021
21.5.1
The second release of May 2021.
Downsides?
The dramatic jump of version number may scare people.
When will it be changed.
The final decision isn’t made yet. It may happen at around mid-2021.
Issue Analytics
- State:
- Created 2 years ago
- Reactions:6
- Comments:6 (3 by maintainers)
Top Results From Across the Web
Why we're switching to calendar versioning
Switching to calendar versioning side-steps versioning discussions now and in the future, and helps us (and our users) avoid the confusion ...
Read more >Calendar Versioning — CalVer
CalVer is a versioning convention based on your project's release calendar, instead of arbitrary numbers. Versioning gets better with time. For ...
Read more >Switching to Calendar Versioning in 2020.1 - Structured Blog
Going forwards, Seq is switching to calendar versioning, with releases numbered according to the year of release, and the sequential release ...
Read more >Why we're switching to calendar versioning
What do you do then? If you don't increase MAJOR, you don't follow semver, if you increase it, you break your versioning pattern,...
Read more >Switch to Calendar Versioning · Issue #1100
As we need to release a new version of Connexion, I propose to switch to Calendar Versioning ("CalVer") with a format of YY.MM....
Read more >Top Related Medium Post
No results found
Top Related StackOverflow Question
No results found
Troubleshoot Live Code
Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start FreeTop Related Reddit Thread
No results found
Top Related Hackernoon Post
No results found
Top Related Tweet
No results found
Top Related Dev.to Post
No results found
Top Related Hashnode Post
No results found
Top GitHub Comments
Even though it’d be longer, I’d highly recommend going with the full year as the first year to make it clear that it’s a year and not just rapid-churn semver.
The next release 1.6.0 will be around the first week of June, which is a coincidence that it fits with the calendar. 🎉