Dev Communiqué for January 2022
Published on January 31, 2022 by Sam Whited

Welcome to the first monthly update for 2022!

This month was mostly focused on in-band bytestreams support!

But first, the monthly stats:
  • 23 commits to mellium.im/xmpp from 2 contributors
  • 0 new contributors :(
  • 0 commits to Communiqué
  • 1 contribution by an anonymous donor

In-Band Bytestreams

As mentioned in the highlights, the main change this month was the addition of the ibb package. IBB isn't very useful by itself, but this gave us valuable experience implementing streaming and data transfer protocols and can be used as a fallback for a number of other specs including Jingle File Transfer in the future. There are still a handful of open issues before this can be used to implement anything useful, but the main functionality is implemented and can be tried out today.

integration/aioxmpp

Aside from IBB support and the usual collection of bug fixes and new tests, the other major feature (albeit an internal one that may not be of interest to users) is the addition of a test harness for running integration tests against aioxmpp. The aioxmpp library is written in Python and supports a large number of features that overlap with Mellium. Testing against it will give us more confidence that when we write a client-facing feature it will actually work with other implementations. Previously our only client integration tests were run against mcabber, which is unmaintained and doesn't support many features we'd like to test. The new integration/aioxmpp package will let us add integration tests to packages that previously couldn't be tested and hopefully will uncover any bugs that might be lurking in either Mellium or aioxmpp.

Contributions

Finally, a shout out to our one anonymous donor! As this is our first external contribution, we don't have a process in place or any goals for its use yet. Co-op members (or those who want to become members!) can reach out on our chat room if you have any ideas. The money could be used to pay contributors, put towards the fundraising for one of our larger projects, or used to purchase infrastructure. Your thoughts would be very welcome!