2.1.0
-----
- Introduced IrcMessageFilter and IrcLagTimer
- Added IrcSessionInfo::availableCapabilities() and activeCapabilities()
- Added QDebug stream operators for IrcSender
- Added QDataStream operators for IrcPalette and IrcTextFormat
- Added comparison operators for IrcSender, IrcPalette and IrcTextFormat
- Added IrcCommand::createPing()
- Added IrcMotdMessage and IrcNamesMessage
- Made IrcSession::sendCommand() only delete parentless commands
- Fixes and improvements to the congigure script

2.0.1
-----
- Fixed IrcMessage::toData()
- Fixed identify-msg capability handling
- Fixed ICU linking on 64-bit Windows
- Fixed IrcSession::close() to abort connecting

2.0.0
-----
- Focus on easy deployment
  - Removed all plugins
  - Better support for static builds and including(src.pri)
- Removed Symbian support
- The default FALLBACK encoding changed from UTF-8 to ISO-8859-15
  - UTF-8 did not make much sense as the default fallback encoding,
    since the fallback is only used when the message is detected NOT
    to be valid UTF-8 and the auto-detection fails
- Radically simplified examples
- Removed all deprecated classes and methods
- API changes:
  - Added:
    - IrcPalette
    - IrcTextFormat
    - IrcSessionInfo
    - IrcMessage::session
    - IrcMessage::timeStamp
    - IrcCommand::Type & IrcCommand::createXxx() for:
      - admin/info/knock/list/motd/stats/time/trace/users/version/who
  - Removed:
    - IrcUtil
      - use IrcTextFormat & IrcPalette instead
    - IrcCodecPlugin
      - use qmake -config icu or -config uchardet instead
    - IrcMessage::isOwn
      - use IrcMessage::flags() & IrcMessage::Own instead
    - IrcMessage::toString()
      - use IrcMessage::toData() instead
    - IrcMessage::fromString()
      - use IrcMessage::fromData/Command/Parameters() instead

1.2.2
-----
- Qt 5.0.0 final specific build fixes
- Fixed CTCP reply handling
- Fixed SSL connections

1.2.1
-----
- Fixed #24: IrcSessionPrivate::_q_error() is too verbose
- Fixed #25: IrcSessionPrivate::processLine() should not respond to
  CTCP requests
- Qt 5 specific build fixes
- Made the default fallback encoding ISO-8859-1
- Fixed a performance bottleneck in IrcDecoder::setEncoding()

1.2.0
-----
- Qt 5 support
- Implemented support for IRC capabilities as specified at
  http://www.leeh.co.uk/draft-mitchell-irc-capabilities-02.html
- Implemented support for the "identify-msg" capability
- Pluginized the message decoder
  - The default message decoder plugin is based on uchardet, which
    is built into the plugin, making it available on all platforms
  - An alternative message decoder plugin based on ICU is available
    in src/plugins/icu must be enabled/built by hand. It requires
    the presence of ICU (modify icu.pri if necessary) that is not
    available for all Communi supported platforms
  - The used message decoder plugin may be controlled by setting the
    COMMUNI_CODEC_PLUGIN (values: uchardet,icu) environment variable
  - In conjuction with the standard QT_PLUGIN_PATH, plugin paths may
    be controlled by setting the COMMUNI_PLUGIN_PATH environment
    variable
- API changes:
  - Added IrcCodecPlugin
  - Added QByteArray IrcMessage::encoding [property]
  - Added IrcMessage::Flags and IrcMessage::flags()
    - None, Own, Identified, Unidentified
  - Added IrcMessage::Capability and IrcCapabilityMessage
  - Added IrcCommand::Capability and IrcCommand::createCapability()
- Facelifted the desktop example

1.1.2
-----
- Docs:
  - Fixed IrcMessage::Private enum value to appear
- Examples:
  - Fixed settings to be remembered
  - Fixed a performance issue in channel message nick highlighting

1.1.1
-----
- Various build system fixes and improvements
  - Fixed shadow builds
  - Configure: improved qmake(-qt4) detection & added error handling
  - Fixed plugins, examples and tests to link to the local built libs
    instead of the installed ones whether they happen to exist
  - Added a 'no_rpath' qmake config
- Examples: fixed message formatting clash with nick names & URLs

1.1.0
-----
- Introduced a configure script
- Added a Symbian (QML) example
- Significantly revised the desktop example
  - Added dock icon badge, topic label & channel user list
  - Made it possible to emded parts into another app
- Replaced ICU with uchardet as the encoding detection engine
  - ICU is not available on all platforms, whereas uchardet is
    built into Communi and therefore available on all platforms
- IrcUtil::messageToHtml() to handle mIRC style background colors
- Detect message encoding part by part, instead of for the whole line
- Changed the semantics of IrcSession::encoding to a fallback encoding
- API changes:
  - Added bool IrcMessage::own [property]
  - Added IrcMessage::fromData() - deprecated IrcMessage::fromString()
  - Added IrcMessage::toData() - deprecated IrcMessage::toString()
  - Added QByteArray IrcCommand::encoding [property]
  - Added bool IrcSession::sendData(const QByteArray& data)

1.0.0
-----
- Renamed Communi (was LibIrcClient-Qt)
- Underwent a major rewrite
  - Split the monolithic IrcSession class
  - New event/message & property based IrcSession API
  - Removed the problematic buffer concept
  - New public classes: IrcCommand and IrcMessage & subclasses
- Improved QML compatibility
  - QObject based messages & commands
  - Used properties, signals, slots and invokables
  - Provided a declarative plugin: import Communi 1.0
- Environment variable COMMUNI_DEBUG=1 to help debugging - log socket state
  changes and received messages to the debug output
- Added desktop (QWidgets) & MeeGo (QML) examples

0.5.0
-----
- Irc::Session API additions:
  - addBuffer() and buffers() for buffer management
  - welcomed() signal, emitted when 001 is received
- Added IRC capability support
- Implemented IDENTIFY-MSG capability
- Fixed "icu.pri: Unescaped backslashes are deprecated"
- Remove buffer upon parting a channel
- Fixed Session::raw()'s check of written bytes
- Fixed #3 An incorrect buffer is created when StripNicks is off and
  EchoMessages
- Improved building on Mac
  - Make a difference between frameworks and standard dylibs (depending
    on Qt's installation style)
  - Set INSTALL_NAME correctly

0.4.1
-----
- Added support for static builds (qmake -config static)
- Fixed qmake project messages output only once
- Fixed MOC_DIR in release mode
- Added default MacPorts paths for ICU
- Fixed notices and messages from "real host" vs. "connected host" to get
  directed to the same buffer
- Fixed CTCP requests not to create a new buffer

0.4.0
-----
- Introduced Irc::Buffer - the concept of server/channel/query specific buffers
- Deprecated buffer-specific functionality in Irc::Session
- Fixed tabs not to cause underlined text
- Added a version number to the library
- Added Irc::Rfc::toString()
- Fixed euIRC connection problems

0.3.2
-----
- Fixed problems with "unknown" messages
- Fixed Irc::Session::connectSlotsByName() not to try to establish
  a connection when the parameter types don't match
- Code improvements

0.3.1
-----
- Fixed compilation on Mac
- Fixed Irc::Session::connected() and disconnected() to be emitted correctly
- Fixed Irc::Session::connectSlotsByName() not to establish multiple
  connections when a slot exists multiple times (reimplemented)
- Made Irc::Session::cmdMessage(), cmdNotice() and cmdCtcpAction() to
  emit own messages, notices and actions. This simplifies client
  implementation
- Started working on auto tests and added code coverage support
- Added a workaround for older Qt versions that don't have the
  QT_FORWARD_DECLARE_CLASS() macro defined

0.3.0
-----
- Added SSL support
- Quality & compatibility
  - no_keywords
  - QT_NO_CAST_FROM_ASCII
  - QT_NO_CAST_TO_ASCII
- Bug fixes & code improvements

0.2.0
-----
- The first fully Qt-based version

0.1.1
-----
- Added support for optional encoding detection with ICU

0.1.0
-----
- The first internal release