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.