In the last month I’ve continued working on go-imap v2. I’ve written the
server side, implemented an in-memory server backend, and spent quite a bit of
time fixing issues reported by imaptest. I only have a handful of test
failures, most of which due to
\Recent being unimplemented on purpose because
it’s been removed from the new IMAP4rev2 RFC. The end result is a much more
correct and reliable server implementation compared to v1. I’ve pushed some
incremental improvements for the client side as well, fixing compatibility
issues with servers in the wild and adding a few more extensions. Next, I’d
like to explore server-side command pipelining and fix the remaining issues
related to unilateral updates.
In other news, I’ve (finally!) released new versions of soju and goguma. soju v0.6.0 adds a database message store, a new sojuctl utility, external authentication support, and many more improvements. goguma v0.5.0 adds image previews, UnifiedPush support, performance improvements, and new IRCv3 extensions. Since the goguma release I’ve also implemented previews for Web pages.
While we’re on the topic of new releases, there is one more piece of software which got its version bumped this month: hut v0.3.0 adds pagination, improved Web hooks support, a few new sub-commands and other quality-of-life improvements. Thanks a lot to Thorben Günther for their numerous contributions!
The NPotM is yojo. I’ve already
written two tools to integrate builds.sr.ht with other code forges, so here’s a
third one focused on Forgejo/Gitea. It’s pretty similar to hottub, a public
instance is available for Codeberg integration. It
doesn’t support pull requests yet, patches welcome! While working on yojo I got
once again annoyed by
golang.org/x/oauth2 so I started working on a simpler
alternative creatively called go-oauth2.
Last but not least, after days of battling with the Pixman API, I’ve managed to finish up my new renderer API for wlroots. I’m excited about it because the next step is to lay down the first bricks of the color management infrastructure. My plan is to work on basic support for per-output ICC profiles, then go from there. I’ll be participating in Red Hat’s HDR hackfest next week, I hope the discussions with the rest of the stakeholders (compositor and driver developers) can help us move this forward!
That’s all for April, see you next month!