# Miranda NG

Miranda NG is an open-source multiprotocol instant messaging application, designed for Microsoft Windows. Miranda NG is free software distributed under the GNU GPL-2.0-or-later.

## History

In May 2012 Miranda IM was forked to Miranda NG (New Generation). The reasons were a shift in the development team and the slow-paced development of the original Miranda IM. The main differences between the original client and the fork are: a switch to Visual Studio 2010's compiler, dropping support for Windows 95/98/ME and non-Unicode plugins, and the fact that the core and plugins development was combined and that they share a unified repository.
As of August 2023 the latest version of Miranda NG is 0.96.3, released on 9 June 2023.

## Architecture

Miranda IM provides a basic client framework, GUI, and an advanced plugin architecture. Support for various IM protocols and additional features is implemented through optional plugins, some of which come bundled with Miranda IM by default; the rest (over 500) were in the past available on the official addons site. Unused protocols can be removed.

## Features

* Customized look and function according to each individual's needs.
* Management and organization of hundreds of IM buddies on many IM networks
** Contact renaming
* Full message archive database
** Simple recall or deletion with the DB Tool or History Sweeper plugin.
* Contact details or photos visible with mouseover. (Needs additional plugin)
* No advertising
* Compact and portable: with few plugins
* Security/Privacy: Saves history on hard disk
* Low memory footprint

## Connectivity

The protocol plugins included with Miranda IM are AIM, Gadu-Gadu, ICQ, IRC, Microsoft Messenger service (a.k.a. MSN, .NET, Live, etc.), XMPP (& Google Talk), and Yahoo! Messenger. Other protocols available via plugins include Bonjour Fetion, Facebook Messenger, Inter-Asterisk eXchange, Lotus Sametime, NetSend, Myspace, Tencent QQ, SIP, Skype (requires Skype), Tlen.pl, Xfire.

## History
### Early days

Miranda IM was first started by Roland Rabien (figbug) on 2 February 2000. At that time, it was a minimalist ICQ clone and officially called Miranda ICQ. The first public release, version 0.0.1, was released on 6 February 2000. This release used LibICQ, had no support for message history, database, and plugins, and had a distribution size of less than 100 KB.
A major new feature of version 0.0.4 was the MegaHAL chat bot, which enabled automatic chatting between Miranda and other ICQ users. Plugin support was added with version 0.0.6. Logger Plugin was the first plugin bundled with the official release.

### Version 0.1.x

After the release of version 0.0.6.1 on 26 December 2000, the original developers left, and Richard "cyreve" Hughes took over the project. His first release, version 0.1.0.0 on 8 April 2001 was improved through a major rewrite. The split message dialog bundled with this release became the first messaging module to be put into a plugin. The .Net Messenger Service protocol plugin appeared around the time of version 0.1.1.0 release becoming the second messaging protocol to be supported by Miranda. This was also the first official release to support language pack translations. Miranda hence had multi-protocol, multi-language instant messenger features.
After v0.1.0.0, Miranda plugin development grew rapidly. With version 0.1.2.1 (28 February 2002), there were approximately 50 plugins available. At the time the new Lizard plugin enabled skinning support; the only time Miranda supported skins. Lizard development stopped soon after, due to the instability it caused.

### Version 0.2.x

After the mysterious disappearance of cyreve in June 2002, the developers Martin Öberg (Strickz), Robert Rainwater (rainwater), Sam K (egoDust), and Lyon Lim (lynlimz) took over the project. The MSN protocol was taken over by Rako Shizuka who also developed the first version of Yahoo! Messenger protocol, which was the third protocol supported by Miranda. The Yahoo! plugin was closed source, and lost reliability as the official Yahoo! Messenger protocol changed over time – it was later re-written by new developer Gennady Feldman.
The first of the non-IM plugins, including RSS News and Weather, were released within this period. These added a contact to contact list for the purpose of displaying information to the user rather than chatting.
Discussion about renaming of the program and removal of ICQ from the core began about this time. Due to the increase of protocol support, the project was officially renamed to Miranda IM on 17 December 2002.
The first release under the new name occurred on 1 February 2003, about three years after the beginning of the project, and a bug fix version came two weeks later.

### Version 0.3.x

The major change in version 0.3, released on 23 June 2003, was the removal of ICQ from the core into a plugin. From now on, Miranda could run without the ICQ application being installed. The project moved to a new site at www.miranda-im.org, featuring a new discussion board and file listing.
Protocol plugins bundled in version 0.3 included ICQ, MSN, AIM, and XMPP. The Yahoo! protocol was not included in the package. IRC support was added later by Jörgen Persson (m8rix) to the official release of version 0.3.1, on August 8, 2003.
Another major change was the removal of the Send-Receive Messaging Module from the core into a plugin, SRMM. This reduced the size of the executable file and encouraged rapid development of messaging modules. During this period many variations (including SRAMM, SRMM_mod, etc.) offered different new features and improvements over the standard implementation.
ZDNet.be reviewed release 0.3, complimenting its "effortless" contact importing, low memory usage, and extensive variety of plugins, and stating, "Miranda is a strong recommendation for people who have a system tray populated by several IM applications."

### Version 0.4.x

Version 0.4 of Miranda IM was released on 7 April 2005. This was the first version to have Yahoo! protocol bundled with the official release. Other major changes included the removal of contact list and database module from the core into plugins. As a result, there were 4 variations of contact list modules: the original clist_classic, multi-window contact list clist_mw, modern contact list clist_modern, and nicer contact list with extensive UI customization clist_nicer. Other popular plugins released within this period included tabbed message window (tabsrmm and scriver), HTML based message log support IE view, scripting plugin mbot, and the meta contact plugin.

### Version 0.5.x

Version 0.5 of Miranda IM was released on 28 July 2006. This is the first version to have Unicode support available as a download option for Windows NT, 2000 and XP users. Another new feature is the introduction of AIM Oscar, first released in early 2006, allowing users to transfer files and receive away messages. This version also provided more support for avatars among the various protocols.

### Version 0.6.x

Version 0.6 of Miranda IM was released on December 29, 2006. This version introduced UPnP support to improve file transfer and direct connect reliability through routers. Other changes included improved support for UTF-8 strings, improved tabbed options support, and numerous bug fixes.

### Version 0.7.x

Version 0.7 of Miranda IM was released on 1 October 2007. Key changes included integrated font and icon services, a rewritten menu engine, and a release notifier. One large change is a new way to uniquely identify plugins and the interfaces they implement which may break backward compatibility in the future.
A 2008 CNET review gave the program 4 out of 5 stars, noting that though the interface is "plain", the program supports most IM protocols in one package. Features favored in the review included its centralized personal information management, "numerous" window behavior controls, and configurable hotkeys.
Techzine.nl reviewed this version, listing its positive attributes as "support for many protocols; small and fast; a lot of plug-ins and skins; many settings" and writing it "will not look bad on your computer. Especially if you are looking for a simple client on a USB stick then Miranda IM is a good choice." On the other hand, "if you are using WLM (Windows Live Messenger) and you find the settings of the program hard, [we] can not recommend Miranda IM. The typical things like WLM's smilies, sounds, winks and games are not standard. You do get that functionality by the wide choice of skins and plug-ins, but for that you do some research and setting work."
Authors Lui and Chan in Software Development Rhythms describe using Miranda IM's plugin architecture to copy, modify, and test existing plugins in order to develop "NAMMIK", a scriptable ICQ chatting bot used to interview people; they refer to Miranda IM's architecture as "simple and flexible".

### Version 0.8.x

Version 0.8 of Miranda IM was released on 17 June 2009. It included a new Account Manager which supports multiple accounts per protocol (doing away with DLL renaming), built-in SSL support, various enhancements and bugfixes for the core and plugins.
A PCWorld Magazine review of version 0.8.16 noted its addon capability, but stated, "Miranda's user interface leaves something to be desired" while referring to its login status icons, wishing for easier management and grouping of contacts, easy blocking/reporting of spammers, and ultimately recommending it "for those who use only surface capabilities of instant messengers."

### Version 0.9.x

Version 0.9 of Miranda IM was released on 24 August 2010. It consists of many new features focused on improving Unicode support and overall protocol improvements. It is also the first Miranda IM version to feature an official 64-bit build.

### Version 0.10.x

Version 0.10 of Miranda IM was released on 18 July 2012. It consists of enhancements to Miranda IM 0.9.x including improved language support and improved networking support.
After years of being self-hosted, version 0.10.80 was transferred to SourceForge on 25 April 2018.