Skip to content

Releases: qxmpp-project/qxmpp

QXmpp 1.3.1

20 Jul 15:48
f4914c6
Compare
Choose a tag to compare

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

06 Apr 21:14
v1.3.0
39a8445
Compare
Choose a tag to compare

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:
    • Add pre-approved presence subscriptions (#285, @lnjX):
      • Add 'approved' attribute to QXmppRosterIq
      • Add stream feature for pre-approved presence subscriptions
    • Add stream feature for roster versioning (#286, @lnjX)
  • 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() and qrand() 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

31 Mar 23:22
v1.2.1
3ab1d34
Compare
Choose a tag to compare

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

10 Feb 19:35
v1.2.0
e32f3c6
Compare
Choose a tag to compare

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:
    • Add registration manager with full unit tests (#248, @lnjX)
    • Add registered and remove to the IQ (#240, @lnjX)
  • 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

01 Apr 10:56
v1.1.0
Compare
Choose a tag to compare

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 QXmppMixIq to manage/join channels (#174, @lnjX)
    • Add QXmppMessage and QXmppPresence extensions for MIX (#175, @lnjX)
    • Add channel info and participant PubSub/PEP items (#179, @lnjX)
  • 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(): Use QXmppClient::findExtension<QXmppRosterManager>() instead
    • QXmppClient::vCardManager(): Use QXmppClient::findExtension<QXmppVCardManager>() instead
    • QXmppClient::versionManager(): Use QXmppClient::findExtension<QXmppVersionManager>() instead
  • Refactor data form media element, deprecate QXmppDataForm::Media (#222, @lnjX):
    • QXmppDataForm::Media: Use a list of the new QXmppDataForm::MediaSource in combination with a QSize
    • QXmppDataForm::Field::media() / QXmppDataForm::Field::setMedia(): Use QXmppDataForm::Field::mediaSources() and QXmppDataForm::Field::mediaSize()

Misc:

  • Replace deprecated qSort() by std::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

01 Apr 10:57
4ef390c
Compare
Choose a tag to compare
  • Fix potential SEGFAULT on connection error (#216, @0xd34df00d)
  • Fix SO_VERSION to 1: ABI has changed since last minor release (#185, @tehnick)
  • Add CMake option for internal tests (BUILD_INTERNAL_TESTS) (#184, @jlaine)

QXmpp 1.0.0

01 Apr 10:57
v1.0.0
Compare
Choose a tag to compare

New features:

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:

QXmpp 0.9.3

01 Apr 10:57
Compare
Choose a tag to compare
  • Add QXmppIceConnection::gatheringState property.
  • Improve QXmppTransferManager::sendFile's handling of QIODevice ownership.
  • Fix QXmppTransferManagerFix convering filename to a QUrl.

QXmpp 0.9.2

01 Apr 10:58
Compare
Choose a tag to compare
  • Fix build error for debug builds.
  • Allow QXmppJingleIq to have multiple contents.

QXmpp 0.9.1

01 Apr 10:58
Compare
Choose a tag to compare
  • Fix build error when VPX support is enabled (issue 71).