Releases: qxmpp-project/qxmpp
QXmpp 1.3.1
The most important change of this release is the fix of CVE-2017-5603. QXmpp is
not vulnerable to roster push attacks (CVE-2016-9928).
Fixes:
- QXmppRosterIq: Set subscriptionType to NotSet correctly (#293, @melvo)
- Fix
QXMPP_EXPORT
define when linking statically (#299, @leobasilio) - QXmppMessageReceiptManager: Ignore all error messages (#300, @lnjX)
- QXmppCarbonManager: Fix CVE-2017-5603 (missing sender check) (#304, @lnjX)
QXmpp 1.3.0
QXmpp complys with the XMPP Compliance Suites 2020 (XEP-0423) for client development in the Core, IM and Advanced Mobile suites now. For this prupose it has been updated to RFC6120 and RFC6121. ABI compatibility was kept with this release (apart from classes marked as 'NOT FINALIZED').
New features:
- Port QXmppCallManager to GStreamer (#207, @olesalscheider)
- Add XEP-0245: The /me Command (#276, @lnjX)
- Add XEP-0357: Push Notifications: Enable/disable IQ (#271, @jbbgameich, @ZatroxDE)
- Add XEP-0359: Unique and Stable Stanza IDs (#256, @lnjX)
- Add XEP-0428: Fallback Indication (#253, @lnjX)
- Update from RFC3920 to RFC6120:
- Deprecate PaymentRequired stanza error condition as it was not adopted in RFC6120 (#277, @lnjX)
- Add PolicyViolation stanza error condition added in RFC6120 (#279, @lnjX)
- Add redirection URI from RFC6120 for Gone and Redirect conditions (#280, @lnjX)
- Add 'by' attribute to QXmppStanza::Error from RFC6120 (#283, @lnjX)
- Update from RFC3921 to RFC6121:
- Use QUuid by default to generate unique stanza IDs (#255, @lnjX)
- Add roster extension for MIX-PAM (XEP-0405) (#175, @lnjX)
- Update MAM to v0.6 (including namespace bump to
urn:xmpp:mam:2
) (#254, #257, @lnjX) - Add not-authorized stream error condition in QXmppOutgoingClient (#191, @henry61024)
- Add missing static service discovery features for supported message extensions (#287, @lnjX)
- Add utility constructor to QXmppDataForm and QXmppDataForm::Field to make creation of forms easier (#273, @lnjX)
Misc:
- Make QXmpp work with projects using
QT_NO_KEYWORDS
(#258, @tomcucinotta) - Add hyperlinks to XEP references in the documentation (@lnjX)
- Move from Travis-CI to GitHub Actions (#265, @jlaine)
- Replace deprecated
qsrand()
andqrand()
by QRandomGenerator (#267, @melvo) - Add tests for QXmppStanza::Error parsing (#279, @lnjX)
Deprecations:
QXmppStanza::Error::Condition::PaymentRequired
: The error condition was unused and not adopted in RFC6120
QXmpp 1.2.1
This release contains some bug fixes that have been found in the last two
months. Also, the coverage has slightly improved due to new unit tests for the
bug fixes.
Fixes:
- QXmppRegistrationManager: Fix failed and succeeded signals are both emitted on success (#260, @melvo)
- QXmppMessageReceiptManager: Fix receipts are sent on error messages (#269, @TheBluestBird)
- QXmppVCardManager: Fix clientVCardReceived() not emitted when IQ is from the bare JID of the user (#281, @melvo, @lnjX)
- QXmppRosterManager: Fix 'ask' attribute is included when renaming item (#262, @melvo, @lnjX)
- QXmppRosterIq: Add missing implementation of the copy constructor (@lnjX)
QXmpp 1.2.0
Changelog
QXmpp now requires Qt 5.7 or later. Unfortunately ABI compatibility was not
kept this release again. Code coverage has been improved from 68.93% to 69.55%.
New features:
- Implement XEP-0077: In-band registration:
- Implement XEP-0231: Bits of Binary (#230, @lnjX)
- Add
QXmppClient::indexOfExtension<T>()
(#241, @lnjX) - Add QXmppStartTlsPacket to replace fixed XML data (#236, @lnjX)
- Move TLS code to private QXmppTlsManager (#236, @lnjX)
- Add private QXmppInternalClientExtensions to access private part of the
client (#243, @lnjX) - Add utility methods to QXmppRegisterIq to create common requests (#247, @lnjX)
Fixes:
- QXmppMucManager: Make it possible to handle stanzas not handled by the
manager (#226, @kollix) - Only send Client State Indication (CSI) states when connected (#232, @lnjX)
- Fix no documentation is generated for QXmppStanza::Error and
QXmppStreamFeatures (@lnjX) - Fix some doxygen warnings and undocumented Q_PROPERTYs (@lnjX)
Misc:
- Replace deprecated Q_FOREACH (#210, @lnjX)
- Replace deprecated Q_ENUMS with Q_ENUM (#227, @lnjX)
- Replace deprecated signal/slots syntax (#237, @jbbgameich)
- Switch to Ubuntu Bionic for Travis-CI builds (#210, @lnjX)
- Use QSharedDataPointers for QXmppRegisterIq, QXmppPubSubIq,
QXmppDiscoveryIq, QXmppMam{Query,Result}Iq, QXmppStreamFeatures
(#230, #235, #252, @lnjX) - Refactor QXmppPubSubIq and add missing tests (#235, @lnjX)
- Refactor QXmppPresence and add missing tests (#231, @lnjX)
- Replace manual xmlns writing by writeDefaultNamespace() (#244, @lnjX)
- Use QT_VERSION_CHECK to generate QXMPP_VERSION (#238, @lnjX)
- Add clang-format file (#239, @0xd34df00d)
QXmpp 1.1.0
All new classes and methods in this release are marked in the documentation
with since QXmpp 1.1.
New features:
- Add support for SCRAM-SHA-1 and SCRAM-SHA-256 (#183, @jlaine)
- Order SASL mechanisms to prefer the most secure (#187, @jlaine)
- Add XEP-0334: Message Processing Hints (v0.3.0) (#212, @lnjX, @jaragont, @sam-truscott)
- Add XEP-0363: HTTP File Upload (v0.9.0) (#188, @lnjX)
- Add XEP-0367: Message Attaching (v0.3.0) (#196, @lnjX)
- Add XEP-0369: Mediated Information eXchange (MIX) (v0.14.2) (partially):
- Add XEP-0380: Explicit Message Encryption (v0.3.0) (#199, @lnjX)
- Add XEP-0382: Spoiler messages (v0.2.0) (#195, @lnjX)
Fixes:
- Do not accept receipts from other resources of the used account (#192, lnjX)
- cmake: Set minimum version before creating project() and bump to 3.3 (#205, @jbbgameich)
Deprecations:
- Deprecate QXmppClient extension getters (#214, @lnjX):
QXmppClient::rosterManager()
: UseQXmppClient::findExtension<QXmppRosterManager>()
insteadQXmppClient::vCardManager()
: UseQXmppClient::findExtension<QXmppVCardManager>()
insteadQXmppClient::versionManager()
: UseQXmppClient::findExtension<QXmppVersionManager>()
instead
- Refactor data form media element, deprecate
QXmppDataForm::Media
(#222, @lnjX):QXmppDataForm::Media
: Use a list of the newQXmppDataForm::MediaSource
in combination with aQSize
QXmppDataForm::Field::media()
/QXmppDataForm::Field::setMedia()
: UseQXmppDataForm::Field::mediaSources()
andQXmppDataForm::Field::mediaSize()
Misc:
- Replace deprecated
qSort()
bystd::sort()
(#206, @jbbgameich) - Do not use deprecated
QSslSocket::setCaCertificates()
(#206, @jbbgameich) - Modernize code by using
nullptr
,override
, etc. (#204, @jbbgameich) - Move attributes into private d-pointer for future ABI compatibility:
- Use raw literals, range based loops and
auto
(#224, @jbbgameich)
QXmpp 1.0.1
QXmpp 1.0.0
New features:
- 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
phone
type on mobile platforms
(#168, @lnjX) - CMake based build system (#131, @olesalscheider)
- Add BUILD_SHARED option (#160, @LightZam)
- Use C++11 compiler standard (@jlaine)
Fixes:
- 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)
Tests:
- travis: Test builds with clang (@0xd34df00d)
- travis: Switch to Ubuntu Xenial (#151, @tehnick)
- tests: Generate coverage repot (@jlaine)
- Build examples by default
Deprecations:
- Drop Qt4 support (#131, @olesalscheider)
- Remove example_4 / GuiClient (#131, @olesalscheider)
QXmpp 0.9.3
- Add QXmppIceConnection::gatheringState property.
- Improve QXmppTransferManager::sendFile's handling of QIODevice ownership.
- Fix QXmppTransferManagerFix convering filename to a QUrl.
QXmpp 0.9.2
- Fix build error for debug builds.
- Allow QXmppJingleIq to have multiple contents.
QXmpp 0.9.1
- Fix build error when VPX support is enabled (issue 71).