~emersion/emersion.fr

15c50de67d97b3d96afe074f85b1e1443147d3be — Simon Ser 1 year, 7 months ago e029630
Add status update 52
1 files changed, 64 insertions(+), 0 deletions(-)

A content/blog/2023-04-17-status-update-52.md
A content/blog/2023-04-17-status-update-52.md => content/blog/2023-04-17-status-update-52.md +64 -0
@@ 0,0 1,64 @@
+++
date = "2023-04-17T00:00:00+02:00"
title = "Status update, April 2023"
slug = "status-update-52"
lang = "en"
tags = ["status update"]
+++

Hi!

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 <abbr title="New Project of the Month">NPotM</abbr> 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][yojo 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!

[go-imap]: https://github.com/emersion/go-imap
[imaptest]: https://imapwiki.org/ImapTest
[soju v0.6.0]: https://git.sr.ht/~emersion/soju/refs/v0.6.0
[goguma v0.5.0]: https://git.sr.ht/~emersion/goguma/refs/v0.5.0
[hut v0.3.0]: https://git.sr.ht/~emersion/hut/refs/v0.3.0
[yojo]: https://sr.ht/~emersion/yojo/
[hottub]: https://git.sr.ht/~emersion/hottub
[yojo public instance]: https://yojo.emersion.fr
[Codeberg]: https://codeberg.org/
[annoyed]: https://octodon.social/@emersion/110153938634205864
[go-oauth2]: https://git.sr.ht/~emersion/go-oauth2
[new renderer API]: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/3631
[HDR hackfest]: https://wiki.gnome.org/Hackfests/ShellDisplayNext2023