API Sanity
Checker: History
Version 1.98.7 (September 08, 2015)
Improvements
    - 
        Ability to run or build old test-suite on a new library version for compatibility analysis
    
- 
        Improved style of the report
    
Bug Fixes
    - 
        Fixed tests for abstract methods
    
- 
        Fixed self-tests
    
- 
        Disabled tests for C3/C4 c-tors and D3/D4 d-tors
    
- 
        Fixed test result handling
    
- 
        Fixed sorting of selected interfaces
    
- 
        Fixed handling of relative paths in the descriptor
    
- 
        Added -all option
    
- 
        Corrected usage of typedefs in tests
    
- 
        Updated documentation
    
Version 1.98.6 (September 17, 2013)
Bug Fixes
    - 
        Support for ABI Compliance Checker 1.99.8.3 
    
- 
        Corrected generated test cases code and Makefiles 
    
- 
        Support for SUSE 11.2 
    
Other
Version 1.98.3 (February 07, 2013) 
New Options
Bug Fixes
    - 
        Corrected formatting of generated HTML-pages
    
- 
        Corrected generated makefiles
    
- 
        Corrected -vnum option
    
- 
        Other fixes
    
Other
Version 1.98.2 (January 10, 2013) 
Bug Fixes
    - 
        Fixed a problem with resolving of undefined symbols 
    
- 
        Moved linker options to LIBS variable in generated makefiles 
    
Version 1.98 (December 14, 2012) 
New Options
    - 
        -optimize-includes
    
- 
        -no-inline
    
- 
        -keep-internal
    
- 
        -lang
    
- 
        -cache
    
Improvements
    - 
        Added tests for inline functions 
    
- 
        Added test_include_preamble section of the XML-descriptor 
    
- 
        Added test_defines section of the XML-descriptor 
    
- 
        Improved design of test cases viewer 
    
- 
        Support for OpenBSD 
    
Bug Fixes
    - 
        More accurate list of includes in test cases 
    
- 
        Corrected auto-generated sub-class declarations 
    
- 
        Corrected Makefile to install modules 
    
- 
        Other fixes
    
Other
    - 
        Code cleaning and refactoring 
    
Version 1.12.11 (December 14, 2012)
Improvements
    - 
        Support for Mac OS X 10.8 
    
Bug Fixes
    - 
        Corrected generating of tests for protected methods
    
- 
        Disabled tests for WEAK symbols 
    
- 
        Corrected Makefile
    
- 
        Other fixes
    
Other
Version 1.12.5 (June 03, 2011)
New Features
    - 
        Support for the latest GCC 4.6.0 
    
Bug Fixes
    - 
        Corrected automatic include paths for headers 
    
- 
        Corrected template type names 
    
- 
        Corrected automatic preamble and finalization 
    
- 
        Corrected links in the problem summary 
    
- 
        Corrected help message and documentation
    
- 
        Support for C-headers containing C++ keywords 
    
- 
        Corrected design of test viewer 
    
Other
Version 1.12 (March 03, 2011)
New Features
    - 
         Ported to Mac OS X (10.5) and MS Windows (Xp, Vista, 7) 
    
- 
         Improved performance 
    
- 
         Using File::Temp for storing temporary files 
    
- 
         Implemented universal library descriptor: you can specify a directory with headers and shared objects or comma separated list of headers and shared objects instead of a standard XML-descriptor 
    
- 
         Extended help message 
    
- 
         Added -info option to show full information about the tool 
    
- 
         Added -strict-* options family 
    
- 
         Added -debug option for debugging 
    
- 
         Added "param_name" associating section to specialized types 
    
- 
         Added -vnum option to specify library version number outside the descriptor 
    
- 
         Added "defines" section of the XML-descriptor to add defines at the headers parsing stage 
    
- 
         Added documentation: Options.html, Descriptor.html
    
Bug Fixes
    - 
        Corrected automatic detection of include paths for headers (-I options to GCC) 
    
- 
        Option -without-shared-objects has been renamed to -headers-only
    
- 
        Corrected parsing of header files, identifying of some previously missed classes 
    
- 
        Documentation has been moved to "doc/" subdirectory
    
Version 1.11.1 (March 03, 2011)
New Features
    - 
        Added documentation: README.html, CHANGES.html, SPECTYPE.html 
    
Bug Fixes
    - 
        Corrected processing of typedef type names, fixed potential program hangup 
    
- 
        Corrected processing of special symbols in file paths specified by XML-descriptor ("+" and others) 
    
Version 1.11 (July 22, 2010)
New Features
    - 
        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 
    
- 
        Added -library-full-name option to display full library name in title of the report 
    
- 
        Improved performance on big libraries 
    
- 
        Improved unit tests code 
    
Version 1.10 (June 25, 2010)
New Features
    - 
        Added -relpath option: replace {RELPATH} in the library descriptor to some relative path 
    
- 
        Added "add_include_paths" section of the library descriptor: this section contains a list of include paths that should be added to the list of automatically detected include paths 
    
- 
        Improved initializing sequences in the test scenarios 
    
Bug Fixes
    - 
        Corrected techniques for auto-detection of header file dependencies (include paths) 
    
- 
        Corrected checking of complex namespaces changes (C++) 
    
- 
        Corrected reuse of previously created variables in tests 
    
Version 1.9 (June 08, 2010)
New Features
    - 
        Added -params option for improving tests by adding parameter names separately from header files 
    
- 
        Added -header option for restricting a list of functions that should be tested by providing a header file name in which they are declared 
    
- 
        Added "skip_warnings" section to the library descriptor for skipping some test messages 
    
- 
         Separated stderr and stdout streams of the tool 
    
- 
         Improved tests generating rate 
    
- 
         Treating SEGV|FPE|BUS|ILL|PIPE|SYS|XCPU|XFSZ signals as errors in the report, other as warnings 
    
- 
         Improved test data generation 
    
Bug Fixes
    - 
         Corrected complex array type names 
    
- 
         Corrected techniques for auto-detection of undefined symbols in the shared objects 
    
- 
         Corrected techniques for auto-detection of out parameters 
    
- 
         Corrected list of included headers 
    
- 
         Fixed tool hanging on some C++ headers (with many namespaces)
    
- 
         Corrected order of preamble/finalization in the code 
    
- 
         Corrected initialization of agc/argv parameters 
    
- 
         Corrected initialization of big arrays 
    
- 
         Removed recursive calls from the tests code 
    
- 
         Corrected initialization of structure members 
    
- 
         Corrected initialization of struct/union types 
    
- 
         Corrected global_code/init_code/final_code/value parsing techniques 
    
- 
         Corrected tests cleaning 
    
Version 1.8 (May 05, 2010)
New Features
    - 
        Ignoring hidden .svn, .git, .bzr, .hg, and CVS directories 
    
- 
        Added -dumpversion option for printing tool version and don't do anything else 
    
- 
        Added "out_params" section to the library descriptor 
    
- 
        Added "lib_version" section to the specialized type and to the collection of specialized types. It allows to specify library version(s) the specialized type or collection will be applied to
    
- 
        Improved techniques for auto-detection of out parameters 
    
- 
        Improved header files sorting for protecting from compilation errors on the intermediate phase of temporary header file compilation 
    
- 
        Improved techniques for auto-detection of header file dependencies (include paths) 
    
- 
         Extended set of tested interfaces 
    
- 
        Improved techniques for auto-detection of undefined symbols in the specified shared objects 
    
- 
        Calling of library malloc function instead of standard malloc() 
    
- 
        Improved techniques for initializing intrinsic types 
    
- 
        Added sentinel to function call (if needed) 
    
- 
        Treating receiving of ABRT signals and exit codes as warnings 
    
- 
        Added prefixes to header file includes in the test cases 
    
Bug Fixes
    - 
        Test cases for some previously missed C++ namespaces 
    
- 
        Removed hidden "void const** __vtt_parm" parameters from the signature of some constructors
    
- 
        Corrected redefinition of pure virtual destructors 
    
- 
        Corrected processing of several environment specialized types 
    
- 
        Corrected selection of functions to call for initializing parameters of other functions 
    
- 
        Corrected code parsing techniques (for "value" section of the specialized type) 
    
- 
        Preventing hanged execution of the tool on big arrays (>1024 elements) 
    
- 
        Corrected processing of "final_code" of specialized type for return value 
    
- 
        Corrected list of header file includes in the test cases 
    
- 
        Corrected processing of command line options 
    
Version 1.7 (March 26, 2010)
New Features
    - 
        The license was changed to dual GNU GPL and LGPL 
    
- 
        Added "pre_condition" and "post_condition" properties in the specialized types. Obsolete "constraint" property will be supported, but should be replaced by "post_condition" in the new code 
    
- 
        Added -splint-specs option for using splint annotations in the headers (@returned@, @out@, @notnull@, @requires@ and @ensures@) 
    
- 
        Using of throw() in the tests for C++ methods with the exceptions handling 
    
- 
        Changed meaning of the "skip_interfaces" section in the descriptor. Now it defines interfaces that should not be called in the tests 
    
- 
        Added "skip_headers" section in the descriptor 
    
Bug Fixes
    - 
        Corrected processing of "libs_depend" section in the descriptor 
    
- 
        Directory with temporary files renamed from "temp" to hidden ".tmp_dir" 
    
- 
        Corrected processing of shared object dependencies 
    
- 
        Corrected processing of relative paths in the "headers", "include_paths", "libs" and "libs_depend" sections of the descriptor
    
- 
        Added tests for some previously missed functions and conversion operators in C++ 
    
- 
        Improved internal test suite 
    
- 
        Corrected usage of the out-parameters 
    
- 
        Corrected code alignment 
    
- 
        Corrected LIBS variable in the makefiles 
    
- 
        Corrected enumeration members selecting 
    
- 
        Corrected some error messages 
    
Version 1.6 (March 03, 2010)
New Features
    - 
        Ported to FreeBSD and Haiku 
    
- 
        Added namespaces usage in the tests 
    
- 
        More accurate distinguishing pointer arguments *x and arrays x[] 
    
- 
        Added log for describing tool actions and occurred errors 
    
- 
        Improved techniques for auto-detection of header file dependencies (include paths) 
    
- 
        Added "libs" attribute to the specialized type for describing external libraries used by this type 
    
- 
         Added check for gcc/g++ version (>=3.0.0) 
    
- 
        Added -view-only option 
    
- 
        Added arguments to the tests 
    
- 
        More accurate detection of default gcc include paths 
    
- 
        Improved internal test suite 
    
- 
        Added error code on return 
    
Bug Fixes
    - 
        Corrected signal handling 
    
- 
        Corrected header include lists 
    
- 
        Corrected makefiles 
    
- 
        Corrected usage of the out-parameters 
    
- 
        Corrected styles in the report design 
    
- 
        Corrected error messages 
    
- 
        Corrected code highlighting 
    
Version 1.5 (February 15, 2010)
New Features
    - 
        Added "libs_depend" section of the descriptor for shared objects that should be provided to GCC for resolving undefined symbols (if NEEDED elf section in the library shared objects doesn't include it) 
    
- 
        Added techniques for auto-detection of undefined symbols in the specified shared objects 
    
Bug Fixes
    - 
        Corrected processing of header files in the /usr/include directory 
    
- 
        Corrected header include lists 
    
- 
        Corrected makefiles 
    
- 
        Corrected template for the collection of specialized types 
    
- 
        Corrected processing of tab characters in the descriptor 
    
- 
        Corrected usage of the out-parameters and return values 
    
- 
        Corrected alignment and highlighting of specialized type code 
    
- 
        Corrected parameters provided to X virtual frame buffer (xvfb) 
    
Version 1.4 (February 04, 2010) 
New Features
    - 
        Automated detecting of header file dependencies. Now providing of "include_paths" section in the descriptor is not necessary 
    
- 
         Added template for the collection of specialized types (-specialized-type-template option) 
    
- 
         Optimized execution time 
    
Bug Fixes
    - 
         Corrected makefiles 
    
- 
         Corrected descriptor template 
    
- 
         More appropriate usage of the out-parameters 
    
- 
         Corrected header include lists 
    
- 
         Corrected classes hierarchy in C 
    
Version 1.3 (January 29, 2010)
New Features
    - 
        Added -t2c option for generating tests in the Template2Code format 
    
- 
        Improved overall tests structure. Removed unnecessary code. More appropriate usage of the out-parameters. Improved makefiles code 
    
- 
        Added -without-shared-objects option for running the tool without providing of shared objects. It is necessary if the library contains in-line functions only and has no shared objects 
    
- 
        Added "libgroup" section in the descriptor for dividing the library into groups 
    
- 
        Added -isolated option to restrict functions usage in the tests by the lists specified by the -functions-list option or by the group division in the descriptor 
    
- 
        Tool has been ported to the Cygwin 
    
- 
        Using of constants (defines) for initializing parameters 
    
- 
        Added printing of incorrect return/parameter values to the report (intrinsic types only) 
    
- 
        Added -clean option for cleaning the tests 
    
Bug Fixes
    - 
        Corrected help message 
    
- 
        Corrected highlighting of the code defines in the reports 
    
- 
        Corrected type conversion algorithms 
    
- 
        Corrected variables reusing for initializing parameters 
    
- 
        Corrected variables naming in the code of specialized types 
    
- 
        Corrected reusing of specialized type attributes for the out-parameters 
    
- 
        Corrected statements (REQ, REQva) for checking requirements in the generated code 
    
- 
        Corrected selection of functions to call for initializing parameters 
    
- 
        Corrected headers include list at the beginning of tests 
    
Version 1.2 (December 22, 2009)
New Features
    - 
        New sections "Warnings" and "Unexpected Output" in the report 
    
- 
        Random test generation mode improved (random selecting of enumeration members and values for intrinsic types) 
    
- 
        More accurate selecting of functions to call for initializing parameters of other functions 
    
- 
        Added names to unnamed parameters by analyzing type names 
    
- 
        Initialization of subclasses in C (if there are no other ways to initialize structure type) 
    
- 
        More accurate initializing of array types 
    
- 
        More accurate selecting of enumeration members 
    
- 
        More accurate type conversion algorithms 
    
- 
        Test data improved (added *.xml and *.dtd files) 
    
- 
        Values set for intrinsic types extended 
    
Bug Fixes
    - 
        Corrected highlighting of variables in the report 
    
- 
        Corrected parsing of "interfaces" sub-section (in the "associating" section) in the collection of specialized types 
    
Version 1.1 (December 04, 2009)
New Features
    - 
        Inserting elements in the lists (C++ only) 
    
- 
        More accurate selecting of functions to call for initializing parameters 
    
- 
        More information about detected errors in the report 
    
- 
        New help message 
    
- 
        Additional warnings 
    
Bug Fixes
    - 
        Corrected initialization of typedefs to intrinsic types 
    
- 
        Corrected headers include list at the beginning of tests 
    
- 
        Corrected sorting of detected problems in the report 
    
Version 1.0 (November 30, 2009)
Initial version of the tool.