Dev Communiqué for August 2022
Published on August 31, 2022 by Sam Whited
Welcome back to the monthly Mellium developer update! This month the major news is the (already announced) release of v0.21.3! However, there are also a few smaller changes that are worth mentioning. But first, a few stats:
- 28 commits to mellium.im/xmpp from 2 contributors
- 1 commit to Communiqué
- 1 new contributor! Welcome sxvghd!
- $0.00 in donations towards sustaining Mellium development
Last month we mentioned adding channel binding support to mellium.im/sasl, and this month support landed in the main xmpp library and (by extension) in Communiqué! This completes a years long piece of work that started with writing RFC 9266 so that we could re-enable channel binding for this project!
As mentioned in the release announcement, we also added support for HTTP Upload based file sharing! This has been tested against Prosody and a future release will also include server-side support.
In addition, we spent a great deal of time working on a more internal change: support for integration testing against the Jackal XMPP server. Though support for Jackal is currently buggy and incomplete, having it helps us feel secure that Mellium will work across many implementation specific quirks. In addition to the Jackal support, various environment variables were added to configure integration tests.
Thanks to a new contributor, sxvghd, we also added support for sending roster sets and deletes to entities other than the server! This allows us to support some types of privileged entity that can control the roster such as gateways.
On a more minor note, the ability for stream features to update the JID was added. Previously the bind features were doing this using internal session details that would not be available to users outside of the mellium.im/xmpp package, making it impossible to implement a custom version of resource binding (such as bind 2.0) outside of the xmpp package without wrapping the existing bind implementation and adding a lot of complexity. The new UpdateAddr method fixes this and clears the way for work on bind 2.0!
Finally, we put out a call for feedback this month. On a personal note, I have been struggling to decide where to direct Mellium efforts. Communiqué has gone largely ignored and has started to bit-rot while the XMPP library has been receiving mostly internal changes that users won't always care about. I'd love to get feedback from users on how they use Mellium, what they think the biggest needs of the ecosystem are right now, and what features or projects they'd like to see prioritized. If you'd like to provide feedback, please reach out in our chat room. Thank you, and see you next month!
Finally, we put out a call for feedback this month. On a personal note, I have been struggling to decide where to direct Mellium efforts. Communiqué has gone largely ignored and has started to bit-rot while the XMPP library has been receiving mostly internal changes that users won't always care about. I'd love to get feedback from users on how they use Mellium, what they think the biggest needs of the ecosystem are right now, and what features or projects they'd like to see prioritized. If you'd like to provide feedback, please reach out in our chat room. Thank you, and see you next month!