Version Numbering
Hackers,
A while ago, I asked if .0 releases could be versioned with three digits instead of two. That is, it would be "8.4.0" instead of "8.4". This is to make the format consistent with maintenance releases ("8.4.1", etc.). I thought this was generally agreed upon, but maybe not, because I just went to build the latest 9.0 beta and saw that the version number is "9.0beta4".
Would it be possible to *always* use three integers? So the next release would be "9.0.0beta5" or "9.0.0rc1"? In addition to being more consistent, it also means that PostgreSQL would be adhering to Semantic Versioning (http://semver.org/), which is a very simple format that's internally consistent. I'm planning to require semantic versioning for PGXN, and it'd be nice if the core could do the same thing (it will make it nicer for specifying dependencies on core contrib modules, for example).
Thanks,
David
On Fri, Aug 20, 2010 at 11:12:56AM -0700, David Wheeler wrote:
Hackers,
A while ago, I asked if .0 releases could be versioned with three
digits instead of two. That is, it would be "8.4.0" instead of
"8.4". This is to make the format consistent with maintenance
releases ("8.4.1", etc.). I thought this was generally agreed upon,
but maybe not, because I just went to build the latest 9.0 beta and
saw that the version number is "9.0beta4".Would it be possible to *always* use three integers? So the next
release would be "9.0.0beta5" or "9.0.0rc1"? In addition to being
more consistent, it also means that PostgreSQL would be adhering to
Semantic Versioning (http://semver.org/), which is a very simple
format that's internally consistent. I'm planning to require
semantic versioning for PGXN, and it'd be nice if the core could do
the same thing (it will make it nicer for specifying dependencies on
core contrib modules, for example).
+1 for three-number versions...well, until we really see the light and
go to two-number versions. 8.3 and 8.4 are different enough that they
shouldn't even mildly appear the same, for example.
Cheers,
David (Oh, how silly! You actually want Frobozz 3.1.4.1.5.2.6, not 3.1.4.1.5.2.5!).
--
David Fetter <david@fetter.org> http://fetter.org/
Phone: +1 415 235 3778 AIM: dfetter666 Yahoo!: dfetter
Skype: davidfetter XMPP: david.fetter@gmail.com
iCal: webcal://www.tripit.com/feed/ical/people/david74/tripit.ics
Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate
On Aug 20, 2010, at 11:34 AM, David Fetter wrote:
+1 for three-number versions...well, until we really see the light and
go to two-number versions. 8.3 and 8.4 are different enough that they
shouldn't even mildly appear the same, for example.
No idea what you mean by that, but generally it's a bad idea to switch from dotted-integer version numbers and numeric version numbers. See Perl (Quel désastre!).
Best,
David
"David E. Wheeler" <david@kineticode.com> writes:
A while ago, I asked if .0 releases could be versioned with three
digits instead of two. That is, it would be "8.4.0" instead of "8.4".
We've been doing that for some time, no? A quick look at the CVS
history shows that 8.0.0 and up were tagged that way.
This is to make the format consistent with maintenance releases ("8.4.1", etc.). I thought this was generally agreed upon, but maybe not, because I just went to build the latest 9.0 beta and saw that the version number is "9.0beta4".
.0 is for releases, not betas. I see no need for an extra number in
beta versions.
regards, tom lane
On Aug 20, 2010, at 11:40 AM, Tom Lane wrote:
"David E. Wheeler" <david@kineticode.com> writes:
A while ago, I asked if .0 releases could be versioned with three
digits instead of two. That is, it would be "8.4.0" instead of "8.4".We've been doing that for some time, no? A quick look at the CVS
history shows that 8.0.0 and up were tagged that way.
Ah, good for the final release.
This is to make the format consistent with maintenance releases ("8.4.1", etc.). I thought this was generally agreed upon, but maybe not, because I just went to build the latest 9.0 beta and saw that the version number is "9.0beta4".
.0 is for releases, not betas. I see no need for an extra number in
beta versions.
Again, it means the format would be consistent. Always three integers. Nice thing about Semantic Versions is that if you append any ASCII string to the third integer, it automatically means "less than that integer".
Best,
David
On Fri, Aug 20, 2010 at 11:36:55AM -0700, David Wheeler wrote:
On Aug 20, 2010, at 11:34 AM, David Fetter wrote:
+1 for three-number versions...well, until we really see the light
and go to two-number versions. 8.3 and 8.4 are different enough
that they shouldn't even mildly appear the same, for example.No idea what you mean by that, but generally it's a bad idea to
switch from dotted-integer version numbers and numeric version
numbers. See Perl (Quel d�sastre!).
I'm thinking that after 9.0, the first release of the next major
version should be 10.0, and the one after that, 11.0, etc., etc.
The current system give people the completely false impression that
7.0 and 7.4 are somehow similar.
Cheers,
David.
--
David Fetter <david@fetter.org> http://fetter.org/
Phone: +1 415 235 3778 AIM: dfetter666 Yahoo!: dfetter
Skype: davidfetter XMPP: david.fetter@gmail.com
iCal: webcal://www.tripit.com/feed/ical/people/david74/tripit.ics
Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate
On Aug 20, 2010, at 11:47 AM, David Fetter wrote:
No idea what you mean by that, but generally it's a bad idea to
switch from dotted-integer version numbers and numeric version
numbers. See Perl (Quel désastre!).I'm thinking that after 9.0, the first release of the next major
version should be 10.0, and the one after that, 11.0, etc., etc.
Oh. Good luck with that. I disagree, FWIW.
The current system give people the completely false impression that
7.0 and 7.4 are somehow similar.
On what planet?
Best,
David
On Fri, Aug 20, 2010 at 7:34 PM, David Fetter <david@fetter.org> wrote:
+1 for three-number versions...well, until we really see the light and
go to two-number versions. 8.3 and 8.4 are different enough that they
shouldn't even mildly appear the same, for example.
You realize if we did that 9.0 would be version 18?
David (Oh, how silly! You actually want Frobozz 3.1.4.1.5.2.6, not 3.1.4.1.5.2.5!).
So eventually you end up with the same problem. Oh, you wanted version
117 not 116!
--
greg
On Fri, Aug 20, 2010 at 7:42 PM, David E. Wheeler <david@kineticode.com> wrote:
Again, it means the format would be consistent. Always three integers. Nice thing about Semantic Versions is that if you append any ASCII string to the third integer, it automatically means "less than that integer".
So I count three integers in both 9.0rc1 and 9.0beta4
--
greg
On Aug 20, 2010, at 12:02 PM, Greg Stark wrote:
Again, it means the format would be consistent. Always three integers. Nice thing about Semantic Versions is that if you append any ASCII string to the third integer, it automatically means "less than that integer".
So I count three integers in both 9.0rc1 and 9.0beta4
No, I mean 9.0.0beta4. If we were to adopt the Semantic Versioning spec, one would *always* use X.Y.Z, with optional ASCII characters appended to Z to add meaning (including "less than unadorned Z).
Best,
David
"David E. Wheeler" <david@kineticode.com> writes:
On Aug 20, 2010, at 12:02 PM, Greg Stark wrote:
So I count three integers in both 9.0rc1 and 9.0beta4
No, I mean 9.0.0beta4. If we were to adopt the Semantic Versioning spec, one would *always* use X.Y.Z, with optional ASCII characters appended to Z to add meaning (including "less than unadorned Z).
Well, I for one will fiercely resist adopting any such standard, because
it's directly opposite to the way that RPM will sort such version numbers.
Apparently whoever wrote "Semantic Versioning" didn't bother to inquire
into existing practice.
regards, tom lane
On Aug 20, 2010, at 12:15 PM, Tom Lane wrote:
No, I mean 9.0.0beta4. If we were to adopt the Semantic Versioning spec, one would *always* use X.Y.Z, with optional ASCII characters appended to Z to add meaning (including "less than unadorned Z).
Well, I for one will fiercely resist adopting any such standard, because
it's directly opposite to the way that RPM will sort such version numbers.
Which is how?
Apparently whoever wrote "Semantic Versioning" didn't bother to inquire
into existing practice.
Tom Preston-Warner of GitHub fame.
Best,
David
+1 for Tom's post.
--
Devrim GÜNDÜZ
PostgreSQL DBA @ Akinon/Markafoni, Red Hat Certified Engineer
devrim~gunduz.org, devrim~PostgreSQL.org, devrim.gunduz~linux.org.tr
http://www.gunduz.org Twitter: http://twitter.com/devrimgunduz
20.Ağu.2010 tarihinde 21:40 saatinde, Tom Lane <tgl@sss.pgh.pa.us>
şunları yazdı:
Show quoted text
"David E. Wheeler" <david@kineticode.com> writes:
A while ago, I asked if .0 releases could be versioned with three
digits instead of two. That is, it would be "8.4.0" instead of "8.4".We've been doing that for some time, no? A quick look at the CVS
history shows that 8.0.0 and up were tagged that way.This is to make the format consistent with maintenance releases
("8.4.1", etc.). I thought this was generally agreed upon, but
maybe not, because I just went to build the latest 9.0 beta and saw
that the version number is "9.0beta4"..0 is for releases, not betas. I see no need for an extra number in
beta versions.regards, tom lane
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers
20.Ağu.2010 tarihinde 21:47 saatinde, David Fetter <david@fetter.org>
şunları yazdı:
The current system give people the completely false impression that
7.0 and 7.4 are somehow similar.
Well, I do find PostgreSQL versioning policy very good, which is
pretty much similar to Linux. For me, 7.x are similar. Remember why we
jumped from 7.5 to 8.0 or from 8.5 to 9.0.
Cheers,
--
Devrim GÜNDÜZ
PostgreSQL DBA @ Akinon/Markafoni, Red Hat Certified Engineer
devrim~gunduz.org, devrim~PostgreSQL.org, devrim.gunduz~linux.org.tr
http://www.gunduz.org Twitter: http://twitter.com/devrimgunduz
On Aug 20, 2010, at 12:21 PM, Devrim GÜNDÜZ wrote:
+1 for Tom's post.
20.Ağu.2010 tarihinde 21:40 saatinde, Tom Lane <tgl@sss.pgh.pa.us> şunları yazdı:
.0 is for releases, not betas. I see no need for an extra number in
beta versions.
Yes, well, it's still implicit, isn't it?
David
* David E. Wheeler (david@kineticode.com) wrote:
On Aug 20, 2010, at 12:21 PM, Devrim GÜNDÜZ wrote:
+1 for Tom's post.
20.Ağu.2010 tarihinde 21:40 saatinde, Tom Lane <tgl@sss.pgh.pa.us> şunları yazdı:
.0 is for releases, not betas. I see no need for an extra number in
beta versions.Yes, well, it's still implicit, isn't it?
It's still useless garbage.. Sorry, I'm w/ Tom on this one.
THanks,
Stephen
"David E. Wheeler" <david@kineticode.com> wrote:
.0 is for releases, not betas. I see no need for an extra
number in beta versions.Yes, well, it's still implicit, isn't it?
Not the way I read it. If we had a development cycle which resulted
in 8.4.5beta4, then you would have a point. We don't.
Now, if you wanted to argue that it would be better to use 9.0.beta4
than 9.0beta4, that might be defensible. I think I like that
better; but I'm not inclined to think the difference is worth the
pain of changing an established convention.
-Kevin
Yes, well, it's still implicit, isn't it?
But the last .0 in 9.0.0 is the patch level, effectively. This makes
that .0 inappropriate for betas; the beta number is the patch level,
i.e. 9.0.beta4. It doesn't make any sense to have a 9.0.0beta4, since
we're never going to have a 9.0.2beta4.
The betas are pre-.0. Maybe we should have 9.0.(-3) instead. Or 8.9.97?
;-)
--
-- Josh Berkus
PostgreSQL Experts Inc.
http://www.pgexperts.com
20.Ağu.2010 tarihinde 23:03 saatinde, Josh Berkus <josh@agliodbs.com>
şunları yazdı:
The betas are pre-.0. Maybe we should have 9.0.(-3) instead. Or
8.9.97?
;-)
This is pretty much what Fedora does actually :-)
--
Devrim GÜNDÜZ
PostgreSQL DBA @ Akinon/Markafoni, Red Hat Certified Engineer
devrim~gunduz.org, devrim~PostgreSQL.org, devrim.gunduz~linux.org.tr
http://www.gunduz.org Twitter: http://twitter.com/devrimgunduz
On Fri, Aug 20, 2010 at 07:59:55PM +0100, Greg Stark wrote:
On Fri, Aug 20, 2010 at 7:34 PM, David Fetter <david@fetter.org> wrote:
+1 for three-number versions...well, until we really see the light
and go to two-number versions. �8.3 and 8.4 are different enough
that they shouldn't even mildly appear the same, for example.You realize if we did that 9.0 would be version 18?
Yes. And?
David (Oh, how silly! �You actually want Frobozz 3.1.4.1.5.2.6,
not 3.1.4.1.5.2.5!).So eventually you end up with the same problem. Oh, you wanted
version 117 not 116!
Assuming wild optimism, namely that we release a major version each
year on the exact same date, that will become a problem *long* after
no one in this discussion is still involved with the project. I'm OK
with deferring this to future generations.
Cheers,
David.
--
David Fetter <david@fetter.org> http://fetter.org/
Phone: +1 415 235 3778 AIM: dfetter666 Yahoo!: dfetter
Skype: davidfetter XMPP: david.fetter@gmail.com
iCal: webcal://www.tripit.com/feed/ical/people/david74/tripit.ics
Remember to vote!
Consider donating to Postgres: http://www.postgresql.org/about/donate