Skip to content
slixmpp 1.6.0 release

New plugins:
===========

- XEP-0353: Jingle Message Initiation
- XEP-0359: Unique and stable stanza IDs
    - This was already partially implemented
- XEP-0369: MIX-Core
- XEP-0377: Spam reporting
- XEP-0403: MIX-Presence
- XEP-0404: MIX-Anon
- XEP-0405: MIX-PAM
- XEP-0421: Anonymous unique occupant identifiers for MUCs
    - Was already present as "protoxep_occupantid" in a different version
- XEP-0422: Message Fastening
- XEP-0424: Message Retraction
- XEP-0425: Message Moderation
- XEP-0428: Fallback Indication
- XEP-0437: Room Activity Indicators
- XEP-0439: Quick response
- XEP-0444: Message Reactions
    - Was already present as "protoxep_reactions" in a different version

Many of those extensions are **experimental** and the specification is
subject to change, which is to keep in mind when using them.

Note: A new dependency, "emoji" is required for XEP-0444, and has been added
to extras_require, where "aiohttp" (only required for XEP-0363) has been moved
too.

Fixes & Improvements:
=====================

- XEP-0045:
    - Split file into its own package, better structure, cleanup, stanza elements… (pep)
    - rewrote broken function as coroutines, more elements (mathieui)
- XEP-0047: Fix the max sequence number (mathieui)
- XEP-0115: Add missing "from" attribute to disco for components (aearil)
- XEP-0333: add missing feature to session (mathieui)
- XEP-0352: enable the feature only on clientxmpp (Link Mauve)
- XEP-0363: added missing callback on upload request (cnngimenez)
- First integration tests (mathieui)
- Cancel filters on disconnect (ehendrix23)
- English and Polish custom plugin tutorials (Hoacyn)
- Removal of unused things due to python3.7 (Link Mauve)
- Doc improvements with the addition of the plugins (mathieui)

Deprecation notice:
===================

When moving from sleekxmpp to slixmpp, many functions were kept in place but
instead returning a future (returned with iq.send()). Going forward, many of
those will instead be coroutines. This is necessary in order to provide better
return values (instead of leaving it up to the library user to fetch the elements
manually from stanzas. Most of the newly added XEPs work this way, and the previously
broken functions from XEP-0045 are now also coroutines.

It means calling for example ``self.xmpp.plugin['xep_0045'].set_role()`` without
awaiting on the result has **no effect**.

tl;dr: **await coroutines**

Thanks to all maintainers and contributors for this release!
============================================================