## NEWS NEWS — The history of Cutter |

## 1.0.8: 2009-08-29

- Support libsoup:

  - HTTP client:

    - soupcut_client_new()

    - soupcut_client_set_base()

    - soupcut_client_send_message()

    - soupcut_client_get()

    - soupcut_client_get_n_messages()

    - soupcut_client_get_latest_message()

    - soupcut_client_get_async_context()

  - HTTP server:

    - soupcut_server_take()

    - soupcut_server_take_new()

    - soupcut_server_build_uri()

  - Assertions:

    - soupcut_message_assert_equal_content_type()

    - soupcut_client_assert_equal_content_type()

    - soupcut_client_assert_response()

    - soupcut_client_assert_equal_body()

    - soupcut_client_assert_match_body()

- Add an function to Assertion Utilities for GHashTable :

  - gcut_hash_table_string_string_copy()

- Add mroonga to project list that use Cutter

- Support rpm package for Fedora

- Support deb package for Debian

- Support deb package for Ubuntu

- Support lcov 1.7

- Document:

  - Add install document for Ubuntu

  - Add install document for FreeBSD

  - Add install document for Mac OS X

  - Add install document for Solaris

## 1.0.7: 2009-05-20

- Provide Version Information

- Support GBoxed type test data

- Display test name on crash (if available)

- Add shared library parser

  - Support ELF (Linux/*BSD), PE (Windows), Mach-O (Mac OS X)

  - Don't use BFD by default

- Use ImageHlp instead of BFD on Windows

- Document:

  - Add cutter command's man

  - Add install document for Debian

  - Add install document for Cygwin

  - Add Cygwin related notes to tutorial [Yamakawa Hiroshi]

- Add test utilities:

  - cut_build_path()

- Add assertions:

  - cut_assert_equal_boolean()

  - cut_assert_not_equal_boolean()

  - cut_assert_equal_substring()

  - cut_assert_not_equal_substring()

  - cut_assert_not_equal_double() [gunyara-kun]

  - cut_assert_not_equal_int() [gunyara-kun]

  - cut_assert_not_equal_uint() [gunyara-kun]

  - cut_assert_not_equal_memory() [gunyara-kun]

  - cut_assert_not_equal_size() [gunyara-kun]

  - cut_assert_not_equal_string() [gunyara-kun]

  - gcut_assert_not_equal_pid() [gunyara-kun]

- Compatibility:

  - Make fixture functions without "cut_" prefix deprecated. [gunyara-kun]

    - setup() -> cut_setup()

    - teardown() -> cut_teardown()

    - startup() -> cut_startup()

    - shutdown() -> cut_shutdown()

- Bug fixes:

  - Fix a typo in tutorial: [UNNO Hideyuki]

  - Fix file descriptor redirection: [UNNO Hideyuki]

- Add --disable-signal-handling option

## 1.0.6: 2009-03-01

- Add project list that use Cutter

- Add convenience API for using external command

- Improve backtrace detection:

  - CUT_RELATIVE_PATH

- Improve user message related API for assertions:

  - Obsolete optional message

    - for supporting non-GCC compilers

  - Add APIs to set user message independently of assertions:

    - cut_set_message()

    - cut_set_message_va_list()

  - Add API to use the same message with assertions:

    - cut_keep_message()

- Improve data driven test support:

  - Convenience test data API

- Add "cut_" prefix to fixture functions:

  - cut_setup()

  - cut_teardown()

  - cut_startup()

  - cut_shutdown()

- Add test utilities:

  - Object inspection functions

  - cut_push_backtrace()

  - cut_pop_backtrace()

  - cut_take_replace()

  - gcut_enum_parse()

  - gcut_flags_get_all()

  - gcut_flags_parse()

  - gcut_list_equal_int()

  - gcut_list_equal_uint()

  - gcut_list_equal_string()

  - gcut_list_inspect_enum()

  - gcut_list_inspect_flags()

  - gcut_list_inspect_int()

  - gcut_list_inspect_object()

  - gcut_list_inspect_string()

  - gcut_list_inspect_uint()

  - gcut_list_string_new_array()

  - gcut_take_new_list_string_array()

- Add assertions:

  - cut_assert_equal_size()

  - cut_return()

  - gcut_assert_equal_list()

  - gcut_assert_equal_pid()

## 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()

    - cut_sub_process_set_max_threads()

- Support GdkPixbuf:

  - Image comparison

  - Image diff

    - expected:

    - actual:

    - diff:

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

  - cut_take_memdup()

  - cut_take_memory()

  - cut_take_strdup()

  - cut_take_strndup()

  - gcut_take_new_hash_table_string_string()

  - gcut_take_new_list_string()

  - gcut_hash_table_string_string_new()

  - gcut_hash_table_string_string_new_va_list()

- Add assertions:

  - cut_assert_operator_double()

  - cut_assert_operator_uint()

  - gcut_assert_equal_enum()

  - gcut_assert_equal_error()

  - gcut_assert_equal_flags()

  - gcut_assert_equal_int64()

  - gcut_assert_equal_list_enum()

  - gcut_assert_equal_list_flags()

  - gcut_assert_equal_list_object()

  - gcut_assert_equal_list_object_custom()

  - gcut_assert_equal_object()

  - gcut_assert_equal_object_custom()

- Improve user defined assertion writing support:

  - Support backtrace

    - cut_trace()

    - cut_trace_with_info_expression()

  - Writing assertion

    - Assertion writing helper

    - Assertion Utilities for GEnum and GFlags

    - Assertion Utilities for GError

    - Assertion Utilities for GHashTable

    - Assertion Utilities for GList

    - Assertion Utilities for GObject

    - Assertion Utilities for GValue

  - cut_equal_double()

  - cut_equal_string()

- 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() to set attributes

- Support test on multi-process

- Support data driven test on multi-thread

- Add assertions:

  - gcut_assert_equal_hash_table_string_string()

  - gcut_assert_equal_time_val()

- Add utilities:

  - gcut_hash_table_string_string_new()

  - gcut_take_hash_table()

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

- Add assertions:

  - gcut_assert_equal_list_uint()

- 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 for more details.

- Add utilities:

  - cut_append_diff() : appends diff to a string.

  - gcut_list_string_new() / gcut_list_string_free() : helps creating a list of strings.

  - gcut_take_error() : takes ownership of GError * to Cutter.

  - gcut_take_list() : takes ownership of GList * to Cutter.

  - gcut_take_object() : 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.