QXmpp 1.0.1 (UNRELEASED)
- Add support for SCRAM-SHA-1 and SCRAM-SHA-256 (#183, @jlaine)
QXmpp 1.0.0 (Jan 8, 2019)
- Add XEP-0066: Out of Band Data (partially) (#167, @lnjX)
- Add XEP-0198: Stream Management (#99, @olesalscheider)
- Add XEP-0237: Roster Versioning (#142, @LightZam)
- Add XEP-0280: Message Carbons (#88, @fbeutel)
- Add XEP-0308: Last Message Correction (#170, @lnjX)
- Add XEP-0313: Message Archive Management (#120, @olesalscheider)
- Add XEP-0319: Last User Interaction in Presence (#171, @lnjX)
- Add XEP-0352: Client State Indication (#159, @fbeutel, @lnjX)
- Auto-connect to next DNS-SRV record server on connection failure (#105, @kollix)
- QXmppVersionManager: Use QSysInfo to determine default OS (#168, @lnjX)
- QXmppDiscoveryManager: Default to
phonetype on mobile platforms (#168, @lnjX)
- CMake based build system (#131, @olesalscheider)
- Add BUILD_SHARED option (#160, @LightZam)
- Use C++11 compiler standard (@jlaine)
- Do not ignore SSL errors by default (#113), if you need to deal with broken SSL configurations, set QXmppConfiguration::ignoreSslErrors to true. (@jlaine)
- Disable tests that require QXMPP_AUTOTEST_EXPORT (fixes #149) (@jlaine)
- Fix QXmppSslServer::incomingConnection signature (#131, @olesalscheider)
- Add missed variables initialization in constructors of few classes (#122, @tehnick)
- travis: Test builds with clang (@0xd34df00d)
- travis: Switch to Ubuntu Xenial (#151, @tehnick)
- tests: Generate coverage repot (@jlaine)
- Build examples by default
- Drop Qt4 support (#131, @olesalscheider)
- Remove example_4 / GuiClient (#131, @olesalscheider)
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)
- XEP-0033: Extended Stanza Addressing
Remove deprecated APIs:
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)
- 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)
- XEP-0071: XHTML-IM
Improve SASL code test coverage.
Improve QXmppMessage test coverage.
Add a "reason" argument to QXmppRosterManager's subscription methods.
- add availableStatusType(), priority(), statusText()
- deprecate QXmppPresence::Status
Remove deprecated QXmppRosterManager::removeRosterEntry().
QXmpp 0.6.1 (Jul 20, 2012)
- 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().
- Issue 111: QXmppPresence::Status::getTypeStr() gives warning if type is invisible
- Issue 126: Modularize SASL mechanisms
QXmpp 0.5.0 (Jul 18, 2012)
- 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.
- 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)
- 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:
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".
- 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)
- XEP-0153: vCard-Based Avatars
- XEP-0202: Entity Time
- 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
- example_9_vCard: vCard handling example
- GuiClient: Graphical chat client, test bench for QXmpp functionalities
- 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)
- 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
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
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