Skip to content
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

Switch to a Calendar based versioning scheme #6195

Closed
dlamblin opened this issue Jan 24, 2019 · 6 comments
Closed

Switch to a Calendar based versioning scheme #6195

dlamblin opened this issue Jan 24, 2019 · 6 comments
Labels
auto-locked Outdated issues that have been locked by automation type: maintenance Related to Development and Maintenance Processes

Comments

@dlamblin
Copy link

dlamblin commented Jan 24, 2019

What's the problem this feature will solve?
Y2.1k a.k.a. Y2k lessons learned.

Describe the solution you'd like
If you're going to "Switch to a Calendar based versioning scheme" why would you not at least use iso 8601 order and recommendations like:
Yours , Recommendation:
v18.0 , 2018.07.22
v18.1 , 2018.10.05
v19.0 , 2019.01.22
v19.0.1 , 2019.01.23

Alternative Solutions
You can use Major Minor Point, or Dates like 2018-07-22.
But Mixing?

Additional context
https://xkcd.com/1179/

@RonnyPfannschmidt
Copy link
Contributor

https://calver.org/ is a established standard

@dlamblin
Copy link
Author

I get that it's not unheard of… but wouldn't a 4 digit year at least make it unmistakably obvious what you chose and mean?

This "established standard" is not much more than a loose review of what has been tried regarding dates in version numbers by approximately one person.
I don't see it making any strong argument in favor of the format pip chose: a format that looks like a semantic version but is rather a two digit year and minor and micro number. It would seem to couple the potential confusion that the personal blog argues arises from semantic versioning with … dates.
So, it wouldn't be unusual for a user looking at 18.1 going to 19.0 to think "there must be a major change here" as opposed to what seems to be the intent of a date based version: it is more to say "this is newer than that, and approximately this recent".

It argues in favor for what I gather are these reasons:

  • Easily calculating support time frames [at least it's not Best Before versioning]
  • Coordinating many sub projects in simultaneous releases. [Okay, but anything could be applied uniformly, I don't see the date being an important factor]
  • If your updates are about things that were finalized on or done with dates. [seems like a good plan]
  • Then there's the argument of Teradata's brilliant combination of date and semantic versioning: when you use a date that is not related to the date of the release. [You lost me, we were making a case for what?]

There might be some upstream project that you're matching the versions to… and that could be an argument in favor, because the decision is out of your hands.

@cjerdonek cjerdonek added the type: maintenance Related to Development and Maintenance Processes label Jan 25, 2019
@xavfernandez
Copy link
Member

Both format would be fine but the YY format has been chosen in #5324 and is unlikely to change.

@dlamblin
Copy link
Author

dlamblin commented Jan 25, 2019

It will change. Maybe not this year, or five years from now, but someone will end up looking for some open-source points and make a more strongly worded argument than mine… mine is just: your version is not a date. You can't pretend it is one. It does not tell users that you are or are not committed to breaking changes and a cadence.

@xavfernandez
Copy link
Member

That ship has sailed.

@lock
Copy link

lock bot commented May 29, 2019

This thread has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs.

@lock lock bot added the auto-locked Outdated issues that have been locked by automation label May 29, 2019
@lock lock bot locked as resolved and limited conversation to collaborators May 29, 2019
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
auto-locked Outdated issues that have been locked by automation type: maintenance Related to Development and Maintenance Processes
Projects
None yet
Development

No branches or pull requests

4 participants