nbxmpp 7.3.0 (30 Jun 2026)

  New

  * Add helper method parse_account_invite()

  Improvements

  * OpenPGP: Don't add fallback body text

  Bug Fixes

  * EME: Make name always a string

nbxmpp 7.2.0 (19 Apr 2026)

  New

  * Implement XEP-445 Pre-Auth IBR

  Improvements

  * OpenPGP: Make sure fingerprints are always upper case
  * VCard4: Request access model before publishing
  * Presence: Add preauth attribute
  * Protocol: Add feature method for pre approval

nbxmpp 7.1.0 (22 Feb 2026)

  Improvements

  * SASL: Improve logging for GSSAPI errors
  * Fallback: Be more strict in accepting ranges
  * Add Node.topretty()

  Change

  * OGP: Accept only data uris as image

nbxmpp 7.0.0 (13 Dec 2025)

  Change

  * Remove HTTP Requests API
  * Client: Add set_host_meta_data()

nbxmpp 6.4.0 (01 Nov 2025)

  New

  * Pubsub: Add subscribe/unsubscribe methods
  * VCard4: Parse notification events
  * VCard4: Add get_parameter() method for easier access
  * Support for open graph data embedded in message
  * Add support for reaction restrictions

  Improvements

  * Add pronouns field to VCard4
  * Support for hats "hue" attribute

  Bug Fixes

  * Connection: Allow DNS requests for "direct" proxies

nbxmpp 6.3.1 (25 Sep 2025)

  Improvements

  * Log details about invalid MUC affiliation items
  * Log details about invalid roster items

  Bug Fixes

  * Leave text condition in place in CommonError.get_text()
  * Do not treat thread subject as MUC subject
  * Websocket: Disconnect signals on finalize

nbxmpp 6.3.0 (07 Aug 2025)

  New

  * Allow to set stream language

  Improvements

  * Better cache invalid xml regex
  * HTTP: Log warning on cancel instead of raising exception

  Bug Fixes

  * SASL: Apply SASLPrep for PLAIN and SCRAM
  * VCard4: Preserve unsupported elements

nbxmpp 6.2.0 (19 Apr 2025)

  Change

  * Retraction: Rewrite parsing code

  Bug Fixes

  * Dataforms: Fix init list fields with no options (#168)

nbxmpp 6.1.1 (13 Apr 2025)

  Improvements

  * MUC: Return message id after sending

  Bug Fixes

  * VoiceRequests: Don’t parse errors
  * MDS: Make by attribute configurable

nbxmpp 6.1.0 (01 Apr 2025)

  New

  * MDS: Allow setting MDS assist on message

  Improvements

  * SASL: Improve logging

  Change

  * MDS: Simplify set_mds()

nbxmpp 6.0.2 (11 Mar 2025)

  Improvements

  * Retraction: Parse id attribute for tombstones

  Bug Fixes

  * OpenPGP: Depreacted pubkey date attribute

nbxmpp 6.0.1 (03 Mar 2025)

  Improvements

  * DiscoInfo: Add more MUC config fields

  Bug Fixes

  * DiscoInfo: Return correct values in get_field_value()
  * JID: Raise error on IRIs with auth component

nbxmpp 6.0.0 (24 Feb 2025)

  Change

  * JID: Remove default arguments

  Bug Fixes

  * Moderation: Parse moderation messages correctly (#164)

nbxmpp 5.0.4 (19 Sep 2024)

  Bug Fixes

  * Bookmarks: Store password
  * Hats: Make struct compareable
  * Pubsub: Don’t process pubsub events from full jids (#159)

nbxmpp 5.0.3 (23 Jul 2024)

  Bug Fixes

  * Delay: Consider MUC and own server (#156)

nbxmpp 5.0.2 (07 Jul 2024)

  Bug Fixes

  * Delay: Better discover server delays (#156)

nbxmpp 5.0.1 (20 Jun 2024)

  Improvements

  * SecurityLabels: Add restrict attribute

nbxmpp 5.0.0 (04 Jun 2024)

  New

  * Update XEP-0425 to latest version
  * Parse XEP-0172 nickname in MUC presences
  * Add support for multi language bodies and fallbacks
  * XEP-0490: Message Displayed Synchronization
  * XEP-0317 (Hats)
  * MUC: Process muc user data for all message types
  * XEP-0424 (Message Retraction)
  * Add Jingle Feedback namespace
  * Add XEP-0215 namespace

  Improvements

  * Protocol: Improve error message when parsing JIDs
  * Add new moderation namespace disco info property
  * Improve support for full stanza encryption
  * Add EncryptionData struct
  * Replies: Return JID instead of string
  * Protocol: Remove deprecated 'code' attribute usage in Errors

  Bug Fixes

  * Message: Fix false positive muc pm detection
  * IBB: Fix parsing open stanza

nbxmpp 4.5.4 (12 Feb 2024)

  New

  * Add XEP-0353 namespace

  Bug Fixes

  * Correctly discover subject change (#154)
  * DateTime: Be more strict with parsing

nbxmpp 4.5.3 (21 Nov 2023)

  New

  * Websocket: Make TLS properties available

  Bug Fixes

  * SASL2: Make login test mode work
  * Websocket: Set user agent (#132)

nbxmpp 4.5.2 (06 Nov 2023)

  Bug Fixes

  * PubSub: Narrow accepted message types

nbxmpp 4.5.1 (06 Nov 2023)

  Bug Fixes

  * SASL: Add back lost ANONYMOUS auth mechanism

nbxmpp 4.5.0 (24 Oct 2023)

  New

  * Support XEP-0440 SASL Channel-Binding Type Capability

  Change

  * Raise GLib version

nbxmpp 4.4.0 (22 Oct 2023)

  New

  * Add DiscoInfo.has_identity()
  * JID: Add JID.from_iri()

  Improvements

  * JID: Improve compliance when generating IRIs

  Change

  * Chatstates: Accept chatstates with delay tag

nbxmpp 4.3.3 (28 Aug 2023)

  Improvements

  * JID: Allow comparisons against any object
  * DiscoInfo: Improve discovery if subject is allowed to be modified

  Bug Fixes

  * Don’t expect localpart for bare JIDs

nbxmpp 4.3.2 (04 Jul 2023)

  New

  * SecurityLabels: Add get_label_hash()
  * JID: Add sqlite3 adapter magic method
  * MessageProperties: Add origin_id attribute
  * MessageProperties: Add remote_jid attribute

  Improvements

  * Client: Return only copy of ignored errors
  * CommonError: Add 'by' attribute
  * Moderation: Parse more data

  Bug Fixes

  * HTTP: Add set_accept_certificate()

nbxmpp 4.3.1 (28 May 2023)

  Bug Fixes

  * HTTP: Abort correctly on content overflow
  * Websocket: Always set peer certificate

nbxmpp 4.3.0 (21 May 2023)

  New

  * Add option to force http1
  * Add method to generate XMPP IRIs

  Improvements

  * Lower log level for missing GSSAPI dependency

  Change

  * OMEMO: Add device id and namespace to OMEMOBundle

  Bug Fixes

  * Don’t delete session object in cleanup()
  * HTTP: Don’t accept content encoding (#143)

nbxmpp 4.2.2 (25 Mar 2023)

  Bug Fixes

  * HTTP: Reset attributes on redirect (#141)

nbxmpp 4.2.1 (18 Mar 2023)

  Bug Fixes

  * HTTP: Make sure streams are closed only once (#139)

nbxmpp 4.2.0 (05 Feb 2023)

  New

  * Add support for XEP-0461: Message Replies

  Improvements

  * Add SASLprep profile

  Change

  * Require PyGObject 3.42.0

nbxmpp 4.1.0 (24 Jan 2023)

  Change

  * Port package to pyproject.toml

  Bug Fixes

  * Handle race condition when cancelling request (#136)

nbxmpp 4.0.1 (10 Jan 2023)

  Bug Fixes

  * HTTP: Parse uri with correct flags

nbxmpp 4.0.0 (06 Jan 2023)

  New

  * Add message reactions (XEP-0444) support
  * Add HTTP module

  Change

  * Raise required python version to 3.10
  * Remove example client
  * Port to libsoup3
  * XEP-0392: Update to 0.8.0

nbxmpp 3.2.5 (26 Oct 2022)

  New

  * Add support for XEP-0421

  Bug Fixes

  * MUC: Check correctly for muc subject
  * Client: Don’t override modified certification errors

nbxmpp 3.2.4 (05 Oct 2022)

  Improvements

  * Tasks: Track timeouts within the task

  Bug Fixes

  * MUC: Relax definition of MUC config change

nbxmpp 3.2.3 (28 Sep 2022)

  Bug Fixes

  * TCP: Improve detection of broken connection

nbxmpp 3.2.2 (13 Sep 2022)

  New

  * Expose TLS version and ciphersuite
  * Add stringprep implementation

  Change

  * Add packaging as dependency
  * Use stringprep instead of precis for JID validation

  Bug Fixes

  * Add missing __init__.py to examples

  Notes

  * You can set the env variable NBXMPP_USE_PRECIS to revert back
    to the old behavior.

nbxmpp 3.2.1 (29 Aug 2022)

  Bug Fixes

  * Prepare domain names with UTS46

nbxmpp 3.2.0 (28 Aug 2022)

  New

  * Add support for Extensible SASL Profile (XEP-0388)

  Bug Fixes

  * Set timeout for host-meta http query (#130)

nbxmpp 3.1.1 (27 Jul 2022)

  Improvements

  * Add more datetime test cases

  Performance

  * Use cache when calling JID.new_as_bare()

  Bug Fixes

  * Allow handlers to connect to presence type available

nbxmpp 3.1.0 (28 May 2022)

  New
 
  * Examples: Allow to connect with different modes

  Bug Fixes
 
  * Client: Disconnect after stream restart in Login mode

nbxmpp 3.0.2 (18 May 2022)
 
  Bug Fixes

  * Roster: Raise exception if a full jid is found
  * AdHoc: Don’t raise on empty nodes
  * Roster: Don’t fail when no roster attribute is found
  * #126 Remove redundant wheel dependency

nbxmpp 3.0.1 (09 May 2022)

  Bugfix

  * Fix non-installable release

nbxmpp 3.0.0 (09 May 2022)

  New

  * Add Roster module
  * Add Last Activity module
  * Add EntityTime module
  * Bookmarks: Add extensions support
  * Add Message Moderation
  * Implement SCRAM-SHA-512

  Bugfixes

  * AdHoc: Improve XEP-0050 Compliance
  * Correctly handle RSM count request
  * Correction: Ignore messages where message id == replace id
  * Blocking: Don’t abort processing after parsing unblocks
  * Handle multiple stanza-id elements

  Others

  * Many breaking changes to methods and structs

nbxmpp 2.0.6 (14 March 2022)

  Bugfixes

  * Don’t fail on invalid host meta file

nbxmpp 2.0.5 (13 March 2022)

  Bugfixes

  * Fix bookmarks compat namespace
  * Resolve websocket uri only via https

nbxmpp 2.0.4 (09 October 2021)

  Bugfixes

  * Ignore messages with incorrect id
  * AdHoc: Make parsing AdHoc commands more compliant

nbxmpp 2.0.3 (24 July 2021)

  Bugfixes

  * Correctly handle RSM count request
  * Improve XEP-0050 Compliance
  * GSSAPI: Catch OSError

nbxmpp 2.0.2 (18 February 2021)

  Bugfixes

  * Add get_text() for Error Base class
  * Client: Remove GSSAPI from default mechanisms
  * Presence: Fix is_nickname_changed check
  * UserAvatar: Add default argument

nbxmpp 2.0.1 (07 February 2021)

  New

  * Properties: is_from_us() Method

  Bugfixes

  * Fix handling invalid websocket uris

nbxmpp 2.0.0 (29 December 2020)

  New

  * New JID object
  * Add JID Escaping (XEP-0106) support
  * Add VCard4 (XEP-0292) support
  * Make module calls generator based
  * Add GSSAPI support (XEP-0233)
  * Simplify and harmonize module API

nbxmpp 1.0.2 (14 August 2020)

  New

  * Client: Expose more information about the connection
  * Client: set_ignored_tls_errors() allow to pass None
  * Add method to disable stream management

  Bugfixes

  * TCP: Set input/output closed on finalize()
  * TCP: Catch Runtime error
  * Perform UTS46 mapping on domain names

nbxmpp 1.0.1 (07 July 2020)

  New

  * Add XEP-0377 support
  * MUC: Return message id when using inivite()

  Bugfixes

  * OMEMO: Correctly parse prekey value
  * Client: Determine protocol and type correctly if a custom host is used
  * Smacks: Don't fail on saving error replies

nbxmpp 1.0.0 (18 June 2020)

  * Library rewritten in most parts
  * Replace BOSH with Websocket
  * Add new example client
  * Many other improvements
 
  Known Issues:
 
  * Currently no Client Cert support

nbxmpp 0.6.10 (19 February 2019)

  * Add support for domain based name in features for GSSAPI
  * Fix usage of BOSH
  * Fix Jingle hash namespace

nbxmpp 0.6.9 (10 January 2019)

  * Always bind after SM failed Fixes #64
  * Dont try and guess system language

nbxmpp 0.6.8 (07 October 2018)

  * Reset SM counter after receiving <enabled>
  * Issue event when SM resume fails

nbxmpp 0.6.7 (19 August 2018)

  * Raise default TLS version to 1.2
  * Remove DIGEST-MD5 from the default auth mechs
  * Add STANZA RECEIVED Event (Some servers send more than one stanza in one packet)
  * Add alternative locations to load TLS certs from

nbxmpp 0.6.6 (20 May 2018)

  * Record all SSL errors instead of only the first
  * Pass arguments to plugin/plugout methods
  * Allow the Roster to be initalized without requesting it from the server

nbxmpp 0.6.5 (30 April 2018)

  * Fix BOSH usage (don't set ALPN)
  * Better handling of certificate files

nbxmpp 0.6.4 (17 March 2018)

  * Fix SOCKS5 usage

nbxmpp 0.6.3 (26 January 2018)

  * Add ALPN and SNI support for when using DirectTLS
  * Bugfixes

nbxmpp 0.6.2 (27 December 2017)

  * Correctly load client certs
  * Warn on any error in the certificate chain
  * Fixed a traceback loop

nbxmpp 0.6.1 (29 November 2017)

  * Add new getStanzaIDAttrs method
  * Fix BOSH connexion
  * stop using PyOpenSSL for random generator

nbxmpp 0.6.0 (25 September 2017)

  * Add new getOriginID/SetOriginID method for Messages
  * Add new getJid() method for Protocol
  * getTagAttr() accepts now a namespace argument
  * Add new `protocol` argument for getTag()
  * Add new XEP Namespaces

nbxmpp 0.5.6 (03 June 2017)

  * Support XEP-0198 Version 1.5.2
  * Add new XEP Namespaces

nbxmpp 0.5.5 (30 January 2017)

  * Some cleanup
  * Add some namespaces

nbxmpp 0.5.4 (04 September 2016)

  * Fix SCRAM authentication
  * Fix BOSH connection with UTF-8 messages
  * Fix smacks implementation
  * Use uuid in stanza ids

nbxmpp 0.5.3 (13 July 2015)

  * Fix receiving long utf8 strings under py3
  * Fix issue with pyopenssl 0.15.1
  * Fix decoding issues

nbxmpp 0.5.2 (27 December 2014)

  * Fix BOSH HTTP requests
  * Fix handling of binary SASL data for mechanism GSSAPI
  * Update MAM namespace

nbxmpp 0.5.1 (04 October 2014)

  * Fix printing network errors in a non-utf-8 console

nbxmpp 0.5 (02 July 2014)

  * support both python2 and python3
  * Fix storing server certificate when there is no error

nbxmpp 0.4 (15 March 2014)

  * Ability to configure TLS protocol version
  * Add support for SCRAM-SHA-1-PLUS
  * Security improvements

nbxmpp 0.3 (23 December 2013)

  * Improve security level
  * Ability to configure cipher list
  * Store only depth 0 SSL certificate

nbxmpp 0.2 (26 July 2013)

  * Add some namespace
  * do TLS handshake without blocking
  * store all SSL errors instead of only last one

nbxmpp 0.1 (05 August 2012)

  * Initial release
