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