aboutsummaryrefslogtreecommitdiff
path: root/doc/Changelog.html
diff options
context:
space:
mode:
authorAndrey Ponomarenko <aponomarenko@rosalab.ru>2015-08-13 20:14:50 +0300
committerAndrey Ponomarenko <aponomarenko@rosalab.ru>2015-08-13 20:14:50 +0300
commitd48d972d47a4159bb67f7d741614fbf9851c3887 (patch)
tree2aa69c07a3dc70222f6868a13296ad3a65539d99 /doc/Changelog.html
parent52b2e35f3dfda9369631beeb5d5480df65c47950 (diff)
downloadabi-compliance-checker-d48d972d47a4159bb67f7d741614fbf9851c3887.tar.gz
New documentation.
Diffstat (limited to 'doc/Changelog.html')
-rw-r--r--doc/Changelog.html1887
1 files changed, 1887 insertions, 0 deletions
diff --git a/doc/Changelog.html b/doc/Changelog.html
new file mode 100644
index 0000000..f782e31
--- /dev/null
+++ b/doc/Changelog.html
@@ -0,0 +1,1887 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
+<head>
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
+ <meta name="description" content="Changelog for ABI Compliance Checker" />
+ <title>ABI Compliance Checker: History</title>
+
+ <style type="text/css">
+ body {
+ margin-top: 1.0em;
+ background-color: #deeef7;
+ font-family: Helvetica, Arial, FreeSans, san-serif;
+ color: #000000;
+ }
+ #container {
+ margin: 0 auto;
+ width: 700px;
+ }
+ h1 { font-size: 3.8em; color: #211108; margin-bottom: 3px;margin-top:0px;padding-top:0px;}
+ h1 .small { font-size: 0.4em; }
+ h1 a { text-decoration: none }
+ h2 { font-size: 1.5em; color: #211108; }
+ h3 { text-align: center; color: #211108; }
+ a { color: #211108; }
+ .description { font-size: 1.2em; margin-bottom: 30px; margin-top: 30px; font-style: italic;}
+ .download { float: right; }
+ pre {padding: 0px;margin: 0px;padding-left: 10px;word-wrap:break-word;white-space: pre-wrap;}
+ hr { border: 0; width: 80%; border-bottom: 1px solid #aaa}
+ .footer { text-align:center; padding-top:30px; font-style: italic; }
+ .code {border: dashed 1px gray; background-color: #f0f0f0;}
+ .listing {padding: 10px;border: 1px solid black;width: 70%;font-family:"DejaVu Sans Mono", "Monaco", "Courier New", monospace;font-size:14px;}
+ .summary {border:1px solid black;border-collapse:collapse;}
+ table.summary td, table.summary th {border:1px solid black;padding:2px;}
+ </style>
+
+</head>
+
+<body>
+<a href="https://github.com/lvc/abi-compliance-checker"><img style="position: absolute; top: 0; right: 0; border: 0;" src="http://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" alt="Fork me on GitHub" /></a>
+
+<div id="container">
+
+<h1>ABI Compliance<br/>Checker: History</h1>
+<p/>
+<br/>
+
+<b>Version 1.99.9 (January 23, 2014)</b><br/>
+<b>New Options</b>
+<ul>
+ <li>
+ -skip-internal: do not check internal interfaces matched by the pattern
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Fixed duplicated entries in the XML report
+ </li>
+ <li>
+ Reduced size of the XML report
+ </li>
+ <li>
+ Fixed duplicated problems related to changed size of a global data
+ </li>
+ <li>
+ Options -v1 and -v2 can now be used when comparing ABI dumps to change library versions shown in the report
+ </li>
+ <li>
+ Fixed false positives with the size change of a template instance type
+ </li>
+ <li>
+ Fixed false positives with the change of a parameter/field type name
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.99.8.5 (October 03, 2013)</b><br/>
+<b>Improvements</b>
+<ul>
+ <li>
+ Optimized performance and memory usage (up to 90%) on input objects with a huge number of changes and deep data type trees (e.g. Linux kernel)
+ </li>
+ <li>
+ Partial support for GCC 4.8.{0-1}, waiting for a fix for the bug <a href='http://gcc.gnu.org/bugzilla/show_bug.cgi?id=57850'>57850</a> in the next GCC versions
+ </li>
+ <li>
+ Support for incomplete ABI dumps
+ </li>
+</ul>
+<b>New Options</b>
+<ul>
+ <li>
+ -affected-limit
+ </li>
+ <li>
+ -cpp-incompatible
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Fixed identification of template constructors and destructors
+ </li>
+ <li>
+ Do not show "this" first argument of methods in the report
+ </li>
+ <li>
+ Corrected descriptions of affected symbols in the report
+ </li>
+ <li>
+ Fixed false alarms on changed offset of parameters
+ </li>
+ <li>
+ Do not hang on class A&lt;N&gt;:public A&lt;N-1&gt;
+ </li>
+ <li>
+ Corrected identification of header files in the include_preamble
+ </li>
+ <li>
+ Corrected comparison of function pointer types
+ </li>
+ <li>
+ Corrected rule Global_Data_Size
+ </li>
+</ul>
+<b>Other</b>
+<ul>
+ <li>
+ Code refactoring
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.99.7 (July 01, 2013)</b><br/>
+<b>Improvements</b>
+<ul>
+ <li>
+ Added missed fields of template instance types to the ABI dump
+ </li>
+ <li>
+ Improved support for old ABI dumps
+ </li>
+ <li>
+ Added Struct_Field_Size_Increased rule
+ </li>
+ <li>
+ Support for vector types (GCC extension)
+ </li>
+ <li>
+ Removed duplicates from the ABI dump
+ </li>
+ <li>
+ Corrected visualization of v-table content in the report
+ </li>
+ <li>
+ Corrected identification of target headers
+ </li>
+ <li>
+ Corrected source-compatibility check
+ </li>
+ <li>
+ Performance optimization (5%)
+ </li>
+</ul>
+<b>New Options</b>
+<ul>
+ <li>
+ -check - to check completeness of the ABI dump
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Fixed default arguments of methods (broken in 1.99.1 due to added "this" parameter)
+ </li>
+</ul>
+<b>Other</b>
+<ul>
+ <li>
+ Extended test suite
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.99.1 (June 07, 2013)</b><br/>
+<b>Improvements</b>
+<ul>
+ <li>
+ Support for ABI Dumper 0.97
+ </li>
+ <li>
+ Show added/removed inline virtual functions in the binary compatibility report
+ </li>
+ <li>
+ Added "this" hidden parameter to non-static class methods in the ABI dump
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Fixed XmlDump module
+ </li>
+ <li>
+ Fixed CallConv module
+ </li>
+</ul>
+<b>Other</b>
+<ul>
+ <li>
+ Support for old ABI dumps
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.99 (May 24, 2013)</b><br/>
+<b>Improvements</b>
+<ul>
+ <li>
+ Support for ABI Dumper 0.95
+ </li>
+ <li>
+ Added 14 binary-compatibility rules
+ </li>
+ <li>
+ Added 10 source-compatibility rules
+ </li>
+ <li>
+ Improved model of type alignment
+ </li>
+ <li>
+ Changed version of ABI dump format to 3.0
+ </li>
+ <li>
+ Added _vptr member to virtual classes
+ </li>
+ <li>
+ Added constants defined by GCC to ABI dump
+ </li>
+ <li>
+ Improved analysis of constants
+ </li>
+</ul>
+<b>New Options</b>
+<ul>
+ <li>
+ -skip-symbols
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Increased severity of Field_Became_Non_Mutable rule
+ </li>
+</ul>
+<b>Other</b>
+<ul>
+ <li>
+ Support for old ABI dumps
+ </li>
+ <li>
+ Extended test suite (+11 test cases)
+ </li>
+ <li>
+ Code cleaning
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.98.8 (February 07, 2013)</b><br/>
+<b>Improvements</b>
+<ul>
+ <li>
+ Show added and removed constants (#defines) in the report
+ </li>
+ <li>
+ Show changes in unnamed enumerations
+ </li>
+ <li>
+ Avoid false alarm about renamed field if old name of this field is defined to new (SC)
+ </li>
+ <li>
+ Recursive comparing of structured data types in *_Format rules
+ </li>
+ <li>
+ Added Typedef_BaseType_Format rule to check format changes in the typedef base type
+ </li>
+</ul>
+<b>New Options</b>
+<ul>
+ <li>
+ -tolerant
+ </li>
+ <li>
+ -tolerance
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Increased severity of Parameter_BaseType_And_Size BC rule (Low to Medium)
+ </li>
+ <li>
+ Increased severity of Added_Field SC rule (Safe to Low)
+ </li>
+ <li>
+ Corrected handling of the tool error codes in the test suite
+ </li>
+ <li>
+ Corrected handling of relative paths in the descriptor options
+ </li>
+ <li>
+ Skipping linker-related options in gcc_options option of the descriptor
+ </li>
+ <li>
+ Corrected internal mangler for C++ functions
+ </li>
+ <li>
+ Corrected conditions for enabling of C++ compatibility mode
+ </li>
+ <li>
+ Corrected handling of C++ keywords in C-code
+ </li>
+ <li>
+ Corrected -extended option
+ </li>
+ <li>
+ Corrected Typedef_BaseType rule
+ </li>
+ <li>
+ Corrected parsing of default function arguments
+ </li>
+ <li>
+ Do not check presence of archive utilities if not used
+ </li>
+ <li>
+ Other fixes
+ </li>
+</ul>
+<b>Other</b>
+<ul>
+ <li>
+ Extended test suite
+ </li>
+ <li>
+ Code cleaning
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.98.7 (December 14, 2012)</b><br/>
+<b>Improvements</b>
+<ul>
+ <li>
+ Extended extra info dumped by -extra-info option
+ </li>
+ <li>
+ Extended additional info dumped by -extra-dump option
+ </li>
+ <li>
+ Added specifiers for structs, unions and enums in the report and ABI dump
+ </li>
+ <li>
+ Improved support for old ABI dumps
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Corrected -debug option
+ </li>
+ <li>
+ Corrected creating of archives with ABI dumps
+ </li>
+ <li>
+ Corrected parsing of includes in header files
+ </li>
+ <li>
+ Corrected processing of undefined symbols
+ </li>
+ <li>
+ Corrected -app option
+ </li>
+ <li>
+ Corrected processing of default paths to system libraries
+ </li>
+ <li>
+ Corrected Makefile
+ </li>
+ <li>
+ Other fixes
+ </li>
+</ul>
+<b>Other</b>
+<ul>
+ <li>
+ Code cleaning and refactoring
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.98.6 (December 04, 2012)</b><br/>
+<b>Improvements</b>
+<ul>
+ <li>
+ Extended -extra-info and -extra-dump options
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Corrected processing of input XML descriptor
+ </li>
+ <li>
+ Corrected "Parameter_Default_Value_Removed" rule
+ </li>
+ <li>
+ Other fixes
+ </li>
+</ul>
+<b>Other</b>
+<ul>
+ <li>
+ Code cleaning
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.98.5 (November 30, 2012)</b><br/>
+<b>Improvements</b>
+<ul>
+ <li>
+ Support for Mac OS X 10.8
+ </li>
+ <li>
+ Support for OpenBSD
+ </li>
+ <li>
+ Support for old GCC versions &lt;= 4.2
+ </li>
+ <li>
+ Added "throw" and "weak" attributes of methods to ABI dump
+ </li>
+</ul>
+<b>New Options</b>
+<ul>
+ <li>
+ -extra-info
+ </li>
+ <li>
+ -extra-dump
+ </li>
+ <li>
+ -force
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Corrected order of user-defined include paths
+ </li>
+ <li>
+ Corrected internal C++ mangler
+ </li>
+ <li>
+ Removed false positives of the "Parameter_Type_Format" rule
+ </li>
+ <li>
+ Other fixes
+ </li>
+</ul>
+<b>Other</b>
+<ul>
+ <li>
+ Extended test suite
+ </li>
+ <li>
+ Code cleaning
+ </li>
+ <li>
+ Docs cleaning
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.98.4 (October 18, 2012)</b><br/>
+<b>Improvements</b>
+<ul>
+ <li>
+ Optimization of memory usage (5%-10%) and performance (5%-10%)
+ </li>
+ <li>
+ Added "Used Reserved Field" rule of binary compatibility analysis
+ </li>
+ <li>
+ Improved design of the operating system compatibility report
+ </li>
+ <li>
+ Added meta descriptors for 334 libraries
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Fixed an issue with diagnostics of added virtual functions
+ </li>
+ <li>
+ Corrected the list of functions affected by the compatibility problem
+ </li>
+ <li>
+ Avoid false alarm about removed function if this function became macro (SC)
+ </li>
+ <li>
+ Corrected parser of C header files
+ </li>
+ <li>
+ Other fixes
+ </li>
+</ul>
+<b>Other</b>
+<ul>
+ <li>
+ Extended test suite
+ </li>
+ <li>
+ Code cleaning
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.98.3 (July 19, 2012)</b><br/>
+<b>Improvements</b>
+<ul>
+ <li>
+ Implemented a model of calling conventions on x86 and x86_64
+ </li>
+ <li>
+ Improved diagnostics of changes in function parameters and return value (distribution on registers and stack)
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Corrected parser of C++ header files to detect non-member functions inside namespaces
+ </li>
+</ul>
+<b>Other</b>
+<ul>
+ <li>
+ Added requirement for Ctags (5.8 or newer)
+ </li>
+ <li>
+ Code cleaning
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.98.2 (June 26, 2012)</b><br/>
+<b>Improvements</b>
+<ul>
+ <li>
+ Support for reading ABI dumps in XML format
+ </li>
+ <li>
+ Automatic enabling of c++0x support if needed to compile headers
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Corrected XML and Perl (default) formats of ABI dumps
+ </li>
+ <li>
+ Improved support for old ABI dumps
+ </li>
+ <li>
+ Improved -dump-system option
+ </li>
+</ul>
+<b>Other</b>
+<ul>
+ <li>
+ Improved documentation
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.98.1 (June 18, 2012)</b><br/>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Removed symbols marked as LOCAL in a shared library from lists of added/removed symbols in source-compatibility report
+ </li>
+ <li>
+ Fixed a false positive with some removed extern "C" symbols in source-compatibility report
+ </li>
+ <li>
+ Fixed a bug with removed debug/ directory when using -use-dumps and -debug options together
+ </li>
+ <li>
+ Added support for "skip_including" section of target system XML descriptors (modules/Targets) used by -dump-system option
+ </li>
+ <li>
+ Extended XML ABI dumps by size attribute of library symbols
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.98.0 (June 14, 2012)</b><br/>
+<b>New Features</b>
+<ul>
+ <li>
+ Implemented XML format of ABI dumps
+ </li>
+</ul>
+<b>New Options</b>
+<ul>
+ <li>
+ -dump-format
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Improved support for old ABI dumps
+ </li>
+ <li>
+ Other fixes
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.97.8 (June 08, 2012)</b><br/>
+<b>Improvements</b>
+<ul>
+ <li>
+ Redesigned format of ABI dump
+ </li>
+ <li>
+ Optimization of memory usage (5%-10%) and performance (5%-10%)
+ </li>
+ <li>
+ Improved support for GCC 4.0-4.5
+ </li>
+ <li>
+ Added "add_namespaces" section of the XML descriptor
+ </li>
+</ul>
+<b>New Options</b>
+<ul>
+ <li>
+ -open
+ </li>
+ <li>
+ -sort
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Improved support for old ABI dumps
+ </li>
+ <li>
+ Fixed a bug with auto-detection of include paths when comparing two XML descriptors
+ </li>
+ <li>
+ Corrected output of -debug option
+ </li>
+ <li>
+ Corrected -dump-system and -cmp-systems options
+ </li>
+ <li>
+ Other fixes
+ </li>
+</ul>
+<b>Other</b>
+<ul>
+ <li>
+ Code cleaning
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.97.5 (May 14, 2012)</b><br/>
+<b>Improvements</b>
+<ul>
+ <li>
+ Extended ABI dumps by source-level type declarations
+ </li>
+ <li>
+ Improved support for old ABI dumps
+ </li>
+ <li>
+ Optimization of memory usage (20%-30%) and performance (10%-20%)
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Corrected auto-detection of a set of target headers to check/dump in -headers-only mode
+ </li>
+ <li>
+ Other fixes
+ </li>
+</ul>
+<b>Other</b>
+<ul>
+ <li>
+ Extended regression test suite
+ </li>
+ <li>
+ Code cleaning
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.97.4 (April 16, 2012)</b><br/>
+<b>New Features</b>
+<ul>
+ <li>
+ Added 16 new binary-compatibility rules
+ </li>
+ <li>
+ Added 17 new source-compatibility rules
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Added some missed typedef types to function signatures
+ </li>
+</ul>
+<b>Other</b>
+<ul>
+ <li>
+ Improved support for old ABI dumps
+ </li>
+ <li>
+ Support for GCC 4.7
+ </li>
+ <li>
+ Extended regression test suite
+ </li>
+ <li>
+ Code cleaning
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.97.3 (April 03, 2012)</b><br/>
+<b>Completed Tasks</b>
+<ul>
+ <li>
+ Implement source-level compatibility checks
+ </li>
+ <li>
+ Implement 2.0 architecture
+ </li>
+</ul>
+<b>New Features</b>
+<ul>
+ <li>
+ Added -browse=PROG option
+ </li>
+ <li>
+ Added -xml alias option for --report-format=xml
+ </li>
+ <li>
+ Added -binary option to generate binary-compatibility report only
+ </li>
+ <li>
+ Added -source option to generate source-compatibility report only
+ </li>
+ <li>
+ Added -bin-report-path option: path to binary-compatibility report
+ </li>
+ <li>
+ Added -src-report-path option: path to source-compatibility report
+ </li>
+</ul>
+<b>Other Features</b>
+<ul>
+ <li>
+ Improved debug mode (-debug)
+ </li>
+ <li>
+ Improved mark-up of the HTML report
+ </li>
+ <li>
+ Improved mark-up of the HTML report
+ </li>
+ <li>
+ Improved support for old ABI dumps
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Corrected ABI dumps
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.96.8 (February 17, 2012)</b><br/>
+<b>Completed Tasks</b>
+<ul>
+ <li>
+ Implement XML format of compatibility report
+ </li>
+ <li>
+ Testing on MeeGo 1.2 Harmattan Beta2
+ </li>
+</ul>
+<b>New Features</b>
+<ul>
+ <li>
+ Added hidden statistics line to compatibility report for operating systems
+ </li>
+ <li>
+ Added -headers-list option
+ </li>
+ <li>
+ Added -lang option
+ </li>
+ <li>
+ Support for symbolic links in /usr/include and /usr/lib
+ </li>
+ <li>
+ Added "skip_include_paths" section of the XML-descriptor
+ </li>
+ <li>
+ Added "skip_including" section of the XML-descriptor
+ </li>
+ <li>
+ Added -list-affected option to create plain list of incompatible symbols
+ </li>
+ <li>
+ Added -quiet option to print all errors and warnings to the log file instead of stderr and stdout
+ </li>
+ <li>
+ Added -stdout option to print results to stdout
+ </li>
+ <li>
+ Added an option to check binary compatibility in the extended sense
+ </li>
+ <li>
+ Improve diagnostic messages for added base classes with virtual functions
+ </li>
+ <li>
+ Added -update option to installer
+ </li>
+ <li>
+ Added a relative default directory to locate modules after installation
+ </li>
+ <li>
+ Compatibility rate = (high+1/2*medium+1/4*low) / number of symbols
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Some symbols with extern "C" linkage are missed in -headers-only mode
+ </li>
+ <li>
+ Changes in global data are not detected under Windows
+ </li>
+ <li>
+ False negative: change global data to be "const"
+ </li>
+ <li>
+ Removed middle enumeration value is reported as renamed
+ </li>
+ <li>
+ False positive: change parameter type from "const int" to "int"
+ </li>
+ <li>
+ Support for old ABI dump format of ACC 1.21.6
+ </li>
+ <li>
+ The tool doesn't search for included headers in /usr/lib/qt4/include/
+ </li>
+ <li>
+ False Negative: Header is incompatible with itself
+ </li>
+ <li>
+ Check libstdc++ in -headers-only mode
+ </li>
+ <li>
+ Restrict checked header files in the -headers-only mode
+ </li>
+ <li>
+ Problem with mangled C++ functions using old ABI dump formats in -headers-only mode
+ </li>
+ <li>
+ Incorrect size of method pointer in ABI dumps
+ </li>
+ <li>
+ False negative: add/remove "register" modifier of the parameter
+ </li>
+ <li>
+ Incorrect WORD size when using old ABI dump format
+ </li>
+ <li>
+ Conflict of a static method with a function of the same name in the ABI dump
+ </li>
+ <li>
+ Missed right bracket of "func-ptr" type in HTML report
+ </li>
+ <li>
+ Incorrect report for overridden methods
+ </li>
+ <li>
+ False negative: override a virtual that doesn't come from a primary base
+ </li>
+ <li>
+ False negative: change a function parameter to be "restrict"
+ </li>
+ <li>
+ False negative: change a field to be "volatile"
+ </li>
+ <li>
+ False negative: change "const"-ness of a return value
+ </li>
+ <li>
+ False negative: change "volatile" attribute of a method
+ </li>
+ <li>
+ False positive: removed symbols with inline virtual prototype in the leaf class with default constructor
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.94 (September 09, 2011)</b><br/>
+<b>Completed Tasks</b>
+<ul>
+ <li>
+ Separated regression tests into the module
+ </li>
+</ul>
+<b>New Features</b>
+<ul>
+ <li>
+ Added Makefile.pl installer
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.93.8 (September 08, 2011)</b><br/>
+<b>Completed Tasks</b>
+<ul>
+ <li>
+ Separated rules DB
+ </li>
+ <li>
+ Testing on Symbian SDK
+ </li>
+ <li>
+ Testing on Windows SDK
+ </li>
+ <li>
+ Support for OS3000
+ </li>
+</ul>
+<b>New Features</b>
+<ul>
+ <li>
+ SONAME change in the OS comparison table
+ </li>
+ <li>
+ Added a compatibility percentage to the OS comparison table
+ </li>
+ <li>
+ Added -debug option
+ </li>
+ <li>
+ Added listing of symbols in OS comparison table
+ </li>
+ <li>
+ Use zip format of dumps in Windows
+ </li>
+ <li>
+ Added -dump-system descriptor.xml option
+ </li>
+ <li>
+ Analysis of static libraries
+ </li>
+ <li>
+ Added -sysinfo option
+ </li>
+ <li>
+ Added -component option
+ </li>
+ <li>
+ Added -nostdinc option
+ </li>
+ <li>
+ Added "weakly"- and "almost"-compatible verdicts
+ </li>
+ <li>
+ Added "skip_namespaces" section of the library XML-descriptor
+ </li>
+ <li>
+ Search for modules/ directory in the system
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Missed typedefs in the ABI dump using GCC 4.4.1
+ </li>
+ <li>
+ False negative: change enum member value from zero to non-zero
+ </li>
+ <li>
+ False negative: interchange the positions of two fields in a structure
+ </li>
+ <li>
+ False positive: add a field instead of padding fields
+ </li>
+ <li>
+ Problems with "copied" classes
+ </li>
+ <li>
+ Changes in "private" fields
+ </li>
+ <li>
+ Illegal modulus zero at abi-compliance-checker.pl
+ </li>
+ <li>
+ Incorrect order of include paths
+ </li>
+ <li>
+ Change constness of a class method
+ </li>
+ <li>
+ False negative: change "struct Type" to "union Type"
+ </li>
+ <li>
+ Change parameter type from "..." to "int"
+ </li>
+ <li>
+ Remove/add "const"-qualifier of a method
+ </li>
+ <li>
+ False negative: renamed parameters
+ </li>
+</ul>
+<b>Other</b>
+<ul>
+ <li>
+ Improved debug mode
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.23.5 (July 01, 2011)</b><br/>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Corrected exit codes: 0 - compatible, 1 - incompatible, 2 - error, ...
+ </li>
+ <li>
+ Corrected diagnostic messages for C++ functions with changed signature
+ </li>
+ <li>
+ Fixed regression with C++ non-member functions
+ </li>
+ <li>
+ Removed false positive with overridden private methods
+ </li>
+ <li>
+ Corrected functionality for checking binary compatibility of operating systems
+ </li>
+ <li>
+ Removed false positive for removed default version of a symbol
+ </li>
+ <li>
+ Adapted -dump-system option for MeeGo 1.2 Harmattan
+ </li>
+ <li>
+ Fixed hanging execution on "#include "../../file.h"
+ </li>
+ <li>
+ Fixed incorrect automatic include paths
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.23 (June 07, 2011)</b><br/>
+<b>New Features</b>
+<ul>
+ <li>
+ Added 42 compatibility checks (total: 83)
+ </li>
+ <li>
+ Improved diagnostics of compatibility problems
+ </li>
+ <li>
+ Opened an issue tracker
+ </li>
+ <li>
+ Support for cross-compilers
+ </li>
+ <li>
+ Ported to Mac OS X (10.5) and MS Windows (Xp, Vista, 7)
+ </li>
+ <li>
+ Added a viewer of "real" v-table layouts for changed C++ classes
+ </li>
+ <li>
+ Added functionality to check OS backward compatibility
+ </li>
+ <li>
+ Supports for old-version dump formats (>=1.18)
+ </li>
+ <li>
+ Separated versioning of dump formats
+ </li>
+ <li>
+ Improved design of the compatibility report
+ </li>
+ <li>
+ Improved performance
+ </li>
+ <li>
+ Support for old GCC 3.4.4
+ </li>
+</ul>
+<b>New Options</b>
+<ul>
+ <li>
+ -cross-gcc: support for cross-compilers
+ </li>
+ <li>
+ -sysroot: specify the alternative system root directory
+ </li>
+ <li>
+ -dump-system, -cmp-systems: checking OS backward compatibility
+ </li>
+ <li>
+ -use-dumps: check for compatibility using the intermediate dumping
+ </li>
+ <li>
+ -show-retval: show symbol's return value type in the report
+ </li>
+ <li>
+ -old-dumps: support for old-version dumps
+ </li>
+ <li>
+ -test-dump: test for dumping functionality
+ </li>
+ <li>
+ -report-path: change the location of output compatibility report
+ </li>
+ <li>
+ -dump-path: change the location of output ABI dump
+ </li>
+ <li>
+ -log1-path, -log2-path: change the location of output logs
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Reduced false positives
+ </li>
+ <li>
+ Support for C-headers containing C++ keywords
+ </li>
+ <li>
+ Corrected automatic include paths for headers
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.21.12 (April 29, 2011)</b><br/>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Corrected automatic detection of include paths for header files
+ </li>
+ <li>
+ Removed false positives with overridden virtual functions
+ </li>
+ <li>
+ Corrected processing of typedef type names, fixed potential program hangup
+ </li>
+ <li>
+ Added some missed problems relating to the return type changes of a function
+ </li>
+ <li>
+ Corrected processing of a translation unit dump generated by modern GCC versions
+ </li>
+ <li>
+ Corrected identifying of inline functions (using the -fkeep-inline-functions GCC option)
+ </li>
+ <li>
+ Corrected parser for C++: analysis of const global data and functions inside a namespace
+ </li>
+ <li>
+ Corrected names and v-table checks for template types
+ </li>
+ <li>
+ Corrected checks for changes in enumerations
+ </li>
+ <li>
+ Corrected ABI dumping and sorting of dumps
+ </li>
+ <li>
+ Corrected analysis of added/removed virtual functions
+ </li>
+ <li>
+ Corrected help message and documentation
+ </li>
+ <li>
+ Documentation has been moved to "doc/" subdirectory
+ </li>
+ <li>
+ Using File::Temp for storing temporary files
+ </li>
+ <li>
+ Support for latest GCC 4.6.0 and old GCC v3.x series
+ </li>
+ <li>
+ Fixed infinite loop finding the path for "which" command in the system
+ </li>
+ <li>
+ Corrected distinction of descriptor kinds (headers, libraries, directories and XML-descriptors)
+ </li>
+ <li>
+ Corrected processing of "include_paths" section of the XML-descriptor
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.21 (August 19, 2010)</b><br/>
+<b>New Features</b>
+<ul>
+ <li>
+ Added -check-implementation option: compare disassembled binary code to detect changes in the interface implementation
+ </li>
+ <li>
+ Added -objects-only option: compare shared objects without header files
+ </li>
+ <li>
+ Added -v1 and -v2 options: specify version number outside the descriptor
+ </li>
+ <li>
+ Improved help message
+ </li>
+ <li>
+ Improved performance of the tool
+ </li>
+ <li>
+ Removed template instances and stdc++ interfaces from the report (C++)
+ </li>
+ <li>
+ Added README.html and CHANGES.html to the package
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Corrected ABI compatibility report
+ </li>
+ <li>
+ Corrected interface names and versions in the report
+ </li>
+ <li>
+ Corrected number of problems in report summary
+ </li>
+ <li>
+ Corrected ABI dump
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.20 (August 30, 2010)</b><br/>
+<b>New Features</b>
+<ul>
+ <li>
+ Added "defines" section of the library descriptor: this section allows to add defines at the headers compiling stage
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Corrected reports about added/withdrawn members in the structure types and added/withdrawn parameters
+ </li>
+ <li>
+ Corrected report about added/withdrawn virtual functions if -headers_only option specified
+ </li>
+ <li>
+ Corrected processing of header paths containing special characters
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.19 (July 22, 2010)</b><br/>
+<b>New Features</b>
+<ul>
+ <li>
+ Added -library_full_name option to display full library name in title of the report
+ </li>
+ <li>
+ Added -relpath option to replace the {RELPATH} in the descriptor for ABI dumping
+ </li>
+ <li>
+ Added "skip_libs" section of the library descriptor: this section contains a list of shared objects and/or directories with shared objects that should not be processed
+ </li>
+ <li>
+ Improved performance on big libraries
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Removed duplicated problems from the report
+ </li>
+ <li>
+ Corrected names of the template instances
+ </li>
+ <li>
+ Corrected checking of reference type changes
+ </li>
+ <li>
+ Corrected titles in the report
+ </li>
+ <li>
+ Corrected size of some array types
+ </li>
+ <li>
+ Corrected checking of added/withdrawn members in the structure types with reserved members
+ </li>
+ <li>
+ Corrected checking of added/withdrawn parameters
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.18 (June 25, 2010)</b><br/>
+<b>New Features</b>
+<ul>
+ <li>
+ Added -relpath1 and -relpath2 options to replace the {RELPATH} in the descriptors; old option -relpath was removed
+ </li>
+ <li>
+ Added "add_include_paths" section of the library descriptor: this section contains a list of include paths that should be added to the automatically detected include paths
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Added some previously missed compatibility problems in the report
+ </li>
+ <li>
+ Corrected techniques for auto-detection of header file dependencies (include paths)
+ </li>
+ <li>
+ Removed problems relating to the changes in the temporary header files
+ </li>
+ <li>
+ Corrected interface signatures in the report
+ </li>
+ <li>
+ Corrected checking of added/withdrawn parameters
+ </li>
+ <li>
+ Corrected changes in the virtual tables of the libraries with symbol versioning
+ </li>
+ <li>
+ Corrected checking of complex namespaces changes (C++)
+ </li>
+ <li>
+ Added namespaces information to the ABI dump
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.17.2 (June 16, 2010)</b><br/>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Fixed -separately option
+ </li>
+ <li>
+ Corrected permissions of LICENSE file
+ </li>
+ <li>
+ Corrected tool description
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.17.1 (June 09, 2010)</b><br/>
+<b>New Features</b>
+<ul>
+ <li>
+ Added -relpath option for adding prefixes to the paths in the library descriptor
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Corrected checking of added/withdrawn parameters
+ </li>
+ <li>
+ Corrected processing of mixed C/C++ header sets
+ </li>
+ <li>
+ Corrected checking of parameter type changes
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.17 (June 08, 2010)</b><br/>
+<b>New Features</b>
+<ul>
+ <li>
+ Visualizing of the serious changes (added/withdrawn parameters) in the interface signature
+ </li>
+ <li>
+ Recursive analysis of constant changes
+ </li>
+ <li>
+ Separated stderr and stdout streams of the tool
+ </li>
+ <li>
+ Added "skip_constants" section of the library descriptor to skip checking of some constants
+ </li>
+ <li>
+ Added -params option to add function parameter names to the report
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Corrected analysis of virtual table layout changes
+ </li>
+ <li>
+ Corrected analysis of parameter type changes
+ </li>
+ <li>
+ Corrected complex array type names
+ </li>
+ <li>
+ Corrected typedef names
+ </li>
+ <li>
+ Corrected analysis of structure layout changes
+ </li>
+ <li>
+ Fixed tool hanging on some C++ headers (with many namespaces)
+ </li>
+ <li>
+ Corrected analysis of Glibc headers
+ </li>
+ <li>
+ Corrected analysis of library language changes (if added some C++ headers)
+ </li>
+ <li>
+ Corrected descriptions of some compatibility problems
+ </li>
+ <li>
+ Corrected analysis of added/withdrawn parameters in C headers
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.16 (May 05, 2010)</b><br/>
+<b>New Features</b>
+<ul>
+ <li>
+ Added -strict option for treating all compatibility warnings as problems
+ </li>
+ <li>
+ Added -dumpversion option for printing tool version and don't do anything else
+ </li>
+ <li>
+ Ignoring hidden .svn, .git, .bzr, .hg, and CVS directories
+ </li>
+ <li>
+ Improved header files sorting for protecting from compilation errors on the intermediate phase of temporary header file compilation
+ </li>
+ <li>
+ Improved techniques for auto-detection of header file dependencies (include paths)
+ </li>
+ <li>
+ Ignoring problems related to changes of constants (defines) describing library version (*_VERSION_*, *_COPYRIGHT_* and other)
+ </li>
+ <li>
+ New internal test cases
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Checking of some previously missed C++ namespaces
+ </li>
+ <li>
+ Removed hidden "void const** __vtt_parm" parameters from signatures of some constructors
+ </li>
+ <li>
+ Corrected dumping of C++ classes ABI
+ </li>
+ <li>
+ Corrected checking of pure virtual destructors
+ </li>
+ <li>
+ Removed unnecessary built-in constants from the ABI dump
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.15 (March 26, 2010)</b><br/>
+<b>New Features</b>
+<ul>
+ <li>
+ The license was changed to dual GNU GPL and LGPL
+ </li>
+ <li>
+ Added "skip_headers" section of the library descriptor
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Corrected processing of "include_paths" section of the library descriptor
+ </li>
+ <li>
+ Corrected processing of relative paths in the "headers" and "include_paths" sections of the descriptor
+ </li>
+ <li>
+ Directory with temporary files renamed from "temp" to hidden ".tmp_dir"
+ </li>
+ <li>
+ Corrected processing of shared object dependencies
+ </li>
+ <li>
+ Corrected processing of some previously missed functions and conversion operators in C++
+ </li>
+ <li>
+ Corrected internal test suite
+ </li>
+ <li>
+ Corrected some error messages
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.14 (March 03, 2010)</b><br/>
+<b>New Features</b>
+<ul>
+ <li>
+ Added techniques to auto-detect dependencies of a header file (include paths); providing of "include_paths" section of the descriptor is not necessary for now
+ </li>
+ <li>
+ Ported to FreeBSD and Haiku
+ </li>
+ <li>
+ Added check for gcc/g++ version (>=3.0.0)
+ </li>
+ <li>
+ Added sorting of interface problems by namespace in the report (C++)
+ </li>
+ <li>
+ Improved internal test suite
+ </li>
+ <li>
+ Added log for describing tool actions and occurred errors
+ </li>
+ <li>
+ Added exit error code (high/medium risk for ABI break)
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Corrected ABI dumping
+ </li>
+ <li>
+ Corrected styles of the report
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.13 (February 16, 2010)</b><br/>
+<b>New Features</b>
+<ul>
+ <li>
+ Added -version option
+ </li>
+
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Corrected processing of tab characters in the descriptor
+ </li>
+ <li>
+ Corrected help message
+ </li>
+ <li>
+ Corrected descriptor template structure
+ </li>
+ <li>
+ Corrected error and warning messages
+ </li>
+ <li>
+ Corrected processing of shared object dependencies
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.12 (December 04, 2009)</b><br/>
+<b>New Features</b>
+<ul>
+ <li>
+ New help message
+ </li>
+ <li>
+ Highlighting of [in-charge], [not-in-charge] constructors and destructors in the report was improved
+ </li>
+ <li>
+ New option -time for enabling time measurements
+ </li>
+ <li>
+ New internal test cases
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Corrected classification of compatibility problems in the report
+ </li>
+ <li>
+ Reduced priority of problems related to changes in a method's object
+ </li>
+ <li>
+ Corrected complex template type names
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.11 (November 10, 2009)</b><br/>
+<b>New Features</b>
+<ul>
+ <li>
+ Added -app option to check portability of applications to the new library version
+ </li>
+ <li>
+ Memory usage decreased twice
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Corrected checking of added middle structure members
+ </li>
+ <li>
+ Corrected names of template types (with intrinsic, bool and string parameters)
+ </li>
+ <li>
+ Corrected highlighting of function signatures in the report
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.10 (November 02, 2009)</b><br/>
+<b>New Features</b>
+<ul>
+ <li>
+ Checking added/dropped function parameters (C language only)
+ </li>
+ <li>
+ Improved design of the report
+ </li>
+ <li>
+ New internal test cases
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Incorrect checking of redefined virtual functions and differences in parameter types
+ </li>
+ <li>
+ More careful checking of withdrawn interfaces using shared library dependencies
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.9 (October 12, 2009)</b><br/>
+<b>Improvements</b>
+<ul>
+ <li>
+ Improved design of ABI compliance report
+ </li>
+ <li>
+ Improved algorithms of checking parameter/field type change
+ </li>
+ <li>
+ New internal test cases
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Fixed incorrect names of typedefs and function pointer types
+ </li>
+ <li>
+ Checking of some previously missed C++ functions
+ </li>
+ <li>
+ Removed some false positives from the report (for anon-types)
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.8 (September 29, 2009)</b><br/>
+<b>New Features</b>
+<ul>
+ <li>
+ Added ability to specify a file with a list of interfaces that should be checked
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Size of ABI info dumps have been reduced through removing of unnecessary information
+ </li>
+ <li>
+ Incorrect names of template instances and function pointer types
+ </li>
+ <li>
+ Incorrect positions of function parameters in the "Interface Problems" section of the report
+ </li>
+ <li>
+ Removed some false positives from the report
+ </li>
+ <li>
+ Incorrect handling of special symbols in the paths to header files and shared objects
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.7 (September 11, 2009)</b><br/>
+<b>New Features</b>
+<ul>
+ <li>
+ Checking of incorrect symbols versioning
+ </li>
+ <li>
+ Checking the values of defines (constants)
+ </li>
+ <li>
+ Ability to check header files without shared objects; It is easy to run, but may provide a low quality report with a lot of false positives and without detecting of added/withdrawn interfaces
+ </li>
+ <li>
+ Number of checked interfaces and data types in the report
+ </li>
+ <li>
+ Added tests for checking new features
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Incorrect processing of duplicated headers in the input set (headers with the same name but different paths)
+ </li>
+ <li>
+ Incorrect header files include order
+ </li>
+ <li>
+ Sorting in the ABI dumps
+ </li>
+ <li>
+ Incorrect processing of redefined virtual methods
+ </li>
+ <li>
+ Incorrect processing of anon types
+ </li>
+ <li>
+ Absence of some necessary information about C++ functions in the ABI dumps
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.6 (August 31, 2009)</b><br/>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Corrected processing of relative paths in the library descriptor
+ </li>
+ <li>
+ Display machine hardware name instead of processor type in the report
+ </li>
+ <li>
+ Fixed grammar/spelling errors
+ </li>
+ <li>
+ Renamed "internal_interfaces" section of the library descriptor to "skip_interfaces"
+ </li>
+ <li>
+ Cosmetic changes in the code
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.5 (August 25, 2009)</b><br/>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Absent information about opaque types and internal interfaces has been added to the ABI dump
+ </li>
+ <li>
+ Fixed style of the report
+ </li>
+ <li>
+ Fixed grammar/spelling
+ </li>
+ <li>
+ Renamed "internal_functions" section of the library descriptor to "internal_interfaces"
+ </li>
+ <li>
+ Renamed outptu ABI dump to "*.abi.tar.gz" (previously it was "*.info.tar.gz")
+ </li>
+ <li>
+ Corrected interface names in the report (for -separately option)
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.4 (August 18, 2009)</b><br/>
+<b>Improvements</b>
+<ul>
+ <li>
+ Added ability to check ABI compliance of library versions located on different machines
+ </li>
+ <li>
+ Header files checking mode by default has been changed: checking all header files together instead of separate checking
+ </li>
+</ul>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Incorrect description for affected interfaces
+ </li>
+ <li>
+ Incorrect virtual table checking
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.3 (August 14, 2009)</b><br/>
+<b>Bug Fixes</b>
+<ul>
+ <li>
+ Incorrect number of binary compatibility problems in the report summary
+ </li>
+ <li>
+ Incorrect design of problem descriptions in the report
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.1 (August 06, 2009)</b><br/>
+<b>Improvements</b>
+<ul>
+ <li>
+ Design of the report has been greatly improved
+ </li>
+</ul>
+<br/>
+
+<b>Version 1.0 (July 31, 2009)</b><br/>
+Initial version of the tool.
+
+<div class="footer">
+ get the source code on GitHub : <a href="https://github.com/lvc/abi-compliance-checker">lvc/abi-compliance-checker</a>
+</div>
+
+<br/>
+<br/>
+
+</div>
+</body>
+</html>