Version 0.8

[changed]
- run_tests() returns false (failed) if any one assert fails


Version 0.7

[added]
- CU_ASSERT_SINGLE_EQUAL() API macro - for singles using epsilon granularity
- CU_ASSERT_SINGLE_EXACT() API macro - direct and exact comparison between singles
- CU_ASSERT_DOUBLE_EXACT() API macro - direct and exact comparison between doubles
- CU_ASSERT_DOUBLE_APPROX() API macro - wrapper for dblApprox() function
- CU_ASSERT_SINGLE_APPROX() API macro - wrapper for sngApprox() function
- fbcu.dblIsNan() API function - check if double is not a number
- fbcu.dblIsInf() API function - check if double is infinity
- fbcu.dblULP() API function - calculate units in last place for double
- fbcu.dblULPdiff() API function - get units in last place difference for doubles
- fbcu.dblApprox() API function - units in last place comparison for doubles
- fbcu.sngIsNan() API function - check if single is not a number
- fbcu.sngIsInf() API function - check if single is infinity
- fbcu.sngULP() API function - calculate units in last place for single
- fbcu.sngULPdiff() API function - get units in last place difference for singles
- fbcu.sngApprox() API function - units in last place comparison for singles
- TEST_GROUP( group_name ) and END_TEST_GROUP macros added

[changed]
- add_test() API function changed to require suite name.  Module constructors might execute in any order and can't depend on add_suite called before add_test
- xml output strips trailing underscores

[fixed]
- suite names are now allowed to have '.' in the name
- SUITE() uses 'fbcu_global' by default if no suite_name given
- TEST() uses 'default' by default if no test_name given


Version 0.6

[changed]
- shared dynamic arrays are intialized on first use


Version 0.5

[changed]
- License is GNU Lesser General Public License Version 2.1 (or later) plus linking exception -- see license.txt


Version 0.4

[added]
- explicit copyright notices on source files and in the readme.txt
- junit compatible xml report generator


Version 0.3

[added]
- CU_ASSERT_DOUBLE_EQUAL() macro added - it is needed for fbc compiler test suite
- fbcu.check_internal_state() performs checks on the internal data
- console print logger calls crt fprintf directly - using fbc's OPEN in the library can interfere with unit tests

[changed]
- run_tests() now takes a verbose parameter
- run_tests() returns true=success, false=fail
- run_tests() checks return values from SUITE_INIT and SUITE_CLEANUP and reports failures
- CU_ASSERT_() now takes boolean data type as value argument (was long)

[fixed]
- hash table look up for suite names was failing when index was 0 (zero)
- CU_PASS() definition was incorrect
- CU_FAIL() definition was incorrect
- CU_ASSERT_TRUE() was comparing "=true" and needs to compare "<>false"


Version 0.2

[added]
- dual api for using fbcunit in -lang qb
- internal: use a singly linked lists to run tests for each test
- internal: use a hash for suite name lookups
- SUITE_INIT & SUITE_EXIT macros

[changed]
- fbcunit.bi reorganized to separate helper macros and code emitters

[fixed]
- find_suite() has always returning INVALID_INDEX
- unable to append tests to existing suite due to duplicate constructor names
- make constructors private to avoid name collisions
- lang qb: fix pseudo namespace "tests"


Version 0.1

[added]
- add defines FBCU_VER_MAJOR, FBCU_VER_MINOR
- add macros SUITE(), END_SUITE, TEST(), END_TEST

[changed]
- simplify makefiles - one remaining in top level


Version 0.0

[added]
- base code (from another project) and set namespace to fbcunit
