DUB 0.9.22 released

Sönke Ludwig via Digitalmars-d-announce digitalmars-d-announce at puremagic.com
Sat Oct 4 23:53:35 PDT 2014


Am 02.10.2014 14:27, schrieb Ben Boeckel via Digitalmars-d-announce:
> On Fri, Sep 26, 2014 at 06:29:19 +0000, Dragos Carp via Digitalmars-d-announce wrote:
>> 1.2.3.x is an invalid version number. Only 3 group numbers are
>> allowed [1]. Though you could use prerelease and/or build
>> suffixes (1.2.3-0w / 1.2.3+0w).
>
> How would you version a library which wraps another with 4 version
> components? Enforced semver to the limit that only 3 components are
> supported seems a little heavy-handed to me.
>
> --Ben
>

The idea is to have an interoperable standard - modifying it in any way 
would break that, so that we could as well completely invent our own 
standard.

The way I see it is that the binding should be considered as 
individually versioned. It should usually start at 1.0.0 (maybe X.0.0, 
where X is the major version of the wrapped library, if that makes sense 
for the original version scheme) and be incremented purely according to 
SemVer. The version of the wrapped library can be documented as build 
metadata, but that's it.

To me a big argument against supporting something non-standard, such as 
a fourth version digit is that it facilitates blindly adopting a 
libraries original version scheme, even if that may work in a completely 
different way w.r.t. major, minor and patch versions.

But the idea of SemVer is that you can safely specify a version range 
such as 1.2.x and be sure to only get bugfixes, or 1.x.x and only get 
backwards compatible changes. Many other schemes don't have such 
guarantees, so directly translating them would be the a step to chaos.


More information about the Digitalmars-d-announce mailing list