Re: [ ACTION-107] Updating version list identifier algorithm

On Tue, 18 Sep 2007, Marcos Caceres wrote:
>
> Using non-negative integers is broken and does not reflect how 
> versioning is done by a lot of people/software (googling "version 1.01" 
> returns over 1 million results)

One would expect far more software to have reached the initial 1.01/1.1 
stage than the 1.10 stage. Yet, if you do a search for "version 1.10", 
you'll find almost as many as for "version 1.01". This indicates, in my 
opinion, that the list-of-integers based numbering is more common than the 
decimal number system.

Using floats means that

   1.10.0

...counts as lower than:

   1.2.0

...which is clearly not correct either.

In any case, I would recommend not parsing versons at all. Just treat them 
as opaque strings, and assume that there is an upgrade if the version on 
the server doesn't match the version in the client.

If you do parse the version numbers, then you run into the problem that if 
someone accidentally pushes a really high version number like 
version="110" instead of "1.1.0", then they are forever forced to have 
their version be higher than that so that everyone can upgrade. It also 
means that if a serious regression is found in a new widget version, 
authors can't just immediately downgrade, they have to go and repackage 
the widget with a new version number and then push that.

-- 
Ian Hickson               U+1047E                )\._.,--....,'``.    fL
http://ln.hixie.ch/       U+263A                /,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'

Received on Tuesday, 18 September 2007 17:35:42 UTC