[Omake] Releases and versioning (0.9.8.2, 0.9.8.3, 0.9.9, 0.90.0,
...?)
Aleksey Nogin
nogin at metaprl.org
Thu May 31 12:33:56 PDT 2007
On 30.05.2007 16:55, Jason Hickey wrote:
> 1. Either we
> a. Apply each jumbo patch in topological order to produce a
> release canidate with a clean history, or
> b. use svn cp to create it from an existing jumbo entry.
>
> I don't know which is better. Note that I won't be keeping the
> git around, so it _might_ be nicer to keep the features cleanly
> separated in the svn history (initially).
I think that eventually we should merge all the patches one-by-one.
However, I would prefer working on the "semi-stable" branch (AKA current
0.9.8.x) for a little while before landing the patches. For a "preview"
release of "unstable", it probably does not matter.
> 2. On the web, I believe the right thing to do is to put
> up the web site/documentation for the unstable branch too.
Yes; we need to figure out how to manage the mapping from web URLs to
branches better. Right now it's defined in the Apache configs, which
means that I have to remember to update it whenever branches change.
Also, we would often have the documentation generated off the latest SVN
version, which does not match any of the released code...
> I don't know if it should be called "roadmap", or "what's new".
Or both - call is "roadmap" on the "stable" and "semi-stable" branches
and "what's new" on the "unstable" release...
>> The problem I am trying to solve is reflecting the magnitude of each
>> change in version numbers, while maintaining the version monotonicity
>> for various version comparison functions (rpm, OMake, Windows
>> installer, etc). Calling a pre-1.0 version 1.0.something will surely
>> break monotonicity. I'd suggest 0.99.0.x, but that's too easy to
>> confuse with 0.9.9... We can do 0.10.x, but 0.90.x is better at
>> implying "these are the final days before 1.0".
>
> I don't really care, just make a decision that is not one of the 0.??.*
> schemes.
>
> Note that 1.0.0.pre.* does not connote stability. However, it does
> connote change, which is very accurate.
Note that 1.0.0.pre.* will break:
- Version monotonicity for RPM and OMake (1.0.0.x > 1.0.0 for any "x")
- Windows versioning (version must be a tuple of _numbers_, of length
<= 4, where only first 3 numbers are considered significant).
I understand your dislike of 0.90, but it's still the best I can come up
with, given the following constraints (listed from most to least
important for me):
- Version monotonicity (preferably for all the relevant comparison
functions)
- "Space" for [potential] new version numbers for the "stable"
"semi-stable" and "unstable" releases
- Version numbers that do not mislead too much w.r.t the _relative_
stability of releases.
- Version "jumps" that reasonably reflect the magnitude of changes,
especially changes that are not fully compatible.
BTW, numbering the pre-releases .90-.99 is a fairly standard thing. Just
from Google - 120,000 for "version 0.90" and 304,000 for "version 0.99".
> IMHO, the stability argument is a lost cause. For stability, you want
> 0.9.8.3, and it may remain that way for quite some time. This kind of
> situation is not all that unusual in the free software community. If
> you are waiting for a time of calm and stability, when the world is just
> perfect like it is, and that time in nirvana can be called "1.0", then
> we are already dead.
I do not expect nirvana. I just think that it's nice to have 1.0 fall at
least under "one of the most stable releases so far, where we hope not
to start breaking compatibility right away".
Aleksey
More information about the OMake-Devel
mailing list