[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