-
Pl
chevron_right
Mathieu Pasquet: slixmpp v1.17.0
news.movim.eu / PlanetJabber • 21:45 • 2 minutes
Here is a new version for slixmpp, the python XMPP library.
This release has one major deprecation, two bug fixes, several new features as well as plenty of improvements under the hood.
Thanks to everyone involved!
Deprecations
Using BaseXMPP.__getitem__ , which usually translates to the xmpp["xep_XXXX"] pattern in the code, is now deprecated. The proper way is using the plugin attribute for the exact same effect: xmpp.plugin["xep_XXXX"] . This allows proper type checking of plugin usage.
The version in which this pattern will be removed is not set in stone yet, but it is recommended to use .plugin , which already works in previous slixmpp versions too.
Features
- Syndace, maintainer and author of many things OMEMO, among other responsibilities, has started work to provide the necessary foundations for Stanza Content Encryption ( XEP-0420 ).
- The HTTP Upload ( XEP-0363 ) plugin has been updated to the latest version, allowing to specify the purpose of the upload.
- The XEP-0300 (Use of Cryptographic Hash Functions in XMPP), XEP-0385 (Stateless Inline Media Sharing) and XEP-0447 (Stateless file sharing) plugins have been updated to be able to take a bytestream rather than a filename, for applications that cannot afford or do not need to go through the filesystem.
Docs
The docs have been given quite a bit of love in this new release:
- nicoco contributed a sphinx plugin to autogenerate the corresponding doc file for each plugin. This means that all plugins will appear in the documentation without needing manual actions.
- Syndace fixed build errors and warnings and added a new page on how to use the new facilities added for SCE.
- Some very rough concepts have been added to the "getting started with examples" page.
Fixes
- An important fix has been made to avoid tracebacks when the server does not properly filter JIDs given to a slixmpp components.
- PyO3 has been updated to 0.29
Internal improvements
- Most or all classes exposed as plugins should now be listed properly in the __all__ array of their respective modules. This should silence linter warnings for users of the library.
- Plenty of typing improvements all over the place, some of which were caught thanks to the above change.
- The testing code now standardizes the display of stanza mismatches when encountering errors, which will make it easier to read and compare.