Boost logo

Boost :

From: Stefan Seefeld (seefeld_at_[hidden])
Date: 2005-08-15 02:24:56


Neal Becker wrote:
> I think it is a bit unfortunate that we don't have a system to determine
> whether boost updates break existing api's. The usual process is that, for
> example, suppose we have
>
> libboost.so.1.33.0
>
> Let's assign this soname libboost.so.1. Then a symlink is created
>
> libboost.so.1 -> libboost.so.1.33.0.
>
> Now if a bugfix comes out that does not change the api, be can have
>
> libboost.so.1.33.1, which also has soname libboost.so.1, and then symlink:
>
> libboost.so.1 -> libboost.so.1.33.1
>
> OK, so that's the background. AFAICT, we (boost) don't have any way to tell
> if a new release breaks existing api, and whether to up the version. I
> think that is unfortunate. I don't really know what to do about it,
> though.

Shared libraries are typically versioned as <major>.<minor>.<patch>, and the
semantics of these are tied to ABI/API compatibility. That is, every ABI
change has to be accounted for by an increment in the major version number.
That is how these links above as well as the embedded sonames are supposed
to work.

Boost right now seems to equate library versions and release versions, which
certainly adds to the confusion. Then, the name '1.33' somehow suggests
two levels of versions, while really there is only one (by the way: why do
you carry the '1.' around ? Do you expect a 'release 2' at some point ? If
so, in what way would such a release be different from an upgrade from
1.32 to 1.33, say ?)

Regards,
                Stefan


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk