# -*- rd -*-

= NEWS --- The history of Cutter

== 1.0.5: 2008-10-15

  * Support max number of threads ran concurrently:
    * Add --max-threads option
    * For sub process:
      * ((<cut_sub_process_get_max_threads()|cutter-cut-multi-process.html>))
      * ((<cut_sub_process_set_max_threads()|cutter-cut-multi-process.html>))
  * Support GdkPixbuf:
    * Image comparison
    * Image diff
      * expected: ((<dark-circle.png>))
      * actual: ((<nested-circle.png>))
      * diff: ((<diff-dark-and-nested-circle.png>))
  * Improve debug support:
    * Add --keep-opening-modules option
      * Keep opening modules for resolving symbols on debugging
    * Show test result on SIGABORT like on SIGSEGV
  * --name option support iterated test
  * 'but was:' -> 'actual:'
  * Add test utilities:
    * ((<cut_take()|cutter-cut-test-utils.html>))
    * ((<cut_take_memdup()|cutter-cut-test-utils.html>))
    * ((<cut_take_memory()|cutter-cut-test-utils.html>))
    * ((<cut_take_strdup()|cutter-cut-test-utils.html>))
    * ((<cut_take_strndup()|cutter-cut-test-utils.html>))
    * ((<gcut_take_new_hash_table_string_string()|cutter-gcut-test-utils.html>))
    * ((<gcut_take_new_list_string()|cutter-gcut-test-utils.html>))
    * ((<gcut_hash_table_string_string_new()|cutter-gcut-test-utils.html>))
    * ((<gcut_hash_table_string_string_new_va_list()|cutter-gcut-test-utils.html>))
  * Add assertions:
    * ((<cut_assert_operator_double()|cutter-cut-assertions.html>))
    * ((<cut_assert_operator_uint()|cutter-cut-assertions.html>))
    * ((<gcut_assert_equal_enum()|cutter-gcut-assertions.html>))
    * ((<gcut_assert_equal_error()|cutter-gcut-assertions.html>))
    * ((<gcut_assert_equal_flags()|cutter-gcut-assertions.html>))
    * ((<gcut_assert_equal_int64()|cutter-gcut-assertions.html>))
    * ((<gcut_assert_equal_list_enum()|cutter-gcut-assertions.html>))
    * ((<gcut_assert_equal_list_flags()|cutter-gcut-assertions.html>))
    * ((<gcut_assert_equal_list_object()|cutter-gcut-assertions.html>))
    * ((<gcut_assert_equal_list_object_custom()|cutter-gcut-assertions.html>))
    * ((<gcut_assert_equal_object()|cutter-gcut-assertions.html>))
    * ((<gcut_assert_equal_object_custom()|cutter-gcut-assertions.html>))
  * Improve user defined assertion writing support:
    * Support backtrace
      * ((<cut_trace()|cutter-cut-helper.html>))
      * ((<cut_trace_with_info_expression()|cutter-cut-helper.html>))
    * ((<Writing assertion|writing-assertion.html>))
      * ((<Assertion writing helper|cutter-cut-helper.html>))
      * ((<Assertion Utilities for GEnum and GFlags|cutter-gcut-enum.html>))
      * ((<Assertion Utilities for GError|cutter-gcut-error.html>))
      * ((<Assertion Utilities for GHashTable|cutter-gcut-hash-table.html>))
      * ((<Assertion Utilities for GList|cutter-gcut-list.html>))
      * ((<Assertion Utilities for GObject|cutter-gcut-object.html>))
      * ((<Assertion Utilities for GValue|cutter-gcut-value-equal.html>))
    * ((<cut_equal_double()|cutter-cut-test-utils.html>))
    * ((<cut_equal_string()|cutter-cut-test-utils.html>))
  * Bug fixes:
    * Fix memory leak (Daijiro MORI)
    * Fix a bug that test result is ignored in setup()/teardown()

== 1.0.4: 2008-08-27

  * Option:
    * Add --stream-log-dir option that is for logging test
      result history
    * Add --fatal-failures option that test is aborted on
      failure (for cooperation with debugger)
  * Output:
    * Support folded diff
    * Output newline into long summary (".", "F", ...)
  * Add ((<cut_set_attributes()|cutter-cutter.html>)) to set
    attributes
  * Support ((<test on multi-process|cutter-cut-multi-process.html>))
  * Support data driven test on multi-thread
  * Add assertions:
    * ((<gcut_assert_equal_hash_table_string_string()|cutter-gcut-assertions.html>))
    * ((<gcut_assert_equal_time_val()|cutter-gcut-assertions.html>))
  * Add utilities:
    * ((<gcut_hash_table_string_string_new()|cutter-gcut-test-utils.html>))
    * ((<gcut_take_hash_table()|cutter-gcut-test-utils.html>))
  * Fix:
    * Fix a build bug on no GOffice environment.
      (Reported by Kazumasa Matsunaga)
  * Experimental:
    * Add --analyzer mode that cutter analyzes test result log.

== 1.0.3: 2008-07-15

  * Support Data-Driven Testing:
    * ((<cut_add_data()|cutter-cutter.html>))
  * Add assertions:
    * ((<gcut_assert_equal_list_uint()|cutter-gcut-assertions.html>))
  * Rename assertions:
    * Rename features that requires GLib support to
      'gcut_XXX' from 'cut_XXX'. 'cut_XXX' can be still used
      but they are deprecated. See ((<Assertions with GLib support
      |cutter-gcut-assertions.html>)) for more details.
  * Add utilities:
    * ((<cut_append_diff()|cutter-cut-test-utils.html>)):
      appends diff to a string.
    * ((<gcut_list_string_new()|cutter-gcut-test-utils.html>))/
      ((<gcut_list_string_free()|cutter-gcut-test-utils.html>)):
      helps creating a list of strings.
    * ((<gcut_take_error()|cutter-gcut-test-utils.html>)):
      takes ownership of GError * to Cutter.
    * ((<gcut_take_list()|cutter-gcut-test-utils.html>)):
      takes ownership of GList * to Cutter.
    * ((<gcut_take_object()|cutter-gcut-test-utils.html>)):
      takes ownership of GObject * to Cutter.

== 1.0.2: 2008-06-27

  * Support fixture data
    * cut_set_fixture_data_dir()
    * cut_get_fixture_data_string()
    * cut_build_fixture_data_path()
  * Add a utility
    * cut_remove_path()
  * Add assertions
    * cut_assert_equal_fixture_data_string()
    * cut_assert_path_not_exist()
    * cut_assert_remove_path()
    * cut_error_errno()
  * Experimental:
    * Windows support

== 1.0.1: 2008-06-13

  * Improve AC_CHECK_COVERAGE
  * Document:
    * Fix: Require GLib >= 2.16
  * Experimental:
    * Support GStreamer:
      * Transport test result to remote machine and so on
    * Support warmup()/cooldown()

== 1.0.0: 2008-05-20

  * Add assertions:
    * cut_assert_equal_pointer()
    * cut_assert_g_error()
    * cut_assert_match()
    * cut_assert_match_with_free()
  * Add --exclude-file option that specifies excluded files
    from test targets
  * Add --exclude-dir option that specifies excluded directories
    from test targets
  * Add --without-cutter to cutter.m4 (configure option)
  * Experimental:
    * Implement Cutter protocol (CutXMLStreamer and CutStreamParser)
    * Add cut_take_g_error()
    * Support Mac OS X

== 0.9.0: 2008-05-12

  * Add assertions.
    * cut_assert_equal_string_array_with_free()
    * cut_assert_true()
    * cut_assert_false()
    * cut_assert_file_exist()
  * Add AC_CHECK_GCUTTER
  * Experimental: Support GObject:
    * cut_take_g_object()

== 0.8.0: 2008-05-07

  * LGPL2 -> LGPL3
  * Add assertions.
    * cut_assert_equal_g_list_int()
    * cut_assert_equal_g_list_string()
    * cut_assert_errno()
  * Support omission: cut_omit()
  * Support startup/shutdown hooks that are ran on before
    test case start and end.
  * Support diff.
  * Support gcov.
  * Experimental: Support fork:
    * cut_fork()
    * cut_wait_process()
    * cut_fork_get_stdout_message()
    * cut_fork_get_stderr_message()

== 0.7.0: 2008-03-26

  * Fixed packaging failure.
  * Fixed --help-all.
  * Added a document for XML format reported by Cutter.

== 0.6.0: 2008-03-21

  * Added --xml-report option for reporting test result as XML.
  * Added --test-case-order option for sorting test case by name.
  * Added --version option for outputting Cutter version.
  * Added --disable-bfd option to configure.

== 0.5.0: 2008-03-10

  * Included missing cutter/gbsearcharray.h.

== 0.4.0: 2008-02-28

  * cut_pending() -> cut_pend().
  * Supported attributes.

== 0.3.0: 2007-12-14

  * Fixed documentation.
  * Marked cut_assert_equal_string_or_null() as deprecated.
  * cut_assert_equal_string() accepted NULL.
  * Removed an experimental API from document.

== 0.2.0: 2007-11-29

  * Initial release on SF.net.
