πMatrix Live
πDept of Status of Matrix π‘οΈ
πvodozemac (website)
An implementation of Olm and Megolm in pure Rust.
dkasak announces
πThe Matrix.org Security team publishes analysis of reported vodozemac issues
Following a public disclosure discussing potential cryptographic issues in vodozemac, the Matrix.org Security team published a technical analysis addressing the claims and their impact.
πDept of Events and Talks π£οΈ
Yan 't' Minagawa says
πMatrix Community Summit 2026
The Matrix Community Summit 2026 will take place 21β25 May 2026 (Pentecost weekend) at c-base in Berlin.
The Summit is a community-driven, in-person working event focused on collaboration around the Matrix ecosystem. It is not a traditional conference: the schedule is shaped by participants and centers on hands-on work, discussions, and coordination across projects.
Structure (high level):
- Arrival and onboarding day
- Two main working days (hacking, workshops, focused sessions)
- One day with outreach, knowledge sharing, and community topics
- Wrap-up and departure day (including Towel Day traditions at c-base)
There are no product booths or sales tracks. Participation is open to developers, operators, designers, community organizers, and users interested in actively contributing to Matrix.
More details and updates: https://matrix-community.events/conferences/2026-summit.html
David Mehren announces
πMatrix-Stammtisch Dortmund
24th February, 19:00-22:00
The Matrix Meetup craze is continuing to spread across Germany! Next Tuesday, the Chaostreff Dortmund opens its doors for the first Matrix-Stammtisch Dortmund. Every four weeks, we organize an evening where you can help each other with encryption problems, try the latest client updates and features, or work on Matrix-related projects.
More info (in German) at https://www.chaostreff-dortmund.de/events/matrix-stammtisch-2026-02-24/ You can also already join our Matrix room at #matrix-dortmund:matrix.org
πDept of Servers π’
πcontinuwuity (website)
Continuwuity is a community-driven Matrix homeserver in Rust.
nex (it/she) π³οΈββ§οΈ says
πContinuwuity 0.5.5
Yeah so Discord did a thing and it's been great for us apparently. In terms of numbers at least, it's certainly highlighted loads of new issues with our software. If only we could do something about that... Oh wait, we have! Shouldn't be a surprise by now, most people know how we do things now, but alas, apparently I've got to "notify" people of "new releases" to "improve publicity" and "get people to update their servers". So I'm taking an incredibly short break from the confines of my code editor to tell you what's changed! Aren't you lucky.
Continuwuity 0.5.5 is another bugfix release that aims to smooth over some of the rough edges encountered by the huge wave of new deployments. We haven't fixed every issue ever known, but there's a fair selection. Here's an excerpt from our release notes (which you should really read this week, even if you don't usually):
- π¨ Fixed incoming invites not appearing or appearing in a broken form.
- β‘ Deployments using LDAP are allowed to have persistent admins again (the server doesn't forget anymore).
- π Element Call now works on Element X.
- π Fixed a bug where the server may accidentally leak an appservice's access token to a remote server in an error message.
We also added some new things this time! You may enjoy:
- π You can now customise the user agent sent when generating server-side URL previews (which may allow you to get around user agent filters).
- π€ The error messages for joining remote rooms have been vastly improved, and the relevant logs are also much more informative.
- π₯οΈ Setting up a new Continuwuity server is now easier than ever. We removed the annoying first-user dance and instead replaced it with a "first-run experience", which allows you to get started with Continuwuity much easier. This also means it's now even harder to run an insecure server, even temporarily.
But that's all the lure I'm going to dangle here. Like I said, you'll have to read the release notes for the full experience!
Big things are happening. Be there or be square. You can be square while being there too. Actually you can be any shape you want to be, just be there or I'll cast FOMO on you. And by "there" I mean #continuwuity:continuwuity.org. And #announcements:continuwuity.org. Actually, just take a look through #space:continuwuity.org. There's lots of places to be. You can be square in all of them.
πHomeserver Deployment π₯οΈ
πElement Server Suite (website)
Element Server Suite (ESS) is a backend hosting solution for Matrix-based communications that supports self-hosted and fully managed deployments.
Patrick Maier says
πElementβs multi-tenancy solution secures βGoodβ rating in gematik commissioned pentest
We're delighted to announce that our Synapse Pro solution for multi-tenancy Matrix hosting has been deemed 'Good' in a dedicated penetration test commissioned by gematik. The pentest shows we now provide a production-ready solution for TI-Messenger Pro hosting, as well as for other Matrix service providers that want to operate thousands of individual Matrix backends efficiently and economically. Synapse Pro for Small Hosts reduces hardware and personnel costs for hosting whole fleets of small Synapse deployments by up to 90% compared to individual Synapse instances. It comes as part of ESS Pro, ESS Pro for TI-Messenger, and also provides a standalone deployment for those who want to use it with their own Matrix stack. As usual, it provides a great out-of-the-box experience and can easily be used with CD tooling (like ArgoCD) for fleet management and automation.
Learn more about the pentest in our dedicated blog post and about Synapse Pro here.
sirloynes adds
There's also some related media coverage on this for 'Matrix in the News'.
πDept of Clients π±
πNheko (website)
Desktop client for Matrix using Qt and C++20.
Nico announces
I finally got around to fixing room version 12 support in Nheko, I hope (with a lot of help from nep). Please try out the nightlies and test if you can now properly be the creator of a v12 room and that editing power levels isn't broken in funky ways. It was quite a significant refactor and we want to make sure nothing broke because of this!
Apart from that other people have been working on way cooler quality of life changes than me like ensuring the tray icon doesn't gaslight you about window visibility, allowing more options on how the Enter key works or fixing the scroll interaction with combo boxes in the settings.
I know it has been a bit quite from our side, but we are still here! We are just playing hide and seek or so!
πElement X iOS (website)
A total rewrite of Element iOS using the Matrix Rust SDK underneath and targeting devices running iOS 17+.
Mauro reports
This week the iOS crew shipped a tight, focused sequel β features, tests, and infra tightening the plot.
πFeatures β media hits
- Playback speed button + variable voice-message playback β fine-grained audio controls for voice messages and playback UI (faster playback, smoother UX).
(PRs: #5124, #5121)πTests & CI β the long, quiet montage
- Large migration of tests to Swift Testing: Unit + Compound + UI test workstreams modernized.
- CI: moving away from Ruby/Fastlane to Swift-based tooling β fewer layers, stronger types.
(PRs: #5119, #5110, #5105, #5109, #5117)πSession & privacy β the alliance
- Session verification unified with Android; UI tests refreshed.
- DM default history visibility set to
.invitedβ privacy-first default.
(PRs: #5116, #5120, #5114)πInfra & tooling β tightening the strings
πElement X Android (website)
Android Matrix messenger application using the Matrix Rust SDK and Jetpack Compose.
Jorge says
This week has been a quiet one in the team, mainly focused on improving the UX of the app and fixing bugs. We've started investigating performance improvements for the data syncs, and the planning for adding live location sharing.
We hope there are more exciting news to share next week!
πDept of SDKs and Frameworks π§°
πpygomx (website)
A golang matrix high level client library with c-bindings for python
saces announces
I want a library that hides all the matrix 2.0 from me and let me build my business logic in python and do quick&dirty (matrix)helper scripts. I did not found any I wanted to use, so I built my own, but with β no I'm not Benderπ€ β a simple text based c-api and multi client support:
- project home: https://codeberg.org/saces/pygomx
- matrix room: #pygomx:matrix.org
pygomx is a monorepos to keep the right versions together and consists of three parts:
πlibmxclient - golang matrix client library
- High level client library with a simple c-api: it basically passes (json)strings back and forth.
- All the Matrix 2.0 magic is hidden in the lib.
- Should work on any platform golang is enable to build for.
πpygomx-module - python binding package
- This package contains only the python bindings module binary
- Should work on any platform you have a decent python and c-compiler for.
πsmal - simple matrix application library
- Matrix library and tools that utilizes the bindings
- Inspired by Simple-Matrix-Bot-Lib
- Example tool:
import sys from _pygomx import lib, ffi import click import json @click.command() @click.argument("domain", metavar="string") def discoverhs(domain): """Attempts to discover the homeserver from the given string""" mxid = domain.encode(encoding="utf-8") r = lib.cli_discoverhs(mxid) result = ffi.string(r).decode("utf-8") lib.FreeCString(r) if result.startswith("ERR:"): print(result) sys.exit(1) result_dict = json.loads(result) print(result_dict["m.homeserver"]["base_url"])
- Minimal bot example:
from smal.bot import SMALBot DEFAULT_PREFIX = "!" class MinimalBot(SMALBot): def on_sys(self, ntf): print("Got a system notification: ", ntf) def on_event(self, evt): print("Got a matrix event: ", evt) def on_message(self, msg): print("Got a room massage: ", msg) def main(): # create and initialize the bot bot = MinimalBot(DEFAULT_PREFIX) # start syncing forever (listen for incommmig messages/events) bot.run() if __name__ == "__main__": main()
The project is at an early stage, things are still subject to change, but the basics are done and working.
Let's see where it evolves.Help would be welcome for python packaging, especially for building anywheels.
Any other kind of help will be welcome too, of course ;)
That's all for now, see you.
πmatrix-rust-sdk (website)
Your all-in-one toolkit for creating Matrix clients with Rust, from simple bots to full-featured apps, with bindings to Swift, Kotlin, WebAssembly, Go and more, sponsored by Element.
Ivan π¦ announces
SalutΒ ! It's been a while since our last report. Time flies and we are pretty busy. I'll try to keep it short!
πEvent Cache
- #6190 A pretty subtle bug has been fixed where a batch token could have been ditched in rare situations (when the sync only returns events that have been inserted inside the Event Cache via the Send Queue). The impact of this bug was missing events, so, rather important.
- #6157 An undecrypted event in a
ThreadSummarycould be decrypted later, but theThreadSummarywasn't aware of that: showing a UTD whilst it wasn't. Now it's no longer the case!- #6085 The pinned events are now persisted in the storage.
πLatest Event
- #6171
LatestEventValue::RemoteInviteis computed once per room, avoiding a bug where receiving some events in an invite room could have refreshed theLatestEventValue's timestamp, thus moving the room to the top of the Room List.- #6143 Not all
m.room.memberevents are equal. We have restricted whenm.room.memberrepresents aLatestEventcandidate.- #6096 An edit of an event was reflected in the
LatestEventValue, but not an edit of an edit. Well, the approach to handle edit aggregation has been revisited.πLogs
- #6162 When the logs have accumulated and were too large, they could have been rejected by the rageshake servers. We've replaced
RollingFileAppendedby a customSizeAndDateRollingWriter.- #6140 A new tool to help analyse the logs produced by
matrix_sdk_ffi:cargo xtask log overview. It displays the logs in a tree of targets and log levels.πStores
- #6160 Not all environments need a cross-process lock, such as Android where an app usually runs in a single process (a contrario of iOS where notifications live in a different process than the main app). To improve performances, we've created
CrossProcessLockConfigto configure the number of process and to act accordingly.- #6130 Creating a notification client from a regular client wasn't correctly separating the data, some were wrongly shared. This has been fixed by moving
BaseClient::room_info_notable_update_senderintoBaseStateStore. It breaks a couple of API, but they are simpler now.πSync
- #6148
"",null, or simply unset, this problem with JSON and the Matrix specification seems endless. Fix a deserialisation failure when theavatar_urlisnull.- #6136 Exclude service members from room names when using Sliding Sync to get notifications.
- #6126 A user was unaware they've been invited in a room they have previously left. The SDK knew, but the update wasn't broadcasted correctly. This is now fixed!
πFFI
- #6122 The
NotificationItemnow includes the raw JSON of the underlying event.- #6116 Do not override the
package_nameand thecdylib_namevalue for Kotlin bindings.- #6112 and #6115 UniFFI checksums have been removed.
- #6101 Add a
distprofile with optimised binary size. Thematrix-sdk-ffilibrary size is now 50-70MB smaller per architecture, resulting in very significant file size reduction for universal APKs, which have 4Β architectures!
πlibQuotient (website)
A Qt6 library to write cross-platform clients for Matrix
kitsune reports
πlibQuotient 0.9.6.1
After a couple of hiccups, a new maintenance release of libQuotient is out, mostly with backports of what is already there in
devbranch (yet unreleased). The release notes are in the usual place. Most importantly, and as the release notes mention, the libQuotient development leads (namely, Tobias Fella and @kitsune:matrix.org) met in person at the Matrix hackathon before FOSDEM and agreed on making 0.10 beta soon after the E2EE backend based on matrix-rust-sdk-crypto gets merged, which is likely to happen in the coming week or two. Gird your loins, surely it's going to be fabulous!
πDept of Ops π
πMatrix Connectivity Tester (website)
A web interface to debug and troubleshoot Matrix connectivity issues.
MTRNord (they/them) reports
Hi everyone! For a while now I was working on a redesign based on the UK-Gov rebranded design for connectivity tester.
This release contains also some other features you might be interested in:
πFrontend
- Better accessibility
- SSR (client side tests for the Client-Server API are still run in the browser)
- A start in adding documentation on all the things you may be interested in when debugging with the connectivity tester. Be aware that this is a work in progress and they are not fully done yet.
- The UI now offers guidance of possible ways to fix the encountered problems
- Statistics page was fully revamped to look be more readable
- The results page tries to be more focused on what people actually need as a TLDR while still allowing more detailed information to be accessed quickly.
You can find it at the usual places https://connectivity-tester.mtrnord.blog or https://federationtester.mtrnord.blog
πBackend
- Fixing the spurious failure emails happening which seemingly are unreproducible
- Using OAuth 2.0 instead of magic emails for alerts (yes it has a migration path and yes that's optional for now. This will require UI changes first to be usable)
- Improved API docs at https://connectivity-tester.mtrnord.blog/api-docs
- Improved logging capabilities
- Improved email layout
πOther changes
As part of the redesign I did set up a Weblate instance at https://weblate.mtrnord.blog/projects/matrix-connectivity-tester/ which people can use to contribute translations for the UI and soon also the documentation pages. This hopefully will result in a more user friendly UI in the long run.
πWhere can I find out more?
The backend can be found at https://github.com/MTRNord/rust-federation-tester The frontend can be found at https://github.com/MTRNord/matrix-connection-tester-ui And a mailing list can be found at https://lists.midnightthoughts.space/mailman3/lists/matrix-connectivity-tester.lists.midnightthoughts.space/ if you prefer to not use GitHub.
At this time we do not offer a Matrix room due to the efforts it would take to moderate it.
As usual please open issues if you find issues for the UI or backend or write an email to the mailinglist if you do not like to use GitHub.
πDept of Bots π€
πmatrix-jukebox
bgt lover reports
Yesterday, I merged the contribution by Onestacked which adds compatibility with element call to our encryption code by adding the key derivation function element call uses because of the livekit JS sdk.
So, finally, we can have a bot which joins a matrix rtc session, currently an element call, and plays...pink noise? yup, as a proof of concept and we'll have a proper jukebox interface soon, whatever form that might have, but it's still incredible this works at all!
For issues, complaints, suggestions or contributions, feel free to visit our git repository and open issues or pull requests there.
Happy hacking!
Slavi [etke.cc] says
All this talk of Continuwuity motivates me to also post something.
Users were asking if baibot works on Continuwuity. Apparently, there was an issue with Continuwuity v0.5.4, which got resolved in Continuwuity v0.5.5. It turned out that baibot is working as expected. To test this, we had to add Continuwuity support to our baibot development environment. We even went as far as making Continuwuity the default homeserver implementation for the development environment, as that's a simpler & faster setup.
πDept of Interesting Projects π°οΈ
πGodot Matrix RTC
cyclikal says
tl:dr Try out a new Godot Plugin that makes in-room multiplayer gaming / collaboration via widgets (by using MatrixRTC) easy!
Interested? Visit the repo at cyclikal94/godot-matrix-rtc, install via the Godot Asset Library and if you want some help, you can chat about MatrixRTC over in #webrtc:matrix.org.
This week I finished
godot-matrix-rtc, a Godot plugin and sample project that makes it easier to get started using MatrixRTC in games and widgets created using Godot.Simply install the plugin and you'll have everything you need to make the next Flappy Bird (but in Matrix!).
Following the FOSDEM'26 MatrixRTC x Godot - A Battle Royale talk, I initially started this project as a UI update to @toger5's Godot-MatrixRTC-Keyboard-Kart project, aka FloorIt Ipsum.
The aim was to make it cleanly adapt to different widget sizes and orientations, however this evolved into a separate reusable plugin bringing the Join/Leave UI and Logic into the Godot project.
πDetails
The plugin adds a
GodotMatrixRTCnode to Godot which can be used to send/receive data from the RTC session, allowing multiplayer gameplay through a widget added to your room.Once enabled, the plugin will set up a specific Export Preset and an
EditorExportPluginautomatically includes the pre-requisite Element Call SDKdistso all you need to do is export your project, then deploy somewhere. No cloning oryarn build:sdkrequired!Setup in 30 seconds... Let's go! π
Now all you have to do is build a game... but so far as multiplayer goes, it's as simple as:
- Sending relevant local player game data with
godot_matrix_rtc.update_own_data(data: Dictionary)- Actioning remote player game data received via a Signal
godot_matrix_rtc.connect("data_change", on_data_update)- Handling players leaving and joining via a Signal
godot_matrix_rtc.connect("member_change", on_rtc_member_update)Once you have exported, simply deploy, then configure a widget in your room like so:
/addwidget https://example.com/GodotMatrixRTC.html?widgetId=$matrix_widget_id&perParticipantE2EE=true&userId=$matrix_user_id&deviceId=$org.matrix.msc3819.matrix_device_id&baseUrl=$org.matrix.msc4039.matrix_base_url&roomId=$matrix_room_idπWant to play now?
Simply add FloorIt Ipsum to your room to test your typing skills and prove your prowess as the faster typer on the track!
/addwidget https://godot-matrix-rtc-letter-cars-widget.netlify.app/webapptest?widgetId=$matrix_widget_id&perParticipantE2EE=true&userId=$matrix_user_id&deviceId=$org.matrix.msc3819.matrix_device_id&baseUrl=$org.matrix.msc4039.matrix_base_url&roomId=$matrix_room_id
πMatrix Status Monitor for GNOME (v5)
MiklΓ³s Zsitva announces
The Matrix Status Monitor for GNOME Shell has reached v5, providing a faster way to navigate your Matrix rooms directly from the system panel.
Whatβs new:
- Security at a glance: Integrated E2EE status icons for rooms.
- Choose your client: Added explicit support for Element and Fractal. The extension uses native URI schemes to switch focus to your preferred app seamlessly.
- Self-host friendly: Easily configurable for custom homeservers and tokens.
- Metadata-only: Maintains privacy by only fetching room status and unread counts.
Source Code: https://github.com/nurefexc/matrix-status Install: https://extensions.gnome.org/extension/9328/matrix-status-monitor/
πMSC Redirector (msc.re)
evol says
If you've been following Matrix for a while, you've probably noticed people mentioning Matrix's spec proposals (MSCs) by number, e.g. MSC4297. All MSCs are pull requests in the official repository. Often, I wanted to check what a MSC was about, but if it wasn't directly linked, I had to go to the repository and look for the MSC in there. I found that to be tedious, so I went and built https://msc.re!
It's very simple: typing a number after the slash (e.g. https://msc.re/4297) will redirect you to the right MSC. Typing nothing (https://msc.re) will take you to the home page of the repository. That's it!
The code is tiny and open source, check it out: https://github.com/evoL/msc-redirect. Join #msc-re:evolved.systems if you'd like to chat!
πMatrix in the News π°
πMatrix Federation Stats
Aine [etke.cc] reports
collected by MatrixRooms.info - an MRS instance by etke.cc
As of today,
15444Matrix federateable servers have been discovered by matrixrooms.info,3808(24.7%) of them are publishing their rooms directory over federation. The published directories contain18616rooms.The most popular server software among the online servers is:
- synapse:
12670(82.0%)- continuwuity:
784(5.1%)- conduit:
565(3.7%)- dendrite:
370(2.4%)Stats timeline is available on π MatrixRooms.info/stats
π§© Integrations with apps and servers | π 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.
π#ping:maunium.net
Join #ping:maunium.net to experience the fun live, and to find out how to add YOUR server to the game.
| Rank | Hostname | Median MS |
|---|---|---|
| 1 | usbpc.xyz | 172 |
| 2 | envs.net | 233.5 |
| 3 | vibb.me | 245.5 |
| 4 | nerdhouse.io | 294 |
| 5 | vibb.cc | 304 |
| 6 | gilice.hu | 334 |
| 7 | mustelid.chat | 404.5 |
| 8 | matrix.m.frn.dev.br | 415 |
| 9 | tenviki.dev | 418 |
| 10 | doofkopf.de | 472.5 |
π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