Home | History | Annotate | Download | only in doc
      1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      2 <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
      3 <head>
      4   <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
      5   <meta name="description" content="Changelog for ABI Compliance Checker" />
      6   <title>ABI Compliance Checker: History</title>
      7 
      8   <style type="text/css">
      9     body {
     10       margin-top: 1.0em;
     11       background-color: #deeef7;
     12       font-family: Helvetica, Arial, FreeSans, san-serif;
     13       color: #000000;
     14     }
     15     #container {
     16       margin: 0 auto;
     17       width: 700px;
     18     }
     19     h1 { font-size: 3.8em; color: #211108; margin-bottom: 3px;margin-top:0px;padding-top:0px;}
     20     h1 .small { font-size: 0.4em; }
     21     h1 a { text-decoration: none }
     22     h2 { font-size: 1.5em; color: #211108; }
     23     h3 { text-align: center; color: #211108; }
     24     a { color: #211108; }
     25     .description { font-size: 1.2em; margin-bottom: 30px; margin-top: 30px; font-style: italic;}
     26     .download { float: right; }
     27     pre {padding: 0px;margin: 0px;padding-left: 10px;word-wrap:break-word;white-space: pre-wrap;}
     28     hr { border: 0; width: 80%; border-bottom: 1px solid #aaa}
     29     .footer { text-align:center; padding-top:30px; font-style: italic; }
     30     .code {border: dashed 1px gray; background-color: #f0f0f0;}
     31     .listing {padding: 10px;border: 1px solid black;width: 70%;font-family:"DejaVu Sans Mono", "Monaco", "Courier New", monospace;font-size:14px;}
     32     .summary {border:1px solid black;border-collapse:collapse;}
     33     table.summary td, table.summary th {border:1px solid black;padding:2px;}
     34   </style>
     35 
     36 </head>
     37 
     38 <body>
     39 <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>
     40 
     41 <div id="container">
     42 
     43 <h1>ABI Compliance<br/>Checker: History</h1>
     44 <p/>
     45 <br/>
     46 
     47 <b>Version 1.99.25 (October 07, 2016)</b><br/>
     48 <b>New Options</b>
     49 <ul>
     50     <li>
     51         -test-abi-dumper: compare ABI dumps created by the ABI Dumper tool
     52     </li>
     53 </ul>
     54 <b>Bug Fixes</b>
     55 <ul>
     56     <li>
     57         Do not list a symbol as removed in the source-compatibility report if it is presented in the dynsym table
     58     </li>
     59 </ul>
     60 <br/>
     61 
     62 <b>Version 1.99.24 (October 04, 2016)</b><br/>
     63 <b>Improvements</b>
     64 <ul>
     65     <li>
     66         Support for Clang
     67     </li>
     68     <li>
     69         Improved a module to compare operating systems
     70     </li>
     71     <li>
     72         Improved support for C++ keywords in C code
     73     </li>
     74     <li>
     75         Improved support for Windows
     76     </li>
     77     <li>
     78         Improved support for MinGW
     79     </li>
     80 </ul>
     81 <b>New Options</b>
     82 <ul>
     83     <li>
     84         -skip-typedef-uncover: do not report a problem if type is covered or uncovered by typedef (useful for broken debug info)
     85     </li>
     86     <li>
     87         -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
     88     </li>
     89     <li>
     90         -skip-unidentified: skip header files in 'headers' and 'include_preamble' sections of the XML descriptor that cannot be found
     91     </li>
     92     <li>
     93         -disable-constants-check: do not check for changes in constants
     94     </li>
     95     <li>
     96         -skip-added-constants: do not detect added constants
     97     </li>
     98     <li>
     99         -skip-removed-constants: do not detect removed constants
    100     </li>
    101 </ul>
    102 <b>Bug Fixes</b>
    103 <ul>
    104     <li>
    105         Do not show GCC version in the source compatibility report
    106     </li>
    107     <li>
    108         Renamed CPU Type column to Arch in the report
    109     </li>
    110     <li>
    111         Support for ABI dumps v3.3
    112     </li>
    113     <li>
    114         The -cpp-compatible option is now enabled by default
    115     </li>
    116 </ul>
    117 <br/>
    118 
    119 <b>Version 1.99.23 (August 15, 2016)</b><br/>
    120 <b>Improvements</b>
    121 <ul>
    122     <li>
    123         Improved generation of quick empty reports
    124     </li>
    125     <li>
    126         Improved SysCheck.pm module for analysis of operating systems
    127     </li>
    128     <li>
    129         Improved support for Windows 10
    130     </li>
    131 </ul>
    132 <b>New Options</b>
    133 <ul>
    134     <li>
    135         -disable-quick-empty-report: do not generate quick empty report if input ABI dumps are equal
    136     </li>
    137 </ul>
    138 <b>Bug Fixes</b>
    139 <ul>
    140     <li>
    141         Fixed lists of affected symbols in the XML-format report.
    142     </li>
    143 </ul>
    144 <br/>
    145 
    146 <b>Version 1.99.22 (July 04, 2016)</b><br/>
    147 <b>Improvements</b>
    148 <ul>
    149     <li>
    150         New style of the report
    151     </li>
    152 </ul>
    153 <b>New Options</b>
    154 <ul>
    155     <li>
    156         -old-style: generate old-style report
    157     </li>
    158 </ul>
    159 <b>Bug Fixes</b>
    160 <ul>
    161     <li>
    162         Fixed handling of patterns in -skip-* options
    163     </li>
    164     <li>
    165         Fixed rounding of the BC rate in the report
    166     </li>
    167 </ul>
    168 <br/>
    169 
    170 <b>Version 1.99.21 (May 26, 2016)</b><br/>
    171 <b>Improvements</b>
    172 <ul>
    173     <li>
    174         Up to 4 times faster on big libraries
    175     </li>
    176     <li>
    177         Show compatibility rate instead of verdict in the report
    178     </li>
    179     <li>
    180         Highlight the numbers of high/medium/low severity problems in the report
    181     </li>
    182     <li>
    183         Show percentage of affected methods in the problem description
    184     </li>
    185 </ul>
    186 <b>New Options</b>
    187 <ul>
    188     <li>
    189         -count-symbols: count public symbols in the ABI dump
    190     </li>
    191 </ul>
    192 <b>Bug Fixes</b>
    193 <ul>
    194     <li>
    195         Fixed quick comparison of equal ABI dumps
    196     </li>
    197 </ul>
    198 <br/>
    199 
    200 <b>Version 1.99.20 (May 14, 2016)</b><br/>
    201 <b>Improvements</b>
    202 <ul>
    203     <li>
    204         Use regular expressions instead of wildcards in -skip-* options
    205     </li>
    206 </ul>
    207 <br/>
    208 
    209 <b>Version 1.99.19 (April 18, 2016)</b><br/>
    210 <b>Improvements</b>
    211 <ul>
    212     <li>
    213         Support for GCC 5.1
    214     </li>
    215 </ul>
    216 <b>Misc</b>
    217 <ul>
    218     <li>
    219         Separated LICENSE file
    220     </li>
    221     <li>
    222         Removed obsolete descriptors from the package
    223     </li>
    224     <li>
    225         Updated docs
    226     </li>
    227 </ul>
    228 <br/>
    229 
    230 <b>Version 1.99.18 (April 03, 2016)</b><br/>
    231 <b>Bug Fixes</b>
    232 <ul>
    233     <li>
    234         Fixed comparison of qualifiers in parameter data types
    235     </li>
    236     <li>
    237         Fixed problem descriptions in the report
    238     </li>
    239     <li>
    240         Reduced size of the report
    241     </li>
    242     <li>
    243         Fixed console output
    244     </li>
    245 </ul>
    246 <br/>
    247 
    248 <b>Version 1.99.17 (March 12, 2016)</b><br/>
    249 <b>Improvements</b>
    250 <ul>
    251     <li>
    252         Added a check for changes in parameters of function pointers
    253     </li>
    254 </ul>
    255 <b>Bug Fixes</b>
    256 <ul>
    257     <li>
    258         Fixed comparison of virtual table entries
    259     </li>
    260     <li>
    261         Do not show time stamp in the report
    262     </li>
    263     <li>
    264         Fixed -skip-symbols option
    265     </li>
    266     <li>
    267         Fixed detection of the GCC version number
    268     </li>
    269 </ul>
    270 <br/>
    271 
    272 <b>Version 1.99.16 (January 28, 2016)</b><br/>
    273 <b>Improvements</b>
    274 <ul>
    275     <li>
    276         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
    277     </li>
    278 </ul>
    279 <b>New Options</b>
    280 <ul>
    281     <li>
    282         -check-private-abi: enable check of the private ABI
    283     </li>
    284 </ul>
    285 <b>Bug Fixes</b>
    286 <ul>
    287     <li>
    288         Fixed counting of checked data types
    289     </li>
    290 </ul>
    291 <br/>
    292 
    293 <b>Version 1.99.15 (December 11, 2015)</b><br/>
    294 <b>Bug Fixes</b>
    295 <ul>
    296     <li>
    297         Fixed hang on some template instances
    298     </li>
    299     <li>
    300         Fixed support for old ABI dumps (formatting of data types)
    301     </li>
    302     <li>
    303         Fixed false positives in the report if input ABI dumps contain __unknown__ types
    304     </li>
    305 </ul>
    306 <br/>
    307 
    308 <b>Version 1.99.14 (November 01, 2015)</b><br/>
    309 <b>New Options</b>
    310 <ul>
    311     <li>
    312         -skip-types: set list of types that should not be checked
    313     </li>
    314 </ul>
    315 <b>Bug Fixes</b>
    316 <ul>
    317     <li>
    318         Fixed formatting of symbol signatures
    319     </li>
    320     <li>
    321         Fixed checks of template types
    322     </li>
    323 </ul>
    324 <br/>
    325 
    326 <b>Version 1.99.13 (October 18, 2015)</b><br/>
    327 <b>Improvements</b>
    328 <ul>
    329     <li>
    330         Check public symbols only if comparing public ABI dumps generated by the ABI dumper (with -public-headers option)
    331     </li>
    332     <li>
    333         Added more metadata to the report
    334     </li>
    335 </ul>
    336 <b>New Options</b>
    337 <ul>
    338     <li>
    339         -skip-internal-types: do not check data types matched by the pattern
    340     </li>
    341 </ul>
    342 <b>Bug Fixes</b>
    343 <ul>
    344     <li>
    345         Fixed Type_Became_Opaque, Parameter_Changed_Register, Parameter_From_Register and Parameter_To_Register rules
    346     </li>
    347     <li>
    348         Fixed method signatures in the report (C++)
    349     </li>
    350     <li>
    351         Fixed -headers-list option
    352     </li>
    353     <li>
    354         Option -skip-internal renamed to -skip-internal-symbols
    355     </li>
    356     <li>
    357         Fixed false positives if vtable-dumper generates incomplete data
    358     </li>
    359     <li>
    360         Fixed Makefile
    361     </li>
    362 </ul>
    363 <br/>
    364 
    365 <b>Version 1.99.12 (September 20, 2015)</b><br/>
    366 <b>Bug Fixes</b>
    367 <ul>
    368     <li>
    369         Fixed title of the report
    370     </li>
    371     <li>
    372         Print warning if version number is not set in the ABI dump
    373     </li>
    374 </ul>
    375 <br/>
    376 
    377 <b>Version 1.99.11 (September 12, 2015)</b><br/>
    378 <b>Bug Fixes</b>
    379 <ul>
    380     <li>
    381         Fixed Removed_Field_And_Layout rule
    382     </li>
    383     <li>
    384         Fixed -skip-symbols option
    385     </li>
    386 </ul>
    387 <br/>
    388 
    389 <b>Version 1.99.10 (September 08, 2015)</b><br/>
    390 <b>Improvements</b>
    391 <ul>
    392     <li>
    393         Improved style of the report
    394     </li>
    395     <li>
    396         New documentation
    397     </li>
    398     <li>
    399         Added more test cases
    400     </li>
    401 </ul>
    402 <b>New Options</b>
    403 <ul>
    404     <li>
    405         -types-list: specify a list of types that should be checked
    406     </li>
    407     <li>
    408         -gcc-options: specify additional compiler options
    409     </li>
    410 </ul>
    411 <b>Bug Fixes</b>
    412 <ul>
    413     <li>
    414         Limited number of affected symbols shown for each BC problem in the report
    415     </li>
    416     <li>
    417         Fixed check of the DataType_Size_And_Stack rule
    418     </li>
    419     <li>
    420         Fixed checks of base classes
    421     </li>
    422     <li>
    423         Carefully substitute parameters in rules
    424     </li>
    425     <li>
    426         Allow to check for source-compatibility in the -cmp-systems mode by specifying both -bin and -src options
    427     </li>
    428     <li>
    429         Fixed sorting of problems listed in the report
    430     </li>
    431     <li>
    432         Limit number of checked types if -headers-list option is specified
    433     </li>
    434     <li>
    435         Fixed -headers-list and -skip-symbols options
    436     </li>
    437     <li>
    438         Fixed cross-platform issues
    439     </li>
    440     <li>
    441         Set LANG=C.UTF-8 for objdump
    442     </li>
    443     <li>
    444         Fixed list of headers in the report
    445     </li>
    446     <li>
    447         Fixed number of checked headers in the report summary. Removed support for old dumps &lt; 1.18
    448     </li>
    449     <li>
    450         Renamed -lib-full option to -title
    451     </li>
    452     <li>
    453         Carefully detect architecture of input objects and word size
    454     </li>
    455     <li>
    456         Corrected detection of the GCC target architecture
    457     </li>
    458     <li>
    459         More accurate checking of ABI dump names
    460     </li>
    461     <li>
    462         Fixed regressions with SysCheck.pm module
    463     </li>
    464     <li>
    465         Removed obsolete code and options
    466     </li>
    467     <li>
    468         Fixed the objdump command line when the path contains spaces
    469     </li>
    470     <li>
    471         Simplified Makefile
    472     </li>
    473     <li>
    474         Do not install system descriptors to PREFIX/share
    475     </li>
    476     <li>
    477         Take -relpath option into account in the SysCheck.pm module
    478     </li>
    479     <li>
    480         Fixed CSS styles of the CmpSystems module
    481     </li>
    482 </ul>
    483 <br/>
    484 
    485 <b>Version 1.99.9 (January 23, 2014)</b><br/>
    486 <b>New Options</b>
    487 <ul>
    488     <li>
    489         -skip-internal: do not check internal interfaces matched by the pattern 
    490     </li>
    491 </ul>
    492 <b>Bug Fixes</b>
    493 <ul>
    494     <li>
    495         Fixed duplicated entries in the XML report 
    496     </li>
    497     <li>
    498         Reduced size of the XML report 
    499     </li>
    500     <li>
    501         Fixed duplicated problems related to changed size of a global data 
    502     </li>
    503     <li>
    504         Options -v1 and -v2 can now be used when comparing ABI dumps to change library versions shown in the report 
    505     </li>
    506     <li>
    507         Fixed false positives with the size change of a template instance type 
    508     </li>
    509     <li>
    510         Fixed false positives with the change of a parameter/field type name 
    511     </li>
    512 </ul>
    513 <br/>
    514 
    515 <b>Version 1.99.8.5 (October 03, 2013)</b><br/>
    516 <b>Improvements</b>
    517 <ul>
    518     <li>
    519         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)
    520     </li>
    521     <li>
    522         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
    523     </li>
    524     <li>
    525         Support for incomplete ABI dumps
    526     </li>
    527 </ul>
    528 <b>New Options</b>
    529 <ul>
    530     <li>
    531         -affected-limit
    532     </li>
    533     <li>
    534         -cpp-incompatible
    535     </li>
    536 </ul>
    537 <b>Bug Fixes</b>
    538 <ul>
    539     <li>
    540         Fixed identification of template constructors and destructors 
    541     </li>
    542     <li>
    543         Do not show "this" first argument of methods in the report
    544     </li>
    545     <li>
    546         Corrected descriptions of affected symbols in the report 
    547     </li>
    548     <li>
    549         Fixed false alarms on changed offset of parameters 
    550     </li>
    551     <li>
    552         Do not hang on class A&lt;N&gt;:public A&lt;N-1&gt; 
    553     </li>
    554     <li>
    555         Corrected identification of header files in the include_preamble 
    556     </li>
    557     <li>
    558         Corrected comparison of function pointer types 
    559     </li>
    560     <li>
    561         Corrected rule Global_Data_Size 
    562     </li>
    563 </ul>
    564 <b>Other</b>
    565 <ul>
    566     <li>
    567         Code refactoring
    568     </li>
    569 </ul>
    570 <br/>
    571 
    572 <b>Version 1.99.7 (July 01, 2013)</b><br/>
    573 <b>Improvements</b>
    574 <ul>
    575     <li>
    576         Added missed fields of template instance types to the ABI dump 
    577     </li>
    578     <li>
    579         Improved support for old ABI dumps 
    580     </li>
    581     <li>
    582         Added Struct_Field_Size_Increased rule 
    583     </li>
    584     <li>
    585         Support for vector types (GCC extension) 
    586     </li>
    587     <li>
    588         Removed duplicates from the ABI dump 
    589     </li>
    590     <li>
    591         Corrected visualization of v-table content in the report 
    592     </li>
    593     <li>
    594         Corrected identification of target headers 
    595     </li>
    596     <li>
    597         Corrected source-compatibility check 
    598     </li>
    599     <li>
    600         Performance optimization (5%) 
    601     </li>
    602 </ul>
    603 <b>New Options</b>
    604 <ul>
    605     <li>
    606         -check - to check completeness of the ABI dump 
    607     </li>
    608 </ul>
    609 <b>Bug Fixes</b>
    610 <ul>
    611     <li>
    612         Fixed default arguments of methods (broken in 1.99.1 due to added "this" parameter) 
    613     </li>
    614 </ul>
    615 <b>Other</b>
    616 <ul>
    617     <li>
    618         Extended test suite 
    619     </li>
    620 </ul>
    621 <br/>
    622 
    623 <b>Version 1.99.1 (June 07, 2013)</b><br/>
    624 <b>Improvements</b>
    625 <ul>
    626     <li>
    627         Support for ABI Dumper 0.97 
    628     </li>
    629     <li>
    630         Show added/removed inline virtual functions in the binary compatibility report 
    631     </li>
    632     <li>
    633         Added "this" hidden parameter to non-static class methods in the ABI dump 
    634     </li>
    635 </ul>
    636 <b>Bug Fixes</b>
    637 <ul>
    638     <li>
    639         Fixed XmlDump module 
    640     </li>
    641     <li>
    642         Fixed CallConv module 
    643     </li>
    644 </ul>
    645 <b>Other</b>
    646 <ul>
    647     <li>
    648         Support for old ABI dumps
    649     </li>
    650 </ul>
    651 <br/>
    652 
    653 <b>Version 1.99 (May 24, 2013)</b><br/>
    654 <b>Improvements</b>
    655 <ul>
    656     <li>
    657         Support for ABI Dumper 0.95 
    658     </li>
    659     <li>
    660         Added 14 binary-compatibility rules
    661     </li>
    662     <li>
    663         Added 10 source-compatibility rules 
    664     </li>
    665     <li>
    666         Improved model of type alignment 
    667     </li>
    668     <li>
    669         Changed version of ABI dump format to 3.0 
    670     </li>
    671     <li>
    672         Added _vptr member to virtual classes 
    673     </li>
    674     <li>
    675         Added constants defined by GCC to ABI dump 
    676     </li>
    677     <li>
    678         Improved analysis of constants 
    679     </li>
    680 </ul>
    681 <b>New Options</b>
    682 <ul>
    683     <li>
    684         -skip-symbols
    685     </li>
    686 </ul>
    687 <b>Bug Fixes</b>
    688 <ul>
    689     <li>
    690         Increased severity of Field_Became_Non_Mutable rule 
    691     </li>
    692 </ul>
    693 <b>Other</b>
    694 <ul>
    695     <li>
    696         Support for old ABI dumps 
    697     </li>
    698     <li>
    699         Extended test suite (+11 test cases) 
    700     </li>
    701     <li>
    702         Code cleaning 
    703     </li>
    704 </ul>
    705 <br/>
    706 
    707 <b>Version 1.98.8 (February 07, 2013)</b><br/>
    708 <b>Improvements</b>
    709 <ul>
    710     <li>
    711         Show added and removed constants (#defines) in the report 
    712     </li>
    713     <li>
    714         Show changes in unnamed enumerations 
    715     </li>
    716     <li>
    717         Avoid false alarm about renamed field if old name of this field is defined to new (SC) 
    718     </li>
    719     <li>
    720         Recursive comparing of structured data types in *_Format rules 
    721     </li>
    722     <li>
    723         Added Typedef_BaseType_Format rule to check format changes in the typedef base type 
    724     </li>
    725 </ul>
    726 <b>New Options</b>
    727 <ul>
    728     <li>
    729         -tolerant 
    730     </li>
    731     <li>
    732         -tolerance 
    733     </li>
    734 </ul>
    735 <b>Bug Fixes</b>
    736 <ul>
    737     <li>
    738         Increased severity of Parameter_BaseType_And_Size BC rule (Low to Medium) 
    739     </li>
    740     <li>
    741         Increased severity of Added_Field SC rule (Safe to Low) 
    742     </li>
    743     <li>
    744         Corrected handling of the tool error codes in the test suite 
    745     </li>
    746     <li>
    747         Corrected handling of relative paths in the descriptor options 
    748     </li>
    749     <li>
    750         Skipping linker-related options in gcc_options option of the descriptor 
    751     </li>
    752     <li>
    753         Corrected internal mangler for C++ functions 
    754     </li>
    755     <li>
    756         Corrected conditions for enabling of C++ compatibility mode 
    757     </li>
    758     <li>
    759         Corrected handling of C++ keywords in C-code 
    760     </li>
    761     <li>
    762         Corrected -extended option 
    763     </li>
    764     <li>
    765         Corrected Typedef_BaseType rule 
    766     </li>
    767     <li>
    768         Corrected parsing of default function arguments 
    769     </li>
    770     <li>
    771         Do not check presence of archive utilities if not used 
    772     </li>
    773     <li>
    774         Other fixes 
    775     </li>
    776 </ul>
    777 <b>Other</b>
    778 <ul>
    779     <li>
    780         Extended test suite 
    781     </li>
    782     <li>
    783         Code cleaning 
    784     </li>
    785 </ul>
    786 <br/>
    787 
    788 <b>Version 1.98.7 (December 14, 2012)</b><br/>
    789 <b>Improvements</b>
    790 <ul>
    791     <li>
    792         Extended extra info dumped by -extra-info option 
    793     </li>
    794     <li>
    795         Extended additional info dumped by -extra-dump option 
    796     </li>
    797     <li>
    798         Added specifiers for structs, unions and enums in the report and ABI dump 
    799     </li>
    800     <li>
    801         Improved support for old ABI dumps 
    802     </li>
    803 </ul>
    804 <b>Bug Fixes</b>
    805 <ul>
    806     <li>
    807         Corrected -debug option 
    808     </li>
    809     <li>
    810         Corrected creating of archives with ABI dumps 
    811     </li>
    812     <li>
    813         Corrected parsing of includes in header files 
    814     </li>
    815     <li>
    816         Corrected processing of undefined symbols 
    817     </li>
    818     <li>
    819         Corrected -app option 
    820     </li>
    821     <li>
    822         Corrected processing of default paths to system libraries 
    823     </li>
    824     <li>
    825         Corrected Makefile 
    826     </li>
    827     <li>
    828         Other fixes 
    829     </li>
    830 </ul>
    831 <b>Other</b>
    832 <ul>
    833     <li>
    834         Code cleaning and refactoring 
    835     </li>
    836 </ul>
    837 <br/>
    838 
    839 <b>Version 1.98.6 (December 04, 2012)</b><br/>
    840 <b>Improvements</b>
    841 <ul>
    842     <li>
    843         Extended -extra-info and -extra-dump options 
    844     </li>
    845 </ul>
    846 <b>Bug Fixes</b>
    847 <ul>
    848     <li>
    849         Corrected processing of input XML descriptor 
    850     </li>
    851     <li>
    852         Corrected "Parameter_Default_Value_Removed" rule 
    853     </li>
    854     <li>
    855         Other fixes 
    856     </li>
    857 </ul>
    858 <b>Other</b>
    859 <ul>
    860     <li>
    861         Code cleaning 
    862     </li>
    863 </ul>
    864 <br/>
    865 
    866 <b>Version 1.98.5 (November 30, 2012)</b><br/>
    867 <b>Improvements</b>
    868 <ul>
    869     <li>
    870         Support for Mac OS X 10.8 
    871     </li>
    872     <li>
    873         Support for OpenBSD 
    874     </li>
    875     <li>
    876         Support for old GCC versions &lt;= 4.2 
    877     </li>
    878     <li>
    879         Added "throw" and "weak" attributes of methods to ABI dump 
    880     </li>
    881 </ul>
    882 <b>New Options</b>
    883 <ul>
    884     <li>
    885         -extra-info
    886     </li>
    887     <li>
    888         -extra-dump
    889     </li>
    890     <li>
    891         -force
    892     </li>
    893 </ul>
    894 <b>Bug Fixes</b>
    895 <ul>
    896     <li>
    897         Corrected order of user-defined include paths 
    898     </li>
    899     <li>
    900         Corrected internal C++ mangler 
    901     </li>
    902     <li>
    903         Removed false positives of the "Parameter_Type_Format" rule 
    904     </li>
    905     <li>
    906         Other fixes 
    907     </li>
    908 </ul>
    909 <b>Other</b>
    910 <ul>
    911     <li>
    912         Extended test suite 
    913     </li>
    914     <li>
    915         Code cleaning 
    916     </li>
    917     <li>
    918         Docs cleaning 
    919     </li>
    920 </ul>
    921 <br/>
    922 
    923 <b>Version 1.98.4 (October 18, 2012)</b><br/>
    924 <b>Improvements</b>
    925 <ul>
    926     <li>
    927         Optimization of memory usage (5%-10%) and performance (5%-10%) 
    928     </li>
    929     <li>
    930         Added "Used Reserved Field" rule of binary compatibility analysis 
    931     </li>
    932     <li>
    933         Improved design of the operating system compatibility report 
    934     </li>
    935     <li>
    936         Added meta descriptors for 334 libraries 
    937     </li>
    938 </ul>
    939 <b>Bug Fixes</b>
    940 <ul>
    941     <li>
    942         Fixed an issue with diagnostics of added virtual functions 
    943     </li>
    944     <li>
    945         Corrected the list of functions affected by the compatibility problem 
    946     </li>
    947     <li>
    948         Avoid false alarm about removed function if this function became macro (SC) 
    949     </li>
    950     <li>
    951         Corrected parser of C header files 
    952     </li>
    953     <li>
    954         Other fixes 
    955     </li>
    956 </ul>
    957 <b>Other</b>
    958 <ul>
    959     <li>
    960         Extended test suite 
    961     </li>
    962     <li>
    963         Code cleaning 
    964     </li>
    965 </ul>
    966 <br/>
    967 
    968 <b>Version 1.98.3 (July 19, 2012)</b><br/>
    969 <b>Improvements</b>
    970 <ul>
    971     <li>
    972         Implemented a model of calling conventions on x86 and x86_64 
    973     </li>
    974     <li>
    975         Improved diagnostics of changes in function parameters and return value (distribution on registers and stack) 
    976     </li>
    977 </ul>
    978 <b>Bug Fixes</b>
    979 <ul>
    980     <li>
    981        Corrected parser of C++ header files to detect non-member functions inside namespaces 
    982     </li>
    983 </ul>
    984 <b>Other</b>
    985 <ul>
    986     <li>
    987         Added requirement for Ctags (5.8 or newer) 
    988     </li>
    989     <li>
    990         Code cleaning 
    991     </li>
    992 </ul>
    993 <br/>
    994 
    995 <b>Version 1.98.2 (June 26, 2012)</b><br/>
    996 <b>Improvements</b>
    997 <ul>
    998     <li>
    999         Support for reading ABI dumps in XML format 
   1000     </li>
   1001     <li>
   1002         Automatic enabling of c++0x support if needed to compile headers 
   1003     </li>
   1004 </ul>
   1005 <b>Bug Fixes</b>
   1006 <ul>
   1007     <li>
   1008         Corrected XML and Perl (default) formats of ABI dumps 
   1009     </li>
   1010     <li>
   1011         Improved support for old ABI dumps 
   1012     </li>
   1013     <li>
   1014         Improved -dump-system option 
   1015     </li>
   1016 </ul>
   1017 <b>Other</b>
   1018 <ul>
   1019     <li>
   1020         Improved documentation 
   1021     </li>
   1022 </ul>
   1023 <br/>
   1024 
   1025 <b>Version 1.98.1 (June 18, 2012)</b><br/>
   1026 <b>Bug Fixes</b>
   1027 <ul>
   1028     <li>
   1029         Removed symbols marked as LOCAL in a shared library from lists of added/removed symbols in source-compatibility report 
   1030     </li>
   1031     <li>
   1032         Fixed a false positive with some removed extern "C" symbols in source-compatibility report 
   1033     </li>
   1034     <li>
   1035         Fixed a bug with removed debug/ directory when using -use-dumps and -debug options together 
   1036     </li>
   1037     <li>
   1038         Added support for "skip_including" section of target system XML descriptors (modules/Targets) used by -dump-system option 
   1039     </li>
   1040     <li>
   1041         Extended XML ABI dumps by size attribute of library symbols 
   1042     </li>
   1043 </ul>
   1044 <br/>
   1045 
   1046 <b>Version 1.98.0 (June 14, 2012)</b><br/>
   1047 <b>New Features</b>
   1048 <ul>
   1049     <li>
   1050         Implemented XML format of ABI dumps 
   1051     </li>
   1052 </ul>
   1053 <b>New Options</b>
   1054 <ul>
   1055     <li>
   1056         -dump-format 
   1057     </li>
   1058 </ul>
   1059 <b>Bug Fixes</b>
   1060 <ul>
   1061     <li>
   1062         Improved support for old ABI dumps 
   1063     </li>
   1064     <li>
   1065         Other fixes 
   1066     </li>
   1067 </ul>
   1068 <br/>
   1069 
   1070 <b>Version 1.97.8 (June 08, 2012)</b><br/>
   1071 <b>Improvements</b>
   1072 <ul>
   1073     <li>
   1074         Redesigned format of ABI dump 
   1075     </li>
   1076     <li>
   1077         Optimization of memory usage (5%-10%) and performance (5%-10%) 
   1078     </li>
   1079     <li>
   1080         Improved support for GCC 4.0-4.5 
   1081     </li>
   1082     <li>
   1083         Added "add_namespaces" section of the XML descriptor 
   1084     </li>
   1085 </ul>
   1086 <b>New Options</b>
   1087 <ul>
   1088     <li>
   1089         -open
   1090     </li>
   1091     <li>
   1092         -sort
   1093     </li>
   1094 </ul>
   1095 <b>Bug Fixes</b>
   1096 <ul>
   1097     <li>
   1098         Improved support for old ABI dumps 
   1099     </li>
   1100     <li>
   1101         Fixed a bug with auto-detection of include paths when comparing two XML descriptors 
   1102     </li>
   1103     <li>
   1104         Corrected output of -debug option 
   1105     </li>
   1106     <li>
   1107         Corrected -dump-system and -cmp-systems options 
   1108     </li>
   1109     <li>
   1110         Other fixes 
   1111     </li>
   1112 </ul>
   1113 <b>Other</b>
   1114 <ul>
   1115     <li>
   1116         Code cleaning 
   1117     </li>
   1118 </ul>
   1119 <br/>
   1120 
   1121 <b>Version 1.97.5 (May 14, 2012)</b><br/>
   1122 <b>Improvements</b>
   1123 <ul>
   1124     <li>
   1125         Extended ABI dumps by source-level type declarations 
   1126     </li>
   1127     <li>
   1128         Improved support for old ABI dumps 
   1129     </li>
   1130     <li>
   1131         Optimization of memory usage (20%-30%) and performance (10%-20%) 
   1132     </li>
   1133 </ul>
   1134 <b>Bug Fixes</b>
   1135 <ul>
   1136     <li>
   1137         Corrected auto-detection of a set of target headers to check/dump in -headers-only mode 
   1138     </li>
   1139     <li>
   1140         Other fixes 
   1141     </li>
   1142 </ul>
   1143 <b>Other</b>
   1144 <ul>
   1145     <li>
   1146         Extended regression test suite 
   1147     </li>
   1148     <li>
   1149         Code cleaning 
   1150     </li>
   1151 </ul>
   1152 <br/>
   1153 
   1154 <b>Version 1.97.4 (April 16, 2012)</b><br/>
   1155 <b>New Features</b>
   1156 <ul>
   1157     <li>
   1158         Added 16 new binary-compatibility rules 
   1159     </li>
   1160     <li>
   1161         Added 17 new source-compatibility rules 
   1162     </li>
   1163 </ul>
   1164 <b>Bug Fixes</b>
   1165 <ul>
   1166     <li>
   1167         Added some missed typedef types to function signatures 
   1168     </li>
   1169 </ul>
   1170 <b>Other</b>
   1171 <ul>
   1172     <li>
   1173         Improved support for old ABI dumps 
   1174     </li>
   1175     <li>
   1176         Support for GCC 4.7 
   1177     </li>
   1178     <li>
   1179         Extended regression test suite 
   1180     </li>
   1181     <li>
   1182         Code cleaning 
   1183     </li>
   1184 </ul>
   1185 <br/>
   1186 
   1187 <b>Version 1.97.3 (April 03, 2012)</b><br/>
   1188 <b>Completed Tasks</b>
   1189 <ul>
   1190     <li>
   1191         Implement source-level compatibility checks
   1192     </li>
   1193     <li>
   1194         Implement 2.0 architecture
   1195     </li>
   1196 </ul>
   1197 <b>New Features</b>
   1198 <ul>
   1199     <li>
   1200         Added -browse=PROG option 
   1201     </li>
   1202     <li>
   1203         Added -xml alias option for --report-format=xml
   1204     </li>
   1205     <li>
   1206         Added -binary option to generate binary-compatibility report only 
   1207     </li>
   1208     <li>
   1209         Added -source option to generate source-compatibility report only 
   1210     </li>
   1211     <li>
   1212         Added -bin-report-path option: path to binary-compatibility report 
   1213     </li>
   1214     <li>
   1215         Added -src-report-path option: path to source-compatibility report 
   1216     </li>
   1217 </ul>
   1218 <b>Other Features</b>
   1219 <ul>
   1220     <li>
   1221         Improved debug mode (-debug) 
   1222     </li>
   1223     <li>
   1224         Improved mark-up of the HTML report 
   1225     </li>
   1226     <li>
   1227         Improved mark-up of the HTML report 
   1228     </li>
   1229     <li>
   1230         Improved support for old ABI dumps 
   1231     </li>
   1232 </ul>
   1233 <b>Bug Fixes</b>
   1234 <ul>
   1235     <li>
   1236         Corrected ABI dumps 
   1237     </li>
   1238 </ul>
   1239 <br/>
   1240 
   1241 <b>Version 1.96.8 (February 17, 2012)</b><br/>
   1242 <b>Completed Tasks</b>
   1243 <ul>
   1244     <li>
   1245         Implement XML format of compatibility report
   1246     </li>
   1247     <li>
   1248         Testing on MeeGo 1.2 Harmattan Beta2
   1249     </li>
   1250 </ul>
   1251 <b>New Features</b>
   1252 <ul>
   1253     <li>
   1254         Added hidden statistics line to compatibility report for operating systems
   1255     </li>
   1256     <li>
   1257         Added -headers-list option
   1258     </li>
   1259     <li>
   1260         Added -lang option
   1261     </li>
   1262     <li>
   1263         Support for symbolic links in /usr/include and /usr/lib
   1264     </li>
   1265     <li>
   1266         Added "skip_include_paths" section of the XML-descriptor 
   1267     </li>
   1268     <li>
   1269         Added "skip_including" section of the XML-descriptor
   1270     </li>
   1271     <li>
   1272         Added -list-affected option to create plain list of incompatible symbols
   1273     </li>
   1274     <li>
   1275         Added -quiet option to print all errors and warnings to the log file instead of stderr and stdout
   1276     </li>
   1277     <li>
   1278         Added -stdout option to print results to stdout
   1279     </li>
   1280     <li>
   1281         Added an option to check binary compatibility in the extended sense
   1282     </li>
   1283     <li>
   1284         Improve diagnostic messages for added base classes with virtual functions
   1285     </li>
   1286     <li>
   1287         Added -update option to installer
   1288     </li>
   1289     <li>
   1290         Added a relative default directory to locate modules after installation
   1291     </li>
   1292     <li>
   1293         Compatibility rate = (high+1/2*medium+1/4*low) / number of symbols
   1294     </li>
   1295 </ul>
   1296 <b>Bug Fixes</b>
   1297 <ul>
   1298     <li>
   1299         Some symbols with extern "C" linkage are missed in -headers-only mode
   1300     </li>
   1301     <li>
   1302         Changes in global data are not detected under Windows
   1303     </li>
   1304     <li>
   1305         False negative: change global data to be "const"
   1306     </li>
   1307     <li>
   1308         Removed middle enumeration value is reported as renamed
   1309     </li>
   1310     <li>
   1311         False positive: change parameter type from "const int" to "int"
   1312     </li>
   1313     <li>
   1314         Support for old ABI dump format of ACC 1.21.6
   1315     </li>
   1316     <li>
   1317         The tool doesn't search for included headers in /usr/lib/qt4/include/
   1318     </li>
   1319     <li>
   1320         False Negative: Header is incompatible with itself
   1321     </li>
   1322     <li>
   1323         Check libstdc++ in -headers-only mode
   1324     </li>
   1325     <li>
   1326         Restrict checked header files in the -headers-only mode
   1327     </li>
   1328     <li>
   1329         Problem with mangled C++ functions using old ABI dump formats in -headers-only mode
   1330     </li>
   1331     <li>
   1332         Incorrect size of method pointer in ABI dumps
   1333     </li>
   1334     <li>
   1335         False negative: add/remove "register" modifier of the parameter
   1336     </li>
   1337     <li>
   1338         Incorrect WORD size when using old ABI dump format
   1339     </li>
   1340     <li>
   1341         Conflict of a static method with a function of the same name in the ABI dump
   1342     </li>
   1343     <li>
   1344         Missed right bracket of "func-ptr" type in HTML report
   1345     </li>
   1346     <li>
   1347         Incorrect report for overridden methods
   1348     </li>
   1349     <li>
   1350         False negative: override a virtual that doesn't come from a primary base
   1351     </li>
   1352     <li>
   1353         False negative: change a function parameter to be "restrict"
   1354     </li>
   1355     <li>
   1356         False negative: change a field to be "volatile"
   1357     </li>
   1358     <li>
   1359         False negative: change "const"-ness of a return value 
   1360     </li>
   1361     <li>
   1362         False negative: change "volatile" attribute of a method
   1363     </li>
   1364     <li>
   1365         False positive: removed symbols with inline virtual prototype in the leaf class with default constructor
   1366     </li>
   1367 </ul>
   1368 <br/>
   1369 
   1370 <b>Version 1.94 (September 09, 2011)</b><br/>
   1371 <b>Completed Tasks</b>
   1372 <ul>
   1373     <li>
   1374         Separated regression tests into the module
   1375     </li>
   1376 </ul>
   1377 <b>New Features</b>
   1378 <ul>
   1379     <li>
   1380         Added Makefile.pl installer
   1381     </li>
   1382 </ul>
   1383 <br/>
   1384 
   1385 <b>Version 1.93.8 (September 08, 2011)</b><br/>
   1386 <b>Completed Tasks</b>
   1387 <ul>
   1388     <li>
   1389         Separated rules DB
   1390     </li>
   1391     <li>
   1392         Testing on Symbian SDK
   1393     </li>
   1394     <li>
   1395         Testing on Windows SDK
   1396     </li>
   1397     <li>
   1398         Support for OS3000
   1399     </li>
   1400 </ul>
   1401 <b>New Features</b>
   1402 <ul>
   1403     <li>
   1404         SONAME change in the OS comparison table
   1405     </li>
   1406     <li>
   1407         Added a compatibility percentage to the OS comparison table
   1408     </li>
   1409     <li>
   1410         Added -debug option
   1411     </li>
   1412     <li>
   1413         Added listing of symbols in OS comparison table
   1414     </li>
   1415     <li>
   1416         Use zip format of dumps in Windows
   1417     </li>
   1418     <li>
   1419         Added -dump-system descriptor.xml option
   1420     </li>
   1421     <li>
   1422         Analysis of static libraries 
   1423     </li>
   1424     <li>
   1425         Added -sysinfo option
   1426     </li>
   1427     <li>
   1428         Added -component option
   1429     </li>
   1430     <li>
   1431         Added -nostdinc option 
   1432     </li>
   1433     <li>
   1434         Added "weakly"- and "almost"-compatible verdicts
   1435     </li>
   1436     <li>
   1437          Added "skip_namespaces" section of the library XML-descriptor 
   1438     </li>
   1439     <li>
   1440         Search for modules/ directory in the system
   1441     </li>
   1442 </ul>
   1443 <b>Bug Fixes</b>
   1444 <ul>
   1445     <li>
   1446         Missed typedefs in the ABI dump using GCC 4.4.1
   1447     </li>
   1448     <li>
   1449         False negative: change enum member value from zero to non-zero
   1450     </li>
   1451     <li>
   1452         False negative: interchange the positions of two fields in a structure
   1453     </li>
   1454     <li>
   1455         False positive: add a field instead of padding fields
   1456     </li>
   1457     <li>
   1458         Problems with "copied" classes
   1459     </li>
   1460     <li>
   1461         Changes in "private" fields
   1462     </li>
   1463     <li>
   1464         Illegal modulus zero at abi-compliance-checker.pl
   1465     </li>
   1466     <li>
   1467          Incorrect order of include paths
   1468     </li>
   1469     <li>
   1470         Change constness of a class method
   1471     </li>
   1472     <li>
   1473         False negative: change "struct Type" to "union Type"
   1474     </li>
   1475     <li>
   1476         Change parameter type from "..." to "int"
   1477     </li>
   1478     <li>
   1479         Remove/add "const"-qualifier of a method
   1480     </li>
   1481     <li>
   1482         False negative: renamed parameters
   1483     </li>
   1484 </ul>
   1485 <b>Other</b>
   1486 <ul>
   1487     <li>
   1488         Improved debug mode
   1489     </li>
   1490 </ul>
   1491 <br/>
   1492 
   1493 <b>Version 1.23.5 (July 01, 2011)</b><br/>
   1494 <b>Bug Fixes</b>
   1495 <ul>
   1496     <li>
   1497         Corrected exit codes: 0 - compatible, 1 - incompatible, 2 - error, ...
   1498     </li>
   1499     <li>
   1500         Corrected diagnostic messages for C++ functions with changed signature
   1501     </li>
   1502     <li>
   1503         Fixed regression with C++ non-member functions
   1504     </li>
   1505     <li>
   1506         Removed false positive with overridden private methods
   1507     </li>
   1508     <li>
   1509         Corrected functionality for checking binary compatibility of operating systems
   1510     </li>
   1511     <li>
   1512         Removed false positive for removed default version of a symbol
   1513     </li>
   1514     <li>
   1515         Adapted -dump-system option for MeeGo 1.2 Harmattan
   1516     </li>
   1517     <li>
   1518         Fixed hanging execution on "#include "../../file.h"
   1519     </li>
   1520     <li>
   1521         Fixed incorrect automatic include paths
   1522     </li>
   1523 </ul>
   1524 <br/>
   1525 
   1526 <b>Version 1.23 (June 07, 2011)</b><br/>
   1527 <b>New Features</b>
   1528 <ul>
   1529     <li>
   1530         Added 42 compatibility checks (total: 83) 
   1531     </li>
   1532     <li>
   1533         Improved diagnostics of compatibility problems 
   1534     </li>
   1535     <li>
   1536         Opened an issue tracker 
   1537     </li>
   1538     <li>
   1539         Support for cross-compilers 
   1540     </li>
   1541     <li>
   1542         Ported to Mac OS X (10.5) and MS Windows (Xp, Vista, 7) 
   1543     </li>
   1544     <li>
   1545         Added a viewer of "real" v-table layouts for changed C++ classes 
   1546     </li>
   1547     <li>
   1548         Added functionality to check OS backward compatibility 
   1549     </li>
   1550     <li>
   1551         Supports for old-version dump formats (>=1.18) 
   1552     </li>
   1553     <li>
   1554         Separated versioning of dump formats 
   1555     </li>
   1556     <li>
   1557         Improved design of the compatibility report 
   1558     </li>
   1559     <li>
   1560         Improved performance 
   1561     </li>
   1562     <li>
   1563         Support for old GCC 3.4.4 
   1564     </li>
   1565 </ul>
   1566 <b>New Options</b>
   1567 <ul>
   1568     <li>
   1569         -cross-gcc: support for cross-compilers 
   1570     </li>
   1571     <li>
   1572         -sysroot: specify the alternative system root directory 
   1573     </li>
   1574     <li>
   1575         -dump-system, -cmp-systems: checking OS backward compatibility 
   1576     </li>
   1577     <li>
   1578         -use-dumps: check for compatibility using the intermediate dumping 
   1579     </li>
   1580     <li>
   1581         -show-retval: show symbol's return value type in the report 
   1582     </li>
   1583     <li>
   1584         -old-dumps: support for old-version dumps 
   1585     </li>
   1586     <li>
   1587         -test-dump: test for dumping functionality 
   1588     </li>
   1589     <li>
   1590         -report-path: change the location of output compatibility report 
   1591     </li>
   1592     <li>
   1593         -dump-path: change the location of output ABI dump 
   1594     </li>
   1595     <li>
   1596         -log1-path, -log2-path: change the location of output logs 
   1597     </li>
   1598 </ul>
   1599 <b>Bug Fixes</b>
   1600 <ul>
   1601     <li>
   1602         Reduced false positives 
   1603     </li>
   1604     <li>
   1605         Support for C-headers containing C++ keywords 
   1606     </li>
   1607     <li>
   1608         Corrected automatic include paths for headers 
   1609     </li>
   1610 </ul>
   1611 <br/>
   1612 
   1613 <b>Version 1.21.12 (April 29, 2011)</b><br/>
   1614 <b>Bug Fixes</b>
   1615 <ul>
   1616     <li>
   1617         Corrected automatic detection of include paths for header files
   1618     </li>
   1619     <li>
   1620         Removed false positives with overridden virtual functions
   1621     </li>
   1622     <li>
   1623         Corrected processing of typedef type names, fixed potential program hangup
   1624     </li>
   1625     <li>
   1626         Added some missed problems relating to the return type changes of a function
   1627     </li>
   1628     <li>
   1629         Corrected processing of a translation unit dump generated by modern GCC versions
   1630     </li>
   1631     <li>
   1632         Corrected identifying of inline functions (using the -fkeep-inline-functions GCC option)
   1633     </li>
   1634     <li>
   1635         Corrected parser for C++: analysis of const global data and functions inside a namespace
   1636     </li>
   1637     <li>
   1638         Corrected names and v-table checks for template types
   1639     </li>
   1640     <li>
   1641         Corrected checks for changes in enumerations
   1642     </li>
   1643     <li>
   1644         Corrected ABI dumping and sorting of dumps
   1645     </li>
   1646     <li>
   1647         Corrected analysis of added/removed virtual functions
   1648     </li>
   1649     <li>
   1650         Corrected help message and documentation
   1651     </li>
   1652     <li>
   1653         Documentation has been moved to "doc/" subdirectory
   1654     </li>
   1655     <li>
   1656         Using File::Temp for storing temporary files
   1657     </li>
   1658     <li>
   1659         Support for latest GCC 4.6.0 and old GCC v3.x series
   1660     </li>
   1661     <li>
   1662         Fixed infinite loop finding the path for "which" command in the system
   1663     </li>
   1664     <li>
   1665         Corrected distinction of descriptor kinds (headers, libraries, directories and XML-descriptors)
   1666     </li>
   1667     <li>
   1668         Corrected processing of "include_paths" section of the XML-descriptor
   1669     </li>
   1670 </ul>
   1671 <br/>
   1672 
   1673 <b>Version 1.21 (August 19, 2010)</b><br/>
   1674 <b>New Features</b>
   1675 <ul>
   1676     <li>
   1677         Added -check-implementation option: compare disassembled binary code to detect changes in the interface implementation
   1678     </li>
   1679     <li>
   1680         Added -objects-only option: compare shared objects without header files
   1681     </li>
   1682     <li>
   1683         Added -v1 and -v2 options: specify version number outside the descriptor
   1684     </li>
   1685     <li>
   1686         Improved help message
   1687     </li>
   1688     <li>
   1689         Improved performance of the tool
   1690     </li>
   1691     <li>
   1692         Removed template instances and stdc++ interfaces from the report (C++)
   1693     </li>
   1694     <li>
   1695         Added README.html and CHANGES.html to the package
   1696     </li>
   1697 </ul>
   1698 <b>Bug Fixes</b>
   1699 <ul>
   1700     <li>
   1701         Corrected ABI compatibility report
   1702     </li>
   1703     <li>
   1704         Corrected interface names and versions in the report
   1705     </li>
   1706     <li>
   1707         Corrected number of problems in report summary
   1708     </li>
   1709     <li>
   1710         Corrected ABI dump
   1711     </li>
   1712 </ul>
   1713 <br/>
   1714 
   1715 <b>Version 1.20 (August 30, 2010)</b><br/>
   1716 <b>New Features</b>
   1717 <ul>
   1718     <li>
   1719         Added "defines" section of the library descriptor: this section allows to add defines at the headers compiling stage
   1720     </li>
   1721 </ul>
   1722 <b>Bug Fixes</b>
   1723 <ul>
   1724     <li>
   1725         Corrected reports about added/withdrawn members in the structure types and added/withdrawn parameters
   1726     </li>
   1727     <li>
   1728         Corrected report about added/withdrawn virtual functions if -headers_only option specified
   1729     </li>
   1730     <li>
   1731         Corrected processing of header paths containing special characters
   1732     </li>
   1733 </ul>
   1734 <br/>
   1735 
   1736 <b>Version 1.19 (July 22, 2010)</b><br/>
   1737 <b>New Features</b>
   1738 <ul>
   1739     <li>
   1740         Added -library_full_name option to display full library name in title of the report
   1741     </li>
   1742     <li>
   1743         Added -relpath option to replace the {RELPATH} in the descriptor for ABI dumping
   1744     </li>
   1745     <li>
   1746         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
   1747     </li>
   1748     <li>
   1749         Improved performance on big libraries
   1750     </li>
   1751 </ul>
   1752 <b>Bug Fixes</b>
   1753 <ul>
   1754     <li>
   1755         Removed duplicated problems from the report
   1756     </li>
   1757     <li>
   1758         Corrected names of the template instances
   1759     </li>
   1760     <li>
   1761         Corrected checking of reference type changes
   1762     </li>
   1763     <li>
   1764         Corrected titles in the report
   1765     </li>
   1766     <li>
   1767         Corrected size of some array types
   1768     </li>
   1769     <li>
   1770         Corrected checking of added/withdrawn members in the structure types with reserved members
   1771     </li>
   1772     <li>
   1773         Corrected checking of added/withdrawn parameters
   1774     </li>
   1775 </ul>
   1776 <br/>
   1777 
   1778 <b>Version 1.18 (June 25, 2010)</b><br/>
   1779 <b>New Features</b>
   1780 <ul>
   1781     <li>
   1782         Added -relpath1 and -relpath2 options to replace the {RELPATH} in the descriptors; old option -relpath was removed
   1783     </li>
   1784     <li>
   1785         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
   1786     </li>
   1787 </ul>
   1788 <b>Bug Fixes</b>
   1789 <ul>
   1790     <li>
   1791         Added some previously missed compatibility problems in the report
   1792     </li>
   1793     <li>
   1794         Corrected techniques for auto-detection of header file dependencies (include paths)
   1795     </li>
   1796     <li>
   1797         Removed problems relating to the changes in the temporary header files
   1798     </li>
   1799     <li>
   1800         Corrected interface signatures in the report
   1801     </li>
   1802     <li>
   1803         Corrected checking of added/withdrawn parameters
   1804     </li>
   1805     <li>
   1806         Corrected changes in the virtual tables of the libraries with symbol versioning
   1807     </li>
   1808     <li>
   1809         Corrected checking of complex namespaces changes (C++)
   1810     </li>
   1811     <li>
   1812         Added namespaces information to the ABI dump
   1813     </li>
   1814 </ul>
   1815 <br/>
   1816 
   1817 <b>Version 1.17.2 (June 16, 2010)</b><br/>
   1818 <b>Bug Fixes</b>
   1819 <ul>
   1820     <li>
   1821         Fixed -separately option
   1822     </li>
   1823     <li>
   1824         Corrected permissions of LICENSE file
   1825     </li>
   1826     <li>
   1827         Corrected tool description
   1828     </li>
   1829 </ul>
   1830 <br/>
   1831 
   1832 <b>Version 1.17.1 (June 09, 2010)</b><br/>
   1833 <b>New Features</b>
   1834 <ul>
   1835     <li>
   1836         Added -relpath option for adding prefixes to the paths in the library descriptor
   1837     </li>
   1838 </ul>
   1839 <b>Bug Fixes</b>
   1840 <ul>
   1841     <li>
   1842         Corrected checking of added/withdrawn parameters
   1843     </li>
   1844     <li>
   1845         Corrected processing of mixed C/C++ header sets
   1846     </li>
   1847     <li>
   1848         Corrected checking of parameter type changes
   1849     </li>
   1850 </ul>
   1851 <br/>
   1852 
   1853 <b>Version 1.17 (June 08, 2010)</b><br/>
   1854 <b>New Features</b>
   1855 <ul>
   1856     <li>
   1857         Visualizing of the serious changes (added/withdrawn parameters) in the interface signature
   1858     </li>
   1859     <li>
   1860         Recursive analysis of constant changes
   1861     </li>
   1862     <li>
   1863         Separated stderr and stdout streams of the tool
   1864     </li>
   1865     <li>
   1866         Added "skip_constants" section of the library descriptor to skip checking of some constants
   1867     </li>
   1868     <li>
   1869         Added -params option to add function parameter names to the report
   1870     </li>
   1871 </ul>
   1872 <b>Bug Fixes</b>
   1873 <ul>
   1874     <li>
   1875         Corrected analysis of virtual table layout changes
   1876     </li>
   1877     <li>
   1878         Corrected analysis of parameter type changes
   1879     </li>
   1880     <li>
   1881         Corrected complex array type names
   1882     </li>
   1883     <li>
   1884         Corrected typedef names
   1885     </li>
   1886     <li>
   1887         Corrected analysis of structure layout changes
   1888     </li>
   1889     <li>
   1890         Fixed tool hanging on some C++ headers (with many namespaces)
   1891     </li>
   1892     <li>
   1893         Corrected analysis of Glibc headers
   1894     </li>
   1895     <li>
   1896         Corrected analysis of library language changes (if added some C++ headers)
   1897     </li>
   1898     <li>
   1899         Corrected descriptions of some compatibility problems
   1900     </li>
   1901     <li>
   1902         Corrected analysis of added/withdrawn parameters in C headers
   1903     </li>
   1904 </ul>
   1905 <br/>
   1906 
   1907 <b>Version 1.16 (May 05, 2010)</b><br/>
   1908 <b>New Features</b>
   1909 <ul>
   1910     <li>
   1911         Added -strict option for treating all compatibility warnings as problems
   1912     </li>
   1913     <li>
   1914         Added -dumpversion option for printing tool version and don't do anything else
   1915     </li>
   1916     <li>
   1917         Ignoring hidden .svn, .git, .bzr, .hg, and CVS directories
   1918     </li>
   1919     <li>
   1920         Improved header files sorting for protecting from compilation errors on the intermediate phase of temporary header file compilation
   1921     </li>
   1922     <li>
   1923         Improved techniques for auto-detection of header file dependencies (include paths)
   1924     </li>
   1925     <li>
   1926         Ignoring problems related to changes of constants (defines) describing library version (*_VERSION_*, *_COPYRIGHT_* and other)
   1927     </li>
   1928     <li>
   1929         New internal test cases
   1930     </li>
   1931 </ul>
   1932 <b>Bug Fixes</b>
   1933 <ul>
   1934     <li>
   1935         Checking of some previously missed C++ namespaces
   1936     </li>
   1937     <li>
   1938         Removed hidden "void const** __vtt_parm" parameters from signatures of some constructors
   1939     </li>
   1940     <li>
   1941         Corrected dumping of C++ classes ABI
   1942     </li>
   1943     <li>
   1944         Corrected checking of pure virtual destructors
   1945     </li>
   1946     <li>
   1947         Removed unnecessary built-in constants from the ABI dump
   1948     </li>
   1949 </ul>
   1950 <br/>
   1951 
   1952 <b>Version 1.15 (March 26, 2010)</b><br/>
   1953 <b>New Features</b>
   1954 <ul>
   1955     <li>
   1956         The license was changed to dual GNU GPL and LGPL
   1957     </li>
   1958     <li>
   1959         Added "skip_headers" section of the library descriptor
   1960     </li>
   1961 </ul>
   1962 <b>Bug Fixes</b>
   1963 <ul>
   1964     <li>
   1965         Corrected processing of "include_paths" section of the library descriptor
   1966     </li>
   1967     <li>
   1968         Corrected processing of relative paths in the "headers" and "include_paths" sections of the descriptor
   1969     </li>
   1970     <li>
   1971         Directory with temporary files renamed from "temp" to hidden ".tmp_dir"
   1972     </li>
   1973     <li>
   1974         Corrected processing of shared object dependencies
   1975     </li>
   1976     <li>
   1977         Corrected processing of some previously missed functions and conversion operators in C++
   1978     </li>
   1979     <li>
   1980         Corrected internal test suite
   1981     </li>
   1982     <li>
   1983         Corrected some error messages
   1984     </li>
   1985 </ul>
   1986 <br/>
   1987 
   1988 <b>Version 1.14 (March 03, 2010)</b><br/>
   1989 <b>New Features</b>
   1990 <ul>
   1991     <li>
   1992         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
   1993     </li>
   1994     <li>
   1995         Ported to FreeBSD and Haiku
   1996     </li>
   1997     <li>
   1998         Added check for gcc/g++ version (>=3.0.0)
   1999     </li>
   2000     <li>
   2001         Added sorting of interface problems by namespace in the report (C++)
   2002     </li>
   2003     <li>
   2004         Improved internal test suite
   2005     </li>
   2006     <li>
   2007         Added log for describing tool actions and occurred errors
   2008     </li>
   2009     <li>
   2010         Added exit error code (high/medium risk for ABI break)
   2011     </li>
   2012 </ul>
   2013 <b>Bug Fixes</b>
   2014 <ul>
   2015     <li>
   2016         Corrected ABI dumping
   2017     </li>
   2018     <li>
   2019         Corrected styles of the report
   2020     </li>
   2021 </ul>
   2022 <br/>
   2023 
   2024 <b>Version 1.13 (February 16, 2010)</b><br/>
   2025 <b>New Features</b>
   2026 <ul>
   2027     <li>
   2028         Added -version option
   2029     </li>
   2030 
   2031 </ul>
   2032 <b>Bug Fixes</b>
   2033 <ul>
   2034     <li>
   2035         Corrected processing of tab characters in the descriptor
   2036     </li>
   2037     <li>
   2038         Corrected help message
   2039     </li>
   2040     <li>
   2041         Corrected descriptor template structure
   2042     </li>
   2043     <li>
   2044         Corrected error and warning messages
   2045     </li>
   2046     <li>
   2047         Corrected processing of shared object dependencies
   2048     </li>
   2049 </ul>
   2050 <br/>
   2051 
   2052 <b>Version 1.12 (December 04, 2009)</b><br/>
   2053 <b>New Features</b>
   2054 <ul>
   2055     <li>
   2056         New help message
   2057     </li>
   2058     <li>
   2059         Highlighting of [in-charge], [not-in-charge] constructors and destructors in the report was improved
   2060     </li>
   2061     <li>
   2062         New option -time for enabling time measurements
   2063     </li>
   2064     <li>
   2065         New internal test cases
   2066     </li>
   2067 </ul>
   2068 <b>Bug Fixes</b>
   2069 <ul>
   2070     <li>
   2071         Corrected classification of compatibility problems in the report
   2072     </li>
   2073     <li>
   2074         Reduced priority of problems related to changes in a method's object
   2075     </li>
   2076     <li>
   2077         Corrected complex template type names
   2078     </li>
   2079 </ul>
   2080 <br/>
   2081 
   2082 <b>Version 1.11 (November 10, 2009)</b><br/>
   2083 <b>New Features</b>
   2084 <ul>
   2085     <li>
   2086         Added -app option to check portability of applications to the new library version
   2087     </li>
   2088     <li>
   2089         Memory usage decreased twice
   2090     </li>
   2091 </ul>
   2092 <b>Bug Fixes</b>
   2093 <ul>
   2094     <li>
   2095         Corrected checking of added middle structure members
   2096     </li>
   2097     <li>
   2098         Corrected names of template types (with intrinsic, bool and string parameters)
   2099     </li>
   2100     <li>
   2101         Corrected highlighting of function signatures in the report
   2102     </li>
   2103 </ul>
   2104 <br/>
   2105 
   2106 <b>Version 1.10 (November 02, 2009)</b><br/>
   2107 <b>New Features</b>
   2108 <ul>
   2109     <li>
   2110         Checking added/dropped function parameters (C language only)
   2111     </li>
   2112     <li>
   2113         Improved design of the report
   2114     </li>
   2115     <li>
   2116         New internal test cases
   2117     </li>
   2118 </ul>
   2119 <b>Bug Fixes</b>
   2120 <ul>
   2121     <li>
   2122         Incorrect checking of redefined virtual functions and differences in parameter types
   2123     </li>
   2124     <li>
   2125         More careful checking of withdrawn interfaces using shared library dependencies
   2126     </li>
   2127 </ul>
   2128 <br/>
   2129 
   2130 <b>Version 1.9 (October 12, 2009)</b><br/>
   2131 <b>Improvements</b>
   2132 <ul>
   2133     <li>
   2134         Improved design of ABI compliance report
   2135     </li>
   2136     <li>
   2137         Improved algorithms of checking parameter/field type change
   2138     </li>
   2139     <li>
   2140         New internal test cases
   2141     </li>
   2142 </ul>
   2143 <b>Bug Fixes</b>
   2144 <ul>
   2145     <li>
   2146         Fixed incorrect names of typedefs and function pointer types
   2147     </li>
   2148     <li>
   2149         Checking of some previously missed C++ functions
   2150     </li>
   2151     <li>
   2152         Removed some false positives from the report (for anon-types)
   2153     </li>
   2154 </ul>
   2155 <br/>
   2156 
   2157 <b>Version 1.8 (September 29, 2009)</b><br/>
   2158 <b>New Features</b>
   2159 <ul>
   2160     <li>
   2161         Added ability to specify a file with a list of interfaces that should be checked
   2162     </li>
   2163 </ul>
   2164 <b>Bug Fixes</b>
   2165 <ul>
   2166     <li>
   2167         Size of ABI info dumps have been reduced through removing of unnecessary information
   2168     </li>
   2169     <li>
   2170         Incorrect names of template instances and function pointer types
   2171     </li>
   2172     <li>
   2173         Incorrect positions of function parameters in the "Interface Problems" section of the report
   2174     </li>
   2175     <li>
   2176         Removed some false positives from the report
   2177     </li>
   2178     <li>
   2179         Incorrect handling of special symbols in the paths to header files and shared objects
   2180     </li>
   2181 </ul>
   2182 <br/>
   2183 
   2184 <b>Version 1.7 (September 11, 2009)</b><br/>
   2185 <b>New Features</b>
   2186 <ul>
   2187     <li>
   2188         Checking of incorrect symbols versioning
   2189     </li>
   2190     <li>
   2191         Checking the values of defines (constants)
   2192     </li>
   2193     <li>
   2194         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
   2195     </li>
   2196     <li>
   2197         Number of checked interfaces and data types in the report
   2198     </li>
   2199     <li>
   2200         Added tests for checking new features
   2201     </li>
   2202 </ul>
   2203 <b>Bug Fixes</b>
   2204 <ul>
   2205     <li>
   2206         Incorrect processing of duplicated headers in the input set (headers with the same name but different paths)
   2207     </li>
   2208     <li>
   2209         Incorrect header files include order
   2210     </li>
   2211     <li>
   2212         Sorting in the ABI dumps
   2213     </li>
   2214     <li>
   2215         Incorrect processing of redefined virtual methods
   2216     </li>
   2217     <li>
   2218         Incorrect processing of anon types
   2219     </li>
   2220     <li>
   2221         Absence of some necessary information about C++ functions in the ABI dumps
   2222     </li>
   2223 </ul>
   2224 <br/>
   2225 
   2226 <b>Version 1.6 (August 31, 2009)</b><br/>
   2227 <b>Bug Fixes</b>
   2228 <ul>
   2229     <li>
   2230         Corrected processing of relative paths in the library descriptor
   2231     </li>
   2232     <li>
   2233         Display machine hardware name instead of processor type in the report
   2234     </li>
   2235     <li>
   2236         Fixed grammar/spelling errors
   2237     </li>
   2238     <li>
   2239         Renamed "internal_interfaces" section of the library descriptor to "skip_interfaces"
   2240     </li>
   2241     <li>
   2242         Cosmetic changes in the code
   2243     </li>
   2244 </ul>
   2245 <br/>
   2246 
   2247 <b>Version 1.5 (August 25, 2009)</b><br/>
   2248 <b>Bug Fixes</b>
   2249 <ul>
   2250     <li>
   2251         Absent information about opaque types and internal interfaces has been added to the ABI dump 
   2252     </li>
   2253     <li>
   2254         Fixed style of the report 
   2255     </li>
   2256     <li>
   2257         Fixed grammar/spelling 
   2258     </li>
   2259     <li>
   2260         Renamed "internal_functions" section of the library descriptor to "internal_interfaces" 
   2261     </li>
   2262     <li>
   2263         Renamed outptu ABI dump to "*.abi.tar.gz" (previously it was "*.info.tar.gz") 
   2264     </li>
   2265     <li>
   2266         Corrected interface names in the report (for -separately option) 
   2267     </li>
   2268 </ul>
   2269 <br/>
   2270 
   2271 <b>Version 1.4 (August 18, 2009)</b><br/>
   2272 <b>Improvements</b>
   2273 <ul>
   2274     <li>
   2275         Added ability to check ABI compliance of library versions located on different machines 
   2276     </li>
   2277     <li>
   2278         Header files checking mode by default has been changed: checking all header files together instead of separate checking 
   2279     </li>
   2280 </ul>
   2281 <b>Bug Fixes</b>
   2282 <ul>
   2283     <li>
   2284         Incorrect description for affected interfaces 
   2285     </li>
   2286     <li>
   2287         Incorrect virtual table checking 
   2288     </li>
   2289 </ul>
   2290 <br/>
   2291 
   2292 <b>Version 1.3 (August 14, 2009)</b><br/>
   2293 <b>Bug Fixes</b>
   2294 <ul>
   2295     <li>
   2296         Incorrect number of binary compatibility problems in the report summary 
   2297     </li>
   2298     <li>
   2299         Incorrect design of problem descriptions in the report 
   2300     </li>
   2301 </ul>
   2302 <br/>
   2303 
   2304 <b>Version 1.1 (August 06, 2009)</b><br/>
   2305 <b>Improvements</b>
   2306 <ul>
   2307     <li>
   2308         Design of the report has been greatly improved 
   2309     </li>
   2310 </ul>
   2311 <br/>
   2312 
   2313 <b>Version 1.0 (July 31, 2009)</b><br/>
   2314 Initial version of the tool.
   2315 
   2316 <div class="footer">
   2317     get the source code on GitHub : <a href="https://github.com/lvc/abi-compliance-checker">lvc/abi-compliance-checker</a>
   2318 </div>
   2319 
   2320 <br/>
   2321 <br/>
   2322 
   2323 </div>
   2324 </body>
   2325 </html>
   2326