Miranda IM

アーキテクチャ

Miranda IM は基本的なクライアントのフレームワーク、GUI、最新のプラグインアーキテクチャを提供する。各種IMプロトコルをサポートしており、追加機能はプラグインで実装し、一部は本体に同梱されている。全部で500以上のプラグインがある。使用しないプロトコルは削除することもできる。

接続性

本体同梱のプラグインでサポートするプロトコルにはAIM、Gadu-Gadu、ICQ、IRC、XMPP、.NET Messenger Service (a.k.a. MSN)、Yahoo! Messenger がある。
本体とは別に配布されるプラグイン経由でサポートするプロトコルとしては、Bonjour、Battle.net、Fetion、Inter-Asterisk eXchange、Google Talk、Lotus Sametime、NetSend、MySpace、テンセントQQ、SIP、Skype（Skypeが必要）、Tlen.pl、Twitter、Xfire、がある。

歴史

Miranda IM は2000年2月2日、Roland Rabien（通称 figbug）がプロジェクトを開始した。当初は最も小さいICQクローンの1つで、Miranda ICQ と称していた。最初の一般へのリリースであるバージョン0.0.1は2000年2月6日だった。この段階ではLibICQを使い、メッセージ履歴もデータベースもプラグイン機能もなく、ディストリビューションのサイズが100KB以下だった。
バージョン0.0.4では、会話ボットMegaHALが導入された。これにより、Mirandaと他のICQユーザーの間で自動的なチャットが可能となった。プラグイン機能がサポートされたのはバージョン0.0.6である。最初に公式リリースに同梱されたプラグインは Logger Plugin だった。

バージョン0.1.x

2000年12月26日にバージョン0.0.6.1をリリースすると初期の開発者がプロジェクトを離れ、Richard "cyreve" Hughes がプロジェクトを引き継いだ。2001年4月8日のバージョン0.1.0.0では、大胆な書き換えを行って改良を加えている。このリリースに同梱された分離型メッセージダイアログは、メッセージングモジュールとして初めてプラグインとなったモジュールである。バージョン0.1.1.0がリリースされた頃 .Net Messenger Service プロトコルのプラグインが登場し、Mirandaのサポートする第2のIMプロトコルとなった。また、同時に多言語対応も公式リリースでなされた。これにより、Mirandaはマルチプロトコル対応で多言語対応のインスタントメッセンジャーとなった。
バージョン0.1.0.0以後、プラグインの開発が活発化していった。バージョン0.1.2.1（2002年2月28日）では、約50のプラグインが利用可能となっていた。そのころ、Lizard プラグインがスキンをサポート可能にした。ただし、Lizardを使うと動作が不安定になるため、開発はすぐに中止された。

バージョン0.2.x

cyreve は2002年6月に何故か姿を消し、Martin Öberg (Strickz)、Robert Rainwater (rainwater)、Sam K (egoDust)、Lyon Lim (lynlimz) がプロジェクトを引き継いだ。Rako Shizuka が MSNプロトコルや Yahoo! Messenger プロトコルの初期バージョンの開発を行った。しかしこの Yahoo! プラグインはクローズドソースで、しかも Yahoo! Messenger 側が頻繁にプロトコルを修正するため、動作が安定しなかった。このため後に Gennady Feldman が新たに開発している。
IM以外の機能を提供する初期のプラグインとして、このころ RSS News や Weather がリリースされた。
このころ、名称の変更と ICQ 部分をプラグイン化して本体から分離することが議論され始めた。サポートするプロトコルが増えたことから、2002年12月17日にプロジェクト名称を Miranda IM に公式に変更した。
2003年2月1日、新たな Miranda IM という名称でのリリースが行われた。バグ修正版が2週間後にリリースされている。

バージョン0.3.x

2003年6月23日にリリースされたバージョン0.3では、ICQ がプラグインとして分離された。これ以降、Miranda IM は ICQ をインストールしなくとも動作可能となった。またプロジェクトのサイトも www.miranda-im.org に移り、新たに掲示板やファイル一覧が追加された。
バージョン0.3で同梱されているプロトコルプラグインは、ICQ、MSN、AIM、XMPP である。Yahoo! はパッケージには含まれていなかった。IRC サポートは Jörgen Persson (m8rix) が行い、2003年8月8日のバージョン0.3.1で公式リリースとなった。
もう1つの大きな変更は Send-Receive Messaging Module (SRMM) をプラグインとして本体から分離した点である。これにより本体の実行ファイルが小さくなり、メッセージングモジュールの開発がやりやすくなった。この当時SRMMの機能を代替する各種派生が登場しており（SRAMM、SRMM_modなど）、標準実装にはない新たな機能を提供したり、何らかの改良を加えていた。

バージョン0.4.x

2005年4月7日、バージョン0.4がリリースされた。このバージョンで初めて Yahoo! プロトコルが公式リリースに同梱された。また、コンタクトリストとデータベースモジュールが本体から分離され、プラグイン化された。結果として、コンタクトリスト・モジュールは4種類（clist_classic、clist_mw、clist_modern、clist_nicer）になった。他にもタブ付きメッセージウィンドウ・プラグイン（tabsrmm、scriver）、HTMLベースのメッセージログをサポートした IE view、スクリプト機能プラグイン mbot、メタコンタクト・プラグインなどがこのころ登場している。

バージョン0.5.x

2006年7月28日、バージョン0.5がリリースとなった。Unicodeがサポートされ、Windows NT、2000、XP 向けのダウンロードオプションが可能となった。他の新機能としては AIM Oscar の導入がある。また、各種プロトコルでのアバターもサポートした。

バージョン0.6.x

2006年12月29日、バージョン0.6がリリースとなった。UPnPをサポートし、ルーター経由のファイル転送や接続を改善した。他にもUTF-8サポート改善、タブ付きオプションサポートの改善、各種バグ修正がなされた。

バージョン0.7.x

2007年10月1日、バージョン0.7をリリース。フォント/アイコンサービスの統合、メニューエンジンのリニューアル、リリース通知機能などが主な変更点である。また、プラグインやインタフェースの識別方法が変更され、将来互換性を保つ上で問題となりそうな実装上の問題を取り除いた。

バージョン0.8.x

2009年6月17日、バージョン0.8をリリース。アカウントマネージャ、SSLの組み込みサポート、各種バグ修正・改良などが主な変更点である。