## お知らせ お知らせ — Cutterの歴史 |

## 1.2.1: 2012-08-15

今回のリリースではUbuntu Precise/Fedora 17をサポートし、いくつかUI関連の改善と不具合修正を行いました。

### Cutter

#### 改良

- [UI][GTK+] Debian GNU/Linux squeeze向けにGTK+ < 2.22より古いバージョンでも動くようにした。

- [UI][コンソール][win32] growlnotify.exeをサポートした。

- [UI][GTK+] メニューバーを追加した。

- [UI][GTK+] ドキュメントのURIを表示する際のエラーメッセージを記録するようにした。

- [UI][GTK+] --with-fallback-browserオプションを追加し、表示に失敗した時の代替ブラウザを指定できるようにした。

- バックトレースにて"()"を関数名の一部とみなして扱うように改善した。

- [UI][コンソール] ターミナルでカラー対応端末のサポート対象を追加した。(xterm-256color, screen-256color, screen-color)

- Travis CI と統合できるようにした。

- SIGBUS発生時のバックトレースのサポートを追加した。[岡部究さんがパッチ提供]

- Mac OS XでHomebrew関連のデフォルトのパスを追加した。

#### 変更

- [doc][Mac OS X] 公式のMacPortsリポジトリの使用を推奨するようにした。[梅基宏さんが提案]

- Fedora 17をサポートするようにした。

- Fedora 16のサポートを打ち切った。

- Ubuntu Preciseをサポートするようにした。

#### 修正

- [Clang] バックトレースの関数名に余計な()が付く問題を修正。

- MinGWでコンパイルに失敗していた問題を修正。

### CppCutter

#### 改良

- g++によってビルドされたネストしたネームスペースのテストケースをサポート。

### 感謝

- 梅基宏さん

- 岡部究さん

## 1.2.0: 2011-12-31

C++対応とテスト実行時のインターフェイスを改良しました。

### Cutter

#### 改良

- [UI][コンソール] テスト失敗時などのメッセージをすぐに表示するようにした。以前のバージョンのようにテスト終了時にまとめて出力する場合は `--show-detail-immediately=no` を指定すること。

- [UI][GTK+] データ駆動テストの表示に対応。

- [UI][GTK+] テストの再実行に対応。

- [UI][GTK+] キャンセルボタンと再実行ボタンをひとつにまとめた。

#### 変更

- 非推奨のGLib APIも使えるようにした。使えないようにする場合はconfigureで `--disable-deprecated-glib-api` を指定すること。

- Fedora 16のサポートを追加。

- Fedora 15のサポートを打ち切り。

### CppCutter

#### 改良

- cppcut_assert_equal() が対応する型を追加。

- cppcut_assert_not_equal() を追加。

- cppcut_assert_null() を追加。

- cppcut_assert_not_null() を追加。

- cppcut_assert_operator() を追加。

## 1.1.9: 2011-10-22

リポジトリをSF.netからGitHubへ移動しました。

### Cutter

#### 変更

- Ubuntu Oneiric Ocelotのサポートを追加。

- CentOS 6のサポートを追加。

#### 修正

- スレッド使用時の成功したテスト数のカウントがおかしくなる問題を修正。 [SF.net #3383253] [Romain Tartièreさんが報告]

### 感謝

- Romain Tartièreさん

## 1.1.8: 2011-07-31

### Cutter

#### 改良

- notify-sendが利用可能かを自動検出できるようにした。

- ログからテスト結果を再生する--mode=playオプションを追加。

- Solaris 10用にドキュメントを書き換えた。

- 別スレッド内での検証失敗の通知に対応。 Bug #3341429 [Romain Tartièreさんが報告]

- GTK+テストランナーでテスト結果がすぐに表示されるようにした。[Tobias Gruetzmacherさんが修正]

#### 変更

- Debian GNU/Linux wheezyのサポートを追加。

- Ubuntu Maverick Meerkatのサポートを削除。

- Ubuntu Natty Narwhalのサポートを追加。

- Fedora 14のサポートを削除。

- Fedora 15のサポートを追加。

### cut-diff

#### 改良

- --labelオプションを省略可能にした。

### 感謝

- Romain Tartièreさん

- Tobias Gruetzmacherさん

## 1.1.7: 2011-02-13

### Cutter

#### 改良

- growlnotify対応。

#### 変更

- Debian GNU/Linux lennyのサポートを終了。

#### 修正

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

### ドキュメント

#### 修正

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

### 感謝

- 中村弘輝さん

## 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オプション を追加。

### 感謝

- Romuald Contyさん

- Ilya Baryginさん

## 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 -> GCutProcess

- ユーティリティの追加:

  - 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オプション を追加。

### ドキュメント

#### 改良

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

### 感謝

- Romain Tartièreさん

## 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さん

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

## 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 を追加

### ドキュメント

#### 改良

- Ubuntu Karmic Koara対応

### 感謝

- Romain Tartièreさん

- グニャラくん

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

## 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_END_TEST_DECLS を非推奨に変更

- 省略可能な検証メッセージに対応

  - cppcut_message() の追加

### 感謝

- はやみずさん

## 1.0.9: 2009-10-20

### 改良

- GHashTable用の検証ユーティリティ に関数を追加:

  - gcut_hash_table_inspect_sorted()

- ハッシュの詳細表示時に内容をキーでソート

- 色付き差分表示対応:

- テスト実行直前にブレークポイントを設定する--stop-before-testオプションの追加 [奥地さんによる提案]

- cut-diff コマンドの追加

- unified diff対応

- C++サポートの追加: CppCutter

### バグ修正

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

### 感謝

- 奥地さん

## 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用の検証ユーティリティ に関数を追加:

  - gcut_hash_table_string_string_copy()

- Cutter利用プロジェクトリスト にmroongaを追加

- Fedora用rpmパッケージをサポート

- Debian用debパッケージをサポート

- Ubuntu用debパッケージをサポート

- lcov 1.7対応

- ドキュメント:

  - Ubuntu用インストールドキュメント を追加

  - FreeBSD用インストールドキュメント を追加

  - Mac OS X用インストールドキュメント を追加

  - Solaris用インストールドキュメント を追加

## 1.0.7: 2009-05-20

- バージョン情報 を提供

- GBoxed型のテストデータ をサポート

- クラッシュ時のテスト名表示（可能なら）

- 共有ライブラリ解析処理の追加

  - ELF（Linux/*BSD）、PE（Windows）、Mach-O（Mac OS X）に対応

  - BFDによる解析処理をデフォルト無効に変更

- ドキュメント:

  - cutterコマンドのman を追加

  - Debian用インストールドキュメント を追加

  - Cygwin用インストールドキュメント を追加

  - チュートリアル に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利用プロジェクトリスト を追加

- 外部コマンドを便利に利用するためのAPI を追加

- バックトレース検出機能の改良:

  - CUT_RELATIVE_PATH

- 検証のユーザ指定のメッセージ関連APIを改良:

  - 省略可能なメッセージを非推奨に変更

    - GCC以外のコンパイラをサポートするため

  - 検証とは別にユーザ指定のメッセージを指定するAPIの追加:

    - cut_set_message()

    - cut_set_message_va_list()

  - 複数の検証で同じメッセージを利用できるAPIの追加:

    - cut_keep_message()

- データ駆動テスト作成支援の強化:

  - 便利なテストデータ用API

- フィクスチャ関数へ"cut_"プレフィックスの追加:

  - cut_setup()

  - cut_teardown()

  - cut_startup()

  - cut_shutdown()

- テストユーティリティの追加:

  - オブジェクト調査関数

  - 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のサポート:

  - 画像比較

  - 画像差分

    - 期待値:

    - 実測値:

    - 差分:

- デバッグ支援の強化:

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

  - 検証作成

    - 検証作成の補助

    - GEnumとGFlags用の検証ユーティリティ

    - GError用の検証ユーティリティ

    - GHashTable用の検証ユーティリティ

    - GList用の検証ユーティリティ

    - GObject用の検証ユーティリティ

    - GValue用の検証ユーティリティ

  - cut_equal_double()

  - cut_equal_string()

- バグ修正:

  - メモリリークの修正（森さん）

  - setup()/teardown()内での検証・エラーなどの結果がでないバグを修正

## 1.0.4: 2008-08-27

- オプション:

  - 過去のテスト結果をログとして保存する--stream-log-dirオプションの追加

  - テストが失敗したら中断する--fatal-failuresオプションの追加（デバッガとの連携のため）

- 結果出力:

  - 行が長い場合は折りたたんでdiffした結果も表示

  - 実行中を示す印（「.」や「F」）を適度に改行しながら出力

- 属性を設定する cut_set_attributes() の追加

- マルチプロセスでのテスト をサポート

- データ駆動テストのマルチスレッド実行のサポート

- 検証の追加:

  - 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サポート付きの検証 を参照。

- 便利機能の追加:

  - 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での最初のリリース。