On Mon, Aug 03, 2020 at 07:49:14PM -0400, Robert Middleton wrote:
> Thorsten,
> 
> > >   A number of these are rather large changes, so it probably
> > > doesn't make sense to work on them until there's a known-good release, as
> > > they would likely break both API and ABI compatibility.
> >
> > Does it really matter much if things are broken now vs. with 0.12.0 or
> > alike? Backwards compatibility was somewhat broken already when
> > changing how the macros are implemented, when returning new LevelPtrs
> > to fix threading-issues and with introducing CMAKE in favor of
> > building with Maven+ANT.
> >
> 
> I have a few thoughts on that:
> 1. Having a known-good release means that there should be more users,
> helping to better test the library.
> 2. It depends on the level of backwards-compatability breakage that
> there is.  For people like you who have a limited environment, having
> a version that does not depend on new C++ features allows for a
> 'legacy' version and a 'modern' version.
> 3. Adopting a semver[1] versioning at some point would probably make
> sense.  If there's an API breakage that should be properly documented
> as part of the versioning.  Arguably since this is technically 0.11.0
> version it doesn't really matter, since major version 0 allows major
> API breakage.

While the version is at 0.x.x, the at least the old auttools based build
system declares SONAME to be 10 [1], so log4cxx is declaring a stable ABI/API.

However, as said in an earlier thread, this is not a problem for a distribution
(like Debian) as this is usual business to cope with ABI/API changes. (if it
does not happen too ofthen, as a library transition means some work.)

[1] The version currently in Debian:
$objdump -p liblog4cxx.so | grep SONAME
  SONAME               liblog4cxx.so.10
 

-- 
tobi

Reply via email to