# -*- rd -*-

= お知らせ --- Cutterの歴史

== [release-1-1-7] 1.1.7: 2011-02-13

=== Cutter

==== 改良

  * growlnotify対応。

==== 修正

  * CentOS 5.5で動かない問題を修正。
    [中村弘輝さんが報告]

=== ドキュメント

===== 修正

  * チュートリアルのtypoを修正。
    [中村弘輝さんが報告]

=== 感謝

  * 中村弘輝さん

== [release-1-1-6] 1.1.6: 2011-02-09

=== Cutter

==== 改良

  * ユーティリティの名前変更:
    * ((<cut_build_fixture_data_path()>)) -> ((<cut_build_fixture_path()>))
  * ユーティリティの追加:
    * ((<gcut_take_string()>))
    * ((<cut_get_fixture_data()>))
    * ((<gcut_get_fixture_data()>))
    * ((<GCutEventLoop>))
    * ((<GCutGLibEventLoop>))
  * Debian GNU/Linux squeeze対応。
    [Romuald Contyさんが提案]
  * Ubuntu Maverick Meerkat対応。
  * Fedora 14対応。
  * cutter.m4: --config-cache対応。
  * cutter.m4: --enable-coverageが更新するMakefileとして
    Makefile以外の名前に対応。（AC_CHECK_COVERAGE()の引数に
    Makefileのファイル名を指定）
  * notify-send対応。

==== 修正

  * 間違ったテストを修正。
    [Ilya Baryginさんが提案]

=== cut-diff

==== 改良

  * ヘッダーのラベルを指定する((<--labelオプション
    |cut-diff#--label>))を追加。

=== 感謝

  * Romuald Contyさん
  * Ilya Baryginさん

== [release-1-1-5] 1.1.5: 2010-09-06

=== Cutter

==== 改良

  * 検証の名前変更:
    * ((<cut_assert_path_exist()>)) -> ((<cut_assert_exist_path()>))
    * ((<cut_assert_path_not_exist()>)) -> ((<cut_assert_not_exist_path()>))
  * 検証の追加:
    * ((<gcut_assert_equal_string()>))
  * ユーティリティの名前変更:
    * ((<GCutEgg|GCutEgg.html>)) -> ((<GCutProcess|GCutProcess.html>))
  * ユーティリティの追加:
    * ((<cut_get_source_directory()>))
    * ((<cut_build_path_array()>))
    * ((<gcut_data_has_field()>))
    * ((<gcut_list_int_new()>))
    * ((<gcut_list_uint_new()>))
    * ((<gcut_take_new_list_int()>))
    * ((<gcut_take_new_list_uint()>))
  * Ubuntu Lucid Lynx対応。
  * configure終了時に結果を報告。
    [Romain Tartièreさんが提案]
  * libgoffice-0.8対応。（libgoffice-0.6対応は終了）
    [Romain Tartièreさんが提案]
  * lcov 1.9対応。#3056684
    [Romain Tartièreさんが改良]
  * テスト説明文内の全角スペース表示に対応。
  * サブcutterプロセスがPATH上にあれば動作するように修正。
    [Romain Tartièreさんが改良]

==== 修正

  * ロケールに依存したテストを修正。
    [Romain Tartièreさんが提案]

=== cut-diff

==== 改良

  * diffの周辺何行を表示するかを指定する((<--context-linesオ
    プション|cut-diff#--context-lines>))を追加。

=== ドキュメント

==== 改良

  * FreeBSDではportsを使うように変更。
    [Romain Tartièreさんが提案]

=== 感謝

  * Romain Tartièreさん

== [release-1-1-4] 1.1.4: 2010-06-10

CentOS対応。

=== Cutter

==== 改良

  * 検証の追加:
    * ((<cut_assert_equal_file_raw()>))
    * ((<cut_assert_not_equal_file_raw()>))
    * ((<gcut_assert_not_equal_int64()>))
    * ((<gcut_assert_not_equal_uint64()>))
  * ユーティリティの追加:
    * ((<cut_get_test_directory()>))
  * diffではできるだけタブを利用するように変更
  * CentOS対応

==== 修正

  * 検証に指定したメッセージが無視される問題の修正

=== ドキュメント

==== 修正

  * Debian, Ubuntu: ファイルのパスを修正。
    [Romuald Contyさんが報告]

=== 感謝

  * Romuald Contyさん

== [release-1-1-3] 1.1.3: 2010-04-13

データ駆動テストサポートの強化。

=== Cutter

==== 改良

  * AC_CHECK_ENABLE_COVERAGE: 'make check'に失敗してもカバレッ
    ジを出力するcoverage-forceターゲットを追加

==== バグ修正

  * 不要なメモリ解放を削除 [Reported by Zed Shaw]
  * AC_CHECK_ENABLE_COVERAGEがタブではなく空白を出力する問題
    の修正

=== GCutter

==== 改良

  * データ駆動テストサポートの強化
    * ((<gcut_data_get_size()>))
    * ((<gcut_data_get_char()>))
    * ((<gcut_data_get_boolean()>))
    * ((<gcut_data_get_int64()>))
    * ((<gcut_data_get_uint64()>))
  * ユーティリティの追加:
    * ((<gcut_inspect_size()>))
    * ((<gcut_inspect_char()>))
    * ((<gcut_inspect_boolean()>))
    * ((<gcut_inspect_double()>))
    * ((<gcut_inspect_int64()>))
    * ((<gcut_inspect_uint64()>))

==== バグ修正

  * Mac OS Xでgcut_list_inspect_enum()と
    gcut_list_inspect_flags()がクラッシュする問題の修正。

=== ドキュメント

==== バグ修正

  * Cygwin 1.7での依存パッケージを修正

=== 感謝

  * Zed Shaw

== [release-1-1-2] 1.1.2: 2010-04-03

Windows対応強化。

=== Cutter

==== 改良

  * lcov 1.8対応
  * --enable-coverage=SOMETHINGと指定しても動作するようにした
    [グニャラくんが報告]
  * #2976775: cut_setup()内でのcut_omit()対応
    [Romain Tartièreさんが報告]
  * Visual Studio C++ 2008でのビルド・テスト実行に対応

=== CppCutter

==== 改良

  * Windows用でのテスト定義用マクロ
    ((<CUT_EXPORT|#CUT-EXPORT:CAPS>))を追加

=== ドキュメント

==== 改良

  * Ubuntu Karmic Koara対応

=== 感謝

  * Romain Tartièreさん
  * グニャラくん

== [release-1-1-1] 1.1.1: 2010-03-11

1.1.0のバグ修正とGObject、sockaddr対応強化。

=== Cutter

==== 改良

  * Visual C++で生成されたDLLに対応。
  * 検証の追加:
    * ((<cut_assert_equal_sockaddr()>))
  * テストユーティリティの追加:
    * ((<cut_equal_sockaddr()>))
    * ((<cut_inspect_sockaddr()>))
    * ((<cut_make_directory()>))

==== 修正

  * stdint.hがあるがinttypes.hがない環境でビルドが失敗する問題の修正

=== GCutter

==== 改良

  * データ駆動テストサポートの強化:
    * ((<gcut_data_get_object()>))
  * ユーティリティの追加:
    * ((<gcut_list_new()>))
    * ((<gcut_take_new_list_object()>))
    * ((<gcut_list_object_free()>))

== [release-1-1-0] 1.1.0: 2009-11-03

注意: APIに非互換があります。

=== Cutter

==== 改良

  * stdint.hに定義されている型の検証を追加 [はやみずさん]
  * ((*API変更*)): 省略可能な検証メッセージを再有効化

    変更前:
      cut_assert_equal_string("a", "b", "message");

    変更後:
      cut_assert_equal_string("a", "b", cut_message("message"));

    * ((<cut_message()>))の追加
    * ((<cut_set_message()>))
      を非推奨に変更
    * ((<cut_set_message_va_list()>))
      を非推奨に変更
    * ((<cut_keep_message()>))
      を非推奨に変更

=== CppCutter

==== 改良

  * ((<cppcut_assert_equal()>))
    が対応する型を追加
  * namespace内でのテスト定義検出に対応
    * ((<CPPCUT_BEGIN_TEST_DECLS|#CPPCUT-BEGIN-TEST-DECLS:CAPS>))
      を非推奨に変更
    * ((<CPPCUT_END_TEST_DECLS|#CPPCUT-END-TEST-DECLS:CAPS>))
      を非推奨に変更
  * 省略可能な検証メッセージに対応
    * ((<cppcut_message()>))
      の追加

=== 感謝

  * はやみずさん

== [release-1-0-9] 1.0.9: 2009-10-20

=== 改良

  * ((<GHashTable用の検証ユーティリティ|cutter-Assertion-Utilities-for-GHashTable.html>))に関数を追加:
    * ((<gcut_hash_table_inspect_sorted()>))
  * ハッシュの詳細表示時に内容をキーでソート
  * 色付き差分表示対応: ((<colorized-diff.png>))
  * テスト実行直前にブレークポイントを設定する
    --stop-before-testオプションの追加 [奥地さんによる提案]
  * ((<cut-diff>))コマンドの追加
  * unified diff対応
  * C++サポートの追加: ((<CppCutter|cutter-CppCutter.html>))

=== バグ修正

  * ロケール依存を修正 [奥地さんによる報告]

=== 感謝

  * 奥地さん

== [release-1-0-8] 1.0.8: 2009-08-29

  * libsoupサポートの追加:
    * HTTPクライアント機能:
      * ((<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サーバー機能:
      * ((<soupcut_server_take()>))
      * ((<soupcut_server_take_new()>))
      * ((<soupcut_server_build_uri()>))
    * 検証:
      * ((<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()>))
  * ((<GHashTable用の検証ユーティリティ|cutter-Assertion-Utilities-for-GHashTable.html>))に関数を追加:
    * ((<gcut_hash_table_string_string_copy()>))
  * ((<Cutter利用プロジェクトリスト|USERS.ja>))にmroongaを追加
  * Fedora用rpmパッケージをサポート
  * Debian用debパッケージをサポート
  * Ubuntu用debパッケージをサポート
  * lcov 1.7対応
  * ドキュメント:
    * ((<Ubuntu用インストールドキュメント|install-to-ubuntu.html>))を追加
    * ((<FreeBSD用インストールドキュメント|install-to-freebsd.html>))を追加
    * ((<Mac OS X用インストールドキュメント|install-to-mac-os-x.html>))を追加
    * ((<Solaris用インストールドキュメント|install-to-solaris.html>))を追加

== 1.0.7: 2009-05-20

  * ((<バージョン情報|cutter-Version-Information.html>))を提供
  * ((<GBoxed型のテストデータ|gcut_data_get_boxed()>))をサポート
  * クラッシュ時のテスト名表示（可能なら）
  * 共有ライブラリ解析処理の追加
    * ELF（Linux/*BSD）、PE（Windows）、Mach-O（Mac OS X）に対応
    * BFDによる解析処理をデフォルト無効に変更
  * ドキュメント:
    * ((<cutterコマンドのman|cutter.html>))を追加
    * ((<Debian用インストールドキュメント|install-to-debian.html>))を追加
    * ((<Cygwin用インストールドキュメント|install-to-cygwin.html>))を追加
    * ((<チュートリアル|tutorial.html>))にCygwin関連の注意書きを追加
      [山川さん]
  * テストユーティリティの追加:
    * ((<cut_build_path()>))
  * 検証の追加:
    * ((<cut_assert_equal_boolean()>))
    * ((<cut_assert_not_equal_boolean()>))
    * ((<cut_assert_equal_substring()>))
    * ((<cut_assert_not_equal_substring()>))
    * ((<cut_assert_not_equal_double()>)) [グニャラくん]
    * ((<cut_assert_not_equal_int()>)) [グニャラくん]
    * ((<cut_assert_not_equal_uint()>)) [グニャラくん]
    * ((<cut_assert_not_equal_memory()>)) [グニャラくん]
    * ((<cut_assert_not_equal_size()>)) [グニャラくん]
    * ((<cut_assert_not_equal_string()>)) [グニャラくん]
    * ((<gcut_assert_not_equal_pid()>)) [グニャラくん]
  * 互換性:
    * これまでの"cut_"プリフィックスなしのフィクスチャ用関数
      を非推奨に変更。[グニャラくん]
      * ((<setup()>)) -> ((<cut_setup()>))
      * ((<teardown()>)) -> ((<cut_teardown()>))
      * ((<startup()>)) -> ((<cut_startup()>))
      * ((<shutdown()>)) -> ((<cut_shutdown()>))
  * バグ修正:
    * チュートリアルのtypoを修正: [海野さん]
    * ファイルディスクリプタのリダイレクト方法の修正: [海野さん]
  * --disable-signal-handlingオプションの追加

== 1.0.6: 2009-03-01

  * ((<Cutter利用プロジェクトリスト|USERS.ja>))を追加
  * ((<外部コマンドを便利に利用するためのAPI|GCutEgg.html>))を追加
  * バックトレース検出機能の改良:
    * ((<CUT_RELATIVE_PATH>))
  * 検証のユーザ指定のメッセージ関連APIを改良:
    * 省略可能なメッセージを非推奨に変更
      * GCC以外のコンパイラをサポートするため
    * 検証とは別にユーザ指定のメッセージを指定するAPIの追加:
      * ((<cut_set_message()>))
      * ((<cut_set_message_va_list()>))
    * 複数の検証で同じメッセージを利用できるAPIの追加:
      * ((<cut_keep_message()>))
  * データ駆動テスト作成支援の強化:
    * ((<便利なテストデータ用API|cutter-Convenience-test-data-API.html>))
  * フィクスチャ関数へ"cut_"プレフィックスの追加:
    * ((<cut_setup()>))
    * ((<cut_teardown()>))
    * ((<cut_startup()>))
    * ((<cut_shutdown()>))
  * テストユーティリティの追加:
    * ((<オブジェクト調査関数|cutter-Object-inspection-functions.html>))
    * ((<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()>))
  * 検証の追加:
    * ((<cut_assert_equal_size()>))
    * ((<cut_return()>))
    * ((<gcut_assert_equal_list()>))
    * ((<gcut_assert_equal_pid()>))

== 1.0.5: 2008-10-15

  * 最大同時スレッド数指定のサポート
    * --max-threadsオプション
    * サブプロセスに指定する場合:
      * ((<cut_sub_process_get_max_threads()>))
      * ((<cut_sub_process_set_max_threads()>))
  * GdkPixbufのサポート:
    * 画像比較
    * 画像差分
      * 期待値: ((<dark-circle.png>))
      * 実測値: ((<nested-circle.png>))
      * 差分: ((<diff-dark-and-nested-circle.png>))
  * デバッグ支援の強化:
    * --keep-opening-modulesオプションの追加
      * デバッグ時にシンボル解決できるように開いたモジュール
        を閉じない
    * SIGABORT時もSIGSEGV時のようにテスト結果を表示
  * --nameオプションによる繰り返しテストの指定をサポート
  * 'but was:' -> 'actual:'
  * テストユーティリティの追加:
    * ((<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()>))
  * 検証の追加:
    * ((<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()>))
  * ユーザ独自検証作成サポートの強化:
    * バックトレース対応
      * ((<cut_trace()>))
      * ((<cut_trace_with_info_expression()>))
    * ((<検証作成|writing-assertion.html>))
      * ((<検証作成の補助|cutter-Assertion-writing-helper.html>))
      * ((<GEnumとGFlags用の検証ユーティリティ|cutter-Assertion-Utilities-for-GEnum-and-GFlags.html>))
      * ((<GError用の検証ユーティリティ|cutter-Assertion-Utilities-for-GError.html>))
      * ((<GHashTable用の検証ユーティリティ|cutter-Assertion-Utilities-for-GHashTable.html>))
      * ((<GList用の検証ユーティリティ|cutter-Assertion-Utilities-for-GList.html>))
      * ((<GObject用の検証ユーティリティ|cutter-Assertion-Utilities-for-GObject.html>))
      * ((<GValue用の検証ユーティリティ|cutter-Assertion-Utilities-for-GValue.html>))
    * ((<cut_equal_double()>))
    * ((<cut_equal_string()>))
  * バグ修正:
    * メモリリークの修正（森さん）
    * setup()/teardown()内での検証・エラーなどの結果がでない
      バグを修正

== 1.0.4: 2008-08-27

  * オプション:
    * 過去のテスト結果をログとして保存する--stream-log-dirオ
      プションの追加
    * テストが失敗したら中断する--fatal-failuresオプションの
      追加（デバッガとの連携のため）
  * 結果出力:
    * 行が長い場合は折りたたんでdiffした結果も表示
    * 実行中を示す印（「.」や「F」）を適度に改行しながら出力
  * 属性を設定する
    ((<cut_set_attributes()>))の追加
  * ((<マルチプロセスでのテスト|cutter-Multi-Process.html>))をサポート
  * データ駆動テストのマルチスレッド実行のサポート
  * 検証の追加:
    * ((<gcut_assert_equal_hash_table_string_string()>))
    * ((<gcut_assert_equal_time_val()>))
  * 便利機能の追加:
    * ((<gcut_hash_table_string_string_new()>))
    * ((<gcut_take_hash_table()>))
  * 修正:
    * GOfficeがない環境でビルドが失敗する問題の修正
      （Kazumasa Matsunagaさんによる報告）
  * 実験的:
    * ログを解析する--analyzerモードの追加

== 1.0.3: 2008-07-15

  * データ駆動テストのサポート:
    * ((<cut_add_data()>))
  * 検証の追加:
    * ((<gcut_assert_equal_list_uint()>))
  * 検証の名前変更:
    * GLibサポートが必要な機能はcut_ではなくgcut_からはじま
      る名前に変更。以前からあるcut_はじまりの名前も使えるが
      非推奨。詳細は((<GLibサポート付きの検証
      |cutter-Assertions-with-GLib-support.html>))を参照。
  * 便利機能の追加:
    * ((<cut_append_diff()>)):
      文字列にdiffを追加
    * ((<gcut_list_string_new()>))/((<gcut_list_string_free()>)):
      文字列のリストの作成を支援。
    * ((<gcut_take_error()>)):
      GError *の所有権をCutterに移譲
    * ((<gcut_take_list()>)):
      GList *の所有権をCutterに移譲
    * ((<gcut_take_object()>)):
      GObject *の所有権をCutterに移譲

== 1.0.2: 2008-06-27

  * フィクスチャデータのサポート:
    * cut_set_fixture_data_dir()
    * cut_get_fixture_data_string()
    * cut_build_fixture_data_path()
  * ユーティリティの追加:
    * cut_remove_path()
  * 検証の追加:
    * cut_assert_equal_fixture_data_string()
    * cut_assert_path_not_exist()
    * cut_assert_remove_path()
    * cut_error_errno()
  * 実験的:
    * Windowsサポート

== 1.0.1: 2008-06-13

  * AC_CHECK_COVERAGEの改良
  * ドキュメント:
    * 追加: SennaのテストをCutterで書くには
    * 修正: GLib 2.16以上が必要
  * 実験的:
    * GStreamerサポート:
      * テスト結果をリモートへの転送するなど
    * warmup()/cooldown()のサポート

== 1.0.0: 2008-05-20

  * 検証の追加
    * cut_assert_equal_pointer()
    * cut_assert_g_error()
    * cut_assert_match()
    * cut_assert_match_with_free()
  * テスト対象から除外するファイルを指定する--exclude-fileオ
    プションの追加
  * テスト対象から除外するディレクトリを指定する--exclude-dirオ
    プションの追加
  * cutter.m4に--without-cutterを追加（configureのオプション）
  * 実験的:
    * Cutterプロトコルの実装（CutXMLStreamerとCutStreamParser）
    * cut_take_g_error()の追加
    * Mac OS Xのサポート

== 0.9.0: 2008-05-12

  * 検証の追加
    * cut_assert_equal_string_array_with_free()
    * cut_assert_true()
    * cut_assert_false()
    * cut_assert_file_exist()
  * AC_CHECK_GCUTTERの追加
  * 実験的: GObjectサポート:
    * cut_take_g_object()

== 0.8.0: 2008-05-07

  * LGPL2 -> LGPL3
  * 検証の追加
    * cut_assert_equal_g_list_int()
    * cut_assert_equal_g_list_string()
    * cut_assert_errno()
  * 省略のサポート: cut_omit()
  * テストケースの最初と最後に実行するフックstartup/shutdownの追加
  * diffのサポート
  * gcovのサポート
  * 実験的: forkのサポート:
    * cut_fork()
    * cut_wait_process()
    * cut_fork_get_stdout_message()
    * cut_fork_get_stderr_message()

== 0.7.0: 2008-03-26

  * パッケージの修正
  * --help-allの修正
  * 出力するXMLのフォーマットのドキュメントを追加

== 0.6.0: 2008-03-21

  * XMLで結果を出力する-xml-reportオプションの追加。
  * テストケース名で実行するテストケースを並び替え
    る--test-case-orderオプションの追加。
  * バージョンを表示する--versionオプションの追加。
  * configureに--disable-bfdオプションの追加

== 0.5.0: 2008-03-10

  * パッケージもれのcutter/gbsearcharray.hを追加。

== 0.4.0: 2008-02-28

  * cut_pending() -> cut_pend()。
  * 属性サポート。

== 0.3.0: 2007-12-14

  * ドキュメントの修正。
  * cut_assert_equal_string_or_null()を非推奨に変更。
  * 代わりにcut_assert_equal_string()がNULLを受け付けるよう
    に変更。
  * 実験的なAPIをドキュメントから除外。

== 0.2.0: 2007-11-29

  * SF.netでの最初のリリース。
