[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Libabigail 1.3 is out!


Libabigail 1.3 has been released.

This is mostly a bug fix release.  Many correctness and noise
filtering improvements have been brought to the kmidiff tool for
people willing to analyse changes to the interface between a Linux
kernle and its modules.

The abipkgdiff tool can now detect shared libraries (in RPMs) that are
meant to stay private to the package and avoid analyzing those.  This
is done by looking at the "provides" property of the RPM.

Also, with this release, Libabigail tools can now use Python 3 when
that environment is present.  Otherwise, they just use Python 2 as before.

You can download the tarball of this release at

Okay, so for those of you who don't know, Libabigail is a library
which aims at constructing, manipulating, serializing and
de-serializing ABI-relevant artifacts.

It also comes with a set of associated command line tools to compare
the interfaces of ELF binaries resulting from the compilation of C or
C++ programs.

Typical use cases of libabigail tools include detecting ABI
incompatible changes across several releases of shared libraries or
incompatible changes in the interface between a Linux kernel and its
modules, for instance.

Users can of course write their own tools using the library.

The library comes with extensive API documentation available online at
https://sourceware.org/libabigail/apidoc.  The tools are documented
online as well at https://sourceware.org/libabigail/manual/libabigail-tools.html.

Below is a detailed summary of the significant changes brought to you
in this new release:

Chenxiong Qi:
      Bug 22722 - Make fedabipkgdiff and its tests support both python 3 and 2

Dodji Seketeli:
      Report change locations in leaf reports
      Skip changes to function *types* in the leaf reporter
      Make abipkgdiff avoid comparing private DSOs from RPMs
      Detect the presence of 'rpm' as it's now needed by abipkgdiff
      Do not enable fedabipkgdiff tests if fedabipkgdiff itself is disabled
      Don't crash when invoking kmidiff with no debug info root dir
      Don't possibly forget type definition when reading a CorpusGroup
      Do not show decl-only-to-def changes in the leaf reporter
      Overhaul of the report diff stats summary
      Do not mark "distinct" diff nodes as being redundant
      Fix meaning of "harmless name change" to avoid overfiltering
      Better handle category propagation of pointer changes
      Improve function changes reporting in leaf and default mode
      Don't filter out typedef changes with redundant underlying type changes
      Only show leaf type changes in the leaf type changes section
      Fix leaf report of class data member changes
      Always show redundant changes in leaf mode
      Avoid reporting an enum change if it has already been reported
      When we say a change was reported earlier give its source location
      [abipkgdiff]: in leaf mode we always show redundant changes
      Update tests for the "better leaf mode redundancy management" patchset
      Use absolute builddir paths in automake test files
      Represent sizes and offsets in bytes and hexadecimal values
      Initial support of anonymous data members
      Show data member offsets in bytes too
      Sort the output of the leaf reporter
      Use the dynamically selected python for Koji configure tests
      Use the correct python interpreter in runtestdefaultsupprs.py
      Handle cases where no python2 interpreter is found
      Don't bail because "rpm" issued an error

Jonathan Wakely:
      Remove assertion with side-effects
      Remove unused local set<string> variables
      Rename misleading remove_trailing_white_spaces functions
      Use std::string::substr instead of appending single chars

Many thanks to those who contributed to this release with bug reports,
comments or code.

Happy Hacking and may all significant binary interface changes of your
libraries be noticed!