Update ChangeLog for 1.0.rc5 libabigail-1.0.rc5
authorDodji Seketeli <dodji@redhat.com>
Mon, 27 Jun 2016 17:55:27 +0000 (19:55 +0200)
committerDodji Seketeli <dodji@redhat.com>
Tue, 28 Jun 2016 07:14:28 +0000 (09:14 +0200)
* ChangeLog: Update by doing "make update-changelog" in the build
directory.

Signed-off-by: Dodji Seketeli <dodji@redhat.com>
ChangeLog

index 15b8ee24a478232a8e395975b410d798e7f91707..4459f7bbbea5dca18c3c90a1956b1d3bb57b63e5 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
+2016-06-27  Dodji Seketeli <dodji@redhat.com>
+
+       Update ChangeLog for 1.0.rc5
+       * ChangeLog: Update by doing "make update-changelog" in the build
+       directory.
+
+2016-06-27  Dodji Seketeli <dodji@redhat.com>
+
+       Update NEWS file in preparation for 1.0.rc5
+       * NEWS: update with the edited content of the command:
+       git shortlog libabigail-1.0.rc4..HEAD
+
+2016-06-27  Dodji Seketeli <dodji@redhat.com>
+
+       Fix python interpreter path for el6
+       * tests/runtestdefaultsupprs.py.in: Use the python interpreter at
+       /usr/bin/python, not the one at /bin/python.
+
+2016-06-24  Dodji Seketeli <dodji@redhat.com>
+
+       Misc cleanup in abg-reader.cc
+       * src/abg-reader.cc (read_context::push_decl_to_current_scope):
+       Pass the decl smart pointer by value.
+
+2016-06-22  Dodji Seketeli <dodji@redhat.com>
+
+       Use ODR-based optimization on C/C++ translation unit only
+       * src/abg-ir.cc (strip_typedef): Set the translation unit of the
+       new ABI artifact.
+       (type_base::get_canonical_type_for): Perform the ODR-based
+       optimization only for ABI artifact in C and C++ language
+       translation units.
+       * src/abg-dwarf-reader.cc (build_ir_node_from_die): Assert that
+       the new ABI artifact has its translation unit set.
+       * src/abg-reader.cc (read_context::{push_decl_to_current_scope,
+       push_and_key_type_decl}): Set the translation unit of the current
+       decl, irrespective of if it was added to the current scope or not.
+       Assert that the decl that was newly pushed to the current scope is
+       added to the current translation unit.
+
+2016-06-10  Dodji Seketeli <dodji@redhat.com>
+
+       Misc white space and comment cleanups
+       * include/abg-ir.h (typedef type_or_decl_base): Cleanup comment.
+       * src/abg-ir.cc (struct type_or_decl_base::priv): Fix comment.
+
+2016-06-10  Dodji Seketeli <dodji@redhat.com>
+
+       Cleanup function_decl::parameter::get_pretty_representation
+       * src/abg-ir.cc
+       (function_decl::parameter::get_pretty_representation): Assert that
+       the environment is always non-nil.  Then no needs to check for it
+       being non-nil anymore.  Use is_type_decl instead of
+       dynamic_pointer_cast.
+
+2016-06-07  Chenxiong Qi <cqi@redhat.com>
+
+       Fix package NVR comparison in fedabipkgdiff
+       * configure.ac: Add new dependency.
+       * tests/runtestfedabipkgdiff.py.in (builds): Add new builds for
+       running tests to test selecting latest build from a package.
+       (packages): Add new package gnutls.
+       (GetPackageLatestBuildTest.{test_get_latest_one,
+       test_cannot_find_a_latest_build_with_invalid_distro}): Use new
+       builds of package gnutls to run tests.
+       * tools/fedabipkgdiff (cmp_nvr): New function used to compare nvrs
+       by Python built-in function sorted.
+       (Brew.listBuilds): Use the new cmp_nvr function.
+
+2016-06-06  Chenxiong Qi <cqi@redhat.com>
+
+       Bug 20135 - Make fedabipkgdiff compare ABIs using devel packages
+       * doc/manuals/fedabipkgdiff.rst: Add documentation for the new
+       --no-devel-pkg command line option, as well as for the new default
+       behaviour of taking devel packages into account during ABI
+       comparison.
+       * tools/fedabipkgdiff (PkgInfo): Add new attribute
+       devel_package.
+       (RPM.is_devel): New property to determine if rpm is a
+       development package.
+       (LocalRPM._find_rpm): New method to find a specific rpm.
+       (LocalRPM.find_debuginfo): Use new method _find_rpm to find
+       debuginfo package.
+       (LocalRPM.find_devel): New method to find an associated
+       development package.
+       (Brew.select_rpms_from_a_build): RPMs selector method is
+       changed to select development package also.
+       (abipkgdiff): Construct and run abipkgdiff with and without
+       --devel-pkg[12] options.
+       (magic_construct): Construct PkgInfo with development package.
+       (run_abipkgdiff): Run abipkgdiff against rpms with development
+       packages.
+       (diff_local_rpm_with_latest_rpm_from_koji): Find development
+       package, and call method abipkgdiff with development package.
+       (build_commandline_args_parser): add new option --no-devel-pkg.
+       * tests/runtestfedabipkgdiff.py.in (packages): Add new package
+       nss-util.
+       (builds): Add new builds of nss-utils, nss-util-3.12.6-1.fc14
+       and nss-util-3.24.0-2.0.fc25.
+       (rpms): Add new associated rpms of the two new builds.
+       (AssertionHelper.assert_functions_changes_summary): New method
+       to match and assert functions changes summary.
+       (AssertionHelper.assert_abi_comparison_result): Changed to
+       support to help assert functions changes summary.
+       (MockGlobalConfig.{no_devel_pkg, check_all_subpackages}): New
+       fake options with default value for running tests.
+       (RPMTest.setUp): add new development package for running test
+       case.
+       (RPMTest.test_is_devel): New test to test is_devel property.
+       (RunAbipkgdiffTest.setUp): Add new development packages for
+       running test case.
+       (RunAbipkgdiffTest.{test_all_success, test_all_failure,
+       test_partial_failure}): Mock global config.
+       (RunAbipkgdiffWithDSOOnlyOptionTest): Removed.
+       (CompareABIFromCommandLineTest.test_compare_with_no_devel_pkg):
+       New test to test fedabipkgdiff with or without --no-devel-pkg
+       option.
+       * tests/data/Makefile.am: Add new rpms.
+       * tests/data/test-fedabipkgdiff/packages/nss-util/3.12.6/1.fc14/
+       x86_64/nss-util-3.12.6-1.fc14.x86_64.rpm: New rpm for running
+       tests.
+       * tests/data/test-fedabipkgdiff/packages/nss-util/3.12.6/1.fc14/
+       x86_64/nss-util-debuginfo-3.12.6-1.fc14.x86_64.rpm: New rpm for
+       running tests.
+       * tests/data/test-fedabipkgdiff/packages/nss-util/3.12.6/1.fc14/
+       x86_64/nss-util-devel-3.12.6-1.fc14.x86_64.rpm: New rpm for
+       running tests.
+       * tests/data/test-fedabipkgdiff/packages/nss-util/3.24.0/2.0.fc25/
+       x86_64/nss-util-3.24.0-2.0.fc25.x86_64.rpm: New rpm for running
+       tests.
+       * tests/data/test-fedabipkgdiff/packages/nss-util/3.24.0/2.0.fc25/
+       x86_64/nss-util-debuginfo-3.24.0-2.0.fc25.x86_64.rpm: New rpm
+       for running tests.
+       * tests/data/test-fedabipkgdiff/packages/nss-util/3.24.0/2.0.fc25/
+       x86_64/nss-util-devel-3.24.0-2.0.fc25.x86_64.rpm: New rpm for
+       running tests.
+
+2016-06-03  Dodji Seketeli <dodji@redhat.com>
+
+       Improve python modules detection
+       * configure.ac: Include
+       autoconf-archive/ax_check_python_modules.m4 rather than
+       autoconf-archive/ax_python_module.m4.  Use AX_CHECK_PYTHON_MODULES
+       rather than AX_PYTHON_MODULE.
+       * Makefile.am: Add the new file
+       autoconf-archive/ax_check_python_modules.m4 to source distribution
+       and remove the older autoconf-archive/ax_python_module.m4 one.
+       * autoconf-archive/ax_check_python_modules.m4: New file.
+       * autoconf-archive/ax_python_module.m4: Remove.
+
+2016-05-30  Chenxiong Qi <cqi@redhat.com>
+
+       Add integration tests for fedabipkgdiff
+       * configure.ac: do not detect shutil module.
+       * tests/runtestfedabipkgdiff.py.in: do not import shutil
+       anymore.
+       (BUILT_ABIPKGDIFF): new global variable to reference the
+       abipkgdiff built from source code, as the new test case' tests
+       require this command directly rather than mocking the
+       global_config.
+       (test_data_dir): convert variable name to uppercase,
+       reference to the test data directory by absolute path instead of
+       relative path.
+       (TEST_TOPDIR): new global variable to use data directory as the
+       topdir passed to fedabpkgdiff to download rpms.
+       (TEST_DOWNLOAD_CACHE_DIR): new global variable referencing a
+       fake download cache directory for tests only.
+       (packages, builds, rpms): new global variables as a fake
+       storage holding packages, builds and rpms.
+       (AssertionHelper): new class helping to assert abipkgdiff
+       result easily.
+       (MockClientSession): new class to mock koji.ClientSession.
+       (MockGlobalConfig.abipkgdiff): set this option to global
+       variable BUILT_ABIPKGDIFF.
+       (MockKojiClientSessin): removed.
+       (mock_get_session): removed.
+       (GetPackageLatestBuildTest.{test_get_latest_one,
+       test_cannot_find_a_latest_build_with_invalid_distro,
+       test_cannot_find_a_latest_build_with_invalid_distro}): mock
+       koji.ClientSession with new class MockClientSession. Remove
+       invalid documentation from docstring. Use new package rather
+       than httpd.
+       (DownloadRPMTest.setUp): remove self.download_dir and use global
+       TEST_DOWNLOAD_CACHE_DIR.
+       (DownloadRPMTest.tearDown): do not remove download cache
+       directory.
+       (DownloadRPMTest.make_remote_file_url): do not omit positional
+       argument specifiers in string format.
+       (DownloadRPMTest.{test_succeed_to_download_a_rpm,
+       test_failed_to_download_a_rpm}): set fake download cache
+       directory to mocked get_download_dir in mock.patch decorator.
+       (BrewListRPMsTest.test_select_specific_rpms): use new
+       MockClientSession to mock koji.ClientSession. Rewrite test by
+       using the new package listed in global variable packages.
+       (RunAbipkgdiffWithDSOOnlyOptionTest.{test_abipkgdiff_with_dso_only,
+       test_abipkgdiff_without_dso_only}): set fake download cache
+       directory to mocked get_download_dir in mock.patch decorator.
+       (CompareABIFromCommandLineTest): new integration test case.
+       * tests/data/test-fedabipkgdiff/packages/dbus-glib/0.100.2/2.fc20/
+       i686/dbus-glib-0.100.2-2.fc20.i686.rpm: new rpm for running tests.
+       * tests/data/test-fedabipkgdiff/packages/dbus-glib/0.100.2/2.fc20/
+       i686/dbus-glib-debuginfo-0.100.2-2.fc20.i686.rpm: new rpm for
+       running tests.
+       * tests/data/test-fedabipkgdiff/packages/dbus-glib/0.100.2/2.fc20/
+       i686/dbus-glib-devel-0.100.2-2.fc20.i686.rpm: new rpm for
+       running tests.
+       * tests/data/test-fedabipkgdiff/packages/dbus-glib/0.100.2/2.fc20/
+       x86_64/dbus-glib-0.100.2-2.fc20.x86_64.rpm: new rpm for running
+       tests.
+       * tests/data/test-fedabipkgdiff/packages/dbus-glib/0.100.2/2.fc20/
+       x86_64/dbus-glib-debuginfo-0.100.2-2.fc20.x86_64.rpm: new rpm
+       for running tests.
+       * tests/data/test-fedabipkgdiff/packages/dbus-glib/0.100.2/2.fc20/
+       x86_64/dbus-glib-devel-0.100.2-2.fc20.x86_64.rpm: new rpm for
+       running tests.
+       * tests/data/test-fedabipkgdiff/packages/dbus-glib/0.106/1.fc23/
+       i686/dbus-glib-0.106-1.fc23.i686.rpm: new rpm for running tests.
+       * tests/data/test-fedabipkgdiff/packages/dbus-glib/0.106/1.fc23/
+       i686/dbus-glib-debuginfo-0.106-1.fc23.i686.rpm: new rpm for
+       running tests.
+       * tests/data/test-fedabipkgdiff/packages/dbus-glib/0.106/1.fc23/
+       i686/dbus-glib-devel-0.106-1.fc23.i686.rpm: new rpm for running
+       tests.
+       * tests/data/test-fedabipkgdiff/packages/dbus-glib/0.106/1.fc23/
+       x86_64/dbus-glib-0.106-1.fc23.x86_64.rpm: new rpm for running
+       tests.
+       * tests/data/test-fedabipkgdiff/packages/dbus-glib/0.106/1.fc23/
+       x86_64/dbus-glib-debuginfo-0.106-1.fc23.x86_64.rpm: new rpm for
+       running tests.
+       * tests/data/test-fedabipkgdiff/packages/dbus-glib/0.106/1.fc23/
+       x86_64/dbus-glib-devel-0.106-1.fc23.x86_64.rpm: new rpm for
+       running tests.
+       * tests/data/Makefile.am: add new rpms.
+
+2016-05-31  Dodji Seketeli <dodji@redhat.com>
+
+       Bug 19967 - System-level suppressions for glibc
+       * default.abignore: Add initial suppression specifications for
+       glibc.
+
+2016-05-31  Dodji Seketeli <dodji@redhat.com>
+
+       Escape all characters when reading a string in ini files
+       * src/abg-ini.cc (read_context::peek): Take an output parameter to
+       tell the caller when this function escaped the returned
+       character.  Added an overload without this new parameter.
+       (read_context::read_string): Accept all characters as part of the
+       string.
+       * tests/data/test-diff-suppr/test7-var-suppr-9.suppr: New test
+       input.
+       * tests/data/test-diff-suppr/test7-var-suppr-report-9.txt: New
+       test reference output.
+       * tests/data/Makefile.am: Add the files above to source
+       distribution.
+       * tests/test-diff-suppr.cc (in_out_spec): Run a new comparison of
+       libtest7-var-suppr-v{0,1}.so this time using the new
+       test7-var-suppr-9.suppr specification that exercices a string with
+       the escaped characters that we were having difficulty with.
+
+2016-05-31  Dodji Seketeli <dodji@redhat.com>
+
+       Don't require all version symbol sections to present
+       * src/abg-dwarf-reader.cc (get_symbol_versionning_sections): Allow
+       returning just some of the three version-related section, not
+       necessarily all of them.  Adjust comment.
+       (get_version_for_symbol): Be ready to not necessarily having the
+       three version-related sections available.
+
+2016-05-30  Dodji Seketeli <dodji@redhat.com>
+
+       Bug 20180 - Support system-wide suppression specifications
+       * doc/manuals/abidiff.rst: Document the default suppression
+       scheme, its interaction with the --supprs option and the new
+       --no-default option.
+       * doc/manuals/abipkgdiff.rst: Likewise.
+       * doc/manuals/fedabipkgdiff.rst: Likewise.
+       * configure.ac: Generate the tests/runtestdefaultsupprs.py file
+       from the new tests/runtestdefaultsupprs.py.in template.
+       * default.abignore: New file.
+       * Makefile.am: Add it to source distribution.
+       * src/Makefile.am: Define the ABIGAIL_ROOT_SYSTEM_LIBDIR
+       preprocessor macro that is set the value of the $libdir autotools
+       macro.
+       * include/abg-tools-utils.h: Update copyright years.
+       (get_system_libdir, get_default_system_suppression_file_path)
+       (get_default_user_suppression_file_path)
+       (load_default_system_suppressions)
+       (load_default_user_suppressions): Declare new functions
+       * src/abg-tools-utils.cc (get_system_libdir)
+       (get_default_system_suppression_file_path)
+       (get_default_user_suppression_file_path)
+       (load_default_system_suppressions)
+       (load_default_user_suppressions): Define new functions.
+       (is_regular_file): Amend this so that it return true for symlinks
+       to regular files too.
+       (is_dir): Amend this so that it returns true for symlinks to
+       directories too.
+       * tools/abidiff.cc (options::no_default_supprs): New data member.
+       (options::options): Initialize the new data member.
+       (display_usage): Display a new help string for the new
+       --no-default-suppression command line option.
+       (parse_command_line): Parse this new command line option.
+       (set_diff_context_from_opts): Load the default suppression
+       specifications, unless --no-default-suppression or --supprs was
+       provided.
+       * tools/abipkgdiff.cc (options::no_default_supprs): New data
+       member.
+       (options::options): Initialize the new data member.
+       (parse_command_line): Parse the new --no-default-suppression
+       command line option.
+       (main): Load the default suppression specifications, unless
+       --no-default-suppression or --supprs was provided.
+       * tools/fedabipkgdiff (abipkgdiff): Add --no-default-suppression
+       to the invocation of abipkgdiff if it was provided on the command
+       line.
+       (build_commandline_args_parser): Parse the new
+       --no-default-suppression command line option.
+       * tests/runtestdefaultsupprs.py.in: New test harness template.
+       * tests/Makefile.am: Add the new runtestdefaultsupprs.py to the
+       set of tests.
+       * tests/data/test-default-supprs/test0-type-suppr-0.suppr: New
+       test input.
+       * tests/data/test-default-supprs/test0-type-suppr-report-0.txt: Likewise.
+       * tests/data/test-default-supprs/test0-type-suppr-v0.o: Likewise.
+       * tests/data/test-default-supprs/test0-type-suppr-v1.o: Likewise.
+       * tests/data/test-default-supprs/dirpkg-1-dir-report-0.txt:
+       Likewise.
+       * tests/data/test-default-supprs/dirpkg-1-dir1: Likewise.
+       * tests/data/test-default-supprs/dirpkg-1-dir2: Likewise.
+       * tests/data/Makefile.am: Add new the new tests input above to
+       Makefile.am.
+       * tests/runtestcanonicalizetypes.sh.in: Pass
+       --no-default-suppression to abidiff invocations.
+       * tests/runtestdefaultsupprs.py.in: Likewise.
+       * tests/test-abidiff-exit.cc: Likewise.
+       * tests/test-diff-dwarf-abixml.cc: Likewise.
+       * tests/test-diff-filter.cc: Likewise.
+       * tests/test-diff-suppr.cc: Likewise.
+       * tools/abidiff.cc: Likewise.
+
+2016-05-30  Dodji Seketeli <dodji@redhat.com>
+
+       Add --abipkgdiff option to fedabipkgdiff
+       * tools/fedabipkgdiff (build_path_to_abipkgdiff): Define new
+       function.
+       (abipkgdiff): Invoke the new build_path_to_abipkgdiff() here.
+       (build_commandline_args_parser): Parse the new --abipkgdiff
+       option.
+
+2016-05-28  Dodji Seketeli <dodji@redhat.com>
+
+       Better diagnostics when abipkgdiff has an extra argument
+       * tools/abipkgdiff.cc (options::wrong_arg): New data member.
+       (parse_command_line): Set options::wrong_arg
+       to the wrong argument passed.
+       (main): Tell wrong argument case apart, and report it.
+
+2016-05-26  Dodji Seketeli <dodji@redhat.com>
+
+       Fix suppr spec wording in abipkgdiff manual
+       * doc/manuals/abipkgdiff.rst: Fix the wording for the --suppr
+       option.
+
+2016-05-26  Dodji Seketeli <dodji@redhat.com>
+
+       Update reference to tools in libabigail-concepts manual
+       * doc/manuals/libabigail-concepts.rst: Do not refer just to
+       abidiff when talking about suppression specification.  Also
+       refer to abipkgdiff and other tools.
+
+2016-05-30  Dodji Seketeli <dodji@redhat.com>
+
+       Fix some wording in the Libabigail overview manual page
+       * doc/manuals/libabigail-overview.rst: Cleanup some confusion
+       about Abigail-the-framework and libabigail-the-library.
+
+2016-05-25  Dodji Seketeli <dodji@redhat.com>
+
+       Add test data for tests/runtestfedabipkgdiff.py
+       * tests/data/test-fedabipkgdiff/dbus-glib-0.104-3.fc23.x86_64.rpm:
+       New file.
+       * tests/data/test-fedabipkgdiff/dbus-glib-0.80-3.fc12.x86_64.rpm: Likewise.
+       * tests/data/test-fedabipkgdiff/dbus-glib-debuginfo-0.104-3.fc23.x86_64.rpm:
+       Likewise.
+       * tests/data/test-fedabipkgdiff/dbus-glib-debuginfo-0.80-3.fc12.x86_64.rpm:
+       Likewise.
+
+2016-05-25  Dodji Seketeli <dodji@redhat.com>
+
+       Add a 'check-valgrind' target to the top-most Makefile.am
+       * Makefile.am (check-valgrind): Add this new target here.
+
+2016-05-21  Chenxiong Qi <cqi@redhat.com>
+
+       Bug 20085 - Add --dso-only option to fedabipkgdiff
+       * tools/fedabipkgdiff: Do not import shlex anymore.
+       (ABIDIFF_OK, ABIDIFF_ERROR, ABIDIFF_USAGE_ERROR)
+       (ABIDIFF_ABI_CHANGE): New global constant variables.
+       (abipkgdiff): Pass the --dso-only option to the abipkgdiff command
+       line tool, if that option was passed to fedabipkgdiff. Build this
+       abipkgdiff command invocation from an array of strings, rather
+       than from formatting a string.  This makes us get rid of the shlex
+       module.  Fix typo in dry-run logged string.  If there was an
+       internal error reported by abipkgdiff, report it to stderr.
+       (build_commandline_args_parser): Parse the --dso-only command line
+       option.
+       * tests/runtestfedabipkgdiff.py.in (fedabipkgdiff_mod): Fix a typo
+       in initializing this global variable.
+       (test_data_dir): New global variable, that is used to reference
+       tests/data/test-fedabipkgdiff/.
+       (RunAbipkgdiffTest.{test_all_success, test_partial_failure}): Fix
+       typo.
+       (Mockglobalconfig.{koji_topdir, dso_only}): New data members.
+       (GetPackageLatestBuildTest.{test_get_latest_one,
+       test_cannot_find_a_latest_build_with_invalid_distro,
+       test_succeed_to_download_a_rpm, test_failed_to_download_a_rpm}):
+       Fix typo.
+       (BrewListRPMsTest.test_select_specific_rpms): Fix typo.
+       (RunAbipkgdiffWithDSOOnlyOptionTest): New test case class.
+       * doc/manuals/fedabipkgdiff.rst: update document for this new
+       --dso-only option.
+       * tests/data/test-fedabipkgdiff/dbus-glib-0.104-3.fc23.x86_64.rpm:
+       New symbolic link to
+       test-diff-pkg/dbus-glib-0.104-3.fc23.x86_64.rpm.
+       * tests/data/test-fedabipkgdiff/dbus-glib-0.80-3.fc12.x86_64.rpm:
+       New symbolic link to
+       test-diff-pkg/dbus-glib-0.80-3.fc12.x86_64.rpm.
+       * tests/data/test-fedabipkgdiff/dbus-glib-debuginfo-0.104-3.fc23.x86_64.rpm:
+       New symbolic link to
+       test-diff-pkg/dbus-glib-debuginfo-0.104-3.fc23.x86_64.rpm.
+       * tests/data/test-fedabipkgdiff/dbus-glib-debuginfo-0.80-3.fc12.x86_64.rpm:
+       New symbolic link to
+       test-diff-pkg/dbus-glib-debuginfo-0.80-3.fc12.x86_64.rpm.
+       * tests/data/Makefile.am: add tests/data/test-fedabipkgdiff so
+       that this data directory and all things within it can be included
+       in tarball.
+
+2016-05-24  Sinny Kumari <sinny@redhat.com>
+
+       Change parent directory for keeping extracted packages in abipkgdiff
+       * tools/abipkgdiff.cc (extracted_packages_parent_dir): Change
+       TMPDIR environment variable to XDG_CACHE_HOME and default
+       temporary parent directory to $HOME/.cache/libabigail/
+
+2016-05-20  Dodji Seketeli <dodji@redhat.com>
+
+       Make abi{pkg}diff filter out changes about private types
+       * include/abg-comp-filter.h: Update copyright year.
+       * src/abg-comp-filter.cc (has_virtual_mem_fn_change): Make this
+       static function become exported.
+       (has_virtual_mem_fn_change): Declare new function.
+       * include/abg-suppression.h
+       (suppression_base::{get,set}_is_artificial): Declare new
+       accessors.
+       (type_suppression::get_source_locations_to_keep): Return an
+       unordered set of strings, not a vector.  Add a non-const overload.
+       (type_suppression::set_source_locations_to_keep): Set an unordered
+       set of strings, not a vector.
+       * src/abg-suppression.cc (suppression_base::priv::is_artificial_):
+       New data member.
+       (suppression_base::priv::priv): Initialize the new data member.
+       (suppression_base::{get,set}_is_artificial): Define new accessors.
+       (type_suppression::priv::source_locations_to_keep_): Change the
+       vector of strings representing source file names into unordered
+       set of string.
+       (type_suppression::get_source_locations_to_keep): Return an
+       unordered set of strings, not a vector.  Define a non-const
+       overload.
+       (type_suppression::set_source_locations_to_keep): Set an unordered
+       set of strings, not a vector.
+       (type_suppression::suppresses_diff): Make this suppress virtual
+       member function diffs if the enclosing type of the changed virtual
+       member is suppressed by the current type_suppression.
+       (read_type_suppression): Adjust to use the fact that the source
+       locations are not stored in an unordered set, not in a vector
+       anymore.  Otherwise, using a vector here make things too slow.
+       (type_suppression::suppresses_type): Likewise.  Also, If the type
+       we are looking at has no location because it's a true opaque type
+       and if the current suppression is an artificial suppression that
+       is meant to suppress change reports about non-public types, then
+       suppress the type.
+       * include/abg-tools-utils.h (gen_suppr_spec_from_headers): Declare
+       new public function.
+       * src/abg-tools-utils.cc (PRIVATE_TYPES_SUPPR_SPEC_NAME): Define a
+       new constant variable.
+       (handle_fts_entry): Define new static function.
+       (gen_suppr_spec_from_headers): Define new public function.
+       * src/abg-comparison.cc
+       (corpus_diff::priv::apply_suppressions_to_added_removed_fns_vars):
+       If a type suppression suppresses a given class C, make it change
+       added/removed virtual functions whose enclosing type is C.
+       * tools/abidiff.cc (options::{headers_dir1, headers_dir2}): New
+       data members.
+       (display_usage): Add help strings for --headers-dir1 and
+       --headers-dir2.
+       (parse_command_line): Parse the new --headers-dir1 and
+       --headers-dir2 options.
+       (set_diff_context_from_opts): Generate suppression specifications
+       to filter out changes on private types, if --headers-dir1 or
+       --headers-dir2 is given.
+       * tools/abipkgdiff.cc (options::{devel_package1, devel_package2}):
+       New data members.
+       (typedef package_sptr): New typedef.
+       (enum package::kind): New enum.
+       (package::kind_): New data member.  This replaces ...
+       (package::is_debug_info_): ... this data member.
+       (package::{devel_package_, private_types_suppressions_}): New data
+       members.
+       (package::package): Adjust.
+       (package::get_kind): Define new member function.  This replaces
+       ...
+       (package::is_debug_info): ... this member function overload.
+       (package::set_kind): Define new member functin.  It replaces ...
+       (package::is_debug_info): ... this member function overload.
+       (package::{devel_package, private_types_suppressions}): Define new
+       accessors.
+       (package::erase_extraction_directies): Erase the sub-directory
+       where development packages are extracted to.
+       (compare_args::private_types_suppr{1,2}): New data members.
+       (compare_args::compare_args): Adjust.
+       (display_usage): Add help strings for --devel-pkg1/--devel-pkg2.
+       (compare): Make the overload that compares elf files take private
+       types suppressions.  Add the private types suppressions to the
+       diff context.
+       (pthread_routine_compare): Adjust the call to compare.
+       (maybe_create_private_types_suppressions): Define new static
+       function.
+       (pthread_routine_extract_pkg_and_map_its_content): If a devel
+       package was specified for the main package then extract it in
+       parallel with the other package extraction.  When the extraction
+       is done, create private types suppressions by visiting the
+       directories that contain the header files.
+       (compare): In the overload that compares packages by scheduling
+       comparison of individual elf files that are in the packages, pass
+       in the private type suppressions too.
+       (parse_command_line): Parse the new --devel-pkg{1,2} command line
+       options.
+       (main): Associate the devel package to the main package, if the
+       --devel-pkg{1,2}.
+       * doc/manuals/abidiff.rst: Add documentation about the new
+       --headers-dir1 and --headers-dir2 options.
+       * doc/manuals/abipkgdiff.rst: Likewise, add documentation about
+       the new --devel-pkg1 and --devel-pkg2 libraries.
+       * tests/data/test-diff-pkg/tbb-4.1-9.20130314.fc22.x86_64--tbb-4.3-3.20141204.fc23.x86_64-report-1.txt:
+       New test reference output.
+       * tests/data/test-diff-pkg/tbb-devel-4.1-9.20130314.fc22.x86_64.rpm:
+       New test input package.
+       * tests/data/test-diff-pkg/tbb-devel-4.3-3.20141204.fc23.x86_64.rpm: Likewise.
+       * tests/test-diff-pkg.cc b/tests/test-diff-pkg.cc
+       (InOutSpec::{first,second}_in_devel_package_path): New data
+       members.
+       (in_out_specs): Adjust.  Also, add a new entry describing the new
+       test inputs above.
+       (test_task::perform): When the new test entry contains devel
+       packages, pass them to abipkgdiff using the --devel1 and --devel2
+       options.
+       * tests/data/test-diff-suppr/test30-include-dir-v0/test30-pub-lib-v0.h:
+       A new test input source code.
+       * tests/data/test-diff-suppr/test30-include-dir-v1/test30-pub-lib-v1.h: Likewise.
+       * tests/data/test-diff-suppr/test30-priv-lib-v0.cc: Likewise.
+       * tests/data/test-diff-suppr/test30-priv-lib-v0.h: Likewise.
+       * tests/data/test-diff-suppr/test30-priv-lib-v1.cc: Likewise.
+       * tests/data/test-diff-suppr/test30-priv-lib-v1.h: Likewise.
+       * tests/data/test-diff-suppr/test30-pub-lib-v0.cc: Likewise.
+       * tests/data/test-diff-suppr/test30-pub-lib-v0.so: Add new test
+       binary input.
+       * tests/data/test-diff-suppr/test30-pub-lib-v1.cc: Add new test
+       input source code.
+       * tests/data/test-diff-suppr/test30-pub-lib-v1.so: Add new test
+       binary input.
+       * tests/data/test-diff-suppr/test30-report-0.txt: Add new test
+       reference output.
+       * tests/data/test-diff-suppr/test30-report-1.txt: Add new test
+       reference output.
+       * tests/test-diff-suppr.cc (InOutSpec::headers_dir{1,2}): New data
+       members.
+       (InOutSpec::abidiff_options): Renamed the bidiff_options data
+       member into this.
+       (in_out_specs): Adjust.  Also, added the new test input above to
+       this.
+       (main): Adjust to invoke abidiff with the new --hd1 and --hd2
+       options if the input specs for the tests has the new
+       InOutSpec::headers_dir{1,2} data member set.  Renamed bidiff into
+       abidiff.
+       * tests/data/Makefile.am: Add the new test inputs to the source
+       distribution.
+
+2016-05-24  Dodji Seketeli <dodji@redhat.com>
+
+       Fix the number of removed functions in change report
+       * src/abg-suppression.cc (corpus_diff::report): Show the net
+       number of removed functions, not the total number of the removed
+       functions.
+
+2016-05-23  Dodji Seketeli <dodji@redhat.com>
+
+       Document how to handle regression tests in CONTRIBUTING
+       * CONTRIBUTING: Add a section about regression tests.
+       * Makefile.am: Add a check-valgrind-recursive target.
+
+2016-05-21  Dodji Seketeli <dodji@redhat.com>
+
+       Fix whitespaces in autotools files
+       * configure.ac: Fix some white spaces.
+       * tests/Makefile.am: Likewise.
+
+2016-05-22  Dodji Seketeli <dodji@redhat.com>
+
+       Fix white space in abg-comparison.cc
+       * src/abg-comparison.cc (struct diff_context::priv): Fix indentation.
+
+2016-05-21  Dodji Seketeli <dodji@redhat.com>
+
+       Fix bash completion configure status
+       * configure.ac: If bash completion is disabled, say so.
+
+2016-05-22  Dodji Seketeli <dodji@redhat.com>
+
+       Enhance API doc for diff_context::add_diff
+       * src/abg-comparison.cc (diff_context::add_diff): Enhance the API
+       doc string.
+
+2016-05-20  Dodji Seketeli <dodji@redhat.com>
+
+       Add missing API doc strings
+       * src/abg-comparison.cc (diff::diff)
+       (decl_diff_base::decl_diff_base, distinct_diff::distinct_diff)
+       (base_diff::base_diff, scope_diff::scope_diff)
+       (fn_parm_diff::fn_parm_diff)
+       (function_type_diff::function_type_diff)
+       (type_decl_diff::type_decl_diff, typedef_diff::typedef_diff)
+       (translation_unit_diff::translation_unit_diff)
+       (corpus_diff::corpus_diff): Add missing API doc strings.
+
+2016-05-20  Dodji Seketeli <dodji@redhat.com>
+
+       Optimize out some shared_ptr use
+       * include/abg-ir.h (pointer_type_def::get_naked_pointed_to_type):
+       Declare new member function.
+       * src/abg-ir.cc (pointer_type_def::priv::naked_pointed_to_type_):
+       New data member.
+       (pointer_type_def::priv::priv): Adjust to initialize the new data
+       member.
+       (pointer_type_def::pointer_type_def): Adjust to use the
+       constructor pointer_type_def::priv::priv to initialize the
+       pointed-to type (including its new naked pointer variant).  So we
+       do not have to initialize the priv_->pointed_to_type_ explicitely
+       in the constructor anymore.
+       (pointer_type_def::get_naked_pointed_to_type): Define new data
+       member.
+       (pointer_type_def::get_qualified_name): Use a naked pointer to the
+       pointed-to type, rather than a smart pointer.
+
+2016-05-20  Dodji Seketeli <dodji@redhat.com>
+
+       Light optimizations by passing reference to smart pointers around
+       * include/abg-fwd.h (get_type_name): Take a reference to type_sptr.
+       * src/abg-ir.cc (get_type_name): Take a reference to type_sptr.
+       (suppression_base::priv::{get_file_name_regex,
+       get_file_name_not_regex, get_soname_regex, get_soname_not_regex}):
+       Return a reference to regex_t_sptr.
+
+2016-05-20  Dodji Seketeli <dodji@redhat.com>
+
+       Minimize number of string::length calculation
+       * src/abg-tools-utils.cc (string_ends_with): Call string::length
+       just once on each instance of string that matters.
+
+2016-05-20  Dodji Seketeli <dodji@redhat.com>
+
+       Avoid unnecessary computation of type name in suppression evaluation
+       * src/abg-suppression.cc (type_suppression::suppresses_type):  If
+       neither the type suppression "name" or "name_regex" properties
+       where provided in the suppression specification, then do not try
+       to look at the type name.
+
+2016-05-22  Dodji Seketeli <dodji@redhat.com>
+
+       Plug leak of diffs of member variables of class type
+       * include/abg-comparison.h (diff_wptr, unordered_diff_sptr_set): New typedefs.
+       (struct diff_sptr_hasher): Define new type.
+       (diff_context::keep_diff_alive): Declare new member function.
+       (diff::children_nodes): Return a vector of diff*, rather than a
+       vector of diff_sptr.
+       * src/abg-comparison.cc (diff_context::priv::live_diffs_): New
+       data member.
+       (diff_context::keep_diff_alive): Define new data member.
+       (diff::priv::children_): Make this be a vector of diff*, rather
+       than a vector of diff_sptr.
+       (diff_less_than_functor::operator()): Add a new overload for
+       diff*.  Make the existing overload of diff_sptr use the new one.
+       (diff::children_nodes): Adjust;
+       (diff::append_child_node): Make sure the child node is kept
+       alive.  Only add the naked pointer to the child node to the vector
+       of children.
+       (diff::traverse): Adjust.
+       (var_diff::priv::type_diff_): Make this be a weak pointer, rather
+       than a shared pointer.
+       (var_diff::type_diff): The var_diff::priv::type_diff_ data member
+       is now a weak pointer, so make this accessor convert it to a
+       shared pointer.
+       (corpus_diff::priv::children_): Turn this into a vector of diff*,
+       rather than a vector of diff_sptr.
+       (corpus_diff::children_nodes): Adjust.
+       (corpus_diff::append_child_node): Make sure the child node is kept
+       alive.  Only add the naked pointer to the child node to the vector
+       of children.
+       (category_propagation_visitor::visit_end): Adjust.
+       (suppression_categorization_visitor::visit_end): Adjust.
+       (redundancy_marking_visitor::{visit_begin, visit_end}): Adjust.
+
+2016-05-20  Dodji Seketeli <dodji@redhat.com>
+
+       Speedup diff node child insertion
+       * src/abg-comparison.cc (corpus_diff::append_child_node): Insert
+       the new child at the right point in the vector of children, so
+       that it remains sorted.
+
+2016-05-21  Dodji Seketeli <dodji@redhat.com>
+
+       Fix invocation of delete operator in test-read-dwarf.cc
+       * tests/test-read-dwarf.cc (main): Call delete[], not delete.
+
+2016-05-22  Dodji Seketeli <dodji@redhat.com>
+
+       Plug leak of debug info handles
+       * configure.ac: Check the presence of dwarf_getalt in libdw.  If
+       it's present, define the preprocessor macro
+       LIBDW_HAS_DWARF_GETALT.  Update the autoconf configuration
+       summary.
+       * src/abg-dwarf-reader.cc: Add config.h.
+       (find_alt_debug_info_location): Factorize this out of ...
+       (find_alt_debug_info): ... this function.  Use dwarf_getalt if
+       present, otherwise, keep using dwfl_standard_find_debuginfo.  In
+       the later case, return the file descriptor opened to access the
+       alternate debug info, by parameter, so that the caller can fclose
+       it.
+       (read_context::alt_fd_): New data member.
+       (read_context::read_context): Initialize the new alt_fd_ data
+       member.
+       (read_context::load_debug_info): Store the file descriptor used to
+       access the alternate debug info into the new alt_fd_ data member.
+       (read_context::~read_context): New desctructor.
+       (get_soname_of_elf_file, get_type_of_elf_file): Free the elf
+       handle.
+       (read_context::load_debug_info): Be paranoid in making sure we
+       never override alt_dwarf_.
+       * tests/data/test-alt-dwarf-file/test0-report.txt: Adjust.
+
+2016-05-22  Dodji Seketeli <dodji@redhat.com>
+
+       Plug leak of shared private data of class_diff type
+       * include/abg-comparison.h (class_diff::get_priv): Declare new
+       member function.
+       (class_diff::get_priv): Define new member function.
+       (class_diff::{chain_into_hierarchy, base_changes, deleted_bases,
+       inserted_bases, changed_bases, base_changes, member_types_changes,
+       member_types_changes, data_members_changes, inserted_data_members,
+       deleted_data_members, member_fns_changes, changed_member_fns,
+       member_fns_changes, deleted_member_fns, inserted_member_fns,
+       member_fn_tmpls_changes, member_class_tmpls_changes,
+       member_class_tmpls_changes, report}): Rather than accessing
+       class_diff::priv directly, use the new class_diff::get_priv.
+
+2016-05-21  Dodji Seketeli <dodji@redhat.com>
+
+       Remove circular ref from class_decl::priv::definition_of_declaration
+       * include/abg-ir.cc (class_decl::get_definition_of_declaration):
+       Return a shared pointer, rather than a reference to a shared pointer.
+       * src/abg-ir.cc (class_decl::priv::definition_of_declaration_):
+       Make this be a weak pointer.
+       (class_decl::get_definition_of_declaration):
+       Likewise.  And return the shared pointer built out of the weak
+       pointer we have in there now.
+
+2016-05-21  Dodji Seketeli <dodji@redhat.com>
+
+       Plug leak of regex_t in suppression engine
+       * include/abg-sptr-utils.h (build_sptr<T>): Declare an overload that
+       allocates a T* and wraps it into a shared_ptr<T>.
+       (build_sptr<regex_t>): Declare a specialization for regex_t.
+       * src/abg-corpus.cc (build_sptr<regex_t>()): Define the
+       specialization here.
+       * src/abg-suppression.ccp
+       (suppression_base::priv::{get_file_[not]_name_regex,
+       get_soname_[not]_regex}): Use the new build_sptr<regex_t>().
+       (type_suppression::priv::{get_type_name_regex,
+       get_source_location_to_keep_regex}): Likewise.
+       (function_suppression::parameter_spec::priv::get_type_name_regex):
+       Likewise.
+       (function_suppression::priv::{get_name_regex,
+       get_return_type_regex, get_symbol_name_regex,
+       get_symbol_version_regex}): Likewise.
+       (variable_suppression::priv::{get_name_regex,
+       get_symbol_name_regex, get_symbol_version_regex,
+       get_type_name_regex}): Likewise.
+
+2016-05-18  Dodji Seketeli <dodji@redhat.com>
+
+       Plug leak of diff_context_sptr after calling compute_diff
+       * src/abg-comparison.cc (diff::priv::ctxt_): Make this a weak_ptr.
+       (diff::priv::get_context): Convert the weak pointer to the context
+       into a shared_ptr and return it.
+       (diff::priv::is_filtered_out): Adjust to use
+       diff::priv::get_context() to access the context.
+       (diff::context): Likewise.
+       (corpus_diff::priv::ctxt_): Make this a weak_ptr.
+       (corpus_diff::priv::priv): Add a new overload that takes two
+       corpora and a diff context.
+       (corpus_diff::priv::get_context): Convert the weak pointer to the
+       context into a shared_ptr and return it.
+       (corpus_diff::priv::ensure_lookup_tables_populated): Adjust to use
+       the new corpus_diff::priv::get_context to get the context.
+       (variable_is_suppressed): Likewise.
+       (corpus_diff::priv::{apply_suppressions_to_added_removed_fns_vars,
+       apply_filters_and_compute_diff_stats, emit_diff_stats,
+       categorize_redundant_changed_sub_nodes,
+       clear_redundancy_categorization}): Likewise.
+       (corpus_diff::{corpus_diff, context,
+       apply_filters_and_suppressions_before_reporting}): Adjust.
+       * tools/abipkgdiff.cc (compare): Make the overload that compares
+       elf binaries take a diff context output parameter.  After the
+       context is created by this function, it's return to the caller, so
+       that it's life time is bound to the scope this function was
+       called from.
+       (pthread_routine_compare): Create a shared pointer to hold a
+       reference on a diff context.  Pass that shared pointer by
+       reference to the compare function that compares elf binaries.
+       Rather than storing corpora in the reports_map, (as those corpora
+       would then out-live the diff context and thus create memory
+       corruption issues), emit the report directly into an ostringstream
+       and store that stream in reports_map.
+       (compare): In the overoad that compares packages, rather than
+       trying to get corpora from the report_map, just emit the content
+       of the ostringstream that is now there.
+
+2016-05-22  Dodji Seketeli <dodji@redhat.com>
+
+       Fix a read passed-the-end in abg-dwarf-reader.cc
+       * src/abg-dwarf-reader.cc (lookup_symbol_from_gnu_hash_tab): Do
+       not read passed the end of the array.
+
+2016-05-21  Dodji Seketeli <dodji@redhat.com>
+
+       Support running "make check-valgrind"
+       * autoconf-archive/ax_valgrind_check.m4: Add new file.  Copied it
+       from http://www.gnu.org/software/autoconf-archive/ax_valgrind_check.html.
+       * configure.ac: Include the new ax_valgrind_check.m4 file.
+       Initialize the valgrind checking on tests.  Update the configure
+       status.
+       * tests/test-valgrind-suppressions.supp: New valgrind suppression
+       file to silence memcheck leak errors from python.
+       * tests/Makefile.am: Add test-valgrind-suppressions.supp to source
+       distribution.  Add check-valgrind-memcheck-recursive target.
+
+2016-05-22  Dodji Seketeli <dodji@redhat.com>
+
+       Update the CONTRIBUTING file
+       * CONTRIBUTING: Cleanup.
+
+2016-05-22  Dodji Seketeli <dodji@redhat.com>
+
+       Update the COMMIT-LOG-GUIDELINES file
+       * COMMIT-LOG-GUIDELINES: Various enhancements.
+
+2016-05-16  Dodji Seketeli <dodji@redhat.com>
+
+       Do not run fedabipkgdiff tests if --enable-fedabipkgdiff is turned off
+       * tests/Makefile.am: Make running runtestfedabipkgdiff be
+       dependent on ENABLE_FEDABIPKGDIFF.
+
+2016-05-13  Chenxiong Qi <cqi@redhat.com>
+
+       Fix pep8 error
+       * tools/fedabipkgdiff (build_commandline_args_parser): Fix
+       PEP8 error, line is too long.
+
+2016-05-13  Chenxiong Qi <cqi@redhat.com>
+
+       Use consistent string format
+       * tools/fedabipkgdiff (download_rpm): do not omit positional
+       argument specifiers in string format.
+
+2016-05-16  Dodji Seketeli <dodji@redhat.com>
+
+       Remove config.h.in from the repository
+       * config.h.in: Remove from repository.
+
+2016-02-09  Chenxiong Qi <cqi@redhat.com>
+
+       Bug 19428 - New fedabipkgdiff utility
+       * autoconf-archive/ax_compare_version.m4: New file copied from the
+       autoconf-archive project.
+       * autoconf-archive/ax_prog_python_version.m4: Likewise.
+       * autoconf-archive/ax_python_module.m4: Likewise.
+       * Makefile.am: Add the new files above to the source distribution.
+       * configure.ac: Include the new m4 macros from the autoconf
+       archive. Add a new --enable-fedabipkgdiff option. Update the
+       report at the end of the configure process to show the status of
+       the fedabipkgdiff feature. Add check for prerequisite python
+       modules argparse, glob, logging, os, re, shlex, subprocess, sys,
+       itertools, urlparse, itertools, shutil, unittest, xdg, koji and
+       mock.  These are necessary for the unit test of
+       fedabipkgdiff. Generate tests/runtestfedabipkgdiff.py into the
+       build directory, from the tests/runtestfedabipkgdiff.py.in input
+       file.
+       * tools/Makefile.am: Include the fedabipkgdiff to the source
+       distribution and install it if the "fedabipkgdiff" feature is
+       enabled.
+       * tests/Makefile.am: Rename runtestfedabipkgdiff.sh into
+       runtestfedabipkgdiff.py.  Add the new runtestfedabipkgdiff.py.in
+       autoconf template file in here.
+       * tests/runtestfedabipkgdiff.py.in: New unit test file.
+       * tools/fedabipkgdiff: New fedabipkgdiff tool.
+       * doc/manuals/fedabipkgdiff.rst: New manual.
+
+2016-05-07  Dodji Seketeli <dodji@redhat.com>
+
+       Implement a [suppress_file] suppression directive
+       * doc/manuals/libabigail-concepts.rst: Document the new
+       'suppress_file' directive.
+       * include/abg-suppression.h (file_suppression): Define new class.
+       (file_suppression_sptr): Define new typedef.
+       (is_file_suppression, file_is_suppressed): Declare new functions.
+       * src/abg-suppression.cc ():
+       (read_file_suppression, is_file_suppression, file_is_suppressed):
+       Define new functions.
+       (file_suppression::{file_suppression, suppresses_file,
+       ~file_suppression}): Define new member functions.
+       * tools/abidiff.cc (main): If a suppression specification
+       suppresses one of the input files, then do not perform the
+       comparison.
+       * tools/abipkgdiff.cc (compare): If a suppression specification
+       suppresses a file that is to be compared, then do not perform the
+       comparison.
+       * tools/abicompat.cc (create_diff_context): New static function.
+       (perform_compat_check_in_normal_mode)
+       (perform_compat_check_in_weak_mode): Adjust to take a context in
+       parameter.  Do not create a diff context here anymore, do not load
+       suppression files here either.
+       (main): Use the new create_diff_context to create a diff context
+       and initialize it, including loading suppression specifications.
+       If any suppression specification suppresses a file to load, then
+       do not load perform any compatibility checking.  Adjust
+       invocations of perform_compat_check_in_weak_mode and
+       perform_compat_check_in_normal_mode to pass the diff context.
+       * tests/data/test-diff-suppr/test0-type-suppr-3.suppr: New test
+       input.
+       * tests/data/test-diff-suppr/test0-type-suppr-4.suppr: Likewise.
+       * tests/data/test-diff-suppr/test0-type-suppr-report-4.txt: Likewise.
+       * tests/data/test-diff-suppr/test0-type-suppr-5.suppr: Likewise.
+       * tests/data/test-diff-suppr/test0-type-suppr-report-5.txt:
+       Likewise.
+       * tests/data/test-diff-suppr/test0-type-suppr-6.suppr: Likewise.
+       * tests/data/test-diff-suppr/test0-type-suppr-report-6.txt:
+       Likewise.
+       * tests/data/test-diff-suppr/test0-type-suppr-report-7.txt:
+       Likewise.
+       * tests/test-diff-suppr.cc (in_out_specs): Use the new test
+       inputs.
+       * tests/data/test-abicompat/test0-fn-changed-1.suppr: New test
+       input.
+       * tests/data/test-abicompat/test0-fn-changed-report-3.txt:
+       Likewise.
+       * tests/test-abicompat.cc (in_out_specs):: Use the new test
+       inputs.
+       * tests/data/Makefile.am: Add the new test material to source
+       distribution.
+
+2016-05-07  Dodji Seketeli <dodji@redhat.com>
+
+       Split suppression engine off of abg-comparison.{cc,h}
+       * include/Makefile.am: Add abg-suppression.h to source
+       distribution.
+       * include/abg-comparison.h: Remove abg-ini.h include directive.
+       (suppression_sptr, suppressions_type): Move these typedefs to
+       abg-fwd.h.
+       (class suppression_base, type_suppression)
+       (type_suppression::insertion_range)
+       (type_suppression::insertion_range::boundary)
+       (type_suppression::insertion_range::integer_boundary)
+       (type_suppression::insertion_range::fn_call_expr_boundary)
+       (function_suppression, function_suppression::parameter_spec)
+       (variable_suppression): Move these type definitions to the new
+       abg-suppression.h.
+       (read_suppressions, is_type_suppression, is_integer_boundary)
+       (is_fn_call_expr_boundary, is_function_suppression)
+       (is_variable_suppression, operator&)
+       (operator|): Move these function declarations to the new
+       abg-suppression.h.
+       (type_suppression, type_suppression_sptr, type_suppression_type)
+       (function_suppression, function_suppression_sptr)
+       (function_suppressions_type, variable_suppression)
+       (variable_suppression_sptr, variable_suppressions_type): Move
+       these forward declaration and typedefs to the new
+       abg-suppression.h.
+       (diff_context::suppressions): Adjust return type to
+       suppr::suppressions_type&.
+       (diff_context::add_suppression): Adjust parameter type to
+       suppr::suppressions_sptr.
+       (diff_context::add_suppressions): Adjust parameter type
+       suppr::suppressions_type&.
+       (is_type_diff, is_decl_diff, is_var_diff, is_function_decl_diff)
+       (is_pointer_diff, is_reference_diff, is_fn_parm_diff)
+       (is_base_diff, is_child_node_of_function_parm_diff)
+       (is_child_node_of_base_diff): Declare these new functions.  They
+       were previously static, local to abg-comparison.cc only.  Now they
+       need to be exported because they are used by the suppression
+       engine's code that now lives in its one files.
+       * include/abg-fwd.h (suppr::{suppression_base, suppression_sptr,
+       suppressions_type}): Forward declare these here.
+       * include/abg-suppression.h (class suppression_base)
+       (type_suppression, type_suppression::insertion_range)
+       (type_suppression::insertion_range::boundary)
+       (type_suppression::insertion_range::integer_boundary)
+       (type_suppression::insertion_range::fn_call_expr_boundary)
+       (function_suppression, function_suppression::parameter_spec)
+       (variable_suppression): Move these type definitions here, in the
+       namespace suppr.
+       (read_suppressions, is_type_suppression, is_integer_boundary)
+       (is_fn_call_expr_boundary, is_function_suppression)
+       (is_variable_suppression, operator&)
+       (operator|): Move these function decalration here, in the
+       namespace suppr.
+       (type_suppression_sptr, type_suppressions_type)
+       (function_suppression_sptr, function_suppressions_type)
+       (variable_suppression_sptr, variable_suppressions_type): Move
+       these typedefs here, in the namespace suppr.
+       * src/Makefile.am: add src/abg-suppression.cc to source
+       distribution.
+       * src/abg-comparison.cc (is_type_diff, is_decl_diff, is_var_diff)
+       (is_function_decl_diff, is_pointer_diff, is_reference_diff)
+       (is_reference_or_pointer_diff, is_fn_parm_diff, is_base_diff)
+       (is_child_node_of_function_parm_diff, is_child_node_of_base_diff):
+       Export these functions.
+       (*suppression*): Move all the suppression-related definitions to
+       the new abg-suppression.cc.
+       * src/abg-suppression.cc: New file. Contains all the *suppression*
+       definitions from src/abg-comparison.cc, that are put in the suppr
+       namespace.
+       * tools/abicompat.cc: Adjust.
+       * tools/abidiff.cc: Likewise.
+       * tools/abipkgdiff.cc: Likewise.
+
+2016-05-08  Dodji Seketeli <dodji@redhat.com>
+
+       Fix indentation for abidiff manual
+       * doc/manuals/abidiff.rst: Fix indentation for the --suppression
+       paragraph.
+
+2016-05-08  Dodji Seketeli <dodji@redhat.com>
+
+       Add several shortcuts to options for abicompat
+       * doc/manuals/abicompat.rst: Update documentation.
+       * tools/abicompat.cc (display_usage): Update help strings.
+       (parse_command_line): Add shortcuts --suppr, --appd, --libd1 and
+       --libd2.
+
+2016-05-08  Dodji Seketeli <dodji@redhat.com>
+
+       Update copyright year in tools/abicompat.cc
+       * tools/abicompat.cc: Update copyright years to 2016.
+
+2016-05-07  Dodji Seketeli <dodji@redhat.com>
+
+       Fix mention of tool's name in abidiff error message
+       * src/abg-tools-utils.cc (emit_prefix): Try to emit the prefix
+       only if the program name was provided.
+       * abidiff.cc (maybe_check_suppression_files): Pass the name of the
+       tool to the check_file function.
+
+2016-05-07  Dodji Seketeli <dodji@redhat.com>
+
+       Update copyright year on abg-comparison.h
+       * include/abg-comparison.h: Update copyright year.
+
+2016-05-08  Dodji Seketeli <dodji@redhat.com>
+
+       Doc not show classes' inherited members in apidoc
+       * doc/api/libabigail.doxy: Don't show inherited member functions
+       or variables of a given class.
+
+2016-05-08  Dodji Seketeli <dodji@redhat.com>
+
+       Fix typo in concept manual
+       * doc/manuals/libabigail-concepts.rst: Do not refer to abidiff
+       specifically for suppressions because several tools use
+       suppressions.
+
+2016-05-08  Dodji Seketeli <dodji@redhat.com>
+
+       Fix indentation in concepts manual
+       * doc/manuals/libabigail-concepts.rst: Fix indentation.
+
+2016-05-06  Dodji Seketeli <dodji@redhat.com>
+
+       Add some apidoc to dwarf_reader
+       * include/abg-dwarf-reader.h (namespace dwarf_reader): Add apidoc.
+       (enum elf_type): Add an apidoc for each enumerator.
+       * src/abg-dwarf-reader.cc (get_type_of_elf_file): Add an apidoc
+       for the 'type' parameter.
+
+2016-04-28  Dodji Seketeli <dodji@redhat.com>
+
+       [abipkgdiff] Show SONAME of removed/added libraries
+       * tools/abipkgdiff.cc (abi_diff::{added,removed}_binaries): Change
+       the type of these data member from vector<string> to
+       vector<elf_file_sptr>.
+       (compare): Adjust.  Show the soname of added/removed binaries.
+
+2016-04-27  Dodji Seketeli <dodji@redhat.com>
+
+       Bug 20015 - support file_name_not_regexp and soname_not_regexp in suppr specs
+       * include/abg-comparison.h
+       (suppression_base::{get,set}_file_name_not_regex_str): Declare new
+       member functions.
+       (suppression_base::{get,set}_soname_not_regex_str): Likewise.
+       (suppression_base::{names,sonames}_of_binaries_match): Likewise.
+       * src/abg-comparison.cc
+       (suppression_base::priv::get_file_name_regex): Fix comment.
+       (suppression_base::priv::get_file_name_not_regex): New member
+       function.
+       (suppression_base::priv::get_soname_regex): Fix comment.
+       (suppression_base::priv::get_soname_not_regex): New member
+       function.
+       (suppression_base::{get,set}_file_name_not_regex_str): Define new
+       member functions.
+       (suppression_base::{get,set}_soname_not_regex_str): Likewise.
+       (suppression_base::{names,sonames}_of_binaries_match): Likewise.
+       These got factorized out of type_suppression::suppresses_type,
+       function_suppression::suppresses_function,
+       function_suppression::suppresses_function_symbol,
+       variable_suppression::suppresses_variable,
+       variable_suppression::suppresses_variable_symbol.
+       (type_suppression::suppresses_type): Use the new
+       suppression_base::{names,sonames}_of_binaries_match.
+       (read_type_suppression): Read the new file_name_not_regexp and
+       soname_not_regexp properties.
+       (function_suppression::{suppresses_function,
+       suppresses_function_symbol}): Use the new
+       suppression_base::{names,sonames}_of_binaries_match.
+       (read_function_suppression): Read the new file_name_not_regexp and
+       soname_not_regexp properties.
+       (variable_suppression::{suppresses_variable,
+       variable_suppression::suppresses_variable_symbol}): Use the new
+       suppression_base::{names,sonames}_of_binaries_match.
+       (read_variable_suppression): Use the new
+       suppression_base::{names,sonames}_of_binaries_match.
+       * doc/manuals/libabigail-concepts.rst: Document the new
+       file_name_not_regexp and soname_not_regexp suppression properties.
+       * tests/data/test-diff-suppr/test24-soname-report-10.txt: New test
+       reference output.
+       * tests/data/test-diff-suppr/test24-soname-report-11.txt: Likewise.
+       * tests/data/test-diff-suppr/test24-soname-report-12.txt: Likewise.
+       * tests/data/test-diff-suppr/test24-soname-report-13.txt: Likewise.
+       * tests/data/test-diff-suppr/test24-soname-report-14.txt: Likewise.
+       * tests/data/test-diff-suppr/test24-soname-report-15.txt: Likewise.
+       * tests/data/test-diff-suppr/test24-soname-report-16.txt: Likewise.
+       * tests/data/test-diff-suppr/test24-soname-report-9.txt: Likewise.
+       * tests/data/test-diff-suppr/test24-soname-suppr-10.txt: New test input.
+       * tests/data/test-diff-suppr/test24-soname-suppr-11.txt: Likewise.
+       * tests/data/test-diff-suppr/test24-soname-suppr-12.txt: Likewise.
+       * tests/data/test-diff-suppr/test24-soname-suppr-13.txt: Likewise.
+       * tests/data/test-diff-suppr/test24-soname-suppr-14.txt: Likewise.
+       * tests/data/test-diff-suppr/test24-soname-suppr-15.txt: Likewise.
+       * tests/data/test-diff-suppr/test24-soname-suppr-16.txt: Likewise.
+       * tests/data/test-diff-suppr/test24-soname-suppr-9.txt: Likewise.
+       * tests/data/test-diff-suppr/test29-soname-report-2.txt: New test
+       reference output.
+       * tests/data/test-diff-suppr/test29-soname-report-3.txt: Likewise.
+       * tests/data/test-diff-suppr/test29-soname-report-4.txt: Likewise.
+       * tests/data/test-diff-suppr/test29-soname-report-5.txt: Likewise.
+       * tests/data/test-diff-suppr/test29-soname-report-6.txt: Likewise.
+       * tests/data/test-diff-suppr/test29-soname-report-7.txt: Likewise.
+       * tests/data/test-diff-suppr/test29-soname-report-8.txt: Likewise.
+       * tests/data/test-diff-suppr/test29-suppr-2.txt: New test input.
+       * tests/data/test-diff-suppr/test29-suppr-3.txt: Likewise.
+       * tests/data/test-diff-suppr/test29-suppr-4.txt: Likewise.
+       * tests/data/test-diff-suppr/test29-suppr-5.txt: Likewise.
+       * tests/data/test-diff-suppr/test29-suppr-6.txt: Likewise.
+       * tests/data/test-diff-suppr/test29-suppr-7.txt: Likewise.
+       * tests/data/test-diff-suppr/test29-suppr-8.txt: Likewise.
+       * tests/data/Makefile.am: Add the new test material to source
+       distribution.
+       * tests/test-diff-suppr.cc (in_out_specs): Make this test harness
+       run over the new test inputs.
+
+2016-04-27  Dodji Seketeli <dodji@redhat.com>
+
+       Make API documentation of thread pools visible
+       * include/abg-workers.h: Document the workers namespace, the task,
+       queue and queue::task_done_notify types.
+       * src/abg-workers.cc: Move the documentation of the thread_pool
+       module inside the abigail::worker namespace, so that references to
+       task and queue types (which are also in the abigail::worker
+       namespace) can be resolved in the apidoc.
+
+2016-04-27  Dodji Seketeli <dodji@redhat.com>
+
+       Update documentation to require doxygen and python-sphinx for building
+       * COMPILING: Add python-sphinx to the set of required packages to
+       build the documentation.
+       * doc/website/mainpage.txt: Update the website to mention doxygen
+       and python-sphinx for documentation.
+
+2016-04-27  Dodji Seketeli <dodji@redhat.com>
+
+       Add doc, info, man and html-doc targets to generate documentation
+       * Makefile.am: Add info, man and html-doc targets to generate
+       documentation in info, man and html formats.  If you want to
+       generate them all, then the doc target is the one to be used.
+       * COMPILING: Add documentation for the above.
+
+2016-04-25  Dodji Seketeli <dodji@redhat.com>
+
+       Bug 19964 - Cannot load function aliases on ppc64
+       * src/abg-dwarf-reader.cc (read_context::load_symbol_maps): While
+       filling the ppc64-specific "function-entry-address => symbol" map,
+       if we stumble accross a function-entry-address that belongs to an
+       alias of 'symbol', then assume the alias must have been registered
+       as an alias already, by the platform-agnostic code.  Do not try to
+       register the alias again.
+       * tests/data/Makefile.am: Add the new test input binaries to the
+       source distribution.
+       * tests/data/test-diff-dwarf/libtest36-ppc64-aliases-v0.so: New
+       binary test input.
+       * tests/data/test-diff-dwarf/libtest36-ppc64-aliases-v1.so: Likewise.
+       * tests/data/test-diff-dwarf/test36-ppc64-aliases-report-0.txt:
+       New test reference output.
+       * tests/data/test-diff-dwarf/test36-ppc64-aliases-v0.cc: Source
+       code for the new binary test input above.
+       * tests/data/test-diff-dwarf/test36-ppc64-aliases-v1.cc: Likewise.
+       * tests/test-diff-dwarf.cc: Add the new test input to the list of
+       test inputs considered by this test harness.
+
+2016-04-20  Sinny Kumari <sinny@redhat.com>
+
+       Bug 19961 - Distinguish between PI executable and shared library
+       * include/abg-dwarf-reader.h (elf_type): Add new enumerator
+       ELF_TYPE_PI_EXEC.
+       * src/abg-dwarf-reader.cc
+       (lookup_data_tag_from_dynamic_segment): New function for
+       data tag lookup in dynamic segment of an elf
+       (elf_file_type): Return ELF_TYPE_PI_EXEC file type for
+       a PI executable.
+       (get_elf_file_type): Change this to take an elf handle.
+       (get_type_of_elf_file): New function that got factorized out of ...
+       (load_dt_soname_and_needed): ... this one.
+       * tools/abipkgdiff.cc (create_maps_of_package_content): Also
+       consider ELF_TYPE_PI_EXEC file type.
+       (compare): Likewise.
+       * tests/test-diff-pkg.cc (in_out_specs): Test case additions
+       * tests/data/Makefile.am: Include test files
+       * tests/data/test-diff-pkg/tarpkg-1-dir1.tar.gz: New test data
+       * tests/data/test-diff-pkg/tarpkg-1-dir2.tar.gz: New test data
+       * tests/data/test-diff-pkg/tarpkg-1-report-0.txt: New test result
+
+2016-04-17  Dodji Seketeli <dodji@redhat.com>
+
+       Update website to 1.0.rc4
+       * doc/website/mainpage.txt: Update tarball reference to 1.0.rc4
+
+2016-04-17  Dodji Seketeli <dodji@redhat.com>
+
+       Bump current version number to 1.0.rc5
+       * configure.ac: Bump current version number to 1.0.rc5
+
+2016-04-17  Dodji Seketeli <dodji@redhat.com>
+
+       Add a 'release' target to main Makefile
+       * Makefile.am: Add tarball, upload-release-only, upload-release
+       and release targets.
+
 2016-04-11  Dodji Seketeli <dodji@redhat.com>
 
        Update ChangeLog for 1.0.rc4