ABI Compliance Checker - Change Log
Thanks to all for reporting issues so the tool can continue to be improved!
Version 1.23.3 (June 21, 2011)
abi-compliance-checker-1.23.3.tar.gz
This is a next bug fix release. Tested on 330 libraries
- Bug Fixes:
- Corrected exit codes: 0 - compatible, 1 - incompatible, 2 - error, ... (#1351)
- Corrected description meta tag in HTML reports.
- Corrected diagnostic messages for C++ functions with changed signature (#1361)
- Fixed regression with C++ non-member functions (#1368)
- Removed false positive with overridden private methods (#1369)
- Corrected functionality for checking binary compatibility of operating systems
- Removed false positive for removed default version of a symbol (#1386)
Version 1.23 (June 07, 2011)
abi-compliance-checker-1.23.tar.gz
This release is sponsored by Nokia.
- New Features:
- Added 42 compatibility checks (total: 83)
- Improved diagnostics of compatibility problems
- Opened an issue tracker
- Support for cross-compilers
- Ported to Mac OS X (10.5) and MS Windows (Xp, Vista, 7)
- Added a viewer of "real" v-table layouts for changed C++ classes
- Added functionality to check OS backward compatibility
- Supports for old-version dump formats (>=1.18)
- Separated versioning of dump formats
- Improved design of the compatibility report
- Improved performance
- Support for old GCC 3.4.4
- New Options:
- -cross-gcc: support for cross-compilers
- -sysroot: specify the alternative system root directory
- -dump-system, -cmp-systems: checking OS backward compatibility
- -use-dumps: check for compatibility using the intermediate dumping
- -show-retval: show symbol's return value type in the report
- -old-dumps: support for old-version dumps
- -test-dump: test for dumping functionality
- -report-path: change the location of output compatibility report
- -dump-path: change the location of output ABI dump
- -log1-path, -log2-path: change the location of output logs
- Bug Fixes:
- Reduced false positives
- Support for C-headers containing C++ keywords
- Corrected automatic include paths for headers
Version 1.21.12 (April 29, 2011)
abi-compliance-checker-1.21.12.tar.gz (previous bug-fix releases: 1.21.9, 1.21.6)
This is a next bug fix release. Tested on 280 libraries.
- Bug Fixes:
- Corrected automatic detection of include paths for header files.
- Removed false positives with overridden virtual functions.
- Corrected processing of typedef type names, fixed potential program hangup.
- Added some missed problems relating to the return type changes of a function.
- Corrected processing of a translation unit dump generated by modern GCC versions.
- Corrected identifying of inline functions (using the -fkeep-inline-functions GCC option).
- Corrected parser for C++: analysis of const global data and functions inside a namespace.
- Corrected names and v-table checks for template types.
- Corrected checks for changes in enumerations.
- Corrected ABI dumping and sorting of dumps.
- Corrected analysis of added/removed virtual functions.
- Corrected help message and documentation.
- Documentation has been moved to "doc/" subdirectory.
- Using File::Temp for storing temporary files.
- Support for latest GCC 4.6.0 and old GCC v3.x series.
- Fixed infinite loop finding the path for "which" command in the system.
- Corrected distinction of descriptor kinds (headers, libraries, directories and XML-descriptors).
- Corrected processing of <include_paths> section in the XML-descriptors.
Version 1.21 (August 19, 2010)
abi-compliance-checker-1.21.tar.gz
This release includes many improvements and bug fixes. Tested on 155 libraries.
- New Features:
- Added --check-implementation option: compare disassembled binary code to detect changes in the interface implementation.
- Added --objects-only option: compare shared objects without header files.
- Added --v1 and --v2 options: specify version number outside the descriptor.
- Improved help message.
- Improved performance of the tool.
- Removed template instances and stdc++ interfaces from the report (C++).
- Added README.html and CHANGES.html to the package.
- Bug Fixes:
- Corrected ABI compatibility report.
- Corrected interface names and versions in the report.
- Corrected number of problems in report summary.
- Corrected ABI dump.
Version 1.20 (August 30, 2010)
abi-compliance-checker-1.20.tar.gz
This is a next bug fix release. Tested on 145 libraries.
- Bug Fixes:
- Corrected reports about added/withdrawn members in the structure types and added/withdrawn parameters.
- Corrected report about added/withdrawn virtual functions if -headers_only option specified.
- Corrected processing of header paths containing special characters.
- New Features:
- Added <defines> section to the library descriptor: this section allows to add defines at the headers compiling stage.
Version 1.19 (July 22, 2010)
Abi-compliance-checker-1.19.tar.gz
This is a next bug fix release with several new features. Tested on 130 libraries.
- Bug Fixes:
- Removed duplicated problems from the report.
- Corrected names of the template instances.
- Corrected checking of reference type changes.
- Corrected titles in the report.
- Corrected size of some array types.
- Corrected checking of added/withdrawn members in the structure types with reserved members.
- Corrected checking of added/withdrawn parameters.
- New Features:
- Added --library_full_name option to display full library name in title of the report.
- Added --relpath option for replacing the {RELPATH} in the descriptor for ABI dumping.
- Added <skip_libs> section to the library descriptor: this section contains a list of shared objects and/or directories with shared objects that should not be processed.
- Improved performance on big libraries.
Version 1.18 (June 25, 2010)
Abi-compliance-checker-1.18.tar.gz
This is generally a bug fix release. Tested on 100 libraries.
- New Features:
- Added --relpath1 and --relpath2 options for replacing the {RELPATH} in the descriptors. Old option -relpath was removed.
- Added <add_include_paths> section to the library descriptor: this section contains a list of include paths that should be added to the automatically detected include paths.
- Bug Fixes:
- Added some previously missed compatibility problems in the report.
- Corrected techniques for auto-detection of header file dependencies (include paths).
- Removed problems relating to the changes in the temporary header files.
- Corrected interface signatures in the report.
- Corrected checking of added/withdrawn parameters.
- Corrected changes in the virtual tables of the libraries with symbol versioning.
- Corrected checking of complex namespaces changes (C++).
- Added namespaces information to the ABI dump.
Version 1.17.2 (June 16, 2010)
Abi-compliance-checker-1.17.2.tar.gz
This intermediate release includes several bug fixes.
- Bug Fixes:
- Repaired --separately option.
- Corrected permissions of LICENSE file.
- Corrected tool description.
Version 1.17.1 (June 09, 2010)
Abi-compliance-checker-1.17.1.tar.gz
This intermediate release includes critical bug fixes.
- New Features:
- Added --relpath option for adding prefixes to the paths in the library descriptor.
- Bug Fixes:
- Corrected checking of added/withdrawn parameters.
- Corrected processing of mixed C/C++ header sets.
- Corrected checking of parameter type changes.
Version 1.17 (June 08, 2010)
Abi-compliance-checker-1.17.tar.gz
This is generally a bug fix release. Tested on 75 libraries.
- New Features:
- Visualizing of the serious changes (added/withdrawn parameters) in the interface signature.
- Recursive analysis of constant changes.
- Separated stderr and stdout streams of the tool.
- Added <skip_constants> section to the library descriptor for skipping checks of some constants.
- Added --params option for adding function parameter names to the report.
- Bug Fixes:
- Corrected analysis of virtual table layout changes.
- Corrected analysis of parameter type changes.
- Corrected complex array type names.
- Corrected typedef names.
- Corrected analysis of structure layout changes.
- Fixed tool hanging on some C++ headers (with many namespaces).
- Corrected analysis of Glibc headers.
- Corrected analysis of library language changes (if added some C++ headers).
- Corrected descriptions of some compatibility problems.
- Corrected analysis of added/withdrawn parameters in C headers.
Version 1.16 (May 05, 2010)
Abi-compliance-checker-1.16.tar.gz
This release includes many bug fixes and new features after integration to the Upstream Tracker system.
- New Features:
- Added --strict option for treating all compatibility warnings as problems.
- Added --dumpversion option for printing tool version and don't do anything else.
- Ignoring hidden .svn, .git, .bzr, .hg, and CVS directories.
- Improved header files sorting for protecting from compilation errors on the intermediate phase of temporary header file compilation.
- Improved techniques for auto-detection of header file dependencies (include paths).
- Ignoring problems related to changes of constants (defines) describing library version (*_VERSION_*, *_COPYRIGHT_* and other).
- New internal test cases.
- Bug Fixes:
- Checking of some previously missed C++ namespaces.
- Removed hidden "void const** __vtt_parm" parameters from signatures of some constructors.
- Corrected dumping of C++ classes ABI.
- Corrected checking of pure virtual destructors.
- Removed unnecessary built-in constants from the ABI dump.
Version 1.15 (March 26, 2010)
Abi-compliance-checker-1.15.tar.gz
This is generally a bug fix release with the changed license.
- New Features:
- The license was changed to dual GNU GPL and LGPL.
- Added <skip_headers> section in the descriptor.
- Bug Fixes:
- Corrected processing of <include_paths> section in the descriptor.
- Corrected processing of relative paths in the <headers> and <include_paths> sections.
- Directory with temporary files renamed from "temp" to hidden ".tmp_dir".
- Corrected processing of shared object dependencies.
- Corrected processing of some previously missed functions and conversion operators in C++.
- Corrected internal test suite.
- Corrected some error messages.
Version 1.14 (March 03, 2010)
Abi-compliance-checker-1.14.tar.gz
- New Features:
- Added techniques for auto-detection of header file dependencies (include paths). Now providing of <include_paths> section in the descriptor is not necessary.
- Ported to FreeBSD and Haiku.
- Added check for gcc/g++ version (>=3.0.0).
- Added sorting of interface problems by namespace in the report (C++).
- Improved internal test suite.
- Added log for describing tool actions and occurred errors.
- Added exit error code (high/medium risk for ABI break).
- Bug Fixes:
- Corrected ABI dumping.
- Corrected styles in the report design.
Version 1.13 (February 16, 2010)
Abi-compliance-checker-1.13.tar.gz
This is generally a bug fix release.
- Bug fixes:
- Corrected processing of tab characters in the descriptor.
- Corrected help message.
- Corrected descriptor template structure.
- Corrected error and warning messages.
- Corrected processing of shared object dependencies.
- New features:
- Added -version option.
Version 1.12 (December 04, 2009)
Abi-compliance-checker-1.12.tar.gz
This is generally a bug fix release.
- Bug fixes:
- Corrected classification of compatibility problems in the report.
- Priority of problems related to changes in the methods object was reduced.
- Corrected complex template type names.
- New features:
- New help message.
- Highlighting of [in-charge], [not-in-charge] constructors and destructors in the report was improved.
- New option -time for enabling time measurements.
- New internal test cases.
Version 1.11 (November 10, 2009)
Abi-compliance-checker-1.11.tar.gz
- New Features:
- Added ability to check portability of applications to the new library version ( --app option ).
- Memory usage decreased twice.
- Bug fixes:
- Corrected checking of added middle structure members.
- Corrected names of template types (with intrinsic, bool and string parameters).
- Corrected highlighting of function signatures in the report.
Version 1.10 (November 02, 2009)
Abi-compliance-checker-1.10.tar.gz
- New Features:
- Checking added/dropped function parameters (C language only).
- Improvements in the design of ABI compliance report.
- New internal test cases.
- Bug fixes:
- Incorrect checking of redefined virtual functions and differences in parameter types.
- More careful checking of withdrawn interfaces using shared library dependencies.
Version 1.9 (October 12, 2009)
Abi-compliance-checker-1.9.tar.gz
- Improvements in the design of ABI compliance report.
- Improvements in the algorithms for checking parameter/member type change.
- Fixed incorrect names of typedefs and function pointer types.
- Checking of some previously missed C++-functions.
- Removed some false positives from the report (for anon-types).
- New internal test cases.
Version 1.8 (September 29, 2009)
Abi-compliance-checker-1.8.tar.gz
It is the bug fix release after integration to the Moblin SigChk
and testing of Moblin-2.0 libraries for ABI compliance with Ubuntu-Moblin-Remix-9.10 libraries.
- Bug fixes:
- Size of ABI info dumps have been reduced through removing of unnecessary information.
- Incorrect names of template instances and function pointer types.
- Incorrect positions of function parameters in the section 'Interface Problems' in the report.
- Removed some false positives from the report.
- Incorrect handling of special symbols in the paths to header files and shared objects.
- New features:
- Added ability to specify a file with a list of interfaces that should be checked.
Version 1.7 (September 11, 2009)
Abi-compliance-checker-1.7.tar.gz
- New features:
- Checking of incorrect symbols versioning.
- Checking the values of defines (constants).
- Ability to check header files without shared objects. It is easy to run, but may provide a low quality ABI compliance report
with a lot of false positives and without detecting of added/withdrawn interfaces. - Number of checked interfaces and data types in the report.
- Added tests for checking new features.
- Bug fixes:
- Incorrect processing of duplicated headers in the input set (headers with the same name but different paths).
- Incorrect header files include order.
- Sorting in the ABI dumps.
- Incorrect processing of redefined virtual methods.
- Incorrect processing of anon types.
- Absence of some necessary information about C++-functions in the ABI dumps.
Version 1.6 (August 31, 2009)
Abi-compliance-checker-1.6.tar.gz
- Incorrect processing of relative paths in library descriptors has been corrected.
- Displaying of machine hardware name instead of processor type in the ABI compliance report.
- Many grammar/spelling errors have been fixed.
- Section <internal_interfaces> in the library descriptor has been renamed to <skip_interfaces>.
- Cosmetic changes in the code.
Version 1.5 (August 25, 2009)
Abi-compliance-checker-1.5.tar.gz
- Section <internal_functions> in the library descriptor has been renamed to <internal_interfaces>
- ABI dump has been renamed to *.abi.tar.gz (previously it was *.info.tar.gz)
- Absent information about opaque types and internal interfaces has been added to the ABI dump
- Some errors in the design of ABI compliance report have been fixed
- Some glaring grammar/spelling errors have been fixed
- Incorrect interface names in ABI compliance report have been corrected (for -separately option)
Version 1.4 (August 18, 2009)
Abi-compliance-checker-1.4.tar.gz
- Added ability to check ABI compliance of library versions placed on different machines
- Header files checking mode by default has been changed: checking all header files together instead of separate checking
- The following bugs have been fixed:
- Incorrect description for affected interfaces
- Incorrect virtual table checking
Version 1.3 (August 14, 2009)
Abi-compliance-checker-1.3.tar.gz
This is the bug fix release. The following bugs have been fixed:
- Incorrect number of binary compatibility problems in the report summary.
- Incorrect design of problem descriptions in the report.
Version 1.2 (August 07, 2009)
Abi-compliance-checker-1.2.tar.gz
New email address for bug reports and feature requests.
Version 1.1 (August 06, 2009)
Abi-compliance-checker-1.1.tar.gz
Design of the ABI compliance report has been greatly improved.
Version 1.0 (July 31, 2009)
Abi-compliance-checker-1.0.0.tar.gz
Initial prototype.