| <!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="https://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.25 (October 07, 2016)</b><br/> |
| <b>New Options</b> |
| <ul> |
| <li> |
| -test-abi-dumper: compare ABI dumps created by the ABI Dumper tool |
| </li> |
| </ul> |
| <b>Bug Fixes</b> |
| <ul> |
| <li> |
| Do not list a symbol as removed in the source-compatibility report if it is presented in the dynsym table |
| </li> |
| </ul> |
| <br/> |
| |
| <b>Version 1.99.24 (October 04, 2016)</b><br/> |
| <b>Improvements</b> |
| <ul> |
| <li> |
| Support for Clang |
| </li> |
| <li> |
| Improved a module to compare operating systems |
| </li> |
| <li> |
| Improved support for C++ keywords in C code |
| </li> |
| <li> |
| Improved support for Windows |
| </li> |
| <li> |
| Improved support for MinGW |
| </li> |
| </ul> |
| <b>New Options</b> |
| <ul> |
| <li> |
| -skip-typedef-uncover: do not report a problem if type is covered or uncovered by typedef (useful for broken debug info) |
| </li> |
| <li> |
| -mingw-compatible: if input header files are compatible with the MinGW GCC compiler, then you can tell the tool about this and speedup the analysis |
| </li> |
| <li> |
| -skip-unidentified: skip header files in 'headers' and 'include_preamble' sections of the XML descriptor that cannot be found |
| </li> |
| <li> |
| -disable-constants-check: do not check for changes in constants |
| </li> |
| <li> |
| -skip-added-constants: do not detect added constants |
| </li> |
| <li> |
| -skip-removed-constants: do not detect removed constants |
| </li> |
| </ul> |
| <b>Bug Fixes</b> |
| <ul> |
| <li> |
| Do not show GCC version in the source compatibility report |
| </li> |
| <li> |
| Renamed CPU Type column to Arch in the report |
| </li> |
| <li> |
| Support for ABI dumps v3.3 |
| </li> |
| <li> |
| The -cpp-compatible option is now enabled by default |
| </li> |
| </ul> |
| <br/> |
| |
| <b>Version 1.99.23 (August 15, 2016)</b><br/> |
| <b>Improvements</b> |
| <ul> |
| <li> |
| Improved generation of quick empty reports |
| </li> |
| <li> |
| Improved SysCheck.pm module for analysis of operating systems |
| </li> |
| <li> |
| Improved support for Windows 10 |
| </li> |
| </ul> |
| <b>New Options</b> |
| <ul> |
| <li> |
| -disable-quick-empty-report: do not generate quick empty report if input ABI dumps are equal |
| </li> |
| </ul> |
| <b>Bug Fixes</b> |
| <ul> |
| <li> |
| Fixed lists of affected symbols in the XML-format report. |
| </li> |
| </ul> |
| <br/> |
| |
| <b>Version 1.99.22 (July 04, 2016)</b><br/> |
| <b>Improvements</b> |
| <ul> |
| <li> |
| New style of the report |
| </li> |
| </ul> |
| <b>New Options</b> |
| <ul> |
| <li> |
| -old-style: generate old-style report |
| </li> |
| </ul> |
| <b>Bug Fixes</b> |
| <ul> |
| <li> |
| Fixed handling of patterns in -skip-* options |
| </li> |
| <li> |
| Fixed rounding of the BC rate in the report |
| </li> |
| </ul> |
| <br/> |
| |
| <b>Version 1.99.21 (May 26, 2016)</b><br/> |
| <b>Improvements</b> |
| <ul> |
| <li> |
| Up to 4 times faster on big libraries |
| </li> |
| <li> |
| Show compatibility rate instead of verdict in the report |
| </li> |
| <li> |
| Highlight the numbers of high/medium/low severity problems in the report |
| </li> |
| <li> |
| Show percentage of affected methods in the problem description |
| </li> |
| </ul> |
| <b>New Options</b> |
| <ul> |
| <li> |
| -count-symbols: count public symbols in the ABI dump |
| </li> |
| </ul> |
| <b>Bug Fixes</b> |
| <ul> |
| <li> |
| Fixed quick comparison of equal ABI dumps |
| </li> |
| </ul> |
| <br/> |
| |
| <b>Version 1.99.20 (May 14, 2016)</b><br/> |
| <b>Improvements</b> |
| <ul> |
| <li> |
| Use regular expressions instead of wildcards in -skip-* options |
| </li> |
| </ul> |
| <br/> |
| |
| <b>Version 1.99.19 (April 18, 2016)</b><br/> |
| <b>Improvements</b> |
| <ul> |
| <li> |
| Support for GCC 5.1 |
| </li> |
| </ul> |
| <b>Misc</b> |
| <ul> |
| <li> |
| Separated LICENSE file |
| </li> |
| <li> |
| Removed obsolete descriptors from the package |
| </li> |
| <li> |
| Updated docs |
| </li> |
| </ul> |
| <br/> |
| |
| <b>Version 1.99.18 (April 03, 2016)</b><br/> |
| <b>Bug Fixes</b> |
| <ul> |
| <li> |
| Fixed comparison of qualifiers in parameter data types |
| </li> |
| <li> |
| Fixed problem descriptions in the report |
| </li> |
| <li> |
| Reduced size of the report |
| </li> |
| <li> |
| Fixed console output |
| </li> |
| </ul> |
| <br/> |
| |
| <b>Version 1.99.17 (March 12, 2016)</b><br/> |
| <b>Improvements</b> |
| <ul> |
| <li> |
| Added a check for changes in parameters of function pointers |
| </li> |
| </ul> |
| <b>Bug Fixes</b> |
| <ul> |
| <li> |
| Fixed comparison of virtual table entries |
| </li> |
| <li> |
| Do not show time stamp in the report |
| </li> |
| <li> |
| Fixed -skip-symbols option |
| </li> |
| <li> |
| Fixed detection of the GCC version number |
| </li> |
| </ul> |
| <br/> |
| |
| <b>Version 1.99.16 (January 28, 2016)</b><br/> |
| <b>Improvements</b> |
| <ul> |
| <li> |
| Do not check private part of the ABI when comparing ABI dumps created by the ABI Dumper tool with use of the -public-headers option |
| </li> |
| </ul> |
| <b>New Options</b> |
| <ul> |
| <li> |
| -check-private-abi: enable check of the private ABI |
| </li> |
| </ul> |
| <b>Bug Fixes</b> |
| <ul> |
| <li> |
| Fixed counting of checked data types |
| </li> |
| </ul> |
| <br/> |
| |
| <b>Version 1.99.15 (December 11, 2015)</b><br/> |
| <b>Bug Fixes</b> |
| <ul> |
| <li> |
| Fixed hang on some template instances |
| </li> |
| <li> |
| Fixed support for old ABI dumps (formatting of data types) |
| </li> |
| <li> |
| Fixed false positives in the report if input ABI dumps contain __unknown__ types |
| </li> |
| </ul> |
| <br/> |
| |
| <b>Version 1.99.14 (November 01, 2015)</b><br/> |
| <b>New Options</b> |
| <ul> |
| <li> |
| -skip-types: set list of types that should not be checked |
| </li> |
| </ul> |
| <b>Bug Fixes</b> |
| <ul> |
| <li> |
| Fixed formatting of symbol signatures |
| </li> |
| <li> |
| Fixed checks of template types |
| </li> |
| </ul> |
| <br/> |
| |
| <b>Version 1.99.13 (October 18, 2015)</b><br/> |
| <b>Improvements</b> |
| <ul> |
| <li> |
| Check public symbols only if comparing public ABI dumps generated by the ABI dumper (with -public-headers option) |
| </li> |
| <li> |
| Added more metadata to the report |
| </li> |
| </ul> |
| <b>New Options</b> |
| <ul> |
| <li> |
| -skip-internal-types: do not check data types matched by the pattern |
| </li> |
| </ul> |
| <b>Bug Fixes</b> |
| <ul> |
| <li> |
| Fixed Type_Became_Opaque, Parameter_Changed_Register, Parameter_From_Register and Parameter_To_Register rules |
| </li> |
| <li> |
| Fixed method signatures in the report (C++) |
| </li> |
| <li> |
| Fixed -headers-list option |
| </li> |
| <li> |
| Option -skip-internal renamed to -skip-internal-symbols |
| </li> |
| <li> |
| Fixed false positives if vtable-dumper generates incomplete data |
| </li> |
| <li> |
| Fixed Makefile |
| </li> |
| </ul> |
| <br/> |
| |
| <b>Version 1.99.12 (September 20, 2015)</b><br/> |
| <b>Bug Fixes</b> |
| <ul> |
| <li> |
| Fixed title of the report |
| </li> |
| <li> |
| Print warning if version number is not set in the ABI dump |
| </li> |
| </ul> |
| <br/> |
| |
| <b>Version 1.99.11 (September 12, 2015)</b><br/> |
| <b>Bug Fixes</b> |
| <ul> |
| <li> |
| Fixed Removed_Field_And_Layout rule |
| </li> |
| <li> |
| Fixed -skip-symbols option |
| </li> |
| </ul> |
| <br/> |
| |
| <b>Version 1.99.10 (September 08, 2015)</b><br/> |
| <b>Improvements</b> |
| <ul> |
| <li> |
| Improved style of the report |
| </li> |
| <li> |
| New documentation |
| </li> |
| <li> |
| Added more test cases |
| </li> |
| </ul> |
| <b>New Options</b> |
| <ul> |
| <li> |
| -types-list: specify a list of types that should be checked |
| </li> |
| <li> |
| -gcc-options: specify additional compiler options |
| </li> |
| </ul> |
| <b>Bug Fixes</b> |
| <ul> |
| <li> |
| Limited number of affected symbols shown for each BC problem in the report |
| </li> |
| <li> |
| Fixed check of the DataType_Size_And_Stack rule |
| </li> |
| <li> |
| Fixed checks of base classes |
| </li> |
| <li> |
| Carefully substitute parameters in rules |
| </li> |
| <li> |
| Allow to check for source-compatibility in the -cmp-systems mode by specifying both -bin and -src options |
| </li> |
| <li> |
| Fixed sorting of problems listed in the report |
| </li> |
| <li> |
| Limit number of checked types if -headers-list option is specified |
| </li> |
| <li> |
| Fixed -headers-list and -skip-symbols options |
| </li> |
| <li> |
| Fixed cross-platform issues |
| </li> |
| <li> |
| Set LANG=C.UTF-8 for objdump |
| </li> |
| <li> |
| Fixed list of headers in the report |
| </li> |
| <li> |
| Fixed number of checked headers in the report summary. Removed support for old dumps < 1.18 |
| </li> |
| <li> |
| Renamed -lib-full option to -title |
| </li> |
| <li> |
| Carefully detect architecture of input objects and word size |
| </li> |
| <li> |
| Corrected detection of the GCC target architecture |
| </li> |
| <li> |
| More accurate checking of ABI dump names |
| </li> |
| <li> |
| Fixed regressions with SysCheck.pm module |
| </li> |
| <li> |
| Removed obsolete code and options |
| </li> |
| <li> |
| Fixed the objdump command line when the path contains spaces |
| </li> |
| <li> |
| Simplified Makefile |
| </li> |
| <li> |
| Do not install system descriptors to PREFIX/share |
| </li> |
| <li> |
| Take -relpath option into account in the SysCheck.pm module |
| </li> |
| <li> |
| Fixed CSS styles of the CmpSystems module |
| </li> |
| </ul> |
| <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<N>:public A<N-1> |
| </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 <= 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> |