[sane-devel] Changing versioning scheme (1.1.0, 1.2.0, 1.3.0 instead of 1.0.33, 1.0.34, 1.0.35)

Till Kamppeter till.kamppeter at gmail.com
Mon Dec 27 21:22:39 GMT 2021


Good idea, exactly what I do with cups-filters. I also started as you 
are doing currently, 1.0.xx and every time increasing xx independent 
whether I have a feature release or bug fix release.

Then I realized the meaningless 2 first components and the ridiculously 
increasing third component and switched to the following (hopefully 
standard) rules:

1. The first component is the generation. To be increased only on 
significant architecture changes. In cups-filters I increasing from 1 to 
2 currently as I am moving from print filters (file format conversion 
filters) from separate executables (as CUPS was using them) to library 
functions (as the upcoming New Architecture is using them, like 
Printer/Scanner Applications which emulate IPP network devices).

2. The second component I use for feature additions. For example I 
raised it when I added a filter for generating the PCLm file format.

3. The third component is for bug fixes, for example if a filter crashed 
or did not work on a certain file it should work with.

For distros it is easy then. Increases in the first and second component 
can be accepted only before Feature Freeze and increases of the third 
also after.

    Till

https://github.com/OpenPrinting/cups-filters/blob/master/NEWS#L2501
https://github.com/OpenPrinting/cups-filters/blob/master/NEWS#L2470


On 27/12/2021 18:04, Povilas Kanapickas wrote:
> Hello,
> 
> The current versioning scheme does not allow proper bugfix releases of
> SANE backends. That is, only 3 components in the version are supported
> properly in the build scripts and elsewhere. For example version codes
> for 1.0.33.1 would be identical to 1.0.33. Version codes are the only
> thing that I found, there are likely other problems because people
> writing code did not expect a 4-component version.
> 
> The above is bad, because e.g. if we release 1.0.33 and notice a serious
> problem, we can't release a bugfix without risking breakage in various
> places even if it's a single line change.
> 
> Fixing all the code that expects 3-component version is probably not
> good use of the time we have.
> 
> Therefore I propose we switch to increasing the second version component
> instead of the third for future releases of SANE. E.g. instead of
> 1.0.35, 1.0.36 and 1.0.37 we will have 1.2.0, 1.3.0 and 1.4.0 releases.
> This way we would have the third version component reserved for bugfix
> releases.
> 
> I also propose to apply the proposal to the upcoming 1.0.33 release and
> use 1.1.0 version for it.
> 
> Please let me know what you think.
> 
> Regards,
> Povilas
> 



More information about the sane-devel mailing list