πŸ”—Matrix Live S12E09 - The Matrix Spring Update 2026 from The Matrix Community Summit

πŸ”—Dept of Status of Matrix 🌑️

Amandine says

πŸ‡ΈπŸ‡ͺ Swedish news!

Exciting to see the Swedish government leveraging Matrix’s interop properly: two independent agencies, FΓΆrsΓ€kringskassan and Trafikverket, have showcased seamless communication whilst respectively using Element and Rocket.Chat within their network.

πŸ’‘ It all started when eSam asked Element, Rocket.Chat and Mattermost to figure out a way to interoperate a few years ago. Now all three have converged on Matrix and eSam β€œhas the intention to recommend the public sector to establish the Matrix as a common standard for secure and interoperable communication between authorities.” πŸ’ͺ

➑️ Read all about it here: https://www.esamverka.se/aktuellt/nyheter/nyheter/2026-05-22-federation-i-praktiken---nu-kopplas-myndigheters-chattar-ihop.html

πŸ”—Dept of Events and Talks πŸ—£οΈ

HarHarLinks reports

Hello from Matrix Community Summit 2026 in Berlin, where summer just started!

We are having lots of sessions, workshops, some talks and even staged discussion rounds, covering a lot of topics from tech to governance.

Whenever there is a stream or recording taking place, you will find it at https://c-tube.c-base.org/ peer tube! πŸ’ͺ If you want to follow along for some pictures, https://mastodon.matrix.org/@community_events might be the best place. :) All info including schedule about the summit is available through https://matrix-community.events/conferences/2026-summit.html.

If you missed coming here this year, the good news is we have 3 more days, including towel day celebrations on Monday! If that's still too spontaneous, book your travel now for pentecost next year today!

Group photo of the Matrix Community Summit 2026 in Berlin

πŸ”—Dept of Servers 🏒

nex (it/its) [starstruck] announces

πŸ”—Venator

As per my last post in TWIM about Hammerhead, the project has now been renamed to Venator! There isn't a deeper reasoning to why other than I couldn't find any domains for "Hammerhead" that were memorable, nor think of a binary name for the CLI tool that wasn't trash. Plus the Venator-class is one of my favourite ships in Star Wars, soooo.

With the rename, the documentation has been moved to https://timedout.codeberg.page/venator, and the demo instance has been moved from hammerhead.nexy7574.co.uk to demo.thefifthfleet.net. The room's primary alias is now #venator:nexy7574.co.uk but the old Hammerhead alias still works too in case you're like me and will continue to mix up the names.

In terms of code changes over the past month, some highlights:

  • The CLI venatorctl has commands for most management operations available over the API, so you don't need to remember how cURL works.
  • Server notices - and by extension welcome messages upon registration - were implemented.
  • "Admin notifications" were implemented (in-band notifications from the server pertaining to important events, like new registrations).
  • A bit of new spec support (invite blocking, user/room/event reporting, earlier server notices, v12 default room version, read markers+receipts+typing indicators).
  • Support for systemd's watchdog.
  • A bunch of performance improvements regarding state, memberships, and authentication.
  • Heaps of bugfixes as always.

πŸ”—"Matrix uses too much storage!"

But something I wanted to highlight in particular is that Venator encountered storage issues. This was kind of devastating to discover during some stress testing, as I was hoping it wouldn't become an issue at all, let alone this early on. However, I think it might be a good thing that it happened not long after the first alpha release - since there's no compatibility guarantees until 0.1.0's stable release, that means I can go mad with a new schema. And that I did.

I've already implemented conditional compression on some parts of the database: event bodies that are over 512 bytes in size and have a mid-range or better compression gain will be compressed with deflate+LZ77 before being stored in the database. This yielded storage savings on the event content table of about 50% with the same test scenario that made me aware of the storage problem. However, the bigger threat sill remains: Venator still stores full strings everywhere. As denoted in the issue linked, things like event IDs, room IDs, event sender user IDs, state keys, server names, etc. are all strings that are generally up to 255 chars each, and they are frequently repeated. Strings are big, they require N+1 bytes to store in postgres, and are generally slow too. This means that each event can possibly store a kilobyte of data that is just references to types and IDs. You know what doesn't require N+1 bytes to store? Integers.

After some brief research, I came up with a "short ID" model. Each repetitive identifier is mapped in a unique table to an integer, which itself is then referenced instead of the string. Event storage currently looks like this:

ColumnExample value
room_id"!vzDE5GnhIhncy8gpyeK4WFPVyeWvIh8JYeM3iqR8RV8"
event_id"$TySB5FQUdZ3TFcGE0nLUwzvmtcRRGNirkAwhzYhz2CQ"
type"m.reaction"
sender"@this-week-in:matrix.org"
state_keynull

But, with short IDs, this is then changed to (example):

ColumnExample value
room_nid1
event_nid2
type3
sender4
state_keynull

This yields absolutely insane space savings, as these references can be used outside of event-related tables too.

If you're particularly interested in this, I've got a short summary of how it works in the database's README, and I'll probably go into more detail as it evolves. You can also chat about it in the main room with me if you want. I won't go in too much detail in this TWIM post because this is a TWIM post, not an academic article (and there's no subway surfers on the side to keep your attention).


That's all I've got this time, progress is slow but steady while I'm working on more important projects and also finishing my semester. Keep an eye on the repository (perhaps leave a star :3) or at least the releases, and join the main room for live updates or getting help deploying your own instance.

Until next time 🐟

πŸ”—Tuwunel (website)

Enterprise successor to conduwuit, the high-performance and feature-rich fork of Conduit.

jason πŸŽ” reports

Tuwunel 1.7.0 federates MSC3771 and MSC3773 across storage, /sync v3, SSS v5, and the push gateway. Clients opting into unread_thread_notifications see per-thread counts; everyone else sees the merged total. Existing users may see a one-time bump in counts that previously sat at the main-context-only total.

One-time-key issuance now follows upload order per MSC4225, eliminating a class of stale-OTK failures on cross-server encrypted sessions; the legacy column drops on first read-write open and clients re-upload on /sync. Dehydrated devices persist fallback keys per MSC3814. BVollmerhaus's report on MSC2246 asynchronous media self-deadlocking is fixed.

Batmaev's extra OIDC parameters close the silent-relogin gap with Logto and Element X; the GitHub OIDC default issuer aligns with their discovery doc; Dynamic Client Registration is size-bounded (thanks CEbbinghaus); refresh tokens gained an optional hard-logout expiry. iwalkalone69's Synapse register endpoint lands as /_synapse/admin/v1/register.

lhjt landed a third sliding-sync fix in as many releases. digikar99's UIAA fallback report, Sommerwiesel's non-S3 storage regression, and nyakokitsu's TURN-creds warning all close; pedrompcaetano, NiklausHofer, winyadepla, dasha-uwu, and Lama-Thematique landed across docs, packaging, and CI.

Clients gain discovery surfaces for state_after, unsigned.membership, preview_url, and propagate_to on profile updates.

Operators upgrading should note that per-cache defaults were rebalanced from observed utilization (#123). Anyone running cache_capacity_modifier above the 1.0 default should consider stepping it down; taking no action may cost 25% to 50% more memory.

Full release notes: https://github.com/matrix-construct/tuwunel/blob/01f56a9d2a7d2a3cdf4d32609edb1963cd72410e/RELEASE.md


GitHub ✦ Releases ✦ DockerHub ✦ Playbook ✦ Containers ✦ Documentation πŸ•οΈ Tuwunel


πŸ”—Dept of Clients πŸ“±

πŸ”—Nexus (website)

Matrix client made with Flutter and a Gomuks backend.

QuadRadical (Ping) says

πŸ”—What's new?

Hello TWIM! You may have been wondering what has been happening with Nexus, as there hasn't been a TWIM entry in a while. What I've been doing is making a +3162 -2366 PR to remove a library that was quite extensively used in Nexus. The reason for this was that library, although helpful, wasn't very well written, and had a lot of bugs. So, I rewrote some Nexus code to not need it anymore! As an effect of this, we now have support for playing video and audio messages, a lot of UI improvements, and a lot of bug fixes!

We merged the PR yesterday, and whilst there are some bugs I need to fix, I'm happy to say it's working quite well. So now, back to preparing for an alpha release in the next few weeks. See you next TWIM!

πŸ”—Get involved!

If you want to help with development or simply keep up with new features, join our Matrix room at #nexus:federated.nexus or check out the Git repo at https://nexus.federated.nexus!

πŸ”—Fractal (website)

Matrix messaging app for GNOME written in Rust.

KΓ©vin Commaille announces

Here comes Fractal 14.rc. This release candidate comes with a fair amount of quality of life improvements:

  • The sidebar room filter has been improved: Enter goes to first room result, and there’s an empty state when no results match the term.
  • The performance of the room list has also been improved, it should be mostly noticeable for accounts that have joined a lot of rooms.
  • Informative events (Unable to decrypt, server notices…) are now styled differently to reflect their special nature and differentiate them from regular text messages that anyone can send.
  • Calls are rendered in the timeline and incoming calls trigger a notification. We still don’t support calls, but at least now you know when someone is calling and can open another client to answer.

As usual, this release includes other improvements, fixes and new translations thanks to all our contributors, and our upstream projects.

It is available to install via Flathub Beta, see the instructions in our README.

As the version implies, it should be mostly stable and we expect to only include minor improvements until the release of Fractal 14.

If you want to join the fun, you can try to fix one of our newcomers issues. We are always looking for new contributors!

Fractal UTDs and Calls

πŸ”—Element X iOS (website)

A total rewrite of Element iOS using the Matrix Rust SDK underneath and targeting devices running iOS 17+.

Mauro announces

This time we brought our codebase to the SPA, to get some general stability and architectural improvements as:

  • Swift 6 migration for the Notification Service Extension, which should improve the concurrent code in it, and make the notification extension more stable overall
  • Various refactors to allow a more scalable architecture, which will help us immensely when we will migrate other parts of the codebase to Swift 6
  • Last but not the least, we introduced a nice feature, that allows the creation of a new room from a DM, where the recipient is automatically included in the invited users list.

πŸ”—Element X Android (website)

Android Matrix messenger application using the Matrix Rust SDK and Jetpack Compose.

Benoit says

A release 26.05.2 is making it's way to the stores. It includes:

  • Live location sharing. Make sure to try it out see how it goes!
  • Sign in using Element Classic. If you have an existing installation of Element Classic with a verified session, it will be very fast to sign in using Element X and get a verified session in a few clicks.
  • In the meantime we are working on improving accessibility of the application, for impaired users.
  • and as usual, regular maintenance: dependencies upgrade, bug fixing, UI/UX polishing

πŸ”—Dept of Ops πŸ› 

πŸ”—Matrix Connectivity Tester (website)

A web interface to debug and troubleshoot Matrix connectivity issues.

MTRNord (they/them) reports

v0.5.0 is out, and it's a big one. The frontend has been fully rewritten from scratch β€” out goes the UK Government Design System, in comes a proper dark/light themed, mobile-first UI built on TanStack Router. The whole redesign was driven by the goal of making results easier to read at a glance and making account management actually pleasant to use.

πŸ”—What's new on the testing side

Two new checks land in this release: probing for MatrixRTC transports (MSC4143) and the MSC3266 room summary endpoint (co-authored with @networkexception:nwex.de ). Both are visualised on the results page alongside the existing federation checks. The results page also gains auto-refresh, a manual re-run button, a "last checked" timestamp, and a fix for a false positive where endpoints returning 404 were incorrectly flagged as CORS-blocked.

πŸ”—Alerts get smarter

Alert types have expanded beyond basic reachability. You can now be notified when a TLS certificate is within 14 days of expiry, when the TLS fingerprint changes, when the detected server version changes, or when delegation or the server name changes. Quiet hours are now properly wired in so alert dispatch is deferred until the window ends rather than just suppressed.

A new notification channel joins email: webhooks. Each alert can have multiple webhook endpoints, with HMAC-SHA256 request signing, exponential backoff retry (up to 5 attempts over ~1 hour), 30-day delivery history, and a test-ping button in the UI. The HMAC secret is stored write-only and never returned by the API.

πŸ”—Account management

The account section gains a proper password reset/change flow, and alerts can now be configured to send notification emails to specific addresses rather than always using the account's primary email.

πŸ”—Documentation

All documentation pages have been massively extended and completed, available in both English and German. This includes a new webhook integration reference page covering everything needed to integrate with the webhook notification channel.

πŸ”—Statistics

A new statistics page shows daily graphs of check results, with live reload and a mobile-friendly layout.

πŸ”—Under the hood

The backend saw a security update to hickory-resolver (CVE affecting 0.25.0-alpha.3–0.25.2), a fix for a double-send race condition in the email outbox under concurrent pods, non-blocking email dispatch, and a new server-side CORS proxy so the frontend can detect CORS misconfigurations without the browser getting in the way.

Full changelogs: frontend Β· backend

πŸ”—Matrix Federation Stats πŸ“Š

Aine [etke.cc] says

collected by MatrixRooms.info - an MRS instance by etke.cc

As of today, 19329 Matrix federateable servers have been discovered by matrixrooms.info, 4274 (22.1%) of them are publishing their rooms directory over federation. The published directories contain 19323 rooms.

The most popular server software among the online servers is:

  • synapse: 15326 (79.3%)
  • continuwuity: 1491 (7.7%)
  • conduit: 607 (3.1%)
  • dendrite: 352 (1.8%)

Stats timeline is available on πŸ“Š MatrixRooms.info/stats

🧩 Integrations with apps and servers | πŸ’œ Support the project | πŸ‘‰ How to add your server | πŸ™… How to remove your server

πŸ”—Dept of Ping πŸ“

Here we reveal, rank, and applaud the homeservers with the lowest ping, as measured by pingbot, a maubot that you can host on your own server.

Join #ping:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.

RankHostnameMedian MS
1shork.ch167
2continuwuity.codestorm.net172
3melthecat.dev173
4continuwuity.org180
5codestorm.net187.5
6raccoon.cafe188
7theghostsip.eu226.5
8nerdhouse.io248
9vrkknn.net270
10worldethicaldataforum.org271

πŸ”—That's all I know

See you next week, and be sure to stop by #twim:matrix.org with your updates!

To learn more about how to prepare an entry for TWIM check out the TWIM guide.

The Foundation needs you

The Matrix.org Foundation is a non-profit and only relies on donations to operate. Its core mission is to maintain the Matrix Specification, but it does much more than that.

It maintains the matrix.org homeserver and hosts several bridges for free. It fights for our collective rights to digital privacy and dignity.

Support us