API Sanity Checker - Change Log

Thanks to all for reporting issues so the tool can continue to be improved!

Contents

Version 1.98.3 (February 07, 2013)

api-sanity-checker-1.98.3.tar.gz
This is a bug-fix release with a few new features.

  • Bug Fixes
    • Corrected formatting of generated HTML-pages
    • Corrected generated makefiles
    • Corrected -vnum option
    • Other fixes
  • Other
    • Code cleaning

Version 1.98.2 (January 10, 2013)

api-sanity-checker-1.98.2.tar.gz
This is a bug-fix release.

  • 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)

api-sanity-checker-1.98.tar.gz

API Sanity Checker 2.0 pre-release.

This is a next major release including a lot of new features and bug fixes.

NOTE: Requires ABI Compliance Checker 1.98.7

  • 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)

api-sanity-checker-1.12.11.tar.gz
This is a bug-fix release with a few new features.

  • 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
    • Code cleaning

Version 1.12.10 (October 02, 2012)

api-sanity-checker-1.12.10.tar.gz

  • Added README
  • Docs cleaning

Version 1.12.9 (December 13, 2011)

api-sanity-checker-1.12.9.tar.gz
This is a next bug fix release.

  • Completed Tasks
    • Rename to API Sanity Checker (2093)
  • New Features
    • Add Makefile.pl installer (1869)

Version 1.12.5 (June 03, 2011)

api-sanity-autotest-1.12.5.tar.gz
This is a next bug fix release.

  • 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
  • New Features
    • Support for the latest GCC 4.6.0

Version 1.12 (March 03, 2011)

api-sanity-autotest-1.12.tar.gz
This is a next major release including a lot of new features and bug fixes.

  • 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 to 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)

api-sanity-autotest-1.11.1.tar.gz
This is generally a bug fix release.

  • 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)

api-sanity-autotest-1.11.tar.gz
This is a next release with several new features.

  • New Features
    • Added <skip_libs> section to 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)

Api-sanity-autotest-1.10.tar.gz
This is generally a bug fix release.

  • New Features:
    • Added -relpath option: replace {RELPATH} in the library descriptor to some relative path
    • Added <add_include_paths> section to the library descriptor: this section contains a list of include paths that should be added to the 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)

Api-sanity-autotest-1.9.tar.gz
This is generally a bug fix release.

  • 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)

Api-sanity-autotest-1.8.tar.gz
This release includes many bug fixes and new features after integration to the Upstream Tracker system.

  • 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 (<spec_type>) and to the collection of specialized types (<collection>). 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)

Api-sanity-autotest-1.7.tar.gz
This release includes new features, bug fixes and changed license.

  • 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
    • 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)

Api-sanity-autotest-1.6.tar.gz

  • 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)

Api-sanity-autotest-1.5.tar.gz
This is generally a bug fix release.

  • 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)

Api-sanity-autotest-1.4.tar.gz
This is generally a bug fix release.

  • 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)

Api-sanity-autotest-1.3.tar.gz

  • 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 devision 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)

Api-sanity-autotest-1.2.tar.gz

  • 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> section (in <associating> section) in the collection of specialized types

Version 1.1 (December 04, 2009)

Api-sanity-autotest-1.1.tar.gz

  • 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)

Api-sanity-autotest-1.0.tar.gz
Initial prototype of the tool.