QXmpp 0.9.3 (Dec 3, 2015)
-------------------------

  - Add QXmppIceConnection::gatheringState property.
  - Improve QXmppTransferManager::sendFile's handling of QIODevice ownership.
  - Fix QXmppTransferManagerFix convering filename to a QUrl.

QXmpp 0.9.2 (Sep 2, 2015)
-------------------------

  - Fix build error for debug builds.
  - Allow QXmppJingleIq to have multiple contents.

QXmpp 0.9.1 (Aug 30, 2015)
--------------------------

  - Fix build error when VPX support is enabled (issue 71).

QXmpp 0.9.0 (Aug 28, 2015)
--------------------------

  - Fix phone numbers incorrectly read from / written to vCard as "PHONE"
    element instead of "TEL" (issue 65).
  - Make QXmppClient::connectToServer(QXmppConfiguration, QXmppPresence) a
    slot (issue 63).
  - Correctly receive data immediately following a SOCKS5 message (issue 64).
  - Make QXmppStream handle end of incoming stream (issue 70).
  - Add unit tests for QXmppCallManager and QXmppTransferManager.
  - Improve ICE implementation to follow RFC 5245 more closely and hide
    implementation details from public API.

QXmpp 0.8.3 (Mar 13, 2015)
--------------------------

  - Add a QXmppClient::sslErrors signal to report SSL errors.
  - Handle broken servers which send "bad-auth" instead of "not-authorized".
  - Fix a compilation issue with Qt 5.5 due to a missing header include.
  - Do not install test cases.
  - Remove trailing comma after last item in enums.

QXmpp 0.8.2 (Jan 7, 2015)
-------------------------

  - The previous release was missing an update to the VERSION definition,
    resulting in stale pkg-config files. This release fixes this issue.
  - Refactor HTML documentation so that "make docs" works in out-of-source
    builds.
  - Add support for Opus audio codec.
  - Enable error concealment for VPX video codec.

QXmpp 0.8.1 (Dec 19, 2014)
--------------------------

  - Use QString() instead of "" for default methods arguments, to enable
    building project which use QT_NO_CAST_FROM_ASCII.
  - Add support for legacy SSL.
  - Add XEP-0333: Chat Markers attributes to QXmppMessage.
  - Add QXmppClient::socketErrorString to retrieve socket error string.
  - Add equality/inequality operators for QXmppVCardIq.
  - Add "make check" command to run tests.

QXmpp 0.8.0 (Mar 26, 2014)
--------------------------

  - Fix QXmppServer incoming connections with Qt5 (issue 175).
  - Support for QXmppMessage extensions having tag names other than 'x'.
  - Support for retrieving the source QDomElement that has been used to
    initialize a QXmppElement.
  - Add organizations info interface to QXmppVCardIq.
  - Remove deprecated QXmppPresence::Status type.

QXmpp 0.7.6 (Mar 9, 2013)
-------------------------

  - Add QXmppClient::insertExtension to insert an extension at a given index.
  - Disable Facebook / Google / Facebook specific mechanisms if we do not
    have the corresponding credentials.

QXmpp 0.7.5 (Jan 11, 2013)
--------------------------

  - Replace toAscii/fromAscii with toLatin1/fromLatin1 for Qt 5 compatibility.
  - Fix build using clang in pedantic mode.

QXmpp 0.7.4 (Oct 1, 2012)
-------------------------

  - Add XEP-0249: Direct MUC Invitations attributes to QXmppMessage.
  - Add XEP-0045: Multi-User Chat attributes to QXmppPresence.
  - Improve GuiClient, stop using deprecated APIs.
  - Improve QXmppServer:
    * Move statistics to a counter / gauge system.
    * Make it possible to call listenForClients and listenForServers
      multiple times to supported multiple IP address / ports.
  - Improve QXmppTransferManager:
    * Change third argument of QXmppTransferManager::sendFile to a description.
    * Enable file transfer using IPv6.
    * Allow StreamHost::host to contain a host name.

QXmpp 0.7.3 (Sep 7, 2012)
-------------------------

  - Fix QXmppMucRoom::name(), only consider discovery IQs from the room.

QXmpp 0.7.2 (Sep 6, 2012)
-------------------------

  - Handle Error replies in QXmppDiscoveryManager so that library users can know
    about errors.
  - If building with Qt 5, use Qt's QDnsLookup instead of our backport.
  - Improve MUC scriptability:
    * Add QXmppMucRoom::ban() to ban users.
    * Add QXmppMucRoom::name() to get the room's human-readable name.
    * Add QXmppMucRoom::participantFullJid() to lookup an occupant full JID.
  - With Qt >= 4.8, verify peer SSL certificate against domain name as specified by RFC 3920.
  - Add support for X-OAUTH2 authentication for Google Talk.
  - Add links to RFCs in generated HTML documentation.

QXmpp 0.7.1 (Sep 3, 2012)
-------------------------

  - Fix export of QXmppVCardPhone class.

QXmpp 0.7.0 (Sep 3, 2012)
-------------------------

  - New XEPs:
    * XEP-0033: Extended Stanza Addressing

  - Remove deprecated APIs:
    * QXmppRosterManager::rosterChanged()
    * QXmppConfiguration::sASLAuthMechanism()

  - Improve vCard support:
    * Add support for free-form descriptive text.
    * Make it possible to have several addresses.
    * Make it possible to have several e-mail addresses.
    * Make it possible to have several phone numbers.
  - Make it possible to set the client's extended information form (XEP-0128).
  - Make sure QXmppDiscoveryManager only emits results.
  - Fix XEP-0115 verification strings (remove duplicate features, sort form values)
  - Fix issues:
    * Issue 144: QXmppBookmarkConference autojoin parsing
  - Add support for see-other-host server change.
  - Add support for X-MESSENGER-OAUTH2 authentication for Windows Live Messenger.
  - Make it possible to disable non-SASL authentication.
  - Add QXmppClient::isAuthenticated() to query whether authentication has been
    performed.

QXmpp 0.6.3 (Jul 24, 2012)
--------------------------

  - Fix regression in X-FACEBOOK-PLATFORM authentication.

QXmpp 0.6.2 (Jul 22, 2012)
--------------------------

  - New XEPs
    * XEP-0071: XHTML-IM

  - Improve SASL code test coverage.
  - Improve QXmppMessage test coverage.
  - Add a "reason" argument to QXmppRosterManager's subscription methods.
  - Refactor QXmppPresence:
    * add availableStatusType(), priority(), statusText()
    * deprecate QXmppPresence::Status
  - Remove deprecated QXmppRosterManager::removeRosterEntry().

QXmpp 0.6.1 (Jul 20, 2012)
--------------------------

  - New XEPs
    * XEP-0221: Data Forms Media Element

  - Fix data form title/instructions XML serialization.
  - Remove confusing QXmppPresence::Status::Offline status type.
  - Deprecate QXmppConfiguration::setSASLAuthMechanism(), replaced by
    the string-based QXmppConfiguration::setSaslAuthMechanism().

  - Fix issues:
    * Issue 111: QXmppPresence::Status::getTypeStr() gives warning if type is invisible
    * Issue 126: Modularize SASL mechanisms

QXmpp 0.5.0 (Jul 18, 2012)
--------------------------

  - New XEPs
    * XEP-0059: Result Set Management

  - Build a shared library by default.
  - Advertise support for XEP-0249: Direct MUC Invitations
  - Make QXmppTransferManager fully asynchronous.
  - Remove QXmppPacket class.
  - Move utility methods to a QXmppUtils class.
  - Remove QXmppReconnectionManager, QXmppClient handles reconnections.
  - Improve QXmppArchiveManager to allow paginated navigation (Olivier Goffart).
  - Only emit QXmppVersionManager::versionReceived() for results.
  - Remove deprecated QXmppClient::discoveryIqReceived() signal.

  - Fix issues:
    * Issue 64: Compile qxmpp as shared library by default
    * Issue 79: Export classes for Visual C++ Compiler
    * Issue 140: Proper XEP-0115 ver string generation with dataforms
    * Issue 142: qxmpp does not build in Qt5

QXmpp 0.4.0 (Apr 12, 2012)
--------------------------

  - New XEPs
    * XEP-0048: Bookmarks
    * XEP-0184: Message Delivery Receipts
    * XEP-0224: Attention

  - Remove deprecated  "get*" getter accessors from:
    QXmppClient
    QXmppConfiguration
    QXmppMessage
    QXmppPresence
    QXmppIq
    QXmppStanza
	QXmppVCardIq
	QXmppRosterIq

  - Remove deprecated headers:
    * QXmppRoster.h
    * QXmppVCard.h

  - Add TURN support for VoIP calls to use a relay in double-NAT network topologies.
  - Overhaul Multi-User Chat support to make it easier and more fully featured.
  - Improve QXmppServer packet routing performance.
  - Add support for X-FACEBOOK-PLATFORM SASL method.
  - Improve XEP-0136 support to enable archive deletion.
  - Set default keep-alive timeout to 20 seconds, enables detection of broken connections.
  - Make install path configurable using the PREFIX variable instead of Qt's installation path.
  - Make it possible to build a shared library by invoking "qmake QXMPP_LIBRARY_TYPE=lib".

  - Fix issues:
    * Issue 95: Patch for several utility methods in RosterManager
    * Issue 103: Does not compile for Symbian^3 with NokiaQtSDK 1.1 Beta
    * Issue 105: Initial presence is set before the roster request
    * Issue 106: QXmppClient can't override Qt's set of trusted SSL CAs
    * Issue 109: Patch for XEP-0224 (Attention)
    * Issue 113: qxmpp.pc sets incorrect include path
    * Issue 116: sessionStarted not set for non-SASL connections
    * Issue 119: ICE negotiation time out after successful ICE check
    * Issue 120: QXmppIceComponent doesn't accept interfaces with 255.255.255.255 netmask as a local candidate
    * Issue 132: [FreeBSD]: build error
    * Issue 135: qxmpp won't reconnect when disconnected

QXmpp 0.3.0 (Mar 05, 2011)
------------------------
  - New XEPs
    * XEP-0153: vCard-Based Avatars
    * XEP-0202: Entity Time

  - New Classes
    * QXmppClientExtension: base class for QXmppClient extensions (managers)
    * QXmppServer: base class for building XMPP servers
    * QXmppServerExtension: base class for QXmppServer extensions
    * QXmppDiscoveryManager: manager class for XEP-0030: Service Discovery
    * QXmppVersionManager: manager class for XEP-0092: Software Version
    * QXmppIceConnection: class representing an Interactive Connectivity
      Establishment (ICE) over UDP "connection"
    * QXmppRtpChannel: class representing an RTP audio channel for VoIP calls
  
  - Refactor QXmppVCardManager to use QXmppClientExtension
    
  - New Examples
    * example_9_vCard: vCard handling example
    * GuiClient: Graphical chat client, test bench for QXmpp functionalities

  - Deprecation
    * QXmppVCard class name changed to QXmppVCardIq
    * Signal QXmppClient::discoveryIqReceived in favour of 
      QXmppDiscoveryManager::infoReceived and QXmppDiscoveryManager::itemsReceived
  
  - Removal
    Extensions QXmppArchiveManager, QXmppMucManager, QXmppCallManager, QXmppTransferManager
    will not load by default. Therefore following functions to provide the reference 
    have been removed.
    QXmppClient::transferManager()
    QXmppClient::archiveManager()
    QXmppClient::callManager()
    QXmppClient::mucManager()
    Note: Once should use QXmppClient::addExtension() and QXmppClient::findExtension()
          to load or enable these extensions.
  
  - Add support for DNS SRV lookups, meaning you can connect to nearly all
    servers using only a JID and a password.
  - Improve support for SASL authentication, with a verification of the second
    challenge message sent by the server.
  - Add support for the birthday and URL attributes in vCards.
  - Improve STUN support for VoIP calls by detecting server-reflexive address.
  - Add QXMPP_VERSION and QXmppVersion() for compile and run time version checks. 
  - Improve code documentation coverage and quality.
  - Remove dependency on QtGui, making it easier to write console applications.
  - Fix MSVC 2005 and 2008 build issues.
  - Fix Symbian build issues, add DNS SRV support for Symbian devices.
  
QXmpp 0.2.0 (Aug 22, 2010)
--------------------------
  - New XEPs
    * XEP-0030: Service Discovery
    * XEP-0045: Multi-User Chat 
    * XEP-0047: In-Band Bytestreams
    * XEP-0054: vcard-temp
    * XEP-0065: SOCKS5 Bytestreams
    * XEP-0078: Non-SASL Authentication
    * XEP-0082: XMPP Date and Time Profiles
    * XEP-0085: Chat State Notifications
    * XEP-0091: Legacy Delayed Delivery
    * XEP-0092: Software Version
    * XEP-0095: Stream Initiation
    * XEP-0096: SI File Transfer
    * XEP-0115: Entity Capabilities
    * XEP-0128: Service Discovery Extensions
    * XEP-0166: Jingle
    * XEP-0167: Jingle RTP Sessions
    * XEP-0199: XMPP Ping
    * XEP-0203: Delayed Delivery 
    * XEP-0009: Jabber-RPC
    * XEP-0004: Data Forms
    
  - New XEPs (Initial Support) 
    * XEP-0136: Message Archiving
    * XEP-0176: Jingle ICE-UDP Transport Method [Experimental]

  - New authentication schemes
      * DIGEST-MD5
      * SASL
      * NonSASL
      * Anonymous

  - Add doxygen documentation
  - Add targets in *.pro file for packaging, installing and generating documentation
  - Use QXmlStreamWriter while creating stanzas to be sent to the server 
  - Clean up getter accessors from "getFoo" to "foo"
  - Add proper file transfer management
  - Add support for keep-alive pings
  - Report authentication errors
  - Automatic reconnection mechanism
  - Test suite for stanza parsing/serialisation
  - Refactor the logging code
  - Add proxy support
  - Fixed compile time warning messages
  - New examples
  - Support for attaching an extension element to messages and presences (QXmppElement)
  - Move parsing to the stanzas itself QXmppStanza::parse()
  - QXMPP_NO_GUI define to remove dependency on QtGui
  - Change QXmppRoster to QXmppRosterManager to have a consistent API
  
QXmpp 0.1 (Jun 14, 2009)
------------------------
  - First public release
