Skip to content

Releases: qxmpp-project/qxmpp

QXmpp 1.9.0

17 Nov 10:39
v1.9.0
Compare
Choose a tag to compare
  • Implement XEP-0461: Message Replies parsing (@lnjX, #645)
  • Prevent unencrypted fallback markers are applied to encrypted body (@lnjX, #647)
  • Implement XEP-0283: Moved (@pasnox, #621)
  • AccountMigration: Implement restoring of joined MIX channels (@pasnox, #657)

QXmpp 1.8.3

29 Oct 15:59
v1.8.3
Compare
Choose a tag to compare
  • MamManager: Fix some unencrypted are not parsed when end-to-end-encryption is enabled (@lnjX, #662)

QXmpp 1.8.2

21 Oct 20:48
v1.8.2
Compare
Choose a tag to compare
  • StreamError: Fix parsing of stream error conditions and missing "invalid-id" condition (@lnjX)
  • Omemo: Fix windows/msvc build (@lnjX, #658)
  • Uri: Fix parsing login URI (@melvo, #653)

QXmpp 1.8.1

21 Aug 18:02
v1.8.1
Compare
Choose a tag to compare
  • Fix other DNS records are not tried if host does not exist (@lnjX)
  • Fix clang build (@lnjX)

QXmpp 1.8.0

30 Jul 20:11
v1.8.0
Compare
Choose a tag to compare
  • QXmpp now requires C++20
  • Fix connection to next SRV record if connection to first address fails (@lnjX, #644)
  • Implement XMPP over TLS ("direct TLS" instead of STARTTLS, XEP-0368) (@lnjX, #642)
    • Support of protocol/server name multiplexing, ALPN and SNI extensions
  • New Bind 2 support (XEP-0386) (@lnjX, #614)
    • Client and server support of resource binding through SASL2 + Bind2
    • Resource prefix can be configured in QXmppConfiguration
    • Setting of Client State Indication (CSI) initial state on connection
    • Enabling of Stream Management (through Bind 2) and stream resumption (through SASL 2)
    • Enabling of Message Carbons (through Bind 2)
  • Support FAST, token-based authentication (XEP-0484) (@lnjX, #630)
    • Offers single round trip authentication (but doesn't replace strong authentication methods
      like SCRAM+password)
    • FAST tokens (and other credentials) can be stored permanently via QXmppCredentials
    • Tokens are generated if a SASL 2 user agent is set and FAST is not disabled in the config
  • New QXmppUri for parsing XMPP URIs (XEP-0147) (@lnjX, #641)
  • New AccountMigrationManager for importing and exporting account data (@lnjX, @pasnox, #623)
  • Message: Parse all stanza IDs (XEP-0359) (@lnjX, #638)
  • CSI state is automatically restored across reconnects, also without Bind 2 or stream management (@lnjX, #622)
  • Use smaller stream management acks instead of ping IQs if possible (@lnjX, #625)
  • Moved STARTTLS handling into the core client again (was in client extension) (@lnjX, #627)
  • VCardManager: New task-based API (@lnjX, #623)

QXmpp 1.7.1

07 Jul 11:12
v1.7.1
Compare
Choose a tag to compare
  • OMEMO: Fix messages are dropped if decryption fails (@melvo, #634)
  • Fix build issue with MSVC: missing export of utility functions (@lnjX)

QXmpp 1.7.0

19 May 15:54
v1.7.0
Compare
Choose a tag to compare
  • Complete support of MIX groupchats and add new QXmppMixManager (@melvo, #589)
  • Support of new SASL 2 authentication from XEP-0388: Extensible SASL Profile (@lnjX, #607)
  • Update support of XEP-0428: Fallback Indication to v0.2 (@lnjX, #608)
  • Update support of XEP-0447: Stateless file sharing to v0.3.1 (@lnjX, #613)
  • ClientExtension: New onRegistered() and onUnregistered() virtual functions, called when the extension is added to or removed from a client. (@lnjX, #599)
  • Client: New error handling: New errorOccurred() signal with QXmppError based API (@lnjX)
  • New StreamError, AuthenticationError and BindError offering more details about connection errors (@lnjX)
  • The 'from' attribute of the <stream:stream> open is set if a JID is configured (@lnjX)
  • Security improvements in the internals of QXmppClient by terminating the connection when unexpected packets are received (@lnjX)

Breaking changes:

  • Drop support for RFC3920 servers requiring a <session/> IQ to be sent. (@lnjX)
    Feel free to open an issue if this is a problem to you.
  • PLAIN authentication is disabled by default, but can be enabled in QXmppConfiguration again. (@lnjX, #607)

QXmpp 1.6.1

16 May 18:12
v1.6.1
Compare
Choose a tag to compare

Fixes:

  • Fix handling of XMPP redirects (introduced in aaa6497) (@lnjX)
  • Fix compilation with Qt 6 + C++17 (not C++20) in OmemoData (@lnjX)
  • Fix OMEMO decryption of group chat messages (@melvo, #617)
  • Fix stream resumption (@lnjX)
    This has been an issue since the initial implementation of stream mangement. The xmlns was
    missing in the <resume/> element and the stream ID was not parsed in the <enabled/>
    element.

QXmpp 1.6.0

06 Feb 21:44
v1.6.0
Compare
Choose a tag to compare

QXmpp requires Qt 5.15 or 6.0+ now, the previous release was still compatible with Qt 5.9.

New features:

  • First QXmpp logo (#528, @raghu-kamath)
  • Implement XEP-0215: External Service Discovery (#542, @taiBsu)
  • Implement XEP-0353: Jingle Message Initiation (#570, @taiBsu)
  • Implement XEP-0482: Call Invites (#575, @taiBsu)
  • Implement XEP-0191: Blocking Command (#577, @lnjX)
  • Client: New constructor for creating without any extensions (@lnjX)

QXmpp 1.5.6

04 Feb 21:34
v1.5.6
Compare
Choose a tag to compare
  • Behaviour change: sendIq() automatically parses stanza errors (returned as QXmppError) (@lnjX)
  • CMake: "QXmpp" legacy cmake package is now only installed for Qt 5 builds (@lnjX)
  • Fix unit tests with Qt 6! (@lnjX)
  • EncryptedFileSharingProvider: Fix wrong cipher set in sent file share element (@lnjX)
  • Fix SCE parsing mode when parsing encrypted messages (@lnjX)
  • Fix file encryption with QCA issues (@lnjX)
  • Fix picking by strength of hashing algorithms (@lnjX)
  • Fix github ci (@lnjX)
  • Add unit tests for all file encryption ciphers (@lnjX)