Miranda IM (Miranda Instant Messenger) — программа обмена мгновенными сообщениями для Windows. Распространялась под лицензией GPL 2.

Miranda IM обеспечивала рабочую среду клиента для сетей обмена мгновенными сообщениями, дизайн и функциональность которой можно изменять и расширять с помощью дополнительных плагинов.

Распространялась в двух версиях — Unicode (под ОС семейства Windows NT — NT, XP и далее), и ANSI (под ОС семейства Windows 9x).

В 2018 году разработка Miranda IM была прекращена. Часть покинувших проект разработчиков создала форк Miranda NG.

История

Начало Miranda была создана Роландом Рабьеном () 2 февраля 2000 года. На тот момент это был минималистский клон программы ICQ и официально программа называлась Miranda ICQ. Первая версия 0.0.1 была выпущена 6 февраля 2000 года. Программа использовала библиотеку LibICQ, не имела поддержки истории сообщений, базы данных, плагинов и имела размер меньше 100 Кбайт.

Основной особенностью версии 0.0.4 стал бот MegaHAL, который позволял вести автоматический чат между Miranda и другими пользователями. С версией 0.0.6 появилась поддержка плагинов и первым стал плагин истории Logger.

Версия 0.1.x После выпуска версии 0.0.6.1 26 декабря 2000 года разработчики перестали поддерживать Miranda. Версия 0.1.0.0 была выпущена 8 апреля 2001 года Ричардом Хьюзом (), который взял руководство над проектом. Код Miranda был существенно переработан, окно диалога сообщений впервые было вынесено в отдельный плагин. В версию 0.1.1.0 был добавлен протокол MSN Messenger, ставший вторым протоколом, который стала поддерживать Miranda. Также эта версия была первой, в которой была добавлена поддержка языковых пакетов. С того времени Miranda стала мультипротокольным и многоязычным IM-клиентом.

После выпуска версии 0.1.0.0 началась активная разработка плагинов для Miranda. К версии 0.1.2.1, выпущенной 28 февраля 2002 года, было доступно приблизительно 50 плагинов. В это время был выпущен плагин Lizard, позволяющий использовать разные стили оформления, однако разработка плагина со временем прекратилась из-за нестабильности, которую он создавал в Miranda.

Версия 0.2.x После ухода Ричарда Хьюза в июне 2002 года, разработчики Мартин Оберг, Роберт Рейнвотер, Сэм К и Лион Лим взяли на себя дальнейшую разработку проекта. Разработку протокола MSN продолжил Рако Шизука. Он также разработал первую версию протокола Yahoo! Messenger, ставшего третьим протоколом, поддерживаемым в Miranda. Плагин Yahoo! имел закрытый исходный код и потерял актуальность в связи с изменениями в официальном протоколе Yahoo!. Позднее плагин протокола Yahoo! был переписан Геннадием Фельдманом.

В это время появились первые плагины, которые не относились к передаче мгновенных сообщений, такие как RSS (RSS News) и сводка погоды (Weather). Впервые контакты в списке контактов начали использоваться для отображения информации, а не для общения.

В это время начались дискуссии о переименовании программы и выделении кода поддержки ICQ из ядра. 17 декабря 2002 года, в связи с увеличением поддерживаемых протоколов, проект был официально переименован в Miranda IM.

Новая версия программы, названная Miranda IM, вышла 1 февраля 2003 года, спустя 3 года после основания проекта. Всего через две недели вышла следующая версия Miranda, содержащая исправления ошибок.

Версия 0.3.x Самым значительным изменением версии 0.3, выпущенной 23 июня 2003 года, было перемещение поддержки ICQ из ядра программы в отдельный плагин. С этого времени Miranda могла работать без поддержки ICQ. Сайт проекта получил новый адрес (www.miranda-im.org) и на нём были открыты новый форум для обсуждений и файловый архив.

В версию 0.3 были включены плагины протоколов ICQ, MSN, AIM и Jabber. Протокол Yahoo! не был включён в дистрибутив. Поддержку протокола IRC позднее обеспечил Йорген Перссон и этот протокол 8 августа 2003 года вошёл в официальный релиз Miranda версии 0.3.1.

Другим значительным изменением Miranda в этой ветке было перемещение модуля отправки-получения сообщений (Send-Receive Messaging Module) из ядра в отдельный плагин SRMM. Это заметно уменьшило размер исполняемого файла и дало толчок к созданию новых плагинов-окон переписки. В этот период появилось множество вариаций SRMM (SRAMM, SRMM_mod и т. п.), предлагающих разные новые возможности и улучшения стандартной реализации.

Версия 0.4.x

Версия 0.4 была выпущена 7 апреля 2005 года. Это была первая версия с протоколом Yahoo!, включённым в официальный дистрибутив. Другими значительными изменениями стали перемещение модуля списка контактов и модуля базы данных из ядра в отдельные плагины. В результате появилось 4 вариации модуля списка контактов: классический (clist_classic), многооконный (clist_mw), современный список контактов (clist_modern) и улучшенный список контактов с расширенным изменением интерфейса (clist_nicer).

Также в этот период были созданы другие популярные плагины, включая модули окон сообщений со «вкладками» (TabSRMM и Scriver), модуль поддержки HTML-журнала сообщений (IEView), скриптовый плагин mbot и плагин метаконтактов.

Версия 0.5.x Miranda IM версии 0.5 была выпущена 28 июля 2006 года. Это была первая версия, которая поддерживала юникод для полноценного использования на системах Windows NT, 2000 и XP. Другой особенностью было введение протокола AIM OSCAR, впервые представленного в начале 2006 года, который позволял передавать файлы и использовать статусные сообщения. Также эта версия предусматривала расширенную поддержку аватаров среди различных протоколов.

Версия 0.6.x Версия 0.6 была выпущена 29 декабря 2006 года. Новшеством этой версии была поддержка UPnP для улучшения передачи файлов и прямых соединений через маршрутизаторы. В этой же версии базы данных начинают поддерживать хранение данных в UTF-8, однако это не является обязательным. В API для плагинов добавлена работа с памятью. Кроме того, к моменту завершения работы над версией 0.5 возникла угроза, что разные куски Miranda расползутся слишком далеко.

Версия 0.7.x Версия 0.7 увидела свет 1 октября 2007 года. В ней было сделано множество изменений в ядре Miranda. Система меню была переписана, модуль работы со шрифтами (FontService) и модуль работы с пиктограммами (IcoLib) были внесены в ядро. В дистрибутив вошли плагины для работы с изображениями и менеджер аватаров. Хранение данных в базе данных было принудительно переведено в UTF-8, что вызвало много проблем совместимости со старыми плагинами и повреждёнными базами данных. Модульный интерфейс был изменён и теперь плагины должны были идентифицировать себя и предоставляемые функции с помощью уникальных идентификаторов (UUID).

Протокол Jabber перешёл в стадию активного развития, его интерфейс был качественно переработан и стал пригоден для регулярного использования.

Версия 0.8.x Версия 0.8 Miranda доступна c 17 июня 2009. В ней реализована работа с несколькими аккаунтами одного протокола, без необходимости копирования DLL-файлов плагинов.Miranda IM v0.8.0 Build #9 Discussion Улучшена совместимость с Windows Vista. Также стало более дружелюбным окно настроек, в котором появился поиск по настройкам.0.8 Roadmap on official forums

Развитие ветки продолжается и после появления серии 0.9.x. Все пиктограммы заменены на более качественные, для Windows 7 добавлена поддержка больших иконок — с большим разрешением.

Версия 0.9.x Версия 0.9.0 вышла 24 августа 2010 года. Улучшения сконцентрированы в основном на поддержке Unicode и протоколов. Появилась поддержка возможностей новой панели задач Windows 7. Добавлена первая официальная 64-битная версия.

Версия 0.10.x Версия 0.10.0 вышла 18 июля 2012 года.

В ветке не появилось новых функций, только багфиксы. С версии 0.10.25 используется новый компилятор.

Miranda NG

К 2011 году противоречия среди разработчиков углубились. Новые версии Miranda IM выходили крайне нерегулярно; зачастую в списке изменений была всего одна строчка. Часть разработчиков откололась и в мае 2012 года создала форк — Miranda NG (New Generation). Поскольку в 2018 году разработка Miranda IM была прекращена, Miranda NG стала единственной поддерживаемой версией Miranda. Принципы проекта: Прекращена поддержка версий ANSI, как полностью морально устаревших. Будут только Unicode (x32 и x64-версии). Поддерживаются только компиляторы Visual Studio 2015, 2017. Подключение и отключение плагинов «на лету», без перезапуска программы. Все плагины находятся в одном репозитории, при изменениях в ядре необходимые правки вносятся сразу, без ожидания реакции разработчиков, которая может длиться месяцами у Miranda IM. Проведена достаточно большая работа по унификации — многое из того, что каждый плагин реализовывал самостоятельно, было перенесено в ядро. Избавление от старых «костылей» и багов, повышающее общую стабильность программы, повышена скорость запуска и работы программы. Возвращение в разработку Miranda NG разработчиков, покинувших или бросивших по тем или иным причинам разработку плагинов под Miranda IM. Расфиксировать на время API плагинов. Это значит, что некоторое время разработка новых плагинов будет невозможна (будут работать только те, что лежат в репозитории и централизованно обновляются). Это даст чистое API, которое впоследствии можно будет и заморозить.

Плагины Miranda представляет собой компактный программный интерфейс к набору разнообразных модулей-плагинов. Плагины протоколов обмена сообщениями можно отключить или заменить на написанные сторонними авторами или самостоятельно. Возможности программы могут быть расширены с помощью модулей, которые реализуют расширения интерфейса, включая перевод на другие языки, позволяют вести развёрнутые логи и статистику, обеспечивать безопасную связь, выдавать напоминания и выполнять множество других функций, вплоть до ведения с удалённым партнёром логических игр. Для установки плагина достаточно загрузить архив с ним и распаковать его в подкаталог Plugins в каталоге Miranda (в редких случаях — непосредственно в каталог программы).

Поддерживаемые протоколы Основные плагины для реализации протоколов обмена сообщениями, которые ставятся при установке программы по умолчанию, поддерживают протоколы IRC, Jabber (в том числе Google Talk), MSN, OSCAR (AIM, ICQ), Yahoo, Gadu-Gadu.

Дополнительно можно загрузить плагины протоколов battle.net Messenger, Mail.ru Agent, MS Exchange IM protocol (RVP), MySpaceIM, SIP, Skype (не требуется установленный Skype, доступно только в Miranda NG), Spinchat, Twitter, Tlen, Tox, QQ, WallaChat, Xfire, Facebook и ВКонтакте.

Протоколы обмена сообщениями по локальной сети включают EmLanProto, Novell NetWare NCP, Vypress Chat, WinPopup, QuickChat.

Протокол OSCAR ICQ OscarJ — плагин, реализующий функциональность протокола OSCAR и входящий в официальную поставку Miranda IM. Имеет поддержку расширенных статусов и аватар. Ограниченное управление видимостью, не поддерживается Privacy menu. ISee — альтернативный плагин, реализующий протокол ICQ в Miranda IM, один из наиболее функциональных и стабильных плагинов, имеющий целый ряд преимуществ, включая управление видимостью (Privacy menu), отзыв авторизации (удаление себя из контакт листа собеседника), некоторые способы проверки «на невидимость», возможность смены идентификатора клиентской программы и версии протокола. Однако работа над плагином не ведётся уже более двух лет. ICQJ Plus Mod — одна из последних альтернативных реализаций протокола OSCAR для Miranda, в настоящий момент находится в состоянии разработки. Плагин умеет работать со списками приватности и Privacy menu, обладает возможностью отзыва авторизации, встроенной защитой от известных спам-ботов, поддерживает возможность смены идентификатора клиентской программы и версии протокола, аватары и расширенный набор статусов.

Протокол XMPP (Jabber)