πŸ”—Dept of Status of Matrix 🌑️

πŸ”—Governing Board (website)

The Governing Board is an advisory board to The Matrix.org Foundation and with elected representatives from all across the Matrix ecosystem.

Amandine reports

πŸ—³οΈ The Governing Board election season has officially started!

We announced it last week in a very detailed blog post summarising everything you need to know, and kicked off the nomination period on Saturday. You can find all the details about the nomination process here, but in short each member of a constituency group can nominate themselves, a representative or someone else to be a candidate for the election. Nominees will be announced on the 16th May and displayed on the election page.

πŸ“… This year’s schedule is as follow:

  • βœ… Announcement on Monday 27th April
  • ➑️ Nominations from Saturday 2nd May to Friday 15th May
  • ◻️ Campaigning from Saturday 16th May to Friday 29th May
  • ◻️ Voting from Saturday 30th May to Friday 12th June
  • ◻️ Results announced on Monday 15th June

πŸ“’ The election is running for the following constituency groups:

  • Platinum Members – 1 seat (in cycle)
  • Ecosystem Members – 3 seats (in cycle)
  • Spec Core Team – 2 seats (in cycle)
  • Guardians – 3 seats (in cycle)
  • Silver Members – 2 seats (out of cycle, GB members stepped down)
  • Individual Members – 1 seat (out of cycle, GB member stepped down)
  • Associate Members – 1 seat (out of cycle, seat left empty during the last elections)
  • Gold Members – if new Gold member(s) sign up before the 15th May

So if you are a member of one of these groups have a think about whether you can support the Foundation and don’t hesitate to put your name in the ballot!

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

πŸ”—The Matrix Conference (website)

Thib reports

We're pleased to announce that you can now buy tickets for The Matrix Conference!

Our CfP is still open until the end of June, but you can already purchase your ticket. Don't wait for the last minute: Early Birds get a 20% discount, and the opportunity to secure merch for their size.

Volunteers algo get a free ticket and a volunteer-exclusive zipper hoodie πŸ‘€

See all the details in the full blog post and grab your tickets!

πŸ”—Dept of Working Groups πŸ’ͺ

πŸ”—Room Directory Working Group (website)

The Room Directory WG helps maintain the room directory on the matrix.org homeserver.

LogN announces

The Room Directory Working Group was joined by its latest member, LogN (that's me!).

Just this week we began our transition to a streamlined workflow which will allow us to review room directory requests faster, alongside helping us stay more organized. The updated form can be found here. If you previously submitted a Room Directory request, there is no need to resubmit it.

We also have a new bot set up in our public office to post updates to the room directory as they happen, so you can follow along and see new rooms as they are listed!

Every year, the working group must review every room in the directory to ensure everything in there still fits our policies. That process is starting now, and we can always use extra hands! If you are interested in helping us curate a high-quality, interesting directory for the wider Matrix community, come chat with us!

πŸ”—Dept of Spec πŸ“œ

Andrew Morgan (anoa) {he/him} says

Here's your weekly spec update! The heart of Matrix is the specification - and this is modified by Matrix Spec Change (MSC) proposals. Learn more about how the process works at https://spec.matrix.org/proposals.

πŸ”—MSC Status

New MSCs:

MSCs in Final Comment Period:

Accepted MSCs:

  • No MSCs were accepted this week.

Closed MSCs:

πŸ”—Spec Updates

A lot happening in spec land this week. But perhaps the most exciting development is that MSC2545: Image Packs (Emoticons & Stickers) has entered FCP! This MSC defines both how to send "custom emoji" in matrix rooms, as well as how to create "packs" of both emotes and stickers that you can share with your friends. Finally, custom emoji and stickers that people love from other chat platforms, officially in the Matrix spec!

This is by far one of the most active MSCs on the tracker, with nearly 600 comments and over 40 reviews left on the proposal. First opened in May 2020, it has been a long, winding road to FCP. A huge thanks to Sorunome for originally writing the proposal and kicking off the effort, the various client authors for implementing it, and to everyone else for their feedback -- and poking yours truly to actually incorporate that feedback.

This is only the beginning though! Further MSCs will spec using custom emoji in event reactions (MSC4027), discovering image packs by clicking an emoji/sticker in a message (MSC4459), a dedicated room type for image packs (???) and more! See the "Future MSCs" section of MSC2545's PR comment for further MSC ideas.

Authors of draft implementations of the MSC are reminded to update their implementations with the new changes. Hopefully we'll see an implementation in Element clients soon as well, now that the spec side has been ironed out? πŸ‘€πŸ‘€πŸ‘€

πŸ”—Dept of Trust & Safety βš–οΈ

πŸ”—hma-matrix (website)

TravisR reports

HMA (or "Hasher Matcher Actioner") is a pattern from Meta to evaluate new content against collections of existing content. It can be used for a variety of different content types including images, videos, text, and URLs. HMA also happens to be the reference implementation for this pattern, where content can first be hashed to match it against existing content. Actioning the results of any matches are left as an exercise for the caller - it could be taking down the content, flagging it for review, or explicitly allowing it if the associated bank contains "known good" hashes (for example).

We've packaged HMA into something a little more traditional for a Matrix deployment in hma-matrix: Consistent environment variables for configuration, API keys, worker definitions, and a multipurpose Docker image. Developers looking to implement the HMA pattern are encouraged to take a look at hma-matrix to explore it's usefulness. Policyserv, the Foundation's policy server implementation, has support for hma-matrix built-in to compare media uploads in rooms to known-bad content.

Server and community administrators looking to benefit from HMA or hma-matrix will need to check compatibility with their tooling. Currently, few tools and projects have support - this post is intended to cause more to happen πŸ™‚ Developers with questions are encouraged to drop by #policyserv:matrix.org to chat about hma-matrix until we (maybe) create a dedicated room.

πŸ”—policyserv (website)

A proactive safety and moderation tool for Matrix communities.

TravisR announces

v1.5.0 has been released! It's a small release, but it has some new filters for handling lengthy/wordy user IDs and a bug fix for those using readonly database connections.

Check it out alongside v0.0.7 of the setup-bot!

#policyserv:matrix.org is a great place to hang out and talk about the project πŸ™‚

πŸ”—Dept of Servers 🏒

πŸ”—Tuwunel (website)

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

cupsπŸŽ”πŸ’•πŸ’žπŸ’˜β€οΈβ€πŸ”₯πŸ‚Ό announces

TuwunelπŸ’• 1.6.1 brings native OIDC account management

Tuwunel 1.6.1 ships today, led by shaba's MSC2965 implementation: users authenticated through an external IdP now get an in-browser device management, session list, and profile page. New documentation covers the OIDC story end-to-end, with valentimarco contributing a full Authelia provider guide and alametti an Authentik provider section.

donjuanplatinum's third Matrix Spec Change for Tuwunel ships experimental MSC3030 /timestamp_to_event. chbgdn added namespace-scoped EDU routing so m.typing and m.receipt reach subscribed appservice bots. VlaDexa added systemd watchdog keep-alive pings; theredspoon contributed a configurable ip_source for trusted-proxy deployments.

Bridges fare notably better: BVollmerhaus's report unblocked mautrix device-key uploads via MSC4190, and utop-top fixed a /whoami device-id crash in matrix-hookshot. utop-top also diagnosed Cloudflare R2 timing out on large media; multipart uploads now default to a 100 MiB threshold. dennisoderwald landed an HTTPS S3 fix and caught OIDC discovery advertising the wrong response_mode. The OIDC server contract was tightened along the way (PKCE plain rejected, userinfo refuses bare Matrix tokens, token endpoint returns proper errors). Hukadan restored OpenBSD startup; chocycat fixed sliding-sync long-polls leaking on disconnect.

Special mentions: rexbron for sustained operational documentation, and donjuanplatinum for shipping MSC3030, MSC3706, and MSC2246.

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


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


πŸ”—continuwuity (website)

Continuwuity is a community-driven Matrix homeserver in Rust.

Jade (she/her) reports

psst don't tell anyone, but Continuwuity 0.5.8 is out - it's a patch release to fix a bug with email support. If you're running a public Continuwuity homeserver with email configured, you should update as soon as possible. For the rest of us, though:

  • Room version 12 is now the default for new rooms πŸ’₯
  • LDAP has gained support for StartTLS πŸ”’οΈ
  • I updated the dependencies - This is your occasional reminder that a lot of the work that goes into keeping stuff functional is hidden behind the scenes πŸ˜Άβ€πŸŒ«οΈ

Go grab it on the forge! And make sure you're in #space:continuwuity.org and all our cool rooms, while you're at it.

That's it though. I ate all the cookies. Until next time.

πŸ”—Dept of Clients πŸ“±

πŸ”—Extera Next (website)

rustyraven[extera.xyz op] announces

Hello, federation! New Extera major update is here.

In 26.2.0, we added account registration using password (non-SSO/OIDC). Now you may register on non-SSO Matrix server as you do in most places of the World Wide Web: a username, password, maybe email and a CAPTCHA.

We also revamped design for app lock screen. Now, it looks much different with a Material 3 styled keypad!

Another thing that is worth noting is Neurogate, new AI backend for Extera. As of now, it serves only as translation backend, but some new QoL AI features will be implemented with it (for example, audio transcription). I won't add too much AI, I promise.

Also, we improved message forward functionality (now it respects message edits) and message edit (you may now edit media captions).

Extera website – #community:extera.xyz – Source code

πŸ”—Relay (website)

Link Dupont announces

A lot has happened in Relay since our last TWIM update. Version 0.4.2 is now available! Some highlights of what's new and improved since 0.2.1:

  • Spaces support - Relay now has mostly complete support for Matrix spaces. A "space rail" bar in the sidebar lets you narrow the room list to a specific space. You can create spaces, browse space hierarchies, add or remove child rooms, and leave a space with a confirmation dialog that lists affected child rooms.
  • Room invitation - Incoming invites now appear directly in the room list with the inviter's name and avatar. Accept or decline with a single click.
  • Room and member management - Room admins can now edit room name, topic, and avatar; change join rules and history visibility; invite users; and kick, ban, or unban members. Power levels are displayed in the member list and can be changed from the room info panel.
  • Notification settings overhaul - Per-room notification modes (All Messages, Mentions Only, Mute) are now supported alongside the existing global defaults. Keyword notifications let you define custom words that trigger highlights.
  • Timeline performance rewrite – The timeline has been rewritten from a SwiftUI LazyVStack to an AppKit NSTableView, giving native cell recycling, row height caching, and smooth scroll-position preservation during backward pagination and window resizes. Timeline diffs from the SDK are now throttled to reduce view churn.
  • Favorites (pinned rooms) - Rooms can be pinned to the top of the sidebar via the m.favourite tag, syncing across clients that support it.
  • Lots of other improvements - Too many to list: redesigned room directory, user ignore list, send state indicators, reply rendering improvements, matrix identifier -> matrix.to conversion, mention autocomplete improvements, OIDC login flow, create room, join room, create space menu items, persistent room selection across launches, encrypted media download support, offline sync detection, a local homeserver with a seed script to aid development, and a lot more.

Come chat with us in #relayapp:matrix.org!

A screenshot of the Relay Matrix client for iOS. It looks like an Apple native app.

πŸ”—Nexus (website)

Matrix client made with Flutter and a Gomuks backend.

QuadRadical (Ping) announces

πŸ”—What's new?

Hello TWIM! Not too many code changes this week, still trying to smooth out bugs in reaction support. Although, our Windows build seemed to... fix itself? Testing from Windows users would be appreciated! Also we have a new icon! Thanks to Hylke Bons (https://planetpeanut.studio) for making these:

Desktop icon:

An icon that looks like a chat bubble on a pride flag.

Mobile icon:

An icon that looks like a chat bubble popping out of a pride flag.

πŸ”—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!

πŸ”—Element X iOS (website)

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

Doug reports

As mentioned last week, version 26.04.2 was released to the App Store on Monday with all of the changes we previously shared. The exciting news this week is the removal of the feature flag for Live Location Sharing. We’ve been adding some finishing touches to the feature and are excited for it to be enabled for everyone in next weeks RC.

The rest of the week has been spent making our OAuth handling more robust (with support for callbacks from outside of the app), adding support for picking avatars from Files (in addition to Photos) along with various fixes to our tests, notifications and windowing support.

πŸ”—Tammy (website)

Multiplatform messenger built on top of Trixnity Messenger.

Benedict says

New update for Tammy is here!

What’s new:

πŸŽ™οΈ Experimental voice messages are now live on Android!
πŸ›‘οΈ Auto-removal of metadata (Exif/IPTC/XMP) from images when sending.
πŸ”” Per-account notification count badges & system app icon badges.
πŸ”‘ Toggle between bundled and system fonts.

πŸ”—Dept of SDKs and Frameworks 🧰

πŸ”—Ruma (website)

A set of Rust library crates for working with the Matrix protocol. Ruma’s approach to Matrix emphasizes correctness, security, stability and performance.

KΓ©vin Commaille says

It has been 4 months since our last release and a lot of changes had already piled up so here is Ruma 0.15.0, quickly followed by a 0.15.1 bugfix. It includes, among other things:

  • Support for Matrix 1.18 comprising the OAuth 2.0 account management URL, the admin lock and suspend endpoints, and more!
  • The unification of ruma_client_api::error::Error with ruma_common::api::error::MatrixError, allowing to work with standard Matrix errors for all endpoints in the API crates.
  • A fair amount of breaking changes to make sure that most of our types (especially enums) are forward-compatible, which should allow us to add new features while avoiding breaking changes in the future.
  • A bunch of new MSC implementations like the M_SENDER_IGNORED error code (MSC4406), pushing secrets to other devices (MSC4385) or redact on kick/ban (MSC4293).

This release is accompanied by ruma-client 0.18.0 and synapse-admin-api 0.10.0.

πŸ”—Dept of Ops πŸ› 

πŸ”—terraform-provider-matrix (website)

raspbeguy says

Quick follow-up to the v0.1 release last week: v0.2.0 is out with three new things to declare in HCL.

The headline addition is matrix_room_join_rules. You can now declare any of public, invite, knock, restricted, or knock_restricted, and restricted rooms accept an allow_rooms list (usually a matrix_space.id) so anyone who joins the parent space automatically gets access to its rooms. That makes the space-as-container pattern actually useful: define your team's space, link the rooms with matrix_space_child, set them restricted, and people you invite to the space can self-serve into the rooms. πŸ› οΈ

Also new: matrix_room_server_acl for federation allow/deny lists, with a plan-time warning if your config would block your own homeserver from the room (which is irreversible and otherwise needs a server admin to recover). And history_visibility (joined / invited / shared / world_readable) is now an inline attribute on matrix_room and matrix_space, so you can flip a room to world-readable in the same block where you set its name and topic.

Try it on a disposable account. Feedback and bug reports very welcome! πŸ›

Source: https://github.com/raspbeguy/terraform-provider-matrix
Latest release: https://github.com/raspbeguy/terraform-provider-matrix/releases/tag/v0.2.0
Terraform Registry: https://registry.terraform.io/providers/raspbeguy/matrix
OpenTofu Registry: https://search.opentofu.org/provider/raspbeguy/matrix
Contact: [@raspbeguy:gugod.fr](https://matrix.to/#/@raspbeguy:gugod.fr)

πŸ”—Connectivity-Tester (website)

MTRNord (they/them) reports

A release of mostly bugfixes and improvements but also a new feature:

  • Magic link logins work now properly across tabs as they should and upgrading to a password based account has been fixed
  • There has been some boilerplate and complexity cleanup as well as making the smtp pipeline non blocking
  • SMTP can now be fully disabled on the backend
  • The password can now be reset via email or changed in the account overview
  • You can now send alerts to multiple emails and use multiple emails on an account

Upcoming and in the work are some further alert types to be monitored which are tracked in https://github.com/MTRNord/rust-federation-tester/issues/16. It would be appreciated to get further ideas on this!

Beyond that I moved both instances to a new server infrastructure which hopefully improves reliability for things and improves overall performance.

As usual you can find it at https://connectivity-tester.mtrnord.blog/ or the staging environment at https://stage.connectivity-tester.mtrnord.blog/.

For reaching out you can reach out via https://github.com/MTRNord/rust-federation-tester or https://github.com/MTRNord/matrix-connection-tester-ui or https://lists.midnightthoughts.space/mailman3/lists/matrix-connectivity-tester.lists.midnightthoughts.space/ if you prefer to not use GitHub. Reporting any kind of issue is appreciated and helps me a lot. :)

πŸ”—Dept of Bots πŸ€–

.Kori reports

Morpheus Link Bot is a new Maubot plugin designed to provide room administrators with fine-grained control over URL sharing. Instead of a simple "block all" approach, it enables a more sophisticated moderation workflow.

Key Features:

  • Automated Link Filtering: Scans incoming messages for URLs and validates them against local lists.
  • Custom Blacklists & Whitelists: Admins can manage blacklists/custom.txt to block specific malicious domains and whitelists/custom.txt to ensure trusted links are always allowed.
  • Maubot Native: Built specifically for the Maubot framework, ensuring easy deployment and low resource usage.
  • Flexible Configuration: Uses a base-config.yaml to define automated actions, such as warnings or message deletions, when a blacklisted link is detected.

The project is under active development, and we've recently implemented a CI/CD pipeline via GitHub Actions to maintain code quality.

πŸ”—Dept of Guides 🧭

spaetz says

A blog post giving an overview over the ways in which matrix could/can do VOIP and my personal take on the need of TURN servers with livekit. On a second thought, this probably should have been split into two blog posts, but oh well. I will be using this to point to a single place when the topic comes up. Enjoy: https://sspaeth.de/2026/04/matrix-voip-and-livekit/

πŸ”—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.

πŸ”—#ping:maunium.net

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

RankHostnameMedian MS
1raccoon.cafe186
2codestorm.net192
3vrkknn.net211.5
4melthecat.dev220
5usbpc.xyz224
6vibb.me246
731a05b.net247
8nerdhouse.io257
9shork.ch317
10matrix.thisisraphael.at317

πŸ”—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