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.
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.
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.
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.
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!
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!
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:
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.
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 ThreadSummary could be decrypted later, but the ThreadSummary wasnā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
#6171LatestEventValue::RemoteInvite is computed once per room, avoiding a bug where receiving some events in an invite room could have refreshed the LatestEventValueās timestamp, thus moving the room to the top of the Room List.
#6143 Not all m.room.member events are equal. We have restricted when m.room.member represents a LatestEvent candidate.
#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 RollingFileAppended by a custom SizeAndDateRollingWriter.
#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 CrossProcessLockConfig to 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_sender into BaseStateStore. 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 the avatar_url is null.
#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 NotificationItem now includes the raw JSON of the underlying event.
#6116 Do not override the package_name and the cdylib_name value for Kotlin bindings.
#6112 and #6115 UniFFI checksums have been removed.
#6101 Add a dist profile with optimised binary size. The matrix-sdk-ffi library size is now 50-70MB smaller per architecture, resulting in very significant file size reduction for universal APKs, which have 4Ā architectures!
After a couple of hiccups, a new maintenance release of libQuotient is out, mostly with backports of what is already there in dev branch (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!
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.
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)
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.
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.
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.
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!).
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 GodotMatrixRTC node 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 EditorExportPlugin automatically includes the pre-requisite Element Call SDK dist so all you need to do is export your project, then deploy somewhere. No cloning or yarn build:sdk required!
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:
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.
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!
As of today, 15444 Matrix federateable servers have been discovered by matrixrooms.info, 3808 (24.7%) of them are publishing their rooms directory over federation.
The published directories contain 18616 rooms.
The most popular server software among the online servers is:
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.