Ver.4.3の変更点
-------------------
- Windows環境用にインストーラパッケージを配布するようにしました.
  もし, ご自分でインストーラをビルドする場合には次のコマンドを実行して下さい.
  python.exe setup.py bdist_wininst
- Windows環境でも多言語対応が機能するようにしました.
  例えば, 日本語環境ではメニュー等が日本語化されます.
  メッセージファイルはインストーラパッケージを使用してninix-ayaを
  インストールすれば一緒にインストールされます.
  (現在ja, zh_TWのみメッセージファイルが用意されています.)
- ファイル名の変更がありますのでパッケージを作成する場合には注意して下さい.
  lib/main.py    -> lib/ninix_main.py
  lib/sstplib.py -> lib/ninix/sstplib.py
- ゴースト等のインストール機能がninix-aya本体に入りました.
  コンソールのInstallボタンを押してファイルを選択するか,
  ファイルをコンソールにDnDするとインストールが始まります.
  (コンソールはメニューの「設定」から開くことが出来ます.)
  これに伴い, ninix-installコマンドを削除しました.
- プラグインをPOSIX/Windows両環境で動作する形で実装し直しました.
  (詳細についてはWebページ上で別途ドキュメントを公開予定です.)
- Windows環境での動作を改善しました.
- Windows環境ではゴーストの持つSHIORI DLLを使用するようにしました.
  ただし, 64bitのPythonではDLLを利用出来ません.
  注意: 64bit Windows上の32bit Pythonは実行環境としては32bitなので
        DLLを利用出来ます.
  (将来はDLLと互換モジュールをユーザーが切り替えられるようにする予定です.)
- \pタグを[]無しでも使えるように修正しました.
- httplib2の使用をやめ, 以前のコードと同様の処理に戻しました.
  ですので, httplib2のインストールは不要になりました.
- 本体とSHIORIのやりとりでの文字コードの処理方法を変更しました.
  (各リクエスト毎のCharsetエントリを使用しています.
   ninix-aya独自のSHIORIロード時の文字コードの問い合わせは削除しました.)
- YAYAゴーストを複数起動した状態から1体でも終了すると,
  残ったゴーストのYAYAが動作しなくなる問題を修正しました.
- surfaces.txtのサーフェススコープ名の列記と省略形に対応しました.
- surfaces.txtの同じIDのsurfaceエントリの分割に対応しました.
- シェルを認識出来ないゴーストについてはとりあえず無視するようにしました.
- Python3への移行の準備を始めました.
  現在の動作環境はまだPython2.6もしくは2.7です.
- 前回最後に起動していたゴーストの記録にはゴーストの名前ではなく
  インストール先ディレクトリ名を使用するようにしました.
  (互換性のため, ディレクトリ名での記録が無く名前での記録がある場合には
   名前で探すようになっています.)
  また, シェルの選択が記録に反映されなくなっていたのを修正しました.
- アイコン化解除イベントが間違って発行される場合があったのを修正しました.
- \n[half]を使用するとバルーンの表示がおかしくなることがあったのを修正しました.
- easyballoon互換モジュールで表示されるバルーンもサーフェスの倍率変更に
  即追従するようにしました.
- バルーンとサーフェスを隠す場合にはgtk.DrawingAreaを隠すのではなく,
  gtk.Windowを隠すように戻しました.
  (良く見ると分かるのですが, gtk.DrawingArea.hide()しても1ピクセル分の
   ウインドウが画面に残っていました.)
- サーフェス倍率変更等の際のウインドウの位置計算を改善しました.
  (バルーン, 猫どりふ, きのこ, easyballoonも含む.)
- バルーンの位置計算を簡素化した.
- バルーンと猫どりふも画面から見切れることが出来るようにしました.
- サーフェスと猫どりふに位置を初期化する機能(Ctrl-Shift-F12)を実装しました.
  それぞれキーボードフォーカスがある状態で上記のキーを入力すると初期位置に
  戻ります.
- NGMのゴーストインストール機能を再実装しました.
- BalloonDescriptのwindowposition.x, windowposition.yに対応しました.
  (「ねこことショータＲＸ」同梱のバルーン「ねこのきもち」の\1側の表示位置が
   修正されました.)
- エラー等のログの出力全てにloggingモジュールを使うように変更しました.
- --debugオプションが値を取らないように変更しました.
  オプションを指定するとloggingモジュールを使用したログ出力のレベルが
  logging.DEBUGになります.
- --logfileオプションで指定したファイルにログを出力することが可能になりました.
- ゴーストwithバルーンのinstall.txt内でのballoon.source.directory指定に
  対応しました.
- KNOWN_ISSUESファイルを追加しました.
  この中には問題を抱えているソフトウエアの情報を記述してあります.

Ver.4.2の変更点
-------------------
- 必要なソフトウエアが全て揃っていれば, Windows環境でも動作することを
  確認しました.
- GStreamerがインストールされていなくてもninix-ayaが動くようにしました.
  (Gstreamerが無ければ音声ファイルの再生は機能しません.)
- 長い間ほとんど使用されることのなかったプラグインシステムを削除しました.
  (将来的には違う形でのプラグインの実装を考えています.)
- デフォルトのSSTPポートから11000を削除しました.
  (デフォルトでは9801のみとなります.)
- ninixとninix-installのコマンドラインオプション-H(--homedir)を削除しました.
  ninix-ayaのホームディレクトリはこれまでのデフォルトであった~/.ninixに
  固定となります.(要望があればオプションで変更可能にします.)
- ninix-installのコマンドラインオプション-A(--arcdir)を削除しました.
- AYA Ver.5互換モジュールを改良しました.
  「橘花」(taromati2)で音楽ファイルの再生が機能するようになりました.
- 音楽ファイルのファイル名にマルチバイト文字が入っている場合に
  ファイルが認識されない問題を修正しました.
- httplib2が必須ライブラリになりました.
- httpc互換モジュールの致命的なバグ(無限ループ)を修正しました.
- バルーンの半透明部分でマウス/キーボードの入力イベントが発生しなく
  なっていたのを修正しました.
- Henryさんが作製したYAYAローダーを導入しました.
  YAYA(libaya5.so)を別途インストールする必要があります.
  (ninix-ayaの持つSAORI互換モジュールの呼び出しには未対応です.)
- ninix-installでreadme.txtの入っていないゴーストアーカイブを
  インストールしようとすると落ちる問題を修正しました.
- saori_cpuid互換モジュールを改良しました.
- ninix-installが外部コマンドに依存しなくなりました.
- ninix-installでファイルを展開する一時ディレクトリをユーザーが指定する
  オプション(--tempdir)を削除しました.(環境変数TMPDIRで設定可能です.)
- 環境変数NINIX_USERと関連するオプションを削除しました.
  (デフォルトから変更していなければ影響ありません.)
- 「何とかしてください」ウインドウ(仮)を追加しました.
  (ゴーストもしくはバルーンが存在しない場合にのみこの名前で現われます.)
  ウインドウに対してアーカイブをDnDすることでインストールが出来ます.
- 里々互換モジュールを大幅に改良しました.
- 「ゴーストwithバルーン」のバルーンのインストール先を仕様通り
  balloon/以下に変更しました.
  これに伴いninix-installに-r(--rebuild)オプションを追加しました.
  4.1.3以前のninix-installでインストールしたバルーン付属ゴーストの
  バルーンをballoon/以下に移動します.
  4.2を起動する前に実行しておくことを推奨します.(一回だけ実行すればOKです.)
- シェルの変更はメニューの「交代」ではなく「シェル」から行なうように
  なりました.
- デフォルトでPNAファイルを使用するように設定を変更しました.
  (最初にninix-ayaを起動した時に設定されるデフォルトです.
   既にninix-ayaを起動している場合には, PNAファイルを「使用しない」
   ようにデフォルトで設定されています.
   値の変更はメニューの「設定」から出来ます.)
- ninix-installでゴーストのreadme.txtとthumbnail.png(pnr)も
  インストールするようにしました.
- ゴースト個別の設定ファイルSETTINGSを追加しました.
  現在記録しているのは使用するバルーンの値のみです.
  バールン付属のゴーストはインストール時に付属バルーンが
  使用するバルーンとしてこのファイルに記録されます.
  メニューからバルーンを変更すると値は上書きされます.
- メニューからバルーンを変更した際にはすぐにバルーンの位置を
  再計算するようにしました.
- OnBalloonChangeイベントのReference1にバルーンの絶対パスを
  入れるようにしました.
- ninix-installの@ファイルリストのサポートを削除しました.
  (名前が@で始まるファイルにアーカイブを列記しておくと全て
   インストールされるというものです.)
- ninix-installでinstall.txtをインストールしないように修正しました.
- ネットワーク更新後のファイルの再読み込みで一部の変数に
  更新前のデータが残っていたのを修正しました.
- ninix-installの-g(--ghost), -s(--shell), -b(--balloon),
  -P(--plugin), -K(--kinoko), -N(--nekoninni), -D(--katochan)
  オプションを削除しました.
  install.txtから得られる情報だけでインストール処理するようにしました.
- ninix-installの-r(--reload), -p(--port)オプションを削除しました.
- 「スタンドアロンのシェル」(他のゴーストのシェルを置き換えて
  乗っ取る形で動作するシェル)を廃止しました.
  install.txtにacceptが無いシェル(inverse時代のもの?)や
  それ以外のゴースト/シェルでもオプション指定でスタンドアロンの
  シェルとしてインストール出来るようになっていました.
  既にインストール済みのものについては動作を保証しません.
- inverse時代のディレクトリ構成になっているアーカイブのサポートを
  ninix-installから全て削除しました.
- ネットワーク更新対象ファイルのファイル名にマルチバイト文字が
  含まれている場合に対応しました.
  (updates2.dauの中身はShift_JISと仮定して処理しています.)
- SERIKOのoverlayfastに対応しました.(内部の処理はoverlayと全く同じです.)
- SakuraScriptの\![set,wallpaper]に対応しました.
  (GNOMEデスクトップ環境のみの対応です. python-gconfを使用しています.
   この機能を利用しない場合はpython-gconfのインストールは不要です.)
- サーフェスのマウスドラッグによる移動が終わった時に
  バルーンの位置を再計算するようにしました.
- サーフェス倍率が100%以外の場合にバルーンオフセットの計算が
  間違っていたのを修正しました.
- 花柚互換モジュールでbackground.color設定に対応しました.
- バルーンがちらつく問題を修正しました.
  (サーフェスについては4.1で修正済みです.)
- 描画処理を全面的にCairoに移行しました.
  (バルーン, inputbox, communicatebox, teachbox, 使用率グラフ,
   サーフェスの当り判定領域(デバッグ用), NGMクローン,
  「きのこ」, 「猫どりふ」, easyballoon, 花柚互換モジュール)
- 「きのこ」と「猫どりふ」のウインドウが登場する際にフォーカスを
  奪わないようにしました.
- サーフェスのアニメーション処理を改良しました.

Ver.4.1の変更点
-------------------
- Sakuraスクリプトの\4タグの動作を変更しました.
  これまでは相方から一定距離離れた地点まで移動してそれ以上は離れません
  でしたが, 元々離れている場合にはそこからさらに一定距離離れる方向に
  移動するようにしました.
- サーフェスとバルーンのウインドウが登場する際にフォーカスを奪わない
  ようにする処理を再度追加しました.
  (この設定は3.9.8bで削除したものと同じです. Gnome標準のウインドウ
   マネージャであるMetacity 2.27.2で試した限り意図通りに動いたので,
   再度設定しました.)
- サーフェスを移動する前にgtkのイベントが全て処理されるようにしました.
  (移動の前にウインドウサイズの変更があると, その処理が終わっているか
   どうかで移動の結果が変わってしまうためです.)
- ウインドウをワークエリア外に出せない仕様のウインドウマネージャでも
  画面の端を越えるウインドウの移動と同様の表現が出来るようにしました.
- 花柚互換モジュールでタイトルの縦書きに対応しました.
- キーボードからの入力を処理する辞書に特殊キーの識別子を追加しました.
- これまではバルーンをダブルクリックした場合にもOnMouseDoubleClick
  イベントを発生させていましたが, 発生させないように変更しました.
- Sakuraスクリプトの\xタグの処理を仕様書通りにしました.
- OnBalloonChangeイベントのサポートを追加しました.
  (ただし, Reference1には空文字列が入っています.)
- lzh形式アーカイブのサポートを削除しました.
- NGMのデータベースのネットワーク更新中もゴーストが動作するよう改良しました.
  また, データベースの読み込みを高速化しました.
- NGMが保存するDBファイルの文字コードをEUC-JPからUTF-8に変更しました.
  自動的に変換されるのでユーザーは何もする必要はありません.
- 新しいPluginの枠組みを作成しました.
  使用方法はサンプルプラグイン「お天気やん」を参照して下さい.
- バルーンの設定での"--n"形式の値への対応を削除しました.
  (ninix 0.1.6で導入されたものですが, 現在手に入る仕様には記述がありません.)
- httpc.dll互換モジュールhttpc.pyを追加しました.
- 使用していなかったPythonのdistutilsに関する部分をMakefileから削除しました.
  それに合わせてPKG-INFOファイルを削除しました.
- マウスドラッグでサーフェスを移動した後のサーフェス位置の再計算の
  タイミングを変更して, 異常な位置にサーフェスが留まらないようにしました.
- 画像を縮小する際の下限を8x8ピクセルに統一しました.
- ninix独自のOnNinixReloading, OnNinixReloadedイベントを削除しました.
- ninix独自のSSTPコマンドreloadを削除しました.
- メニューからゴーストの再読み込みを削除しました.
- ninix-updateコマンドを削除しました.
  ネットワーク更新はゴーストを起動して行なって下さい.

Ver.4.0の変更点
-------------------
- ユーザー設定からヘルパーを削除しました.
  音声ファイルの再生にはGStreamerを使用するようにしました.
  GStreamer Python bindingsが必要です.
- れたす(lettuce.dll)互換モジュールを削除しました.
  要望があれば再度GStreamerを使用して実装し直したものを追加します.
- ユーザー設定からWebブラウザを削除しました.
  使用している環境のデフォルトブラウザを呼び出します.
- 「きのこ」の'ontop'の処理が確実に行なわれるように修正しました.
- 「猫どりふ」の見切れをゴースト同様に透明部分も含めたサーフェスの1/3が
  画面外に出ると発動するよう変更しました.
- ユーザー設定の項目を減らしました.
  SHIORIイベントの発生を抑制する項目(PREFS_EVENT_KILL_LIST)と
  マウスボタンの機能を設定する項目(PREFS_MOUSE_BUTTON1, PREFS_MOUSE_BUTTON3)を
  削除しました. 
  また, メニューから個々のゴーストについてサーフェス倍率とスクリプトの
  再生スピードを設定する項目を削除しました.(全ゴーストが同じ設定になります.)
- 画面の上下方向の有効範囲(タスクバー等を除いた範囲)をユーザーが指定する
  ための設定値を削除しました. ウインドウマネージャから情報を得て自動的に
  処理します.
- sourceforge.jpにGitリポジトリを作成し, ソースコードの管理をGitに移行しました.
  今後CVSのリポジトリは更新されません.
- バルーンを出す際にバルーンがフォーカスを奪わないようにするための設定を
  削除しました.
  バルーンを出す際にバルーンがフォーカスを奪わないようにしつつ, バルーンの
  ウインドウを前面に持ってくる方法が見付からなかったためです.
  この辺りの処理はウインドウマネージャ次第で変わってしまい, 確実な方法が
  無いので, ninix-ayaでは何もしないことにしました.
- サーフェスのツールチップ表示を実装しました.(SSP互換)
- surfaces.txtの文字コード指定に対応しました.(SSP互換)
- _niseshiori.so(暗号化辞書の解読用C言語モジュール)を削除しました.
  ninix-aya本体にはC言語モジュールが無くなりました.
- 透過ウインドウ処理にGTK+2.10の新機能を使用するように変更しました.
  このバージョンから正式にサポートされた機能になります.
- ゴーストのサーフェスをマウスドラッグするボタンを左ボタン(1番)に変更しました.
- ゴーストのサーフェス移動後の位置の再計算のタイミングを移動直後にしました.
- osuwari.dll互換SAORIモジュールosuwari.pyを追加しました.
- OnBallonCloseイベントのサポートを追加しました.
- OnMouseEnterAll, OnMouseLeaveAll, OnMouseEnter, OnMouseLeave イベントの
  サポートを追加しました.
- SERIKOによるサーフェスの書き換えを抑制するオプションを追加しました.
  (サーフェスの書き換えが起きないだけで内部でSERIKOは動作しています.)
- YAYAローダー(yaya.py)を追加しました.(動作確認がまだ出来ていません.)
- メニューコンテキストの配置がSSPに近付くよう変更しました.
- PNAファイルの処理にNumpyの機能を使い高速化しました.
- アニメーションの処理を変更し, CPU負荷とコマ飛びを低減しました.

Ver.3.9の変更点
-------------------
- 「美坂」互換モジュールに文字コードの自動判定を実装しました.
  Shift_JIS以外の文字コードを使用しているゴーストを動作させることが
  可能になりました. 機能させるには Universal Encoding Detector
  (http://chardet.feedparser.org/) が必要になります.
- 上付き, 下付き, 下線および字消し線のフォントタグを実装しました.
- 括弧の無い(\p0のような)\pタグに対応しました.
- ゴーストの見切れ処理を調整しました. 透明部分も含めたサーフェスの1/3が
  画面外に出ると発動するようになりました. (これまでは1/4でした.)
- 「文 Ver.5」互換モジュールを追加しました. AYA5 DLL 付属の aya_shiori3.dic
  を使っているゴーストはほぼ動きます. Real AYA5 ローダーは削除しました.
- コミュニケート複数送信拡張に対応しました.
- タスクバー上にサーフェスウインドウ2つが表示されるのをゴースト1組で1つ
  表示されるようにしました.
- バルーンがアクティブウインドウより下に表示されるよう調整しました.
- バルーンの設定ファイルによるフォントサイズの指定とユーザーによる指定を
  きちんと区別し, ユーザー指定は3/4倍しないように修正しました.
- サーフェスとバルーンの描画処理の一部に Cairo グラフィックライブラリ
  (http://cairographics.org/) を使用するよう変更しました.
  そのため GTK+(pygtk) 2.8 以降が必要となります.
  この変更の結果, デスクトップ側の環境が対応していれば, pna もしくは
  本体設定によるサーフェスとバルーンの半透明化が可能です.(*)
  X Window System であれば Composite 拡張と composition manager
  (xcompmgr, etc.) が必要です.
  (*)注記: Shape 1.1 拡張に未対応のため表示が乱れます.
- ddp暗号化ファイルのサポートを追加しました.
  （「理夢」がサーフェスで使用しています.）

Ver.3.8の変更点
---------------
- メニューフォアグラウンドの画像およびフォントカラー設定に対応しました。
  （正しく動作させるには GTK+ 2.6 以降が必要です。）
- SHIORIがNOTIFYイベントに対してスクリプトを返しても破棄するよう修正しました。
- easyballoon もサーフェスの倍率に合わせて縮小（拡大）するようにしました。
  「猫どりふ」などとは違い、サーフェスの倍率を変更しても、既に生成されている
  バルーンは生成時点の倍率のままです。
- ninix-aya 終了後、即座に SSTP サーバのソケットを削除するようにしました。
- サーフェスの描画処理を改良しました。
- アニメーションの処理を改良しました。
- サーフェス、バルーン等の縮小でサイズが 0 にならないように修正しました。
- mciaudio および mciaudior のファイル名の処理を修正しました。
- ファイルがドロップされた際の処理を OnFileDrop2 に変更しました。
  本体で設定されているヘルパーへの引き渡しはイベントの結果にかかわらず
  実行されません。
  （上記の mciaudior の修正と合わせて「橘花」の音声ファイル再生が
    動くようになりました。）

Ver.3.6の変更点
---------------
- READMEファイルをREADMEとNEWSに分割しました。
- SERIKOの処理を改良しました。
- コーディングスタイルを調整しました。
- OnBoot等のイベントでスクリプト終了時までにサーフェス定義が無かった場合には
  \0, \1のみ強制的にサーフェスを表示するようにしました。
- 起動後サーフェスがまだ指定されていない状態で\iタグが来た場合に、
  デフォルトIDに対する指定として受け付けてしまっていた問題を修正。
- %ms, %mc, %mz等をSHIORI/3.0として処理する上で、 IDに\ms, \mc, \mzの様に
  \を付けるよう修正しました。
- ゴーストマネージャが~/.ninix/ngm/data/MasterList.xmlが無いと
  落ちる問題を修正しました。
- 「華和梨7」互換モジュールを改良しました。
- SHIORI/3.0 basewareversionをSHIORIのロード時に通知するようにしました。
   (Reference2には開発コードを除いた数値のみのバージョン番号が入っています。)
- OnShellChangedのReference1、Reference2を追加しました。
- OnShellChangingのReference1を追加しました。
- ポップアップメニューを出すかどうかを決めるリクエストの処理を追加しました。
- \![set,windowstate,stayontop]、\![set,windowstate,!stayontop]を実装しました。
- \![set,windowstate,minimize]を実装しました。
- OnMouseClickイベントの処理をSHIORI/3.0仕様に準拠しました。
- 本体設定に「喋る時手前に出てくる」設定を追加しました。
  設定されている場合には喋り始める時に一回だけサーフェスとバルーンを
  手前に出します。この変更に合わせて喋っている間常にサーフェスと
  バルーンを手前に出していた処理を削除しました。
- ゴースト起動時のOnDisplayChangeは喋らないように修正しました。
- \v(手前に出てくる)タグを実装しました。
- \sタグでサーフェスIDが数値で指定されていて、先頭に0が付いている場合は
  0を削除する("0001"なら"1"に置き換える)ようにしました。
- \_uタグの処理を実装しました。
- サーフェスとバルーンのアルファチャンネル設定を追加しました。(未テスト)
- ゴースト側で指定されたバルーン名がバルーンのインストール
  ディレクトリ名の場合にも対応しました。
- CheckQueueコマンドを拡張しました。
  キューに残っている全てのリクエストの数も返します。
- 本体設定に「喋り終わると裏へ沈む」設定を追加しました。
- 使用率トップのゴーストのai.pngを使用率グラフの背景に使用するようにしました。
- 「美坂」互換モジュールを改良しました。（「橘花」対応のため。）

Ver.3.4の変更点
---------------
- GTK+2.4 APIに移行しました。
- 「華和梨8」でのマルチゴーストに対応しました。
  （_kawari8.soも対応したものが必要になります。従来のものは動作しません。）
- スクリプトエラーからの復帰処理を追加しました。
- 単体のシェルを使用すると落ちる問題を修正しました。
- 「文」のバージョン判定を修正しました。
-  \![change,ghost]による自分自身への交代が正しく処理されるよう修正しました。
- メニューのサイドバーとフォントカラー変更の実装を修正しました。
- サーフェスのリセットで自由配置が無効になるバグを修正しました。
- サーフェスのリセットの際に必要以上にオーバーレイ等を消去してしまうのを修正
  しました。
- PNAファイルによるサーフェスとバルーンのアルファチャンネル設定に対応しました。
  （オーバーレイ等についても対応しています。本体の透過処理にはXサーバが
    Composition拡張機能を持ち、適切に設定されていることが必要です。）
- 本体設定でPNAファイルを使用するかどうかを設定できるようにしました。
- openngmをベースに「何かゴーストマネージャ」のクローンを実装しました。
  （未完成のため検索とネットワーク更新機能のみです。）

Ver.3.2の変更点
---------------
- 「きのこ」互換機能を追加しました。スキンファイルはninix-installでインストール
  することができます。
- 「猫どりふ」互換機能を追加しました。スキンおよび落下物ファイルはninix-installで
  インストールすることができます。
   (未完成のため落下物を落としてSHIORIイベントを発生させることしかできません。)
- サーフェスの当たり判定領域の表示/非表示を本体設定から変更できるようにしました。
- ホームディレクトリが同じninix-ayaの多重起動を禁止しました。
- アニメーションのバグを修正しました。
- 「里々」互換モジュールを改良/修正しました。
- 3.0で'\-'タグが機能しなくなっていたのを修正しました。
- SSTPのEXECUTE/1.0にCheckQueueコマンドを追加しました。
- 「文」のバージョン判定を修正しました。

Ver.3.0の変更点
---------------
- 「文５」モジュールインタフェース。
- ポップアップメニューからゴーストを複数起動できるようにしました。
- SSTP Bottleクライアント向けにGetNamesコマンドを追加しました。
- SSTP SEND/1.4の処理でIfGhost指定されたゴーストが起動していない場合には
  一時的にそのゴーストを呼び出してスクリプトを再生するようにしました。
  （指定ゴーストがインストールされていない場合に他のゴーストでスクリプトを
    再生するかどうかは本体設定の「色々」->「SSTP 設定」で変更できます。）
- アニメーションの処理を改良しました。（SERIKO/2.0にも対応。）
- フォントの設定ファイルpango_fontrcをpreferencesに統合しました。
  設定は従来通り本体設定から行なうようになっています。
- これまではポップアップメニューから他のゴーストの専用バルーンも含めた全バルーンが
  選択できたのをそのゴーストの専用バルーンと汎用バルーンに制限しました。
  （デフォルトバルーンは汎用バルーンからのみ選択可能です。）
  これは複数ゴースト起動が可能になったための変更で、消滅したゴーストの専用バルーン
  を使用しているゴーストがいるという状況が発生しないようにするための措置です。
- サーフェス倍率と表示ウエイトのデフォルト設定は本体設定で行なうようになりました。
  ポップアップメニューからの変更は対象となるゴーストの設定を一時的に変更するだけに
  なります。他のゴーストや次回起動時の設定には影響しません。
- -Rオプションを削除しました。
- Pythonのトレースバック出力専用ダイアログを追加しました。
- オーナードローメニュー用画像をポップアップメニューで利用するようにしました。

Ver.2.6の変更点
---------------
- 「里々」互換モジュールを大幅に更新しました。
- 「里々」互換モジュールで SAORI 互換モジュール呼び出しに対応しました。
- saori_cpuid.dll 互換モジュールを追加しました。
- ssu.dll 互換モジュールを追加しました。
- 「花柚」互換モジュールで radar 形式のグラフに対応しました。
- メニューアイテムにアクセラレータを設定しました。
- デフォルトバルーンの設定に「常にこのバルーンを使う」チェックボックスを
  追加しました。
- OnChoiceEnter イベントのサポートを追加しました。
- 「文」互換モジュールを Ver. 4.97fix0 仕様に更新しました。
- 明示的にサーフェス指定が来ない限りサーフェスを出さないように変更しました。
- cjkcodecs(要1.0.2)にも対応しました。
- 「華和梨」、「偽栞」互換モジュールのメタ文字列の展開を改良しました。
- サーフェスの当り判定の ID を0〜255に拡張しました。
- バルーン切り替えの際にゴーストを再起動しないように変更しました。
- 表示する文字が含まれていないスクリプト(改行のみなど)の場合にはバルーンを
  出さないようにしました。
- バルーンのフォントサイズの設定が実際の表示に反映されるよう修正しました。
- バルーンフォント設定の変更が即反映されるように修正しました。
- %username の展開で最初に SHIORI で設定されている値を問い合わせるように
  しました。
- 「ポータル」、「おすすめ」の中の項目を選択した際に
  OnRecommandedSiteChoice イベントを発生させるようにしました。
- バルーンの配置を改良しました。

Ver.2.4の変更点
---------------
- サーフェス倍率の最小値を10%から40%に変更しました。
- サーフェスに合わせてバルーンも縮小できるようにしました。
- 本体設定にデフォルトバルーンの設定を追加しました。
  それに合わせてポップアップメニューのバルーンの項目は起動中のゴーストの
  バルーンを一時的に変更するのみにしました。
- 起動時点でサーフェス全てを読み込んでいたのを必要になってから読み込むように
  変更しました。起動時間の短縮、メモリ使用量の削減などの効果があります。
  ただし一部アニメーション等で動作が遅くなることがあります。
- passivemode 中に SSTP を受信した場合には passivemode を抜けるまで再生を
  始めないよう修正しました。
- サーフェス移動中にゴーストの動作を停止させないよう変更しました。
- wmove.dll 互換モジュールを追加しました。
- UNIX ドメインソケット版の SSTP サーバを追加した際に入ったバグを修正しました。
- ポップアップメニューに「ポータル」、「おすすめ」を実装しました。
- Shell の descript.txt の seriko.alignmenttodesktop に対応しました。
- 全てのデスクトップに居座るようにする設定をポップアップメニューに追加
  しました。ウインドウマネージャによっては正しく機能しないことがあります。
- 起動後に本体設定で画面下端からの距離を調整できるようにしました。
  (従来通り -R オプションも使用可能ですが、このオプションは将来削除される
   可能性があります。オプションを指定した場合はそれが優先されます。)
  また画面上部に移動するゴースト向けに画面上端からの距離も指定できるように
  しました。
  easyballoon 互換モジュールもこれらの設定の影響を受けます。
- Python2.3 で動作するようにしました。
- easyballoon 互換モジュールを1.0仕様に対応させました。

Ver.2.2の変更点
---------------
- ゴーストが最小化されている時はしゃべらなくなりました。(時間経過イベントは
  発生しています。) SSTP リクエストに対しては "512 Invisible" を返します。
- Python栞のサポートを削除しました。
- 本体のターミナル出力を UTF-8 に変更しました。互換栞等はそれぞれが内部で
  使用している文字コードでの出力のままです。
- install.txt で指定されるインストールディレクトリの文字コードを UTF-8 に
  変換するよう変更しました。
- ファイル名に関して文字コード変換を行なわないよう変更しました。
  アーカイブ内にマルチバイト文字を使用したファイル名があるものについては
  ゴースト・シェル等の種類を問わずサポート対象外です。
- メニュー等を L10N (gettext化)しました。メッセージカタログは日本語(ja.po)と
  中国語(zh_TW.po)が用意されています。(zh_TW.poはChieh-Nan Wangさんが作成。)
- バルーンに使用しているウインドウの種類がダイアログに変わりました。
- コミュニケートウインドウ, 花柚ウインドウの移動の処理が変更になりました。
  よりスムーズに移動できるようになっています。
- サーフェス・バルーン・コミュニケートウインドウがサイズ変更を拒否するよう
  にしました。
- 本体・SSTP サーバ・互換 SAORI 内部で使用する文字コードを Unicode に変更
  しました。
- 華和梨7で日本語以外の文字コードを使用したゴーストにも対応しました。
- サーフェスが最小化された場合と復帰した場合にイベントが発生します。
- ninix-install で pnaファイルもインストールするようにしました。
  ネットワーク更新の対象としても認識されるようになっています。
- ninix 用プラグインの定義ファイル plugin.txt で EUC-JP 以外の文字コードを
  使用可能にしました。
  (デフォルトは EUC-JP なので既存のプラグインの変更は不要です。)
- ゴースト起動時に OnDisplayChange を送信するようにしました。
- ~/.ninix/gtkrc をインストールしないようにしました.
  ファイルは doc/examples に移動しています。
- ゴーストのアイコンをサーフェスウインドウのアイコンとして使うようにしました。
  ポップアップメニューでも使っています。
- misaka.py を「フサギコ漫談」対応のため変更しました。
- サーフェス画像として暗号化 PNG を使えるようにしました。
- 着せ替えメニューをポップアップメニューから分離して画面上に置いておける
  ようにしました。

Ver.2.0の変更点
---------------
- GTK+1.2 から GTK+2.0 API に移行しました。
  Python 2.0, GTK+2.0, PyGTK 1.99 以降が必要です。
  (Python 2.2, GTK+ 2.2.1, PyGTK 1.99.14 以降推奨。)
- libpng を使用していた _image.so モジュールは削除されました。
  ビルドに libpng のヘッダは不要です。
- サーフェス縮小機能を搭載しました。
  ポップアップメニューの「サーフェス倍率」から選択して下さい。
- 画像ファイルの xpm 形式への変換および変換してインストールされたファイルの
  サポートが削除されました。
  変換を使用していた場合はゴーストを再インストールする必要があります。
- ゴーストインストーラ(ninix-install)の動作が変更になりました。
  ゴーストのインストール先となるディレクトリの決定方法が従来と異なり
  ゴーストアーカイブ内の install.txt に従うようになっています。
  既にインストールされているゴーストはそのままで動作しますので
  再インストールの必要はありません。
- ゴースト起動時間と消滅回数の記録先が ~/.ninix/history, ~/.ninix/vanished
  からゴーストのインストール先の HISTORY ファイルに変更になりました。
  以前のファイルの記録は引き継がれません。
  また、これまでのサーフェス毎の起動時間ではなくそのディレクトリにある
  サーフェス全てについての起動時間の合計のみが記録されるようになっています。
- バルーンフォントの指定がPango形式に変更になっています。指定は従来通り
  ポップアップメニューの「設定」から行なえます。
  設定ファイルは ~/.ninix/pango_fontrc になります。
- CROW 同梱ゴーストのインストール機能は削除されました。
- マウスカーソルがサーフェスの当り判定領域に入るとカーソル形状が変わります。
  撫で/触り判定はボタンを押していない状態でマウスを動かすと発生するように
  変更されています。
- バルーンのスクロールボタンがマウスホイールで操作できるようになりました。
- -p オプションは廃止されました。ウインドウマネージャで強制しない限り
  ウインドウの枠などは付きません。また、ウインドウの配置も可能な範囲で
  ウインドウマネージャの制御を受けないようになっています。
- 着せ替え対応。

Ver.1.0の変更点
---------------
- 「文」互換 SHIORI モジュール aya.py。
- SAORI API 互換フレームワークおよび各種 SAORI 互換モジュール。
  (各モジュールの詳細は doc/saori.txt を参照して下さい。)
- 「華和梨８」モジュールインタフェース。
  (「華和梨８」モジュールの詳細は doc/kawari.txt を参照して下さい。)
- ゴースト間コミュニケーション対応。
- アニメーション機能強化。
- ネットワーク更新の途中キャンセル対応。
- SakuraScript 対応強化。
- 画面の上端や自由配置といった位置指定に対応。

aya.py は、umeici 氏が開発公開されている「文（あや）」Ver. 3.x〜4.xの
仕様に準拠した互換モジュールです。基本的な構造は「偽林檎」を参考に
させていただきました。
