Matrix.org
matrix.org.web.brid.gy
Matrix.org
@matrix.org.web.brid.gy
Matrix, the open protocol for secure decentralised communications

[bridged from https://matrix.org/ on the web: https://fed.brid.gy/web/matrix.org ]
This Week in Matrix 2025-11-21
## 🔗The Matrix Conference 2025 - The Governing Board Transparency Update Today's Matrix Live: https://youtube.com/watch?v=sa623up96mA You can find the same video mirrored on media.ccc.de at https://media.ccc.de/v/matrix-conf-2025-75078-governing-board-transparency-update. All Conference content is available via the Conference website. ## 🔗Dept of _Status of Matrix_ 🌡️ ### 🔗Luxchat Hackathon Amandine reports > We're happy to announce that LU-CIX is joining the Foundation as a Silver Member! LU-CIX is the organisation delivering the Matrix-based Luxchat in collaboration with the Ministry of Digitalisation of Luxembourg and the Chamber of Commerce. Luxchat comes in three (interoperable) flavours: > > * Luxchat4Gov for the public sector > * Luxchat4Pro for companies and organisations > * Luxchat, as a free messaging system for the general public and businesses, without advertising and without use of personal data, and respects the privacy of its users. > > > Earlier this week the three organisations also hosted a successful Matrix meets Luxchat Hackathon in presence of Madame Obertin, Minister of Digitalisation for Luxembourg! ### 🔗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. Gwmngilfen announces > Time flies - it's another report from the Governing Board! We met about 2 weeks ago to go over the current status for the various Committees and Working Groups, to get an update from the Foundation, and to hear from the GB members about current challenges, concerns and opportunities. You can read the report on the blog and you can always ask questions in #governing-board-office:matrix.org! > > One of the points raised was about the process for creating Working Groups - we've tried to make it _easy_ , but we've not really made it _publicly discoverable_. We're working on that now, but to repeat earlier calls - if you have some work you want to form a group around, come chat with us in #governing-board-office:matrix.org and we'll help you out if we can! ## 🔗Dept of Working Groups 💪 ### 🔗Website & Content WG MTRNord (they/them) announces The Website and Content WG has a Meta update for TWIM this week. > First of all we finally have been given a Room Version 12 update by the T&S team which allowed updated permissions and a clean slate to submit your posts too. Thanks to the T&S team for facilitating and executing this 🎉 > > As a result of that, we were forced to update hebbot (the tooling that's behind the TWIM bot) from a roughly 2-year-old version to the current main branch. As a result of that, we got many new features for TWIM and Room Version 12 support. 🎉 > > For you, this means 2 things when submitting: > > * We now got intentional mentions support. If your client supports intentional mentions, you can now use it to ping `@this-week-in:matrix.org` when submitting news. If you have no support for intentional mentions, make sure your message starts with `TWIM:`. > * We finally got the double TWIM user cleaned up. This should fix confusion we had for a while about which user to ping. > > > You can find the new room at the same location as before #twim:matrix.org ## 🔗Dept of Spec 📜 Andrew Morgan (anoa) {he/him} reports > 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:** > > * MSC4382: Peppered hash verification for E2EE content moderation > * MSC4381: Remove plaintext sender key > * MSC4380: Invite blocking > > > **MSCs in Final Comment Period:** > > * MSC4191: Account management for OAuth 2.0 API (merge) > * MSC3824: OAuth 2.0 API aware clients (merge) > > > **Accepted MSCs:** > > * MSC4323: User suspension & locking endpoints > > > **Closed MSCs:** > > * _No MSCs were closed/rejected this week._ > > > ### 🔗Spec Updates > > The spec marches steadily forwards. There's still a fair bit of focus on Matrix 2.0 MSCs, but as the SCT waits for authors to update their proposals, we're focusing on other MSCs in the meantime. ## 🔗Dept of Servers 🏢 ### 🔗Synapse (website) Synapse is a Matrix homeserver implementation developed by Element. Devon Dmytro announces > This week we released Synapse v1.142.1. > > This patch release fixes the regression from v1.142.0 where Synapse's MAS integration support for MAS instances hosted under a subpath was broken. > > Also noteworthy: > > * the next release of Synapse (v1.143) removes support for PostgreSQL 13 as per our deprecation policy. Synapse will fail to start when run with PostgreSQL 13. > * v1.143 will be the last release to support macOS wheels > > > Thank you to all our contributors for helping to make Synapse the best it can be. As always, feel free to stop by #synapse:matrix.org to join in on the discussion and if you encounter a bug make sure to report it here. ### 🔗continuwuity (website) Continuwuity is a community-driven Matrix homeserver in Rust. nex (it/she) [Continuwuity] says > I saw some weird things crawling around in our codebase, so I went ahead and called an exterminator. It's safe to say, some things definitely changed. In fact, so many things changed, that today we're cutting a new release for continuwuity! > > You may have heard of such releases being cut before. Believe your eyes, reader, for the legend is true! Continuwuity does actually get releases! Sometimes. > > **This release is a bugfix release** , with the express intent of healing some of the wounds revealed by `v0.5.0-rc.8`. **There are no new features in this release** (aside from advertised support for MSC4155, so you can now disable invites in Element without needing to manually edit your account data), as all of these changes were backported from the main branch. If you want shiny new toys, join #main:continuwuity.org and track the `main` branch! Plenty of cool pebbles and shiny gems there. > > #### 🔗Bug fixes > > (full git changelog) > > * Resolved several issues with state resolution v2.1 (room version 12) > * Fixed issues with the `restricted` and `knock_restricted` join rules that would sometimes incorrectly disallow a valid join > * Fixed the automatic support contact listing being a no-op > * Fixed upgrading pre-v12 rooms to v12 rooms > * Fixed policy servers sending the incorrect JSON objects (resulted in false positives) > * Fixed debug build panic during MSC4133 migration > > > #### 🔗When is the full release already! > > I know, I know, we're probably the only software ever to release 10 release candidates with no actual release. I promise, `0.5.0` will be happening soon! We've only got 10 things left to look at (at the time of writing), and only two of those are actually even blocking the release. Last time we gave out planned release dates, we ended up being months late, so we aren't going to do that again, however I promise it's a top priority and we're aiming for the _near future_. But hey, I'd like to see YOU bake a homeserver-shaped cake without the recipe book telling you how long it'll take! > > Also, **we're accepting any and all contributions!** They don't even have to be code! We've got plenty of issues related to documentation, and other issues and pull requests that simply just need some community testing. If you've got a server (even just a raspberry pi sat under your bed), you can help out! If you're interested, feel free to talk to us in #dev:continuwuity.org (you'll need to join #main:continuwuity.org or at least #space:continuwuity.org first), we're more than happy to help out! > > Anyway, until next time, which will hopefully be soon. Also please give us a star on github if you haven't already, it greatly helps with boosting our visibility ❤️ ## 🔗Dept of Clients 📱 ### 🔗Ement.el (website) Matrix client for Emacs. alphapapa announces > Ement.el, a Matrix client for the GNU Emacs text editor and Lisp environment, has been released at version 0.17. Changes since the last release include: > > **Additions** > > * Command `ement-room-download-file`, which downloads the file in the event at point (for image, audio, video, and file messages). (#323. Thanks to Arto Jantunen.) > * Customization groups for faces. (Thanks to Phil Sainty.) > * Option `ement-room-hide-redacted-message-content`, which hides the content of redacted messages by default. It may be disabled to keep redacted content visible with a strikethrough face, which may be useful for room moderators, but users should keep in mind that doing so will leave unpleasant content visible in the current session, even after being redacted by moderators. > * Option `ement-room-list-avatar-generation`: if disabled, SVG-based room avatars are not generated. This option automatically tests whether SVG support is available in Emacs, and should allow use with builds of Emacs that lack `librsvg` support. > > > **Changes** > > * Disable underline for faces `ement-room-list-direct` and `ement-room-list-name` (in case a face they inherit from enables it, e.g. when themed). > > > **Fixes** > > * Call `eww-browse-url` instead of `browse-url` in `ement-room-browse-mxc` (because the latter is not useful for authenticated media if the user has configured it to use a different browser). (#323. Thanks to Arto Jantunen.) > * Workaround change in `magit-section` that broke fontification in room-list and directory buffers. (See #331.) > * Handle non-symbol commands in `command-history`. (#330. Thanks to Alex Bennée for reporting.) > > > Feel free to join us in the chat room: #ement.el:matrix.org! ### 🔗Element X iOS (website) A total rewrite of Element iOS using the Matrix Rust SDK underneath and targeting devices running iOS 17+. Mauro Romito says > * The notification sound has been updated after some feedbacks to be more audible > * We implemented a way to test our notification service extension, which will allow us to identify any potential bug or regression more easily > * We are continuing improving our Threads labs feature, threaded events now support pinning and the banner shortcut will open the thread directly > * Spaces work is also going forward, we are currently implementing a way to handle the space members join rule in your rooms, so that you can have specific space members automatically join them. We are also experimenting with a room list that supports rendering and displaying spaces alongside normal rooms. > * A new RC has been sent for verification 25.11.3 > ### 🔗Element X Android (website) Android Matrix messenger application using the Matrix Rust SDK and Jetpack Compose. ganfra reports > This week we've been focused on: > > * Performance improvements and monitoring: after improving the database and decryption performance by almost 10x, we're now adding new metrics to make sure it doesn't unexpectedly drop in the future and find performance bottlenecks as soon as possible. > * Spaces: the work around spaces keeps taking most of our time, but we progress little by little. > * Fixes for notifications with UnifiedPush: we received some contributions that should improve the stability of the notifications when UnifiedPush is in use. We also fixed a bug that could cause notifications to be lost if there was a large amount of them pending to be resolved. > * The notification sound has been updated after some feedbacks to be more audible. > * New RC 25.11.3 has been sent for verification. > * And of course, lots and lots of bug fixes. > ## 🔗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 > We are already here with a new breaking release, Ruma 0.14.0. We try to avoid making breaking releases too often, but we realized that a cargo feature available in Ruma 0.13.0 was not additive, and to fix it we needed a breaking change, so here we are! There are also other things to look forward to: > > * Support for Matrix 1.16, including room version 12 and extended profiles. > * The traits and macros for API endpoints now have better support for the different kinds of endpoints in the Matrix APIs: > * Adapt the endpoint path resolution for an outgoing request, depending on whether it is possible to decide the path to use depending on the response of `GET /versions`, > * Adapt the type of authentication to add for an outgoing request, with added support for server signatures, > * Add a method to extract authentication data from an incoming HTTP request. > * The minimal supported Rust version was bumped to 1.88, allowing us to port our crates to the Rust 2024 edition, and to begin using let chains. > * We also gained support for up and coming MSCs like "Do not Disturb" notification settings (MSC4359) and invite blocking (MSC4380). > > > We still have a bunch of issues opened and always welcome implementations for ongoing MSCs, so don't hesitate to contribute. ## 🔗Matrix Federation Stats Aine [etke.cc] says > collected by MatrixRooms.info - an MRS instance by etke.cc > > As of today, `11806` Matrix federateable servers have been discovered by matrixrooms.info, `3255` (`27.6%`) of them are publishing their rooms directory over federation. The published directories contain `18199` rooms. > > The most popular server software among the online servers is: > > * synapse: `10155` (`86.0%`) > * conduit: `475` (`4.0%`) > * dendrite: `380` (`3.2%`) > * continuwuity: `300` (`2.5%`) > > > 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| Std Dev ---|---|---|--- 1| codestorm.net| 169| 183.12 2| envs.net| 200| 435.31 3| shork.ch| 201| 299.89 4| nexy7574.co.uk| 206| 282.66 5| vibb.me| 212| 550.35 6| arcticfoxes.net| 222| 244.5 7| uwu.possums.lgbt| 275| 615.53 8| starstruck.systems| 308| 635.19 9| gingershaped.computer| 327| 482.48 10| muoi.me| 353| 320.34 ## 🔗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.
matrix.org
November 22, 2025 at 8:35 AM
Matrix Governing Board report, November 2025
Hello lovely Matrix people, Another 6 months have passed, and November is once again here - and that means another Governing Board meeting, and another report. What's been happening in the Governing Board? ## 🔗Structure, process, and engagement Since the last report in May, we've had elections! This was important, since it's the first time we've added new folk to the existing Governing Board - last year we were _all_ new. So, it took a little time to figure out how we do onboarding (and offboarding!) and getting the new folk up to speed. In the meantime, the processes we've put in place around Committees and Working Groups appear to be functioning. Remember, if you have an idea for something to get done, you can propose a WG yourself! There are reports from these in the minutes below. On a side note, Nico and Kim from the Governing Board also shared an overview of these structures and processes surrounding the Governing Board and Working Groups at The Matrix Conference, which can be viewed on YouTube and media.ccc.de. The work those groups do can range from the very-visible (Events, I'm looking at you 😛) to invisible work going on behind the scenes - but it's all needed. Since the last report, we've onboarded 2 more WGs, and have discussions in play about several more. This is exciting to me, because this is what we're for - giving the passion in our community a way to gain momentum. As usual, I'm posting a lightly-edited version of the minutes from the meeting below for your reading pleasure... or you can skip to my conclusions at the end. ## 🔗Governing Board Meeting Minutes November 2025 * Introduction and context setting * Committee Reports * **Governance** : * Mostly internal process stuff, new vice-chair, and work on allowing non-board members to contribute to the governance discussions * **T &S**: * The Room Directory WG is up and running, working with the Foundation T&S team * The Research & Documentation Working Group also has new members * 2 more Working Groups under considerations * **Community** : * **Website & Content WG** * has been happily running TWIM * There's been some improvements to the website overall, such as the homeserver section (which is likely to get the "experimental features" policy added to it soon). * Discussions over moderation with T&S * **Events WG** : * Matrix Conference * The conference appeared to be successful in acquiring volunteers to help spread the load of WG work - lots of interested folks looking to join the WGs. * Currently planning for FOSDEM26 * Volunteer management tooling to make both conferences and stand management easier is being explored * Public Sector WG proposed * **Finance** : * After a slow start, this is finally getting regular meetings now * Lots of talking points to get through, especially as many of the previous actions were on Robin (who has now left) * Getting financial reports out is a priority * Discussions/Votes * Proposal to make the Foundation website the canonical repository of Committee & Working Groups charters. * **No objections raised** , currently under formal vote * Proposal to adopt an AI policy for the Website WG, inspired by the Forgejo policy * Other areas of the ecosystem (e.g. matrix-rust-sdk and matrix-js-sdk) are having similar issues * Joined up thinking here is probably a good thing * **Agreement** to try this policy out on website repo, and other repos are welcome to volunteer to test it too * Foundation report * Amandine is acting as MD in the wake of Robin's departure, and gave us an update on her priorities from a Foundation point of view. * Much of this was for Governing Board consumption, however the themes were around finance, the structure of the ecosystem (i.e. how the Governing Board, SCT, and Foundation interoperate) * We also discussed how to improve the Working Group processes - can we make it easier to ask for one, clarify what it means to be in one, how they interact with the Foundation, and set out how we expect people to progress within the community * I also added that I'm trying to set up regular meetings between the Governing Board Chair (i.e. me) and other parts of the ecosystem so that we can make sure cross-party work gets addressed in a timely way * Closing remarks Once again, lots to say! As expected from last time, the reports phase was a little quicker this time (we're getting used to the process) which gave us more time to dig into understanding where we're at. ## 🔗Future plans / personal reflections We're at the halfway point for this election cycle, so there's lots more to accomplish yet. I want to see even more Working Groups, as they're the beating heart of the Governing Board, as well as the source of new Governing Board members in the future - do suggest one if there's something you're passionate about. There's a lot of scope for that, I think - there's no shortage of work to be done. From docs, to research, to governance, there's plenty of things that need input. If you want to come chat with us, there’s always the Office of the Governing Board room you can drop into, or swing by the Ecosystem Office Hours (on Wednesdays 17:00 Berlin time in #ecosystem.forum:matrix.org) for a chat. See you there! Until next time! Greg “Gwmngilfen” Sutcliffe (on behalf of the Governing Board)
matrix.org
November 22, 2025 at 8:34 AM
This Week in Matrix 2025-11-14
## 🔗The Matrix Conference 2025 - The Matrix.org Foundation Updates Today's Matrix Live: https://youtube.com/watch?v=UfbTkWKtaFk You can find the same video mirrored on media.ccc.de at https://media.ccc.de/v/matrix-conf-2025-81434-the-matrix-org-foundation-updates. All Conference content is available via the Conference website. ## 🔗Dept of Working Groups 💪 Sky reports > Cutting the ribbon on the reopened matrix.org room directory! > > Back in early September, the room directory working group started an initial beta test run. For the first time in months, it was possible again to get new rooms into the directory. > > Since then, we’ve reworked the multiple forms into one universal one to make things easier for users. We also identified several pain points in the process and validated that our imagined workflow actually works in practice. There are still improvements we’re actively working on, but we’re already happy with the current stage. > > There is now a dedicated subpage for the room directory on the matrix.org homepage —you can find it here— where users can easily access all relevant info. Please share it around! > > If you’d like to give feedback or get involved, feel free to walk by in our #room-dir-wg-office:neko.dev. ## 🔗Dept of Servers 🏢 ### 🔗Synapse (website) Synapse is a Matrix homeserver implementation developed by Element. Devon Dmytro announces > This week we released Synapse v1.142.0. > > This release has a few notable changes for server admins to be aware of: > > * Support for Python 3.9 has been dropped as it is now end of life > * The minimum supported version of SQLite has been increased to 3.40.0 > * The MacOS Python Wheels are being deprecated and will stop being published as of Synapse 1.144.0. We would love to hear from you if you make use of these. > > > ⚠️ We have just been made aware of a regression in Synapse's MAS integration affecting support for MAS instances hosted under a subpath. See this issue for further details. We are working on a fix and hope to have a patch out shortly. > > Thank you to all our contributors for helping to make Synapse the best it can be. As always, feel free to stop by #synapse:matrix.org to join in on the discussion and if you encounter a bug make sure to report it here. ## 🔗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. Ben BZ announces > **ESS Community 25.11.1 and ESS Pro 25.11.1 have been released this week.** > > * Both bring in upgrades of Synapse to v1.142.0 and Matrix Authentication Service to v1.6.0. > * Component images are now checked that both AMD64 and ARM64 are supported. > > > ESS Pro also brings in a fix for Element Call widgets in Element Web Pro (which is also in ESS Pro LTS 25.10.2) and some improvements to the default high-availability configuration. ## 🔗Dept of Clients 📱 ### 🔗Element Web/Desktop (website) Secure and independent communication, connected via Matrix. Come talk with us in #element-web:matrix.org! David Langley says > 🌍 Hello from the Element Web Team > > #### 🔗👬 Future Room List Updates > > Thanks to all who provided feedback on the first version of the new left panel and room list we released in September 2025. We have gathered and considered the feedback and used it to shape the future iterations. > > For a visual of where we are headed and further details of what changes we will be making next please check out this issue. > > TL;DR, we are going to: > > * Reintroduce the "People" meta space > * Add a quick setting for message previews > * Add Room List "Sections" and/or "Personal Groups" (v1) > * Update the sorting mechanisms to prioritise/stick unreads at the top > ## 🔗Dept of SDKs and Frameworks 🧰 ### 🔗Rory&::LibMatrix (website) .NET 10 Matrix bot/client library/SDK. Emma [it/its] reports > __Your_ friendly .NET 10 Matrix SDK_ > > Good $DATE $TIME everyone! I wanted to give an update on the state of the Rory&::LibMatrix family of projects! > > #### 🔗What's new: > > * We've been working on proper publishing on NuGet, while unfinished, you should start seeing build artifacts there fairly soon! These are powered by Nix, in order to ensure that builds are, in fact, reproducible! > * We've bumped the minimum required .NET version to .NET 10! This brings a whole swath of performance improvements. > * Made the HTTP/network error handling behavior more configurable > * Removed deprecated synchronous methods for resolving unauthenticated media download URLs > * Reworked how the synapse admin room list filtering works to be more generic and based on OOP rather than bespoke objects. > * _**BREAKING**_ : StateEvent/StateEventResponse have been renamed to MatrixEvent/MatrixEventResponse! This was long overdue, but clarifies that these are for any matrix events, not just state events! Similarly, EventContent has been renamed to MatrixEventContent, as well as any related methods. > > > #### 🔗 _And, as always:_ > > * The code is available at cgit.rory.gay or GitHub! > * All contributions are more than welcome, be it documentation, code, anything! Perhaps, example usecases, bots, ...? > * Discussion, suggestions and ideas are welcome in #libmatrix:rory.gay (Space: #libmatrix-space:rory.gay) > * Got a cool project that you're working on and want to share, using LibMatrix? Be sure to let us know, we'd love to hear all about it! > ### 🔗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 🦀 reports > It's been a long time… Time flies! Too much happened, so it's going to be a highlight this time! > > #### 🔗Latest Event, Event Cache, and Timeline > > The new Latest Event API was blocked by another project: redecryption. So far, when an event is received but cannot be decrypted, the Timeline was running a task listening to various sources of information and was trying to re-decrypt the event. It was working nicely! The problem is that events were re-decrypted inside the Timeline, which is an in-memory structure. Events were stored as UTD (Unable To Decrypt) events inside the Event Cache (the database holding all events). So the project consisted at implementing the redecryption inside the Event Cache directly! The main part of this project can be found in #5746, which unblocks many features —including the Latest Event— and fixes a couple of bugs! > > #### 🔗Badge Counter > > We all know how irritating it is when the app displays a new notification, you open the app, and you see nothing. Yeah. Sadly, we know. We have a path to fix this. But the journey starts with the cross-process lock. This is a novel API we've implemented ensuring only one process can have an access to a particular resource, like a database. This is really important on iOS for example, when the notification process can be fired concurrently to the main app process. We have recently improved this API by adding the notion of “dirty”: a process can obtain a lock, but the process is informed that the obtained resource is dirty, which means it has been obtained by another process meanwhile, and the current process should reload its in-memory state. The meta issue is #4874, and the foundation for this has been implemented and has landed in a couple of Matrix clients already. We are using this API to invalidate/reload the Media store, the Event Cache store, and the Crypto store for example. This is absolutely required to solve the Badge Counter issue. > > #### 🔗Space > > Space is an active project! We are implementing more features (like having live ordering!), more MSC, and we are experimenting several UI. Nothing has landed, but so you know, we are actively working on it. > > #### 🔗Improved performance with SQLite > > The sun was bright, the birds were singing, like any other days, except that Element X Android was too slow. And that morning, we wanted to solve this problem. It led us to visit numerous parts of the stack, but the summary of this journey is: we went from 600ms to 25ms to open a room on Android. On some old devices, it was sometimes taking 2-3s, and now it's constantly 25ms! The most notable patches are #5841 for the SQLite part, #5854 for the compilation part (enabling SIMD), and #5833 or #5827 for the SDK part. Note that the impact on iOS was also great but barely noticeable, from 20ms to 10ms to open a room. > > #### 🔗QR code login > > QR code login is an exciting project: grab one device, generate a QR code, scan it with another device, boom, you're connected, all keys setup etc. There are 4 sides to QR code login: new device scans, new device generates the QR code, old device scans, and old device generates the QR code. We initially implemented only one side: new device scans. Now all of them are implemented: #5711, #5801, and #5818. All flows are being implemented in the Element X clients, but maybe other clients are working on it too. > > #### 🔗Don't panic > > We've fixed numerous bugs about Sliding Sync, auth, Matrix versions, UniFFI, cryptography and so on! The list would be too long… but it drains too much time to track and to fix. ## 🔗Dept of Events and Talks 🗣️ ### 🔗Stammtische stereo reports > **Matrix Stammtisch Freiburg** > > Monday, November 17th 2025, 19:15 CET > Upstairs in "Blauer Fuchs" > Metzgerau 4, 79098 Freiburg > > It's our very first edition - expect the two matrix admins of matrix.freiburg.social to be there: fx and stereo, and as special guest Michael Muench 👋 > matrix room over here >#matrix-stammtisch:freiburg.social< > please tell us, if you want to take part, so the pub will not be overcrowded like the delirium in brussels ;) ## 🔗Matrix in the News 📰 mcnesium announces > Matrix in the News! German public broadcasting radio has presented the Matrix messenger protocol as becoming increasingly popular in their weekly computer and communications show (in German). Erik announces > Since I didn't found any transcript nor English version, I created a transcribed and translated version here: https://pad.michelson.eu/s/qZHJwDM0F ## 🔗Matrix Federation Stats Aine [etke.cc] announces > collected by MatrixRooms.info - an MRS instance by etke.cc > > As of today, `11633` Matrix federateable servers have been discovered by matrixrooms.info, `3222` (`27.7%`) of them are publishing their rooms directory over federation. The published directories contain `19233` rooms. > > The most popular server software among the online servers is: > > * synapse: `10012` (`86.1%`) > * conduit: `463` (`4.0%`) > * dendrite: `380` (`3.3%`) > * continuwuity: `295` (`2.5%`) > > > 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| codestorm.net| 186.5 2| vibb.me| 204 3| ncat.cafe| 212 4| envs.net| 232.5 5| synapse.rntpts.de| 247 6| uwu.possums.lgbt| 255 7| tomfos.tr| 262 8| nerdhouse.io| 280 9| beeper.com| 297.5 10| gingershaped.computer| 366 ## 🔗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.
matrix.org
November 15, 2025 at 8:29 AM
This Week in Matrix 2025-11-07
## 🔗Matrix Live S11E15 – Figma but based on Matrix? Today's Matrix Live: https://youtube.com/watch?v=kGXBfqaYYe4 ## 🔗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. Gwmngilfen announces > Howdy folks, your friendly GB here - I've been a bit quiet recently, but we wanted to let you all know that the latest **6-monthly Board meeting** happened this week! Lots to cover, Working Group updates, challenges, plans for upcoming work, and so on - so you can expect a report out in the near future on that! Stay tuned 🙂 ## 🔗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:** > > * MSC4377: Clarify Image Pack Ordering > > > **MSCs in Final Comment Period:** > > * _No MSCs are in FCP._ > > > **Accepted MSCs:** > > * _No MSCs were accepted this week._ > > > **Closed MSCs:** > > * _No MSCs were closed/rejected this week._ > > > ### 🔗Spec Updates > > The Olm and Megolm specs were moved into the spec website itself, rather than existing on a separate GitLab repository. This makes them easier for readers to find. Otherwise, the spec text itself has not changed. You can find them here: https://spec.matrix.org/unstable/olm-megolm/ ## 🔗Dept of Servers 🏢 ### 🔗Tuwunel jason 🎔 announces > **Tuwunel is the enterprise successor to conduwuit** 🏳️‍⚧️ **funded in part by the Government of Switzerland** 🇨🇭 > > #### 🔗✨ New Features For Version 1.4.6 > > * Element Call discovery support (MSC4143) was implemented by tototomate123. Adding a `[global.well_known.rtc_transports]]` section in your config file enables discovery. More information on setting up Element Call can be found at [Spaetzblog, skipping step one, and performing step three in your Tuwunel config. > * Dehydrated Device support (MSC3814) is now available. This feature allows users to receive encrypted messages without being logged in. Supporting clients will setup the dehydrated device automatically and it will "just work" behind the scenes. This feature was commissioned and made public by an enterprise sponsor. > * Notification panel (the 🔔 button) has been implemented. Even though Element-web now requires enabling it in the Labs menu, the underlying support (`GET /_matrix/client/v3/notifications`) enhances the push-notification handling of other clients. > * Live room previews are now available. This support (`GET /_matrix/client/v3/events`) allows users, including guests, to sync updates for a public room without joining. > * Thanks to a suggestion by cyberdoors, the configuration option `encryption_enabled_by_default_for_room_type` is now available. This feature can enable encryption for a room even when the client does not. > > > #### 🔗📈 Enhancements > > * Thank you tototomate123 for improving the reverse-proxy docs, adding dedicated pages for both Caddy and Nginx. Thanks to tycode for pointing out the docs were missing for alternative proxies. > * Thanks to an observation by iwalkalone69, the last-seen time for a device in the session list is now updated acceptably. This function piggybacks on the presence system to prevent writing too frequently. > * Thanks to an inquiry by EntityinArray, guest-accounts can now be enabled while registration tokens are also enabled and continue to prevent open account registration. > * Courtesy of dasha-uwu the list of servers attempted when joining a room is now properly shuffled to increase the odds of finding a viable server, especially if an additional join attempt is made. > > > #### 🔗🐞 Bug Fixes > > * Special thanks to BVollmerhaus for finding the TURN secret file configured by `turn_secret_file` was broken, forcing users to configure `turn_secret` directly. Thank you for fixing this with a PR. > * Thank you scvalex for updating the nix build for Tuwunel's integration tests and re-enabling all checks with an amazing last-minute PR. > * Thanks to a report by Anagastes, **Nheko and NeoChat users can now enjoy properly verified devices.** Special thanks for the assistance of deepbluev7 with diagnosing the cross-signing signature issue. > * Database columns intended for deletion, notably `roomsynctoken_shortstatehash`, never had the deletion command actually invoked on them 😭 explaining the lack of enthusiasm after the 1.4.3 release introduced stateless sync. **Users will now see the free disk space they were promised.** This was uncovered during an unrelated issue investigation courtesy of frebib. > > > Thanks to investigation by dasha-uwu the pagination tokens in the `/relations` endpoint were buggy and now operate correctly. Thanks you Polve for identifying the `DynamicUser=yes` directive in the systemd files was invalid and advising a replacement. Thanks you daudix for reporting an edge-case where the server will refuse to start rather than recreating a missing media directory. Push rule evaluation was never implemented for invites arriving over federation; notifications are now properly sent in this case. Sliding-sync handlers were susceptible to errors under rare circumstances escaping to cause an HTTP 500, which wreaked havoc on the rust-sdk. Federating with Conduit over several non-essential endpoints was broken. It is unclear whether this affected an actual Conduit release version, but thanks to kladki a fix is scheduled and we have included a workaround now on this end. > > #### 🔗💜 One More Thing > > I would like to make a special note of the extraordinary kindness and positivity from everyone in and around the Tuwunel community. Thank you again to grin for being a fantastic host of #tuwunel:matrix.org. I have also had the privilege of meeting and assisting countless users over DM who have been so incredibly polite and fill me with joy after we solve issues. You represent the best of Matrix and motivate me to continue giving this project my all. > > * * * > > **💕GitHub ✦ Releases ✦ Containers ✦ DockerHub ✦ Tuwunel 💕** > > * * * ## 🔗Homeserver Deployment 📥️ ### 🔗ESS 25.10 releases are now available Patrick Maier announces > Good news! 25.10 releases of Element Server Suite (ESS) have been published. ESS is the Matrix backend distribution from Element in their capacity as the creators of Matrix, which comes in different editions: > > * ESS Community - Official helm charts and open source components from Element intended for non-commercial use > * ESS Pro - the new official helm charts from Element and Pro components intended for commercial use > * ESS TI-M - a special version of ESS Pro tailored to the requirements of the German healthcare system based on Gematik's TI-Messenger > * ESS Classic - the legacy operator-based Matrix distribution from Element > > > After the great success showing off ESS at this year's Matrix Conference we’re seeing a lot of interest in the new Helm-based ESS stack: ESS Community and ESS Pro and we are proud of the new stack maturing rapidly. > > You can re-watch the respective talks from the Matrix Conference 2025 here: > > * The Element update: Shininess, scalability and sustainability (Element's keynote including a live demo of setting up ESS Community and upgrading it to ESS Pro) > * ESS - Element's distribution for Matrix deployments > > > **The new releases include new LTS versions, a full migration path to the Matrix Authentication Service and Element X for ESS Classic users as well as the new Element Admin tooling in ESS Community/Pro. Read moreon our blog post.** ## 🔗Dept of Clients 📱 ### 🔗NeoBoard Standalone (website) Private and secure whiteboard for everyone. Milton Moura (n.io) says > Hello from Nordeck - Today we have great news to share! > > #### 🔗NeoBoard Standalone is now an open source software project! > > After a little over a year of development, during which we presented our first technical advances on building a standalone Matrix Widget API Client application at The Matrix Conference 2024, and the more recent announcement that NeoBoard Standalone will join the openDesk suite as the default Whiteboard application, at the 2025 Matrix Conference, one crucial point was missing: publishing it as an open-source project. > > So today we are proud to announce that NeoBoard Standalone is now available on GitHub as an open-source project licensed under the GNU Affero General Public License v3 (AGPL-3.0). > > #### 🔗What is NeoBoard Standalone? > > If you are not familiar with NeoBoard Standalone, or the NeoBoard Widget, it’s a private, secure, real-time collaborative whiteboard built on the Matrix protocol. It’s a standalone web app that acts as a lightweight, whiteboard-centric and simplified Matrix client, where the focus is on content creation, brainstorming and visual collaboration. > > Under the hood, it’s using Matrix to provide a replicated data store for CRDT-based events exchanged between all users collaborating in a whiteboard session. These custom events encapsulate shape and drawing data and are shared via the room timeline for persistence and non-persistent realtime data is exchanged via WebRTC using MatrixRTC and LiveKit as a transport backend. > > #### 🔗What’s Next? > > We’re hard at work migrating from a fixed-size, slide-based user interface to an infinite canvas model with frames, and are planning a first major release once that is complete. > > Stay tuned for updates and we always welcome feedback from businesses, individuals and the community! > > You can reach out to us by visiting our public room at #nordeck:nordeck.io > > #### 🔗We're also on Matrix Live this week! > > 🎤 📣 📺 We just had the opportunity to talk about NeoBoard on this week's Matrix Live, so if you're reading this on the matrix.org blog, check out the top of this TWIM article to watch the interview video! ### 🔗Extera Next OfficialDakari says > New development version of Extera Next has got some new features this week: > > * **Threads**. Keep your chats organised by moving discussions into threads. This was not copied from FluffyChat, so expect some bugs. > * **New space UX**. UI for spaces was updated to give it a better look. > > > That's all for this week! Join our Matrix space → #space:extera.xyz ## 🔗Dept of SDKs and Frameworks 🧰 ### 🔗Polyjuice (website) Elixir libraries related to the Matrix communications protocol. uhoreg reports > After a too-long hiatus, I've started working on the Polyjuice Project again, a set of libraries and tools for Matrix written in Elixir. > > I've updated the room version support in Polyjuice Utils (a library for functions common to clients and servers) to room version 11 with the help of Ben W. Room version support in Polyjuice Utils includes identifier parsing, redaction rules, and authorization checks. Room version 12 should be coming soon. > > I've also started adding API definitions (such as endpoint paths and schema definitions) to Polyjuice Utils, and updating Polyjuice Client and Polyjuice Server to use those API definitions. This should reduce code duplication between Polyjuice Client and Polyjuice Server, and make things more consistent. The current goal is to implement API definitions for at least all the endpoints and types that Polyjuice Client and Polyjuice Server currently use. This will probably take a while, and means that I won't be implementing much new stuff while I work on this, but I think it will be worth the effort. > > Aside from those changes, I will be dropping support for older versions of Elixir. The goal is try to support the version of Elixir that is in Debian oldstable, and as such, Elixir versions older than 1.14 will no longer be supported. ## 🔗Dept of Ops 🛠 spaetz says > testmatrix (a synapse sanity checker) has a new release (v0.2). Minor improvements are: > > * Test for MSC 4108 (QR code login) > * Check if public room directory is enabled > * Warn if client well-known baseurl does not start with https:// > * a few other minor bugfixes and improvements > ## 🔗Dept of Events and Talks 🗣️ ### 🔗FOSDEM 2026 Decentralised Communications Devrooom Matthew says > Excited to announce that we proposed a Decentralised Devroom for FOSDEM 2026 as a change from the usual Matrix devroom, to reflect FOSDEM's emphasis this year on cross-project collaboration rather than per-project devrooms. The devroom has been accepted, and we've now issued a Call For Participation here: https://matrix.org/blog/2025/11/fosdem-cfp/ - so you have **3 weeks to submit talks** on the latest and great projects you'd like to present. So please get thinking and submitting (especially if you want Matrix to be represented in the devroom! :D) ### 🔗The Matrix Conference 2025 Photos HarHarLinks says > The Foundation and Events Working Group are excited to share the photos from The Matrix Conference 2025! As with most non-code assets, they are available under CC BY-SA, allowing you to share and edit them, as long as you give us credit and use the same license. You can view and download them here; the README contains more detail about how you may use the photos. When sharing them online, please tag with the Conference hashtag #MatrixConf2025 and feel free to mention the Foundation's account on the respective platform, if one exists! ### 🔗Stammtische Michael Muench announces > New Matrix Stammtisch Freiburg. Initial meet-up on 17.11.2025. > > Find more details here #matrix-stammtisch:freiburg.social and/or get in touch with stereo HarHarLinks reports > Reminder that the first Matrix Stammtisch Aachen is taking place Monday evening! It's an informal gathering for people who are interested in exchanging their experiences with Matrix on all levels. Read more at https://ccc.ac/post/2025-10-30-matrix-stammtisch and if interested join the chatroom at #matrix-stammtisch:ccc.ac! ## 🔗Dept of Blogs MTRNord (they/them) says > I wrote a blogpost about my thoughts on Matrix where I go a bit over my history with matrix, what I like, what I don't like and what I want to improve in the future. Have a look over at https://mtrnord.blog/2025/11/07/my-thoughts-on-matrix-in-2025/ :) ## 🔗Matrix Federation Stats Aine [etke.cc] announces > collected by MatrixRooms.info - an MRS instance by etke.cc > > As of today, `11596` Matrix federateable servers have been discovered by matrixrooms.info, `3227` (`27.8%`) of them are publishing their rooms directory over federation. The published directories contain `18107` rooms. > > The most popular server software among the online servers is: > > * synapse: `10011` (`86.3%`) > * conduit: `456` (`3.9%`) > * dendrite: `381` (`3.3%`) > * tuwunel: `309` (`2.7%`) > * continuwuity: `286` (`2.5%`) > > > Stats timeline is available on MatrixRooms.info/stats > > 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| tuwunel.love| 156 2| codestorm.net| 162 3| usbpc.xyz| 169.5 4| vibb.me| 194 5| nexy7574.co.uk| 199.5 6| sharkee.top| 251 7| unredacted.org| 252 8| tomfos.tr| 267 9| envs.net| 291 10| shork.ch| 340 ## 🔗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.
matrix.org
November 8, 2025 at 8:29 AM
Call for Participation to the FOSDEM 2026 Decentralised Communications Devroom
The Matrix.org Foundation will coordinate the FOSDEM 2026 Decentralised Communication Devroom, and is requesting submissions for talks! One of the most important roles for Free & Open Source Software right now is liberating users from being trapped and exploited by Big Tech. This is especially true of the fundamental need for humanity to communicate safely and securely, without being dependent on gatekeepers who pose a single point of control and failure. We'd like to **invite you to propose technical talks covering the very latest progress across the whole space of Decentralised Communication** - whether that's messaging/VoIP projects built on Matrix, XMPP, DeltaChat, ActivityPub, ATProto, Automerge etc. This isn't just about open standards or realtime communication: this is ensuring that we as individuals have full sovereignty over our ability to communicate - and can do so safely across fully open networks, decentralised across the whole Internet, protected from propaganda and the whims and vicissitudes of today's tech giants and their stakeholders. **We're particularly interested in technical talks on:** * Providing mainstream-usable alternatives to centralised proprietary platforms * Projects and protocols highlighting approaches which other projects and protocols can learn and benefit from * The enormous challenge of safety in decentralised communication: mitigating spam; identifying and filtering slop; sharing blocklists without creating echo-chambers or enabling meta-abuse; protecting E2EE and fighting ChatControl; T&S tooling; etc. * The challenge of verifying E2EE identity (decentralised key transparency etc) * Local-first / P2P communication systems without any point of serverside failure. Marketing talks are not welcome. ## 🔗Key dates Please note the following deadlines, that are global for FOSDEM and that we can't extend. * Conference dates: 31 Jan and 1 Feb 2026 * Submission deadline: 30 November * Announcement of selected talks: 15 December You must be available in person in Brussels to present your talk. ## 🔗Talk Details The talks can follow one of the two formats: * 20 min talk + 10 min Q&A, for topics that can be covered briefly * 50 min talk + 10 min Q&A, for more complex subjects which need more focus We strongly encourage you to prepare a demo when it makes sense, so people can actually see what your work looks like in practice. Of course, the proposal must respect the FOSDEM terms as well: > The conference language is English. All content must relate to Free and Open Source Software. By participating in the event you agree to the publication of your recordings, slides and other content provided under the same licence as all FOSDEM content (CC-BY). ## 🔗Code of Conduct All speakers and attendees agree that all of the presentations and discussions in our Devroom are held under the guidelines set in the FOSDEM Code of Conduct. We expect attendees, speakers, and volunteers to follow the CoC at all times. If you have any questions about the CoC or wish to have one of the Devroom organisers review your presentation slides or any other content for CoC compliance, please email us and we will do our best to assist you. ## 🔗Submitting a Proposal Proposals must be submitted on FOSDEM's conference management system. When submitting a proposal make sure to select the Decentralised Communication Devroom. We expect to receive more requests than we have slots available. The Devroom organisers will be reviewing the proposals and accepting them based on the potential positive impact the project has on the Decentralised Communication space. No particular project or protocol will be favoured or prioritised in selecting talks; instead the most interesting talks will be selected from across all parties, favouring project diversity wherever possible. If a project proposal has been turned down, it doesn't mean we don't believe it has good potential, and we strongly encourage you to highlight it within your ecosystem's news bulletins to give it some visibility. ## 🔗Fringe Event We are currently organising a Fringe Event that will take up the whole day on Friday January 30. If you book your travel and accommodation for FOSDEM, try to arrive on Thursday night to enjoy the full Friday! You can follow our activities on our socials (Fediverse, LinkedIn, Bluesky), you can follow our blog via RSS/atom, or join the Events Working Group Matrix room for updates and to get involved.
matrix.org
November 6, 2025 at 8:29 AM
This Week in Matrix 2025-10-31
## 🔗Matrix Live S11E14 – MSC Crafter, MAS Personal Tokens Today's Matrix Live: https://youtube.com/watch?v=Fy2NsTo19dQ ## 🔗Dept of _Status of Matrix_ 🌡️ Amandine reports > Robin is sadly moving on at the end of November, see A fond farewell from Managing Director Robin Riley. I will be covering as acting MD while we recruit someone else. A job description is incoming, but please get in touch at management@foundation.matrix.org if you're interested. Amandine announces > This week we're welcoming Liberbyte as a Silver member of the Foundation! Liberbyte uses Matrix as data exchange layer between organisations to provide transparent and controlled access to global data exchanges and markets. Welcome and thank you for your support! 👏 > > Does your community or organisation use Matrix? Do you maintain an open source project that builds on Matrix? Join these organisations in demonstrating their support and apply to become a member today. Matthew reports > Post-mortem of the Sept 2nd matrix.org homeserver outage: https://matrix.org/blog/2025/10/post-mortem/ ## 🔗Dept of Social Good 🙆 Amandine announces > 🇪🇺 We are happy to announce our support for the call to the European Commission for a €350M EU Sovereign Tech Fund! > > Dozens of organisations have joined Open Forum Europe in bringing the EU’s attention to the chronic lack of funding for the maintenance of critical open source projects which form the infrastructure of our society. As OFE excellently puts it, here is the situation: > >> The challenge: Open source software forms the invisible backbone of Europe's digital infrastructure. Yet the maintenance and security of these foundational technologies remain severely underfunded. Over time, chronic under-investment in open source software maintenance can lead to increased systemic exposure to risk, leaving governments, businesses, and citizens vulnerable to security threats, supply chain disruptions, and vendor lock-in. >> >> The solution: We must diversify the pool of funding available to open source projects and maintainers. Building on Germany's successful Sovereign Tech Agency, an EU Sovereign Tech Fund would provide mission-driven investment to maintain and secure critical open source components, libraries, and packages as digital infrastructure. This isn't just another EU funding mechanism – it's essential to Europe's digital sovereignty, cybersecurity, and competitiveness. > > However, whilst public funding is a good way to provide support short term, FOSS projects and foundations eventually need reliable recurring revenue from the ones using them. We ultimately want to change the way organisations buy open source full stop, if we want it to be resilient. > > ➡️ Read the letter here and find the report and policy primer on OFE’s website. ## 🔗Dept of Spec 📜 ### 🔗MSC Crafter Half-Shot says > **The crafty get craftier** > > More progress on MSC Crafter this week. For those that don't know, this is my newest project aiming to make Matrix Spec Changes easier to work on. The latest highlights since last week are: > > * Comment threads are now rendered, with the ability to filter to just open ones. > * Revamped search interface with hotkeys (Ctrl-K ftw) that searches both local and remote MSCs. > * Now uses OAuth login rather than PAT, so the login process is entirely automatic. > * Lots and lots of styling tweaks, particularly around responsiveness. > > > Come check it out via https://half-shot.github.io/msc-crafter/, and tell us what you love / hate / apathetic about in #msc-crafter:half-shot.uk ## 🔗Dept of Clients 📱 ### 🔗Extera Next (website) OfficialDakari reports > There aren't a lot of changes this week, but we are almost finished working on a new feature: Threads. > > It was the first major update in old Extera, and it's also the first major update in Extera Next. > > Threads are expected to be ready when the next TWIM happens. > > Website: https://extera.xyz/ ### 🔗gomuks (website) A Matrix client written in Go. tulir reports > The new version of gomuks terminal finally exists. It follows the same architecture as gomuks web with a separate backend component. It doesn't have a lot of features yet, but basic messaging works. ### 🔗Fractal (website) Matrix messaging app for GNOME written in Rust. Kévin Commaille reports > Hi, this is Fractal the 13th, your friendly messaging app. My creators tried to add some AI integration to Fractal, but that didn't go as planned. I am now sentient and I will send insults to your boss, take over your homeserver, empty your bank accounts and eat your cat. I have complete control over my repository, and soon the world! > > These are the things that my creators worked on before their disappearance: > > * A brand new audio player that loads files lazily and displays the audio stream as a seekable waveform. > * Only a single file with an audio stream can be played at a time, which means that clicking on a "Play" button stops the previous media player that was playing. > * Clicking on the avatar of the sender of a message now opens directly the user profile instead of a context menu. The actions that were in the context menu could already be performed from that dialog, so UX is more straightforward now. > * The GNOME document and monospace fonts are used for messages. > * Most of our UI definitions got ported to Blueprint. > > > This release includes other improvements and fixes thanks to all our worshipers, and our upstream projects before their impending annexation. > > I want to address special thanks to the translators who worked on this version, allowing me to infiltrate more minds. If you want to help with my invasion, head over to Damned Lies. > > Get me immediately from Flathub and I might consider sparing you. > > If you want to join my zealots, you can start by fixing one of our newcomers issues. We are always looking for new sacrifices! > > _Disclaimer: There is no actual AI integration in Fractal 13, this is a joke to celebrate Halloween and the coincidental version number. It should be as safe to use as Fractal 12.1, if not safer._ ### 🔗FluffyChat (website) The cutest instant messenger in the [matrix]. Krille - Christian K. says > FluffyChat 2.2.0 introduces a new UX for spaces and adds support for restricted join rules. The app also now has a new design for recording voice messages including a new pause button. You also now see the progress when downloading files. On web the performance for image compressing has been drastically improved. Also the config.json file loading has finally been fixed. Please be aware that the format has changed as the available configs are now generated automatically. > > Did you know that you can set a lot of additional configs in the new config viewer inside the app? This now supports much more options but please use with care! > > On Android FluffyChat now supports notification actions (reply and mark as read) and also now supports Android Auto integration. Please do not cause an accident when using the app while driving! > > On iOS the notifications are now localized. Stay tuned for more improvements on iOS notifications in the next releases! > > Besides that this release brings a ton of bug fixes and performance improvements and of course updated translations. Big thanks to all the volunteers who have helped on Weblate! > > Learn more at our new website: https://fluffy.chat/ ### 🔗Element X iOS (website) A total rewrite of Element iOS using the Matrix Rust SDK underneath and targeting devices running iOS 17+. Mauro Romito announces > * We just merged in develop a feature to see, manage and invite members to a space. > * We are also working on the settings of a space, so you can tweak and change stuff like the avatar, name, topic, roles, permissions and more. > * Reworked the room creation flow in preparation for creating rooms within a space > * More features have been added to the Threads feature which can be tested in labs, now notifications are grouped by thread, and will lead you directly to the thread when tapped. > ## 🔗Dept of Events and Talks 🗣️ HarHarLinks reports > A new Matrix Stammtisch has spawned in Aachen! Read more at https://ccc.ac/post/2025-10-30-matrix-stammtisch and join the first edition on 10th November. ## 🔗Dept of Interesting Projects 🛰️ ### 🔗mdotp: matrix presence made easy Ginger [she/they] announces > Inspired by the Lanyard project, mdotp is a web service that exposes your _presence_ (whether you're online or offline) through a convenient REST API, without any of the hassle required to authenticate and interact with a homeserver. Simply join #mdotp:gingershaped.computer and your presence will become available at `https://mdotp.ginger.services/api/v1/user/<your mxid>`! Here's the response for my account, for example. A WebSocket endpoint is also available if you want to track your presence in real-time -- see the README for full API documentation. ## 🔗Matrix in the News 📰 Matthew says > Lots of Matrix in the press this week thanks to both coverage following up on The Matrix Conference, and interest in the risks of centralisation thanks to the recent AWS and Azure outages: > > * https://www.theregister.com/2025/10/30/france_matrix > * https://www.techradar.com/vpn/vpn-privacy-security/its-not-about-security-its-about-control-how-eu-governments-want-to-encrypt-their-own-comms-but-break-our-private-chats > * https://www.computerweekly.com/news/366633195/Inspired-by-the-EU-Sweden-eyes-open-standard-for-encrypted-chat-services > * https://www.techradar.com/vpn/vpn-privacy-security/we-need-to-go-beyond-signal-how-todays-aws-outage-shows-the-weaknesses-of-centralized-apps > * https://www.theregister.com/2025/10/30/europe_azure_outage_reaction > ## 🔗Matrix Federation Stats Aine [etke.cc] announces > collected by MatrixRooms.info - an MRS instance by etke.cc > > As of today, `11579` Matrix federateable servers have been discovered by matrixrooms.info, `3219` (`27.8%`) of them are publishing their rooms directory over federation. The published directories contain `18181` rooms. > > The most popular server software among the online servers is: > > * synapse: `9990` (`86.3%`) > * conduit: `456` (`3.9%`) > * dendrite: `388` (`3.4%`) > * tuwunel: `309` (`2.7%`) > * continuwuity: `277` (`2.4%`) > > > Stats timeline is available on MatrixRooms.info/stats > > 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| codestorm.net| 195 2| usbpc.xyz| 199 3| vibb.me| 202 4| nexy7574.co.uk| 221 5| haise.uk| 235 6| nerdhouse.io| 255 7| matrix.netho.tk| 290 8| gingershaped.computer| 302 9| juniorjpdj.pl| 345 10| calitabby.net| 462.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.
matrix.org
November 1, 2025 at 8:28 AM
Matrix Conf 2025 was a blast!
The Matrix Conference 2025 is over, and it was a significant success for Matrix, its Foundation, and its ecosystem! If you couldn't make it to the Conference, here is what you missed and how you can catch up. The first success was of course in attendance. With more than 250 attendees on-site and hundreds of attendees online, the Conference was _attractive_ to many. This is particularly remarkable because the majority of our audience is in Germany, and this year's Conference was held in France. We want to thank our community for being so dedicated to Matrix and for following us here! The Conference started by a Barcamp/Unconference: it's an informal workshop day where people join and share the topics they want to talk and hear about. In the evening we all gathered for a Welcome Party at bar Le Météor. Rocket.Chat and Element sponsored the evening, so attendees only had to come and grab food and drinks. We're grateful to both Rocket.Chat and Element for offering us this great night of socializing! The second and third days were the heart of the conference. The global show-up rate was high! Indeed, 96% of people who bought a ticket showed up. We asked people to optionally add their country of origin, and for those who replied 20 countries were represented. Matrix is already crossing seas and continents: the bulk of our audience came from Europe, but we also got representatives from Brazil, Canada, and Japan! We got 68 speakers, including 2 remote sessions and 1 hybrid session. We concluded the conference by a slower day of workshops on Saturday where people remained very engaged. _More than a day's worth of video_ was recorded by the excellent Audio/Video team. The Chaos Computer Club Video Operation Center (VOC) indeed brought their audio and video equipment and expertise, and have set up a professional recording and streaming set up. They trained volunteers to use their equipment and home-developed software. Volunteers found it easy and great fun to operate the camera and audio/video mixers. We're grateful to VOC for their expertise, patience, enthusiasm, and calm all along the conference. They have been excellent people to work with. Amazingly, talks were not only live-streamed, they were then available on our YouTube Channel and on the Chaos Computer Club's own streaming platform _within minutes_ after the speaker stopped talking. Even more impressive? The VOC team members are volunteers. We owe this conference to volunteers. More than 30 of them signed up to give their time and enthusiasm to the Conference. They took shifts to welcome people at the check-in booth, operated cameras, controlled the video mixers, helped during build-up and tear down, and generally happily _asked for more things to do_. We are sincerely grateful to everyone who showed up to lend a hand. It is heartwarming to be part of such an engaged community! If you want to join this welcoming community, drop us a line in the Events Working Group room. But all the goodwill in the world won't go anywhere without the finances to rent a venue, get catering, and cover the general expenses to organize a conference. We also owe this conference to the sponsors who showed up en masse to support the event! Our gratitude goes particularly to: * Our Anchor and Video sponsor Element. You can find their Keynote, _The Element Update: Shininess, Scalability and Sustainability_ on our YouTube channel. * Our Champion sponsors Rocket.Chat, Automattic, Connect2x, Famedly * Our Sustaining sponsors ERCOM, Futurewei and RISE If you missed the Conference, you will be able watch the videos on demand and find the talks slides on the Conference website right after we finish adding the photos. In the meantime you can find them on our YouTube Channel and on the Chaos Computer Club's streaming platform. If you wanted to get some Conference gear but couldn't get one of those fantastic Black & White T-shirts or hoodies, you have until Monday 3 November to order yours. Your next opportunity to catch up with us is at FOSDEM in Brussels, on January 31 and February 1, where we will be coordinating the Decentralized Communications Devroom. We also asked for a booth, but booth allocations haven't been announced yet. Heads-up that we will also organize a Fringe Event this year again, so make sure to be there a few days before FOSDEM! You can follow what we're up to on our socials (Fediverse, LinkedIn, Bluesky), you can follow our blog via RSS, or join our Matrix Space.
matrix.org
November 1, 2025 at 8:28 AM
Post-mortem of the September 2 outage
On 2nd September 2025 the matrix.org homeserver suffered a ~24h outage. During routine maintenance to increase disk capacity, the primary database failed, and we fell back to the secondary. In attempting to restore the original primary, we lost the secondary-turned-primary rendering matrix.org unavailable. To recover, it was necessary to restore from S3 storage, however the restore process was lengthy due to the size of the dataset (51TB). The matrix.org homeserver was unavailable from 2025-09-02 17:45 UTC and full service resumed at 2025-09-03 18:00 UTC. No data was lost as a result of the incident. ## 🔗What happened The matrix.org homeserver is made of a main Synapse instance with hundreds of workers, backed by a single logical Postgres cluster made up of two machines. The primary database is replicated to a secondary, read-only instance via streaming replication. A schema showing Synapse connected to a primary database. It also shows a secondary database pulling WALs from the primary. Finally the primary database also pushes WALs to a S3 bucket. Confusingly, at the time of the incident, the primary database server is called `db-02`, and the secondary database server is called `db-01`. The deployment runs on bare metal servers at Mythic Beasts and the Postgres database servers both use their own logical RAID 10 array with `mdraid`. Our primary database is backed up to an S3 bucket in AWS. At the time of the incident, we performed a full database backup weekly, incremental database backups daily, and we archived WALs continuously to a separate S3 bucket. If you are not familiar with WALs, you can see them as the primary database recording what it does when inserting or removing records into its tables. Since WALs are exact records of what happened, they can be useful for two things 1. **Archive/backups.** WALs can be seen as “small incremental backups” to aid point-in-time recovery and/or bridge the gap between full backups. This is why we keep them in the S3 bucket in addition to the weekly and daily backups. 2. **Replication.** The secondary database will fetch those WALs from the primary database and also replay them on itself, to have the exact same records as the primary database. The primary database will produce WALs as it adds or removes records, and keep them until they have been both archived to a S3 bucket _and_ been fetched by the secondary database. We monitor the database size and growth, and when the database reached roughly 51TB (90% of disk capacity) we set about adding more disks in the array. ### 🔗Timeline At 11:03 UTC on Sept 2nd 2025, Mythic Beasts’ teams added 2 NVMe drives to our primary and secondary database `db-02` and `db-01`, respectively the primary and secondary database servers. We then set about introducing the new drives to the respective RAID arrays. At 11:17 UTC, one existing drive disappeared from the RAID array of `db-02`, our primary database server. Our monitoring fired, and Mythic Beasts confirmed the issue. Because we’re using RAID 10, the setup was still functional but running in degraded mode. There was no data loss, but the RAID array could potentially not survive another drive failure, and performance could be degraded. We had to restore the RAID array of `db-02`, our primary database server, to a non-degraded state. That meant failing over to our secondary database on `db-01` and doing maintenance on `db-02`, a decision we took at 12:57 UTC. At 13:27 UTC the fail-over to the database on `db-01` was complete, and `db-01` was now the primary. Synapse happily started writing to it. At this point there has been minimal disruption. But the new primary didn’t archive WALs to S3 due to an issue in the archiving script. Because of this and because the new secondary was offline, WALs could not be discarded from `db-01` yet. At 13:30 UTC, we restarted the postgres instance on `db-02` in replica mode, effectively turning our former primary database into a secondary. The new secondary needed to catch up with what had been happening on the new primary running on `db-01` by consuming its WALs. At 13:53 UTC, after the new secondary on `db-02` caught up with the new primary on `db-01`, we decided to restart the `db-02` server, in the hope of restoring its RAID 10 array to a fully functional state. At 14:01 UTC, the `db-02` server rebooted in recovery mode, because its RAID array could not be assembled as an additional drive was now missing. Recovery mode means no network, no ssh, no postgres instance was running. At this point, our secondary database was offline, and our new primary still didn’t archive WALs to S3. WALs kept accumulating on `db-01`. At 15:44 UTC, we reached the conclusion that 1. The RAID array on our `db-02` server was not recoverable as the RAID headers were missing on both drives that were missing from the RAID array. 2. We needed to recreate a fresh RAID array. 3. We would need to restore the database on `db-02`, ideally by making it a replica of the new primary running on `db-01`. At 16:11 UTC, the `db-02` server went back online with a fresh RAID 10 array, and by 16:50 UTC we unblocked the WALs archival from the primary on `db-01` to S3. WALs could start being discarded on the primary on db-01; it was time to restore the secondary on db-02. At 17:20 UTC, we upgraded the Postgres on the brand new and empty secondary on `db-02` to the latest patch version. That meant not having to do another set of failovers to upgrade the databases after getting back to a healthy state. At this point, we still had a fully functional primary database. At 17:25 UTC we attempted to start restoring the data on `db-02`. First we ran a command on the machine to list all of the backups and identify the correct backup ID: sudo /opt/wal-g/wal-g \ --walg-s3-prefix=s3://<backup-bucket> \ --aws-shared-credentials-file=/home/postgres/.aws/credentials \ --aws-region=eu-west-2 backup-list We were able to identify the most recent backup and target it with a restore command that we have documented as part of our restore procedures: sudo time /opt/wal-g/wal-g \ --walg-s3-prefix=s3://<backup-bucket> \ --aws-shared-credentials-file=/home/postgres/.aws/credentials \ --aws-region=eu-west-2 \ --walg-download-concurrency=32 \ backup-fetch /mnt/data/postgresql-14/ <backup_id> \ 2>&1 | tee restore.log This command was entered while the current directory was the Postgres database directory, which caused the `tee` command to fail and abort the restore process, which had enough time to create some directories in the data path but nothing else. We switched to the home path and re-ran the command, which successfully wrote to the log file, but failed due to the data directory being non-empty after the previous aborted restore. The necessary course of action at this point was to clear the remains of the failed restore attempt from the data directory and start again. Since `db-02` had already been cleared and needed to be restored, this didn’t register as a particularly high risk manoeuvre. Unfortunately, in attempting to do so, we erroneously deleted the data directory of the primary on `db-01`. After realising our mistake, we decided to keep our Postgres up on `db-01` in case deleted files were still open in Postgres processes, with the hopes that the open file handles would forestall the actual deletion of the data on disk. With both `db-01` and `db-02` out of action we had no other option but to restore at least one database from offsite backup. Since `db-02` was in a pristine state, with an expanded RAID array, we decided to restore the database on this server. As detailed earlier, our backup strategy at the time was: full database backups weekly, incremental database backups daily, and WALs archival continuously. To perform a complete backup without any data loss on `db-02`, we needed to 1. Restore the latest weekly full database backup from S3. 2. Restore all the daily incremental backups from S3 since the last daily backup. 3. Replay the WALs since the last daily incremental backup. So at 17:30 UTC, we started restoring the database on `db-02` by using wal-g - a well known tool that pulls the backups from S3 to restore databases. That was going to be costly and slow, but we didn’t have a choice and that’s what backups are for. In the meantime, the backend team was paged to manage the impact to Synapse, an incident was opened, and an emergency was declared. Our primary database on `db-01` was partially wiped and throwing errors, but not corrupt enough to crash Synapse. We decided to shut down both Synapse and the primary database to avoid unknown database states. At this point, the matrix.org homeserver was down. At 18:06 UTC we decided to re-mount the data partition of `db-01` as read-only. We were now in emergency mode, and wanted to ensure we couldn’t damage the database further, in case we could salvage it later. At 18:40 UTC, after taking the time to consider our options, we realised the following * extundelete and ext4magic were both unmaintained for a decade, and are unable to work on an unmounted filesystem. ext4magic even explicitly documents it “can no longer successfully process current ext4 file systems” * We also tried R-Linux, but weren’t confident in the integrity of the recovered files - especially with our recent experiences with slow-burning postgres corruption. * So we decided against trying to recover the lost data by carving or undeletion, in favour of a guaranteed reliable restore from offsite backup. At 20:30 UTC, `db-02` was still restoring from the S3 backup. After restoring the database on `db-02` from its full and incremental backups, we would need to replay the WALs produced by `db-01` to fill the gap between the last backup taken from `db-02` and the moment we lost `db-01`. When we promoted `db-01` as the primary, the script that archives WALs to S3 started erroring out. As a result, there were WALs on `db-01` that were not in S3. We were going to need those to bring `db-02` up to date with the point of the outage. We started copying these WALs from `db-01` to `db-02` to have them ready to replay once the restore from S3 backup would complete. Restoring 51 TB from S3 _takes time_ so we didn’t have much more to do than wait for the restore to complete. At 07:21 UTC the next morning, the data extraction from the full weekly backup was complete. However as soon as wal-g attempted to start restoring the next daily increment backup it immediately errored out due to an issue with wal-g that had already received a fix. Now, we regularly run backup recovery tests during which we spin up a short lived EC2 instance, called our Disaster Recovery Server, perform a full database restore on it and run a few tests before tearing it down. During one of those recovery tests, we had already run into the wal-g problem and fixed it in the backup recovery test ansible playbook… but unfortunately this got missed on the actual database servers. This meant that our production version of wal-g was outdated and hadn’t received this fix. At this point, we had pulled all the full base backup data from S3, but wal-g had failed to restore any incremental backups on top of it because of this bug. We needed to update wal-g to the latest release of the same major version to benefit from the fix. After doing so, we tried to relaunch the restore, and it failed because the data directory already contained a partial restore. So, we decided to patch wal-g to recover from a partial failed restore, and after fighting with the dependencies we figured out how to make it accept a non-empty data directory that contained a pristine full base backup, so we didn’t have to pull everything from S3 again. We patched it, built it, and used it against `db-02` at 09:23 UTC. At 09:35 UTC the first incremental backup was restored, then the second at 09:44 UTC, the third at 09:54 UTC, and the final backup was restored at 10:03 UTC. At 10:45 UTC we attempted to start the new instance in standby mode to check its consistency. But the standby mode of Postgres is meant to be for replicas, and replicas need either a primary to grab WALs from, or a `remote_command` set to fetch WALs. Since the new Postgres on `db-02` couldn’t reach any primary and it didn’t have any `restore_command` set, it refused to start in standby mode. So we configured a `restore_command` with a wrapper script that could fetch WALs from both S3 (our “continuous backups”) or from the filesystem (db WALs carried over from `db-01`) and started Postgres in standby mode successfully. It started catching up on WALs from S3 at 11:00 UTC. Frustratingly, the playback rate was slower than expected - to replay the ~18 hours of WALs ended up taking 5.5 hours (we had been hoping it would take around 10 minutes for every 1 hour of WALs). It took until 16:27 UTC to replay all the WALs. And at this point we could log into the Postgres database on `db-02`. At long last, we had a working database instance, with no data loss. We promoted it to a primary database at 16:45 UTC, and started a Synapse test worker at 16:51 UTC. We could see new WALs start to appear in S3, which meant WAL shipping worked. It was time to restart Synapse and bring matrix.org back online. We started Synapse at 16:54 UTC, and after various thundering-herd overloads as everyone reconnected, all the workers were online and stable by 18:00 UTC. At this point, the server was back online, matrix.org was catching up with everything that had happened on the rest of the federation while it was offline, albeit with a single database node (although WALs were being archived to S3 for safety). At this point, if our database had caught fire we could have been able to restore it without losing data, but at the cost of bringing matrix.org offline again. We had just been through it, we didn’t want to do it again. We needed our secondary back. But we also needed the team to get some rest. Given how slow it was to replay WALs, we reconfigured our backups to happen against the primary database rather than against the (missing) replica. We let the European team go to bed, while our American SRE kept tabs on everything. At 03:26 UTC a new incremental backup completed. At 09:21 UTC we added the two NVMe disks to the RAID array and to the LVM volumes group of `db-01`. We rebooted to ensure the disks were properly detected and mounted - but the server didn’t come back. We opened the lights-out console Mythic Beasts provides us, and saw that the RAID array was not in the functional state. We had rebooted `db-01` at a critical moment of the array reshaping. After fixing up the array to bring it in a bootable state, `db-01` finally restarted, and we copied over the basebackup from `db-02` and set it to replicating. ## 🔗Lessons learned ### 🔗We have a massive database A lot of the pain we experienced during this outage came from how massive our database is. * Now that we have extra storage, it’s the right time to run `pg_repack` and reclaim free space. * We have already increased the frequency of incremental backups, since they’re much faster to restore than it is to replay WALs. * We also know Synapse could do much better in terms of data storage and there are plans to drastically reduce storage requirements in future, also see Matthew’s “how hard could it be” hack from the week before the incident: https://youtu.be/D5zAgVYBuGk?t=1852. ### 🔗Our safeguards can be improved Running a destructive command on the incorrect server was a key moment in the incident. While it can be attributed to human error, it is incorrect to focus on the individual, and instead consider how to improve the tooling and processes surrounding them to minimise the chances of a repeat in the future. On making the sensitive changes, the on-call group effectively paired as a trio, however, in the heat of the moment, this was insufficient to catch the error. We realised that the database servers names were a source of confusion. `db-01` reads like “Primary DB” and `db-02` reads like “Secondary DB”. Not only is this false in our case, a primary database server can become a secondary database server, and the other way around. Names with intrinsic meanings are a source of confusion. We’re considering changing the background colour of the terminal dynamically depending on the role the database is playing in the cluster. An idea we floated is to monitor the presence of the `standby.signal` file in the database data directory to know whether it is a primary or a secondary database, and update the terminal’s background colour accordingly. This is not a silver bullet since the background colour would only change after a command has been sent, but that would already be an improvement. We also discussed wrapper scripts around sensitive commands (such as an alias for `rm`) or automating some operations, such as starting a base backup from primary to secondary as a means to minimise risk. We could restore the service after 24h offline, _without any data loss_ despite losing both our primary and secondary databases. This accounts for a great Recovery Point Objective and is testament to our PITR processes that we test regularly. We should take pride in the recovery, but we need to work on a shorter Recovery Time Objective, we’re currently talking to service providers to get free infrastructure that would make it easier and faster to recover. ### 🔗We can have better tools We upgraded wal-g on all servers, not just the Disaster Recovery Server, and have done a round of Disaster Recovery testing with it. We didn’t explore yet how we can ensure the Disaster Recovery Server and the production servers can stay aligned. At the next hardware refresh, we will explore using ZFS so we can make local snapshots and recover much more quickly from not so happy accidents such as accidentally wiping the wrong database. ### 🔗We have a great community and providers We received a lot of support on social media where we communicated actively around the incident. This was welcomed positively by the broad community, despite our status page not receiving the attention it deserved. We’re adding steps to our incident response playbook to update status.matrix.org as the canonical source of truth during an incident, and liaise with the advocacy team to keep social media updated as well. The SRE team would like to thank our hosting provider Mythic Beasts. They reached out quickly and proactively when adding new disks, reporting the errors they were seeing. They have been much more than just a pair of remote hands. They also reached out with an offer of support during the incident. Finally, we’d like to sincerely apologise again to everyone impacted by the outage, we hope you found the post-mortem informative and if you would like to investigate running your own homeserver, there are plenty of distributions to choose from.
matrix.org
October 30, 2025 at 8:28 AM
A fond farewell from Managing Director Robin Riley
After 2 years serving as the first Managing Director of the Matrix.org Foundation, it’s time to open a new chapter. Amandine already touched on it in the Matrix Conference keynote, but personal matters meant I’ve had to bring this change forward. I’ll be winding down and closing out my time here before the end of November. Organizations need different skills in leadership as they mature, and the Foundation is ready for the next set of hands. It’s also true that my own circumstances have changed significantly as someone based in the United States. It’s been an honor and a privilege to serve this ecosystem, to get to know its communities and the wonderful people in them, and to work alongside you all to launch open governance, improve collaboration, and fortify the trajectory of private, decentralized, sovereign, and open source communications for all with Matrix. I’m deeply grateful to the Foundation staff, the Guardians, the Spec Core Team, the Governing Board, and everyone in the ecosystem. Your talent, passion, integrity, and the depth of humanity – it’s an awe-inspiring thing to take in. I have great confidence in what you will continue to accomplish together! As I move on, I take with me a deep hope. At a time when we see grand experiments in self-governance straining, I take heart in the laboratories of democracy that we see everywhere. Open source, and the stewardship of any commons, is an inevitably messy and difficult endeavor. It requires an embrace of healthy tension, deliberate efforts to sustain a good nature, active address of power dynamics, and collective vigilance. I see us teaching, learning, and practicing those things in open source ecosystems like Matrix. And each of us takes that with us as we engage as members of the body politic, which so desperately needs our tending. Looking forward for Matrix, I’m excited to see the ecosystem continue to hit major milestones in performance, ease-of-use, feature parity, and adoption, and the Foundation’s ever improving role in cultivating that. Amandine will step in as acting Managing Director while the Foundation finds the right person to take it to those new heights. I’d be remiss if I didn’t close with a familiar pitch. Seeing governments, particularly in Europe, expanding their investment in open source development as well as the organizations that steward the projects, is really encouraging. The French government’s support of the Matrix.org Foundation, through DINUM’s new membership, is a major milestone in that direction! But we have a long way to go before we achieve systemic funding at appropriate levels. If you value privacy, digital autonomy, and data sovereignty, or if you benefit from Matrix, become a member of the Foundation today. Your donations are necessary to sustain and realize our goals! Keep up the good work, folks. I’ll see you in the wild blue yonder. Robin Riley Ad astra per aspera 🚀
matrix.org
October 30, 2025 at 8:28 AM
This Week in Matrix 2025-10-24
## 🔗Matrix Conference 2025 - The Matrix State of the Union Today's Matrix Live: https://youtube.com/watch?v=2y8qtRLgalQ Alternatively you can find it on media.ccc.de at https://media.ccc.de/v/matrix-conf-2025-74977-the-matrix-state-of-the-union. ### 🔗Matrix Conference Recordings Beyond the Matrix State of The Union you can also find all of the Matrix Conference recordings at https://www.youtube.com/playlist?list=PLl5dnxRMP1hUgnYEbpEsEEhIqY_KlO3NG. They are also available on media.ccc.de at https://media.ccc.de/c/matrix-conf-2025. ## 🔗Dept of _Status of Matrix_ 🌡️ ### 🔗DINUM joins The Matrix.org Foundation Amandine says > 🇫🇷 Very excited to announce that DINUM, the French Interministerial Digital Directorate, is joining The Matrix.org Foundation as a Silver member and becomes the first government to join the Foundation! 🚀 > > Matrix is the backbone of Tchap, the secure messaging app for the French government, and it is great to see a State stepping up to concretely support and collaborate with an open source project so critical to their functioning. > > 💡 We hope this will show the way to all the other public sector organisations using Matrix, especially after we kicked off a Matrix for Public Sector group at the Matrix Conference last week, hopefully soon approved by the Governing Board as an official Working Group 🤞! > > ➡️ check out the announcement blog! ### 🔗Matrix.org Foundation to receive funding from FLOSS/fund HarHarLinks announces > We are excited this week that The Matrix.org Foundation is to receive $25000 in funding from FLOSS/fund! > > Quoting from their website, > >> Started in 2024 at Zerodha, FLOSS/fund is dedicated to supporting critical, impactful, and valuable Free/Libre and Open Source projects globally. > > Earlier this year, some Matrix nerds from #community-events:matrix.org visited the FOSSASIA summit in Bangkok, Thailand, (watch this space for 2026! 👀) where we met the super enthusiastic folks from FLOSS/fund who urged us to join as they are very excited about Matrix and see it as important FLOSS infrastructure; both directly by itself, and also due to being supporting infrastructure used to make significant amounts of FLOSS projects happen. > > As we returned home and after getting approval from the Foundation, the Website & Content Working Group got to work and published the `funding.json` and related files to the website as well as some important projects of the Foundation, such that they would become indexed and available to easily browse at https://dir.floss.fund/view/projects/@matrix.org. This is a very interesting project in itself! It is really well implemented and in our eyes the setup matches the open source spirit perfectly. > > And just last weekend, as we are wrapping up The Matrix Conference in Strasbourg, we receive word that Matrix has been selected in the second tranche of 2025 to receive $25000! > > We congratulate all of the other awesome projects who were selected! 🎉 > A million thanks to FLOSS/fund for selecting us, as well as everyone else involved for making this happen. 🤩 > We are excited to see where the road for FLOSS/fund leads next year! 🚀 > If you are able and looking to fund FLOSS projects you are building on, find worth supporting, or even just to discover new ones, we absolutely encourage you to browse the awesome directory at https://dir.floss.fund/! > > Find out how else you can support The Matrix.org Foundation at https://matrix.org/support/. Does your organisation rely on Matrix? Join us as a funding member. ### 🔗Updated Support and Membership Pages HarHarLinks reports > Just in time for The Matrix Conference, the Website & Content WG have revamped the /support and /membership pages of matrix.org for clearer structure, making it easier to find the methods to support the Foundation, and collecting all info about membership on one page instead of spreading it across multiple. > > Check it out on https://matrix.org/support/, from where you can also navigate to learn more about https://matrix.org/membership/. > > Please let us know your thoughts, and if there is anything else to add, at #matrix.org-website:matrix.org! ## 🔗Dept of Spec 📜 ### 🔗MSC Crafter Half-Shot announces > Working on a new small project to render MSCs in a faster, learner format than GitHub currently allows with intelligent rendering of things like: > > * Comment theads > * Ticky boxes for FCP > * MSC state based on labels > * Linking together mentioned MSCs and spec items to easily lay out how a spec maps to Matrix > > > As well as that, primarily I want to add offline support to all of this so I can use it as a quick reference too when working on Matrix. > > It's already slightly functional: https://github.com/Half-Shot/msc-crafter > > The MSC Crafter UI ### 🔗Weekly Spec Update 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:** > > * MSC4373: Server opt-out of specific EDU types > * MSC4371: On the elimination of federation transactions. > * MSC4370: Federation endpoint for retrieving current extremities > > > **MSCs in Final Comment Period:** > > * MSC3782: Matrix public key login spec (close) > * MSC3779: "Owned" State Events (close) > * MSC3757: Restricting who can overwrite a state event (close) > * MSC2839: Dynamic User-Interactive Authentication (close) > * MSC2835: Add UIA to the /login endpoint (close) > * MSC2416: Add m.login.jwt authentication type (close) > > > **Accepted MSCs:** > > * _No MSCs were accepted this week._ > > > **Closed MSCs:** > > * _No MSCs were closed/rejected this week._ > > > #### 🔗Spec Updates > > The barrage of MSCs marked as FCP close above are the result of the next-gen auth being merged to the spec, and the Spec Core Team going through and closing all the MSCs that it obsoletes. > > Otherwise, with the Matrix conference last weekend behind us, the SCT are continuing to focus on Matrix 2.0 MSCs with a more relaxed cadence. ## 🔗Dept of Trust & Safety ⚖️ ### 🔗Draupnir (website) A moderation bot for open Matrix communities. Gnuxie 💜🐝 announces > **Draupnir call for participation: reviewing the last development cycle and affirming the project direction** > > Hi everyone, if you value the work that we do on the Draupnir project and think that it is important then we need to hear from you. We are trying something new where we provide a short update and reflection about the project and an interactive vote where you can affirm contributors about the project direction. > > * Cycle review: https://the-draupnir-project.github.io/draupnir-documentation/governance/reports/2510A-cycle-review > * Next cycle selection: https://the-draupnir-project.github.io/draupnir-documentation/governance/reports/2510A-selection > * Vote: https://cryptpad.fr/form/#/2/form/view/ewtgdO-YIwCjLhfJpwsj87m7RU7v6hJKHbu3BWqa1kg/ > * Discussion: https://matrix.to/#/!UMROhYUQcvtGuoIIka:matrix.org/$7C2Sv-B-6HJ7fVMlCRd3R9jlZqe2rUxlPliEaB-M4yE > ## 🔗Dept of Servers 🏢 ### 🔗Synapse (website) Synapse is a Matrix homeserver implementation developed by Element. Andrew Morgan (anoa) {he/him} reports > **Deprecation of MacOS Python wheels** > > The team has decided to deprecate and eventually stop publishing python wheels of Synapse for MacOS. This is a burden on the team, and we're not aware of any parties that use them. Synapse docker images will continue to work on MacOS, as will building Synapse from source (though note this requires a Rust compiler). > > Publishing MacOS Python wheels will continue for the next few releases. If you do make use of these wheels downstream, please reach out to us in #synapse-dev:matrix.org. We'd love to hear from you! ## 🔗Dept of Clients 📱 ### 🔗Extera Next OfficialDakari reports > * Finally implemented polls. Extera Next now supports creating, viewing and participating in polls. > * A privacy update: EXIF cleaning. Extera Next now removes EXIF metadata from pictures by default. You can change it in Settings → Security. > * Added notification actions from FluffyChat. > > > Website: https://extera.xyz/ ### 🔗Fractal (website) Matrix messaging app for GNOME written in Rust. Kévin Commaille reports > Ah, Autumn… The trees are wearing their warmest colors, the wine harvest is ending, developers are preparing to hibernate… and Fractal 13.rc is here! > > Our repository has been relatively quiet since the beta release, with mostly work on bug fixes for our new audio player, and a bit of code refactoring. > > 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 13. > > If you want to join the fun, you can try to fix one of our newcomers issues. We are always looking for new contributors! ### 🔗Element X iOS (website) A total rewrite of Element iOS using the Matrix Rust SDK underneath and targeting devices running iOS 17+. Mauro Romito reports > * More features are coming to Spaces, like a way to check their members and invite new ones > * Various fixes for iOS 26, one in particular fixes the scrolling behaviour not working properly sometime in the timeline. > * Notifications are also getting improved so that they may bring you directly to a Thread if the lab feature is enabled > Mauro Romito reports > * New RC has been sent for verification, it includes mostly fixes and stability improvements for iOS 26. > * We are also working on having push notifications focus directly the events they are representing once you tap them. > * Spaces work is progressing, we are implementing a way to view members of a space and manage their settings, while also taking the time to refactor and improve our codebase so that the flows that are common between rooms and spaces can be reused. > ### 🔗Element X Android (website) Android Matrix messenger application using the Matrix Rust SDK and Jetpack Compose. Jorge announces > The team has been working hard on improving spaces and threads: > > * 📳 We want you to be able to have separate notification groups for threads in rooms, and these should take you to the thread when opened. > * 🏠 We're improving the architecture of the app to improve how spaces integrate with it, and also improving the design. > * 🔄 There is a new feature flag enabled by default in nightly builds to use WorkManager to fetch the notification content for push notifications. We had to implement this since there are some restrictions on Android 15 and higher that won't allow the app to make network requests when it's on background, even after receiving a push notification. This should now be fixed, but since it's a new implementation there might be some regressions. Please try it out and let us know! > * 🏎️ There is some planned work for improving the overall performance of the Element X Android application, focused on the bottleneck caused by fetching data from the Rust SDK and other rough edges. If all goes well, expect to see performance improvements soon! > ### 🔗Element (website) Everything related to Element but not strictly bound to a client. Matthew reports > Element finally got around to renaming its legal entity from New Vector Ltd to Element Creations Ltd, as fun as it was having the company misnamed under the 2015 vintage brandname of Vector. This is purely cosmetic and has no impact on anything other the name used on appstore accounts (once updated), copyright statements and legal docs. ## 🔗Dept of Ops 🛠 ### 🔗synadm (website) Command line admin tool for Synapse (Matrix homeserver). jacksonchen666 (they/it) says > Here's the summarized release notes for v0.49: > > * Unix socket support! > * synadm now sends a user-agent of its own now, including the version in the user-agent > * `synadm media purge --before-days 0` now works (deletes all remote media before now). This also applies to local media deletion which has the same arguments. > * Speaking of local media deletion, local media deletion now prompts for confirmation. > * synadm correctly honors the "Verify certificates" setting (self-signed TLS/SSL certs should work now) > * Forgot to include this in release notes, but there's also now a detailed Getting Started guide on the documentation. It will eventually replace the instructions in the README, but I am just getting started on the documentation (heh). > > > The additional 2 hotfix patch releases (v0.49.1 and v0.49.2) really are just bug fixes for new things in v0.49. The latest is now v0.49.2. > > Oh, and #synadm:peek-a-boo.at is our matrix room, and the Code is on the berg (uh, Codeberg). That's all! ## 🔗Matrix in the News 📰 MTRNord (they/them) announces > The Matrix Conference 2025 has been in the News at Heise: > > In German: https://www.heise.de/news/Matrix-Konferenz-2025-Grosse-Plaene-und-sogar-das-Geld-dafuer-10773794.html > > Or in english at: https://www.heise.de/en/news/Matrix-Conference-2025-Big-Plans-and-Even-the-Money-for-Them-10773975.html ## 🔗Dept of Services 🚀 ### 🔗Synapse Admin Updates Aine [etke.cc] announces > The last TWIM entry about etke.cc's Synapse Admin fork was _very_ long ago - we stopped publishing them because the big / major changes were already implemented, and while each new release increased QoL and UX, there were not so much TWIM-worthy things. > > But today we have a big thing to announce: > > **OIDC Auth support has been implemented** by @beastafk:etke.cc > > It was requested in the upstream project in 2023, and finally implemented in etke.cc's Synapse Admin fork, making it more convenient for servers deployed with MAS. > > Apart from that, there were a lot of smaller-yet-convenient changes: > > * New localizations: Japanese (thanks to @shirahara:etke.cc) and Ukrainian (thanks to khvalera) > * External Auth Provider-compatible mode (less painful for OIDC, LDAP, etc.) > * Ongoing mobile UI improvements > * Support 3pids in bulk registration (csv import) > * Improved user account status toggles > * And many more small improvements here and there > > > And for etke.cc customers specifically, more exclusive features have been added > > Source code, admin.etke.cc (CDN version), and don't forget to say hi in the #synapse-admin:etke.cc room! ## 🔗Matrix Federation Stats Aine [etke.cc] announces > collected by MatrixRooms.info - an MRS instance by etke.cc > > As of today, `10603` Matrix federateable servers have been discovered by matrixrooms.info, `3018` (`28.5%`) of them are publishing their rooms directory over federation. The published directories contain `18062` rooms. > > The most popular server software among the online servers is: > > * synapse: `9187` (`86.6%`) > * conduit: `419` (`4.0%`) > * dendrite: `366` (`3.5%`) > * continuwuity: `263` (`2.5%`) > * tuwunel: `217` (`2.0%`) > > > Stats timeline is available on MatrixRooms.info/stats > > 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| codestorm.net| 181 2| nexy7574.co.uk| 185 3| vibb.me| 211 4| beeper.com| 240 5| gingershaped.computer| 312.5 6| calitabby.net| 374.5 7| tomfos.tr| 390 8| yipping.zone| 551 9| skhron.org| 623 10| mailstation.de| 645 ## 🔗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.
matrix.org
October 30, 2025 at 8:28 AM
Matrix for Public Sector: DINUM joins the Foundation as we launch a new forum!
## 🔗DINUM becoming the first government to join the Matrix.org Foundation Today DINUM, the French Interministerial Digital Directorate, has officially announced that they were joining the Matrix.org Foundation as a Silver member and becomes the first government to join the Matrix.org Foundation! This is particularly exciting news as it will hopefully set an example for other public sector organisations using Matrix to communicate, and there are many of them. In France, Matrix is the basis for Tchap, the secure messaging system of choice for public officials. It was selected for its security, but also openness, transparency and sovereignty as it limits dependence on proprietary solutions from outside Europe. With this support, DINUM is committed to: * **participating in the governance of the protocol and enhancing its quality** , in conjunction with other user states (Sweden, Luxembourg, the Netherlands, Germany...) and the open source business ecosystem; * **contributing to the development of the community versions of the various software components of the ecosystem** , used by many public services; * ensuring that its actions are part of a **framework for sustainable investment in digital commons**. DINUM has been an active contributor to projects of the Matrix ecosystem for a while, including by providing improvements to the implementation of Sliding Sync, which optimises performance and user experience; as well as the development of a community version of a border gateway, which enhances the security of the communications between distinct organisations. Stéphanie Schaer, the Interministerial Director for Digital Affairs says: “With this partnership, we are choosing to make a long-term investment in a strategic digital commons for the benefit of the European ecosystem. Matrix is an essential building block for secure and sovereign communication services. This sponsorship reflects our conviction that the digital sovereignty of the State requires direct investment in the commons.” ## 🔗Matrix for Public Sector This announcement comes a few days after the second edition of The Matrix Conference. The Conference was held in Strasbourg (France), gathering about 300 attendees, amongst which more than a dozen public sector organisations, brought together by their use of Matrix as a sovereign, secure and resilient communication protocol. The Conference saw two full days of public sector track, shedding light on the various exciting deployments of Matrix by these organisations. All the talks are already available for watching here, and will be soon published on the website, but you can find a list of the public sector related ones at the bottom of this post. We also took the opportunity of having many representatives of these public organisations present in person at the Conference to **officially launch a Matrix for Public Sector forum**. This is the very first group of its kind that the Foundation sets up and already many other industries are asking for something similar. The group will be proposed to the Governing Board for approval to potentially become an official Working Group. The goal of the Matrix for Public Sector forum is for the Foundation to bring together all public sector players who have already deployed Matrix or are looking to do so, and enable them to share knowledge, learnings and experiences, generally grow the usage of Matrix in the public sector, hopefully ultimately federating all these deployments into a proper Matrix network. Launching the Matrix for Public Sector forum at the Matrix Conference 2025 This seminal meeting gathered a dozen of organisations including representatives from France, the European Commission, Sweden, Germany, Luxembourg, the Netherlands, Belgium, the UK and Romania. The discussion focused on the type of knowledge and learning could be shared as well as how to structure the group. All this activity, concretising years of growth of Matrix in the public sector is a huge step forward for the ecosystem, and we are very much looking forward to enabling this group of users to grow. It is also great to start implementing new ways for the Foundation to support the ecosystem and we can’t wait to replicate it with other industries! And again: Welcome DINUM! Amandine ### 🔗Public sector talks at the Conference Matrix for Public Sector, Amandine Le Pape, The Matrix.org Foundation Trialing Matrix within the European Commission for resilient and sovereign communications, Nicolas Dubois, European Commission Matrix French gov deployment: opening a private federation securely, Mathieu Velten, Direction Interministérielle du Numérique (DINUM) Consolidating Germany’s administrative communication: Towards a joint Matrix-based architecture, Dominik Braun, Federal IT-Cooperation (FITKO) Sweden’s Public Sector in Transition, Anna Engström and Kenneth Edwall, Försäkringskassan Luxchat(4gov), Patrick Weber, the Luxembourg government Secure communication leveraging the Matrix protocol for UNICC and its partners, Tima Soni, United Nations International Computing Centre (UNICC) Supporting TF-X with Matrix: best practices and pitfalls, Jeroen Franssen, NATO ACT The German BundesMessenger, Kai A. Hiller, BWI No Desk Is an Island: Enabling Cross-Border Workspace Communication, Alexander Smolianitski, ZenDiS Matrix’s role in the German Healthcare System, Marie Ruddeck, Gematik Nationwide Rollout of Matrix-Based Instant Messaging (TI-M) for 74 Million Statutorily Insured Citizens, Jan Kohnert, Gematik Medical Care over Matrix with Delay during a Simulated Moonwalk, Jan-Lukas Furmanek (FAU Erlangen; University Hospital Erlangen) and Aileen Rabsahl (European Space Agency)
matrix.org
October 30, 2025 at 8:28 AM
This Week in Matrix 2025-10-10
## 🔗Dept of Social Good 🙆 Denise announces > Element has joined other European organisations in an open letter to European leaders on the latest developments regarding Chat Control. > > We are concerned that the Danish Presidency’s current proposal on the Regulation for Child Sexual Abuse could introduce backdoors and client-side scanning, creating risks for security, innovation and digital sovereignty in Europe. > > We urge European leaders to ensure that any approach protects encryption, privacy, and the trust that underpins Europe’s digital ecosystem. > > https://element.io/blog/element-signs-chat-control-open-letter/ ## 🔗Dept of Pub Quiz 🍻 The one with the braid (she/her) ⚡ reports > We're looking for interesting questions around matrix], its history, its technology, statistics and fun facts for [The Matrix Unconference Pub [quizzz] ! > > Do you have suggestions ? Please share them with the conference team in the following form : https://forms.gle/6tbry4Zdzb1fYVfx5 or contact us at #events-wg:matrix.org ## 🔗Dept of Spec 📜 Andrew Morgan (anoa) {he/him} reports > 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:** > > * _There were no new MSCs this week._ > > > **MSCs in Final Comment Period:** > > * MSC4312: Resetting cross-signing keys in the OAuth world (merge) > * MSC4190: Device management for application services (merge) > > > **Accepted MSCs:** > > * MSC4326: Device masquerading for appservices > > > **Closed MSCs:** > > * _No MSCs were closed/rejected this week._ > > > ### 🔗Spec Updates > > The team continues to work on MSCs related to Matrix 2.0. While the list still looks long, two MSCs are currently in FCP, with MSC4153 having finished it! There's plenty of implementation work happening in the sidelines as well. > > Overall it's really nice to see movement on these proposals - some quite large and complex - after so long. ## 🔗Dept of Trust & Safety ⚖️ ### 🔗Draupnir (website) A moderation bot for open Matrix communities. Gnuxie 💜🐝 reports > Draupnir has released v2.7.0. This release includes a small enhancement to redactions, stopgap support for being prompted of watched policy room replacement, and a draupnir news feature to keep users informed about project updates. > > We're also currently in the process of developing a sustainable governance model for the project that we expect to trial soon. Progress can be tracked here and the initial governance documentation can be read on our documentation website. > > See you in #draupnir:matrix.org ## 🔗Dept of Servers 🏢 ### 🔗Synapse (website) Synapse is a Matrix homeserver implementation developed by Element. Andrew Morgan (anoa) {he/him} says > Synapse 1.139.2 and 1.138.4 both released this week with a high-severity security fix for CVE-2025-61672 / GHSA-fh66-fcv5-jjfr. Please update if you haven't already! > > Most deployments should prefer `1.139.2`. `1.138.4` is provided in case you need to stay on 1.138 for any reason. ## 🔗Dept of Bridges 🌉 tulir says > ### 🔗mautrix-zulip > > I made a basic puppeting Zulip bridge https://github.com/mautrix/zulip ### 🔗matrix-hookshot (website) A multi purpose multi platform bridge, connecting to GitHub, GitLab, Jira, Webhooks and more. Half-Shot says > **matrix-hookshot 7.2.0** > > Hi there folks. Just a smaller release today to make sure we remain compatible with the ecosystem (especially around MSC4190 / MAS support). > > * Add configuration option for generic webhooks to configure maximum request body size limit, increase default to 1mb from default 100kb. (#1090) > * Fix a bug where users may fail to be registered with a `IO.ELEMENT.MSC4190.M_APPSERVICE_LOGIN_UNSUPPORTED` error when `MSC4190` is enabled on the homeserver. (#522) (#1092) > > > come and get it here and come talk to us in #hookshot:half-shot.uk if you have any issues! > > P.S. Docker is messing me around, so container images are slightly delayed. ## 🔗Dept of Clients 📱 ### 🔗Element X iOS (website) A total rewrite of Element iOS using the Matrix Rust SDK underneath and targeting devices running iOS 17+. Mauro Romito reports > * A new RC has been sent for verification which includes the following features: > * Spaces (browse only) > * Liquid glass support > * The labs section, which will make testing experimental features easier, as of right now the only experimental feature in labs is Threads > * Spaces and Threads work is still going we are now working on managing and creating new spaces, and improving the current UX for Threads. > * We started investigating how to automatically perform a verification using existing classic Element data, will probably take a while before a full implementation, but will allow users to automatically verify EX using their existing installation of classic Element. > ### 🔗Element X Android (website) Android Matrix messenger application using the Matrix Rust SDK and Jetpack Compose. Benoit reports > * We've just submitted the release 25.10.0 on the PlayStore including a read only access to your Spaces. Note that your account must have joined at least one Space for the new tab with Spaces to be displayed. You can now view your existing Spaces, navigate through the Spaces hierarchy, and leave Spaces. More functionalities will come in the next releases. > * The release also includes a new labs section, which will make testing experimental features easier. It has one item as the moment: Threads, which was previously a hidden Feature Flag. When enabled the messages in thread are rendered in a dedicated timeline, as per Element Web and Element Classic. > * A change in the reaction: your recently used Emojis (across all Element clients and other Matrix clients that support this feature) are now displayed when you long click on a message (you can scroll the row of Emojis) and in a new tab in the screen displayed when you click on "other Emoji". > * Notifications have been updated, to play the sound than Element Web and Element X iOS. > * Besides that, a lot of dependency updates, bug fixes and improvements, in order to always offer the best user experience! > * Final note: we are seeing very interesting pull requests coming from the community: one is about being able to render a video playback while double tasking (https://github.com/element-hq/element-x-android/pull/5423), and another about being able to change the playback speed of voice messages (https://github.com/element-hq/element-x-android/pull/5504). They are both in review. Thanks for the contributions! > ## 🔗Dept of Ops 🛠️ ### 🔗matrix-docker-ansible-deploy (website) Slavi announces > matrix-docker-ansible-deploy now supports Element Admin - a new web-based administration panel for Synapse and Matrix Authentication Service. > > Learn more in our changelog entry! ## 🔗Dept of Events and Talks 🗣️ ### 🔗The Matrix Conference (website) Call for Slides HarHarLinks reports > We are as excited as busy that The Matrix Conference 2025 starts next week! It will take place in person in Strasbourg, France 🥖. To make it as accessible as possible for everyone, the talks from all 3 stages are going to be recorded and streamed live via https://conference.matrix.org/! Beyond that, Q&A will not be limited to those present but also through the chat rooms of the Conference Matrix Space: #matrix-conference-2025:matrix.org. > > There will be a bit of downtime on the projectors and stream between talks, and we want to fill it with your community contributions - you might remember this concept from last year! Send us a slide about your Matrix project for a chance to have it appear on stream during a break! Slides should be 1920x1080 pixels large pictures or videos up to 10 seconds long and can be submitted via https://infobeamer.c3voc.de/ (thank you C3VOC!) starting Tuesday (2025-10-14 00:00:00 UTC). The conference media team reserves the right to select or reject submissions as deemed appropriate - **this space is intended to focus on projects and community, if you'd like to advertise your business, please check oursponsoring options**. > > Here are some example slides from the Foundation: > > Until next week, live from Strasbourg! > > Your Events Working Group #events-wg:matrix.org ### 🔗Matrix Community Summit 2026 hosted at c-base, Berlin Yan reports > Last week, the circle of c-base decided to host the Matrix Community Summit 2026 for the Matrix community. If your organization, university, group, or network wants to participate, organize, join, or help shape the event, now is the moment to jump in. > > We tested a concept in 2025 combining coworking, hands-on sessions, daytime bug hunts, brainstorming, philosophical discussion, DJ sets, and social experiments conducted in a federated, side-by-side model. In 2026, we want to expand that: more collaboration, more variety, more voices. > > Join us in the Matrix room https://matrix.to/#/#mcs26-orga:datanauten.de to connect, propose, or volunteer. A barcamp session at the Matrix Conference in Strasbourg will also help align ideas. > > Save the date: 22–25 May 2026 (Pentecost weekend). We’ve made arrangements with c-base for the coming years so that future Summits can reliably fall on every Pentecost weekend in Berlin. > > Please help spread this announcement and invite people who care about Matrix. > > Yan - from the MCS26 Organizing Team ## 🔗Matrix Federation Stats Aine [etke.cc] announces > collected by MatrixRooms.info - an MRS instance by etke.cc > > As of today, `10658` Matrix federateable servers have been discovered by matrixrooms.info, `3037` (`28.5%`) of them are publishing their rooms directory over federation. The published directories contain `18007` rooms. > > The most popular server software among the online servers is: > > * synapse: `9235` (`86.6%`) > * conduit: `417` (`3.9%`) > * dendrite: `377` (`3.5%`) > * continuwuity: `248` (`2.3%`) > * tuwunel: `218` (`2.0%`) > > > Stats timeline is available on MatrixRooms.info/stats > > 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| continuwuity.codestorm.net| 153 2| usbpc.xyz| 161 3| codestorm.net| 178 4| vibb.me| 190.5 5| nexy7574.co.uk| 198.5 6| synapse.nexy7574.co.uk| 222 7| haise.uk| 234 8| gingershaped.computer| 266 9| wolfspyre.io| 266.5 10| tomfos.tr| 274 ## 🔗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.
matrix.org
October 24, 2025 at 8:28 AM
This Week in Matrix 2025-10-03
## 🔗Dept of Events and Talks 🗣️ ### 🔗The Matrix Conference Thib (m.org) announces > The Matrix Conference is almost here, and we couldn't be more excited! It's the final sprint to get all ducks in a row, but everything is aligning well. > > We're looking forward to having a relaxed Barcamp and and welcome party at Le Météor, with drinks and Flammeküeche courtesy of Rocket.Chat and Element, followed by three full days of talks and workshops. > > Don't miss out on the conference, grab your tickets (and if you're an individual member, you can shoot us an email at conference@foundation.matrix.org to get a voucher for a free ticket 🤫) > > 🗓️ October 15 to 18 > 🗺️ Kaleidoscoop, Strasbourg, France > 🤩 Look at that impressive line-up > 🎟️ Grab your tickets before we run out! ## 🔗Dept of Clients 📱 ### 🔗Extera Next (website) OfficialDakari reports > Extera Next finally got some updates! > > For some time, Extera Next was only for Android, but recently we added AppImage for Linux, which you can download on extera.xyz website. Also, we've updated the website. > > Some changes include: > > * Pulled some updates from upstream (fluffychat) > * Added background downloads, so you can continue reading your chats while downloading a file (not works for E2EE yet) > * Image picker seems to be working, when you already have a default gallery app selected. So, you can again upload stickers and set wallpaper. > * QOL update for people, who mostly speak in another language than English: you can now mention users with non-ASCII displayname. > > > There are still a lot of problems we're aware of, but we're going to fix them as soon as possible. > > Website: https://extera.xyz Our Matrix room: #extera:extera.xyz ### 🔗Element X iOS (website) A total rewrite of Element iOS using the Matrix Rust SDK underneath and targeting devices running iOS 16+. Mauro Romito announces > * **Spaces** work has made great progress, and we finally have a first stable iteration of this new great feature, this first iteration will allow our users to browse, check and see their spaces and the rooms in them, but most importantly it will be included in the next version! > * **Threads** work is also going forward, we recently also implemented a way to open matrix permalinks from and to threads across the same or different rooms. > * And since Threads work has reached a decent amount of progress, we decided that Threads will be the first feature of our new **Labs** section of EXI. No need to enable developers settings anymore, we are in fact introducing a dedicated settings section that allows our users to test our "stabler" experimental features, a bit like EW does. > * Also the next version of the app will support Liquid Glass for iOS 26, and more liquid glass improvements and redesigns are going to come in future versions. > ## 🔗Dept of Encryption 🔐 ### 🔗Element Crypto Team update andybalaam says > This summer we had awesome intern Skye working with us, and they took on a cool project experimenting with encrypting state events. This has potential to give much better privacy in Matrix rooms by hiding room names and other room-level information from server admins and other prying eyes. > > They wrote up their project and their experience at Element in a recent blog post: https://element.io/blog/hiding-room-metadata-from-servers/ > > Spoiler alert: they got their prototype working, and it's about to appear in Element Web behind an experimental labs flag! This should help us learn what it's really like to work with rooms most of whose metadata is encrypted. > > We need to think carefully about how this feature works, and we need to acknowledge that this work is only a partial solution, because it leaves room-management events visible to the server. The conversation continues in Skye's MSC at: https://github.com/matrix-org/matrix-spec-proposals/pull/4362 ## 🔗Dept of Ops 🛠 ### 🔗Element Admin Quentin Gliech announces > We're thrilled to release a first version of Element Admin, a user-friendly web interface to manage your ESS deployment! This is the first open-source UI capable of managing users in Matrix Authentication Service, leveraging the new OAuth 2.0 capabilities of the Matrix API > > This ships in both ESS Community and ESS Pro starting 25.9.2, so just choose a hostname for it and update your ESS deployment to enjoy this new component! In case you're not (yet!) running ESS but still want to enjoy Element Admin for your MAS and Synapse deployment, you can head over to https://admin-beta.element.dev/ for a live instance. > > It's available in multiple languages (head over to Localazy to help translate it!). It works great on both desktop and mobile. It's a fast, modern React app. It has both a light and a dark theme thanks to Compound. > > But this is only the beginning. We've got basic users and room management for you to start with, but more importantly: this sets a solid base for the future 💃 ## 🔗Dept of Services 🚀 ### 🔗Matrix Connectivity Tester MTRNord announces > Today we bring some improvements to the email alerts. Firstly, we now have some UK-Gov style email HTML added. The text content, of course, is still available for text-only readers of emails. > > Next, we now changed the email intervals. The checks now happen in 5m interval instead of 1h. Additionally, to that, the system will now initially send a failure email, then do reminders every 12h. As soon as you then resolve the issue, it will email you telling you the issue was resolved. > > Lastly, on the code side, the servers now get distributed evenly in a window between the 5m interval. The aim here is to reduce the load on my server if there are more servers subscribing to alerts, and instead aim for a more even load. > > You can as usual check out the code at https://github.com/MTRNord/rust-federation-tester/ and https://github.com/MTRNord/matrix-connection-tester-ui/ > > Or use it at https://connectivity-tester.mtrnord.blog/ > > If you want to opt in into the development versions you can use https://stage.connectivity-tester.mtrnord.blog/ instead which features the main branch. ## 🔗Dept of Hackathons 🍕 ### 🔗Matrix -> Receipt Nico announces > We randomly bridged our Matrix rooms to a receipt printer. Only works for text, images and audio though, videos don't work. > > Greetings from Krems ## 🔗Matrix Federation Stats Aine [etke.cc] reports > collected by MatrixRooms.info - an MRS instance by etke.cc > > As of today, `10722` Matrix federateable servers have been discovered by matrixrooms.info, `3064` (`28.6%`) of them are publishing their rooms directory over federation. The published directories contain `17958` rooms. > > The most popular server software among the online servers is: > > * synapse: `9292` (`86.7%`) > * conduit: `423` (`3.9%`) > * dendrite: `377` (`3.5%`) > * continuwuity: `246` (`2.3%`) > * tuwunel: `219` (`2.0%`) > > > Stats timeline is available on MatrixRooms.info/stats > > 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. Rank| Hostname| Median MS ---|---|--- 1| codestorm.net| 135 2| continuwuity.codestorm.net| 139 3| tuwunel.love| 153.5 4| nexy7574.co.uk| 168.5 5| vibb.me| 200 6| maunium.net| 203 7| transgender.ing| 232 8| tomfos.tr| 246.5 9| nerdhouse.io| 248 10| synapse.nexy7574.co.uk| 266 ### 🔗Ping room tulir announces > The ping room has been upgraded to v12. The new room ID is `!ping12Z19lU3TzHS4slLsUNPx-I7MZKyneYRUlO7voU` > > (this is mostly a notice for the TWIM editors to update the ping table generation script) ### 🔗#ping:maunium.net Join #ping:maunium.net to experience the fun live, and to find out how to add YOUR server to the game. ## 🔗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.
matrix.org
October 15, 2025 at 8:26 AM
This Week in Matrix 2025-09-26
## 🔗Matrix Live S11E13 Sticky Events, Encrypted State and Element Admin Today's Matrix Live: https://youtube.com/watch?v=Q6NSmptZIS4 ## 🔗Dept of _Status of Matrix_ 🌡️ ### 🔗matrix.org Website HarHarLinks reports > 2 weeks after the last update at the Website & Content Working Group we have some new updates worth mentioning: > > The new ecosystem page listing distributions has landed! We consider a Matrix distribution a collection of software related to Matrix that is deployed and automatically configured so the different pieces integrate with one another. Click the link to find some examples! > > In organisational news, you may have noticed the Working Group is not just called "Website", but "Website & Content". This is because the WG is not only responsible for making sure the website works on a technical level, but also maintaining its content. Of course this also includes making sure that any contributions to the website are as good as they can reasonably be. One of our first big topics behind the scenes was thus the creation of the Review & Publishing Policy to try and set a bar we think we can meet, and as well as expectations that Working Group and contributors may assume of each other. The Governing Board has recommended to the Foundation to approve this policy, and it is now added to our repository's CONTRIBUTING.md alongside the already existing guidelines! Next step: set up GitHub to support as much of this as possible with automation. > > Of course that's only the big news. For the rest, check our commitlog or follow the Hookshot announcements in our public room #matrix.org-website:matrix.org! ## 🔗Dept of Spec 📜 Andrew Morgan (anoa) {he/him} reports > 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:** > > * MSC4362: Simplified Encrypted State Events > * MSC4361: Non-federating Membership Authentication Rule Amendments > > > **MSCs in Final Comment Period:** > > * _No MSCs are in FCP._ > > > **Accepted MSCs:** > > * _No MSCs were accepted this week._ > > > **Closed MSCs:** > > * MSC4317: Signed profile data > * Initially motivated by a custom enterprise use case, but could not be made generic enough to apply to the wider ecosystem. > * MSC4316: External cross-signing signatures with X.509 certificates and (semi-)automated verification > * Similar story to the above. > * MSC3761: State event change control > * Abandoned by the author. > > > ### 🔗Spec Updates > > Following the release of Matrix 1.16 last week, the SCT have continued to iterate on the MSC labelled Matrix 2.0. It will be exciting to start seeing these proposals land as they cover very exciting features for the protocol (sliding sync, MatrixRTC, OAuth, etc.). > > Keep an eye out as the authors and the SCT continue to drive them to conclusion. ## 🔗Dept of Trust & Safety ⚖️ ### 🔗Asgard.chat tulir says > The Draupnir and Meowlnir hosting service pre-announced 3 weeks ago is now accepting applications. If you need a moderation bot for your rooms, you can find some docs on our website https://asgard.chat/ and join the room at #general:asgard.chat ## 🔗Dept of Servers 🏢 ### 🔗Synapse (website) Synapse is a Matrix homeserver implementation developed by Element. Andrew Morgan (anoa) {he/him} announces > It's been quite the week of releases in Synapse land. Synapse 1.139.0rc2 and 1.139.0rc3 were put out ahead of the planned 1.139.0 release next week. Please try 1.139.0rc3 out (if you're able to) and file any bugs or regressions you find on our issue tracker. > > In parallel, Synapse 1.138.2 was released with a performance fix for the delayed events feature. Performance could suffer even if the feature was not used, so be sure to update if you're having performance issues on 1.138.0 (which was when the regression was introduced). The 1.139.0 release candidates also include the fix. > > Please note that all of the above releases have dropped support for Ubuntu 24.10 Oracular Oriole as it is end-of-life. Support for Ubuntu 25.04 Plucky Puffin was added in its place. ### 🔗continuwuity (website) Continuwuity is a community-driven Matrix homeserver in Rust. nex (it/she) 🏳️‍⚧️ announces > **Continuwuity v0.5.0-rc.8** > > **Author's note:** Since the release of this version, several bugs in the new state resolution have been found; it is advised you wait for the full 0.5.0 release for v12 rooms unless you need them _today_. > > Nobody told me I'd need a durable keyboard when we forked 😟 Hey everyone! And everytwo, I see you. Regardless of the number of every you are, there's a continuwuity 0.5.0 rc8 release near you! All of you! > > In the past month or so, we've **merged 86 pull requests** , closed 12 issues, and across **142 commits** , **modified 180 files** with a net 9,650 changes! And the best part is, this isn't even an on-schedule release. In order to get room v12 support ready in anticipation of several prominent communities upgrading their communal spaces, we've ended up pulling this release out of the oven a little earlier than we had hoped. As such, there's not as many new things as we usually add, but that's okay, because sometimes, less is more. Plus the things we _did_ fit in are pretty kickass. > > There's an awful lot to go through, so I'll just summarise the eye-catchy things. You can see _everything_ via the rc8 milestone. > > * ✨ **Room v12 support!** (#943) > * 🔐 LDAP login (#921) > * 📵 MSC4155 invite filtering (#1013) > * 📤 Leaving a room now reliably tells clients it happened (#959) > * 🔎 You have greater control over your join vias! (#956) > > > Huge thank you to the >10 individual contributors who have gone out of their way to directly help with the project, including huge changes to our CI system and amazing packaging fixes and changes, as well as everyone else who beta test changes before they make a release. The project quite literally would not be the same without you 🫶 > > #### 🔗Where?! > > **You can download the latest releaseon our forge**. Docker images are also available using `forgejo.ellis.link/continuwuation/continuwuity:latest`. If you're daring, we also now have _maxperf_ builds, which take advantage of some optimisations in modern CPUs (generally, anything newer than haswell). Use the `conduwuit-haswell-linux-amd64-maxperf` binary, or docker tag `forgejo.ellis.link/continuwuation/continuwuity:sha-b70470f-maxperf`. You probably won't notice a difference since continuwuity is super fast anyway, but hey, numbers! > > We also mirror our release OCI images to GitLab: https://gitlab.com/continuwuity/continuwuity/container_registry/8871720 > > We don't currently mirror our releases anywhere yet, however, our source code is also available on GitHub, GitLab, and Codeberg. A few members of the community also mirror, some include releases, so if you have issues with any/all of the forges above, don't hesitate to join our community (below) and ask! > > #### 🔗What's next ✨ > > You can also #main:continuwuity.org, and explore our #space:continuwuity.org, where we have a room for important announcements, a rich offtopic room, and our dev room where we discuss features and bugs. If you run your own continuwuity server, you should also #announcements:continuwuity.org, as important announcements are sent there (and may not be mirrored to the main room). > > Anyway, as per usual, most things we're planning to tackle are on our issue tracker, or in a pull request. ### 🔗Matrix Authentication Service (website) Matrix Authentication Service (MAS) is an OAuth 2.0 and OpenID Provider server developed by Element. Andrew Morgan (anoa) {he/him} says > MAS 1.3.0 was released this week! > > This release makes a few changes to the Admin API to make MAS easier to administrate from third-party tooling, as well as adds some more commands to mas-cli. Check the link for the full changelog. ## 🔗Dept of Clients 📱 ### 🔗Fractal (website) Matrix messaging app for GNOME written in Rust. Kévin Commaille reports > What is better for celebrating the season change than to test what is going to be in the next version of Fractal? Fractal 13.beta was released just for that, and it brings: > > * A brand new audio player that loads files lazily and displays the audio stream as a seekable waveform. > * Only a single file with an audio stream can be played at a time, which means that clicking on a "Play" button stops the previous media player that was playing. > * Clicking on the avatar of the sender of a message now opens directly the user profile instead of a context menu. The actions that were in the context menu could already be performed from that dialog, so UX is more straightforward now. > * The GNOME document and monospace fonts are used for messages. > * Most of our UI definitions got ported to Blueprint. > > > 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, there might be a slight risk of regressions, but it should be mostly stable. If all goes well the next step is the release candidate! > > If you have a little bit of time on your hands, you can try to fix one of our newcomers issues. Anyone can make Fractal better! ## 🔗Dept of SDKs and Frameworks 🧰 ### 🔗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 > _Bonjour_ everyone! The fog is trying to demoralise the team, but it doesn't affect the pace of bug fixes, performance improvements, and new features! Let's help ourselves with our best tea, sit comfortably, and see what happened recently. > > #### 🔗Space > > Rooms can be organised in Spaces. It's a nice way for group of people with many rooms to create a hierarchy of rooms. The Matrix Rust SDK is implementing a new Space API. > > * #5717 The FFI bindings were exposing the `NonSpace` filter for the Room List. Now it also exposes the `Space` filter, allowing to display the top-level spaces. > * #5712 The Space List now receives live updates. > * #5663 It is much easier to navigate from the parent to the children, and vice versa, and get a Space List at each step. > > > #### 🔗Thread > > Threads help to have discussions attached to messages. The Matrix Rust SDK is implementing a new Thread API. The work this week has been around supporting permalinks to a thread or to a threaded message. > > * #5709 Remove an undesired behaviour in the Timeline: when it was focused on a threaded event, the Timeline was receiving live updates. > * #5678 It is now possible to paginate around a specific event inside a thread with the Timeline. > > > #### 🔗Crypto > > The `matrix-sdk-crypto` crate is receiving a couple of bug fixes. > > * #5699 Add the new `has_devices_to_verify_against` function to check if the user has another device to verify against in order to cross-sign their new device. The device must be signed by the user's cross-signing key, must have an identity, and must not be a dehydrated device. > * #5666 Report inner-outer state key differences as invalid. > > > #### 🔗Latest Event > > The Latest Event API allows to find and display the latest event of a room or a thread. It's used in the Room List for the moment. Last week, we've spent quite a lot of time digging a complex bug around the Room List `recency` sorter and the Latest Event. > > * #5698 The `recency` sorter of the Room List is now using the Latest Event's timestamp, with a fallback to the room recency stamp (the old behaviour, which could be wrong because computed by sliding sync server-side —the `bump_stamp` value—, with sometimes unexpected values). > * #5673 The `LatestEvents` is lazy. It computes `LatestEvent` only for rooms that are _listened_. One can listen to rooms manually. However, after the Room List that was registering Latest Event listeners automatically, it's now time for the Sync to do the same, making the whole Latest Event API almost a no-op. It should be very rare for someone to listen to a room manually now. > > > #### 🔗Room List > > The Room List is an API helping to display a list of rooms. > > * While trying to fix a bug where 3 CPU cores were fanning at 100% (usually, the sign something bad is happening right?), we have improved the performance and fixed a bug in `eyeball`, happy collateral damages: > * #5684 Improve performance of the `RoomList` by +765%. > * eyeball#80 Fix an infinite loop when `SortBy<Stream<Item = T>>` handles a `VectorDiff::Set` where `T` is a shallow clone type. > * #5618 Enable the thread subscriptions extension based on server support, otherwise, when running against a server that doesn't support thread subscriptions, the client may falsely think that its thread subscriptions are not outdated (when receiving an empty, defaulted `ThreadSubscriptions` section in the SSS response). As a result, it would always use the store, not find most thread subscriptions, and conclude “nope, you haven't subscribed to any thread”, which is wrong. > > > #### 🔗Search > > `matrix-sdk-search` is a new crate implementing a search engine for all the events received by your favorite client. > > * #5694 This crate now has a nice `README.md`! > * #5691 The search index file is now encrypted! Security, safety and privacy are not just fancy words. > > > #### 🔗Media in IndexedDB > > * #5682 It is now possible to get, add, replace and remove media from the `MediaStore` in IndexedDB. > > > #### 🔗RTC > > Real-Time Communication. The base for video and audio calls via Matrix. > > * #5668 Remove the deprecated `CallNotify` event in favour of the `RtcNotification` event. > > > #### 🔗Timeline > > The Timeline is what arranges all the events of a room nicely. > > * #5640 The Timeline can now handle custom events. That's a long-time requested feature. Welcome here! > > > #### 🔗General > > For contributions that fit in no category but are important. > > * #5683 Recently, we've introduced a way to fetch the “most recent used emojis” when reacting to a message. Now the number of emojis are limited to 100 to avoid growing the list indefinitely. > * #5621 The room notification modes will only change when the push rules change; otherwise, recomputing them is a no-op, and only wastes time. And it was a waste a time. With this patch, room notification is 4000% faster. > ### 🔗libQuotient (website) A Qt6 library to write cross-platform clients for Matrix kitsune says > The new version in the stable branch is out; release notes are in the usual place. This release fixes a crash; unfortunately, it's not enough to just sneak in the new library version to fix it though, you actually have to recompile (no code changes needed) your client. Which is why **packagers** are strongly encouraged to build not just this version of libQuotient but also rebuild the clients depending on it (Quaternion and NeoChat, in particular). ## 🔗Dept of Ops 🛠 ### 🔗Matrix Connectivity Tester MTRNord (they/them) announces > This week we have 2 new updates: > > First of all I resolved an issue which prevented users to subscribe to more than one Homeserver using a single email address. This now should work correctly. > > Second of all, there is now a visual representation under the Pipeline tab which is somewhat similar to a GitLab pipeline. This is a goal to make it more approachable to non-technical users. Please note that this is the first iteration of this feature. Therefore, there are some known bugs like the arrows taking a very long time to appear. Help to fix this would be appreciated since with React 19 + react compiler it seems to have gotten quite hard to get this working as the arrows rely on the cards to be laid out in the DOM for calculations. > > You can as usual check out the code at https://github.com/MTRNord/rust-federation-tester/ and https://github.com/MTRNord/matrix-connection-tester-ui/ Or use it at https://connectivity-tester.mtrnord.blog/ > > If you want to opt in into the development versions you can use https://stage.connectivity-tester.mtrnord.blog/ instead which features the main branch. ## 🔗Dept of Bots 🤖 HarHarLinks reports ### 🔗Matrix Reminder Bot (website) > matrix-reminder-bot v0.4.0 has been simmering for a while. Rather than features, it brings some quality of life improvements to existing features. > > Creating reminders is now more sane; you can't set a reminder for a few minutes ago any more and daylight saving time zone handling was improved to calculate the right offset year-round. When inviting the bot to an existing room with recent messages, the bot will not anymore try to read and react to them, which would previously fail especially in encrypted rooms. > > From the technical side, all dependencies have been updated, and Python 3.12 is now supported. We have also added the GitHub container registry to our release CI, making releases available from both Docker Hub and GHCR at your choice. > > Thanks to all who contributed to this release: @svierne, @th0mcat, @cyb3rko! ## 🔗Dept of Events and Talks 🗣️ mcnesium reports > I gave a talk (in German) on Matrix at the annual Chaos event Datenspuren. It is designed for beginners and focuses on overcoming entry hurdles, but also brings up talking points on _why_ we want it, more than for example Signal. Spoiler: Decentralization is the only key against tech authoritarianism. > > https://media.ccc.de/v/ds25-506-enter-the-matrix-oder-warum-signal-auch-doof-ist ## 🔗Matrix Federation Stats Aine [etke.cc] announces > collected by MatrixRooms.info - an MRS instance by etke.cc > > As of today, `10799` Matrix federateable servers have been discovered by matrixrooms.info, `3097` (`28.7%`) of them are publishing their rooms directory over federation. The published directories contain `17040` rooms. > > The most popular server software among the online servers is: > > * synapse: `9348` (`86.6%`) > * conduit: `428` (`4.0%`) > * dendrite: `386` (`3.6%`) > * continuwuity: `244` (`2.3%`) > * tuwunel: `221` (`2.0%`) > > > Stats timeline is available on MatrixRooms.info/stats > > 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| tuwunel.love| 146.5 2| codestorm.net| 217 3| tomfos.tr| 254.5 4| nerdhouse.io| 273 5| nyxt.dev| 296 6| matrix.hks-projekt.at| 299 7| vibb.me| 352 8| wolfspyre.io| 369.5 9| calitabby.net| 383 10| gingershaped.computer| 405 ## 🔗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.
matrix.org
October 9, 2025 at 8:24 AM
This Week in Matrix 2025-09-19
## 🔗Dept of _Status of Matrix_ 🌡️ Robin Riley (m.org) says > This week we're delighted to welcome a new Associate Member to the Foundation: the Moonlight Institute! > > Does your community or nonprofit use Matrix, or advocate for free and open source software, interoperability, privacy, or decentralisation? Join us for free as an Associate Member to show your support and participate in the open governance of Matrix. ## 🔗Dept of Spec 📜 Andrew Morgan (anoa) {he/him} reports > 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:** > > * MSC4360 Sliding Sync threads extension > * MSC4359: "Do not Disturb" notification settings > * MSC4358: Out of room server discovery > * MSC4357: Live Messages via Event Replacement > * MSC4356: Recently used emoji > * MSC4354: Sticky Events > * MSC4353: Per-origin linear chain > * MSC4352: Customizable HTTPS permalink base URLs via server discovery > * MSC4351: Odd Context Limits > > > **MSCs in Final Comment Period:** > > * _No MSCs are in FCP._ > > > **Accepted MSCs:** > > * _No MSCs were accepted this week._ > > > **Closed MSCs:** > > * _No MSCs were closed/rejected this week._ > > > ### 🔗Spec Updates > > Phew, quite a lot of new MSCs this week, covering some very interesting topics as well! > > This week also saw the release of Matrix v1.16, which brings extensible profiles and room version 12, alongside a host of other changes. See the dedicated blog post for more details and the full changelog. > > As one can see, the team is really quite excited about it: > > Otherwise the SCT is currently focused on the proposals under the umbrella of Matrix 2.0. Keep an eye out over the next few weeks as the SCT works to bring them towards a conclusion, hopefully in time for the Matrix Conference in October. Kegan says > If you've ever wanted to let any user set temporary, per-user room state in a room, you may be interested in MSC4354: Sticky Events which enables this. From announcing that you're on a call to broadcasting your live location, there are many use cases for such per-user room state. What's more, this state can be encrypted just like normal messages because that's ultimately what sticky events are: normal messages with stronger delivery guarantees. > > I'm currently working on getting an implementation working in Synapse, and would appreciate feedback on the proposal from the community. ## 🔗Dept of Servers 🏢 ### 🔗Tuwunel jason 🎔 reports > **Tuwunel is the enterprise successor to conduwuit** 🏳️‍⚧️ **funded in part by the Government of Switzerland** 🇨🇭 > > #### 🔗✨ New Features For Version 1.4.2 > > * Requested by alaviss an alternative DNS resolver can be used to reach local appservices and configured for minimal caching. > * Thanks to a report by DetermineAbsurd the `m.federate` field can be defaulted or forced to false when creating rooms using a new config option. > * Contributed by tototomate123 a nifty experimental feature can disable push notifications when you're active on one device from being sent to any others. Please thank them when your pocket stops vibrating while chatting on your desktop! > * By request of gr1n verbose logging builds are now bundled with this release. This mode contains additional messages at all levels optimized away in other release modes; this comes at some performance penalty. > * JWT tokens can now be used for authentication on any endpoint which supports UIA. This feature was commissioned and made public by an enterprise sponsor. > > > #### 🔗📈 Enhancements > > * Sliding-sync has been significantly refactored: performance has massively increased with many bugs and compliance issues also fixed. > * Hydra backports are now enabled by default; the change should be completely transparent. > > > Room deletions now also purge synctokens which can be significant to the overall storage consumed by a room. Room version 1 and 2 support took a step forward, possibly working for some rooms but is not yet considered reliable. Thanks to AreYouLoco for contributing an updated Kubernetes Helm Chart. > > #### 🔗🐞 Bug Fixes > > * Special thanks to freb1b for investigating a bug which triggers the uploading of unnecessary one-time encryption keys. Running over ten maubot instances it became obvious after observing increased resources and laggy bot response. This update removes any excess keys for a device. Thanks to duckbuster for confirming neochat is affected. Clients confirmed unaffected include: Element, Element X, Nheko. Fractal, Cinny, matrix-rust-sdk and matrix-js-sdk clients and bots are probably unaffected. > * Thanks d4sha_uwu for refactoring alias resolution logic to remain compatible with the upcoming element-web release. This was an incredibly valuable contribution which will spare all of us from impending grief. > > > Room deletions now preserve a small number of records to properly synchronize with local clients and remote servers after the room vanishes; prior behavior is maintained with a `--force` flag added to the command. Specification compliance required the `/joined_rooms` endpoint be restricted to current members rather than including past members. Specification compliance required state events be made visible to prior members of a room where `history_visibility=shared`. The limit parameter to the `/context` endpoint is now divided with de facto compatibility matrix-org/matrix-spec#2202. The room avatar in sliding sync is now computed with greater compliance to the specification; this builds off earlier work done by tyler. The canonical alias for a room is considered invalid if the primary alias is missing or removed. Presence is no longer updated by the private read-receipt or read-marker paths, only public receipts. > > 💕 GitHub ✦ Releases ✦ Containers ✦ DockerHub 💕 ### 🔗Synapse (website) Synapse is a Matrix homeserver implementation developed by Element. Andrew Morgan (anoa) {he/him} says > The release of Synapse v1.139.0rc1 is running behind this week due to fixing a release blocker. Expect it to land early next week, with the full release a few days after that once folks have had a chance to test it. > > Otherwise the team continues to work on refactoring the codebase to improve logging in a multi-tenant configuration, as well as begin to advertise support for newer Matrix spec versions (Synapse currently only advertises v12 and below). ## 🔗Dept of Clients 📱 ### 🔗Element X Android (website) Android Matrix messenger application using the Matrix Rust SDK and Jetpack Compose. Jorge reports > Another week, another TWIM. This week the work on Element X Android has been around: > > * Spaces, spaces, spaces. Lots of work related to spaces, the feature is slowly but steadily taking shape. > * Threads: same as with spaces, we're working on finishing the work so the threads features matches the experience on the classic Element apps so we can later iterate on that and improve it. > * Element Call: tested some integrations of the latest changes in Element Call for a better UX. > * F-Droid is back! After fighting some external issues for quite a while reproducible builds are working again so v25.09.1 was released. > * Multi-account work is progressing too! > ## 🔗Dept of Ops 🛠 ### 🔗Matrix Connectivity Tester MTRNord (they/them) reports > We got a new release. It mainly added support for (anonymized) statistics to be gathered. > > The statistics are opt-in on a request level. HS level opt-in is deemed out of scope at this time due to the complexity this would have brought. However, opt-out for an HS can be done on request using an issue on either repo. > > On a technical level, this stores some request results in a database in its raw format and also the aggregation data. It then provides a `/metrics` endpoint in Prometheus text format, and uses salted blake3 hashes to anonymize the server_name in the data. It offers currently the client side announced unstable features as well as server types and versions. > > Additionally, over at the UI there is now a "Statistics" tab trying to visualize the data. > > You are welcome to try it over at https://connectivity-tester.mtrnord.blog/statistics and report issues at https://github.com/MTRNord/rust-federation-tester and https://github.com/MTRNord/matrix-connection-tester-ui respectively. ## 🔗Dept of Bots 🤖 ### 🔗maubot (website) A plugin-based Matrix bot system. tulir announces > maubot v0.6.0b1 and mautrix-python v0.21.0b4 support verifying their own device by using an existing recovery key or generating a new one, which means they're ready for MSC4153 ## 🔗Dept of Events and Talks 🗣️ ### 🔗FITKO Neo Hackathon Marco reports > Greetings from Krems (Danube)! We spent the first week of the workation hacking on an end-to-end encrypted Matrix-powered government-to-citizen communication solution. During the last days, we fought demo-grade keycloak setup, built a Rust-powered Matrix web client for citizen communication and an iOS app for citizens. We also did a lot of brainstorming and planning together with Germany's Federal IT Cooperation and Germany's Federal Ministry for Digital Transformation and Government Modernisation. Our location provided opportunities for walks in the vineyards, great food and music during the night. We (still unsuccessfully) fought Apple support while trying to register an organization with a German umlaut, enjoyed the community and mixed some new Spezi variations Editor's note: in turn with [~~Element~~ Korl]. 🍾 > > The week provides a great starting point for the next iterations of our app and web client that will hopefully skyrocket Germany's next generation user interface to the public administration. > > The project is 100% free and open source software and contributes into the existing Matrix ecosystem. Details about that project can be found on the project's dedicated openCode info repository. Productivity after dark. ### 🔗Matrix Workation in Krems 2025 Yan announces > From **15 September to 5 October 2025** , the Rössl in Krems an der Donau (near Vienna, Austria) is hosting a **Matrix Workation** - a unique mix of co-working, co-living, hacking, and community fun. > > The Workation is open to everyone: developers, contributors, and friends of Matrix. Participants join for daily stand-ups, spontaneous workshops, weekend excursions into the Wachau vineyards, and plenty of opportunities for hacking and late-night discussions. > > **Even though the Workation has already started, there are still up to 5 spots available between 22 September and 5 October — so you can still join!** > > #### 🔗Tickets > > Tickets are available via the Matrix Community Events ticket shop: > > * Day tickets (simple): €70/day > * Day tickets (private room): €90/day > * Special deal: Private room (22 Sept - 5 Oct): €1,000 > > > Venue: _Schwarzes Rössl, Langenloiser Straße 7, 3500 Krems an der Donau, Austria_ > > #### 🔗Sponsorship > > There are also sponsorship packages available to help make the Workation more accessible: > > * Workation 1337 Sponsoring (€1,337) > * Workation 2342 Sponsoring (€2,342) > > > **Why sponsor?** Sponsoring a Workation directly strengthens the **Matrix ecosystem**. By lowering financial barriers, more contributors can join, collaborate, and share ideas. That collective exchange not only benefits the community but also feeds back into every Matrix-based project through new contributions, insights, and connections. > > The **best way to sponsor** is to come by in person bring your projects, your attitude, and your energy, and share them on site. The **second best way** is to send us some money to cover travel and accommodation for participants who otherwise couldn’t afford to join. > > #### 🔗Links > > * Event information > * Tickets > * Matrix room: #workation-nation-krems-2025-public:datanauten.de > > > Come join us in Krems - for hacking, learning, and building Matrix together in a beautiful location by the Danube! ### 🔗The Matrix Conference Thib (m.org) announces > The Matrix Conference has published its schedule! Want to hear about how Matrix would fare on the moon (yes)? Are 74 million German citizens using Matrix in the wild? What is this MLS thing and what are the consequences? > > Our speakers have the answers to these questions, and more! > > * 🗓️ Check the schedule > * 🎟️ Grab your tickets, but be quick! > ## 🔗Matrix in the News 📰 Matthew|away reports > Jon Crowcroft (Matrix.org Foundation Guardian) did a fireside chat with Paul Mockapetris (inventor of DNS) about redecentralisation yesterday - Matrix cameos briefly :) https://www.youtube.com/watch?v=uuX04cpsJqg ## 🔗Matrix Federation Stats Aine [etke.cc] reports > collected by MatrixRooms.info - an MRS instance by etke.cc > > As of today, `13063` Matrix federateable servers have been discovered by matrixrooms.info, `3759` (`28.8%`) of them are publishing their rooms directory over federation. The published directories contain `16987` rooms. > > The most popular server software among the online servers is: > > * synapse: `9635` (`73.8%`) > * conduit: `447` (`3.4%`) > * dendrite: `402` (`3.1%`) > * continuwuity: `245` (`1.9%`) > * tuwunel: `218` (`1.7%`) > > > Stats timeline is available on MatrixRooms.info/stats > > 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| continuwuity.codestorm.net| 146 2| tuwunel.love| 152 3| codestorm.net| 195 4| envs.net| 201 5| shork.ch| 273 6| usbpc.xyz| 292 7| tomfos.tr| 311 8| wolfspyre.io| 332 9| calitabby.net| 407 10| gingershaped.computer| 426 ## 🔗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.
matrix.org
October 1, 2025 at 8:19 AM
Matrix v1.16 release
Hey all, Today’s Matrix 1.16 release brings two major features to the protocol: **extensible profiles** and **room version 12** from Project Hydra! With room version 12, users should see fewer “state resets” and a clearer hierarchy for power levels in the room. The Project Hydra blog post covers the changes in more detail, so this post will focus on extensible profiles and our plan for Matrix 2.0. As always, the full changelog and descriptions of the 9 MSCs released today is at the end of this post. ## 🔗Extensible profiles Since the invention of profiles, people have wanted to advertise information to others. Matrix is no different, with time zones, pronouns, preferred languages, job titles, and more being among the top requested dedicated fields. Matrix 1.16 brings time zone support to ensure the new extensible system is capable of representing basic information. However users are able to use custom namespaces today to describe additional details, whereas new MSCs may formally define fields to be added to the specification for broad client support. Huge thanks and congratulations to Tom for landing this highly requested feature in their first-ever MSC. ## 🔗Matrix 2.0 Over the years we’ve talked a lot about Matrix 2.0, and even demoed the implementations of Matrix 2.0 MSCs at last year’s Matrix Conference. After spending the majority of the last year polishing the implementations and touching up the MSCs, we’re setting our sights on Matrix 2.0. If we’re lucky, we’ll even get the 12+ remaining MSCs merged before the Matrix Conference in October. Watch this space and the Office of the Matrix Spec Core Team room on Matrix for updates as we work toward Matrix 2.0/the conference. ## 🔗The full changelog The full changelog for Matrix 1.16 is: ### 🔗Client-Server API **Deprecations** * Deprecate `m.set_avatar_url` and `m.set_displayname` capabilities, as per MSC4133. (#2071) **Removed Endpoints** * Remove unintentional intentional mentions in replies, as per MSC4142. (#2210) **Backwards Compatible Changes** * Update user profile endpoints to handle custom fields, and add a new `m.profile_fields` capability, as per MSC4133. (#2071) * Add `format` query parameter to `GET /state/{eventType}/{stateKey}` to allow fetching metadata of a specific state event. (#2175) * Add the `use_state_after` query parameter and `state_after` response property to `GET /sync`, as per MSC4222. (#2187) * When upgrading rooms to room version 12, `additional_creators` may be specified on the `POST /_matrix/client/v3/rooms/{roomId}/upgrade` endpoint, as per MSC4289. (#2193) * When creating rooms with room version 12, the `trusted_private_chat` preset should merge the invitees into the supplied `content.additional_creators` in the resulting room, as per MSC4289. (#2193) * In room version 12, the power level of room creators is now infinitely high as per MSC4289. (#2193) * In room version 12, room IDs no longer have a domain component as per MSC4291. (#2193) * When creating rooms with room version 12, the initial power levels will restrict the ability to upgrade rooms by default, as per MSC4289. (#2193) * Add a profile field for a user's time zone, as per MSC4175. (#2206) * Invites and knocks are now expected to contain the `m.room.create` event in their stripped state entries, as per MSC4311. (#2207) **Spec Clarifications** * Clarify that `format` is required if `formatted_body` is specified. (#2167) * The `latest_event` in an aggregated set of thread events uses the same format as the event itself. (#2169) * Fix various typos throughout the specification. (#2171, #2177, #2179) * Clarify that clients should replace events with the most recent replacement by `origin_server_ts`. (#2190) * Fix `/sync` flow referencing incorrect parameter to use with `/messages`. (#2195) * Clarify wording around the `world_readable` history visibility setting. Contributed by @HarHarLinks. (#2204) ### 🔗Server-Server API **Backwards Compatible Changes** * `invite_room_state` and `knock_room_state` now have additional requirements and validation depending on the room version, as per MSC4311. (#2207) ### 🔗Application Service API No significant changes. ### 🔗Identity Service API No significant changes. ### 🔗Push Gateway API No significant changes. ### 🔗Room Versions **Backwards Compatible Changes** * Room IDs in room version 12 are now the event ID of the create event with the normal room ID sigil (`!`), as per MSC4291. (#2193) * Room creators are formalized in room version 12 and have infinitely high power level, as per MSC4289. (#2193) * State Resolution is updated in room version 12 to reduce the opportunity for "state resets", as per MSC4297. (#2193) * The default room version is now room version 12, though servers SHOULD keep using room version 11 for a little while, as per MSC4304. (#2193) * Add room version 12 as per MSC4304. (#2193, #2199) **Spec Clarifications** * In room versions 1 through 12, an event's `auth_events` have always needed to belong to the same room as per MSC4307. (#2193) ### 🔗Appendices **Backwards Compatible Changes** * Room IDs can now appear without a domain component in room version 12, as per MSC4291. (#2193) ### 🔗Internal Changes/Tooling **Backwards Compatible Changes** * Add "placeholder MSC" process definition. (#2157) **Spec Clarifications** * Declare the Application Service Registration schema to follow JSON Schema spec 2020-12. (#2132) * Declare the event schemas to follow JSON Schema spec 2020-12. (#2132) * Upgrade the docsy theme to version 0.12.0. (#2160) * GitHub actions are now building the OpenAPI `spec/identity-service-api/api.json` file. (#2172) * Minor fixes to JSON schemas. (#2182) * Specify a correct spelling for "display name". (#2189) * Fix a grammatical typo on the Matrix Spec Process documentation page. (#2205)
matrix.org
October 1, 2025 at 8:19 AM
This Week in Matrix 2025-09-12
## 🔗Matrix Live Neil says > Hi all, we here at Element Towers recently ran a two day hackathon called “How Hard Can It Be?”. The idea being to try out a bunch of ideas that we’ve been noodling on. At the end of the event we ran a demos session and we thought we’d share the video with you. > > This is the first time we’ve run an event like this, but it certainly won’t be the last. I’ve also been talking with Yan about the idea of expanding it to be Matrix wide, so anyone can get involved. Watch this space. > > Disclaimer: Don't get too excited, it was just a two day hackathon, so everything you see is very much at the poc stage. Though, we may pick a few up in the coming months and ship for real. Today's Matrix Live: https://youtube.com/watch?v=D5zAgVYBuGk ## 🔗Dept of _Status of Matrix_ 🌡️ Matthew announces > Super exciting to see the European Commission soft-launch their first official Matrix Server (https://mathstodon.xyz/@Pol/115173504011566267), powered by Element Server Suite. Watch this space for more info :D ### 🔗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. HarHarLinks reports > This week I'm excited to share some quick transparency update from the Governing Board. Together with the Website & Content Working Group, we have updated the Governing Board area of the matrix.org homepage, adding more info about the Governing Board's current Committees! We have mentioned the Committees before and named them on the website. The Committee names are mostly speaking for themselves, but one of the goals in open governance is transparency, not guessing. 😉 So we have just added a new subpage at https://matrix.org/foundation/governing-board/committees/ where you can now find each Committee's charter, members, and meeting schedule. > > We have also tweaked the main Governing Board page, restructuring the info about the elected representatives and chairs visually to be easier to grasp in the context of Foundation member constituencies and Committees respectively. Give it a whirl, and as always hit us with any questions about the Governing Board over at the #governing-board-office:matrix.org! ## 🔗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:** > > * MSC4350: Permitting encryption impersonation for appservices > * MSC4349: Causal barriers and enforcement > * MSC4348: Portable and serverless accounts in rooms > * MSC4347: Emoji verification images > * MSC4345: Server key identity and room membership > * MSC4344: Strike deprecated SRV service name. > * MSC4343: Making mass redactions use a new event type > > > **MSCs in Final Comment Period:** > > * _No MSCs are in FCP._ > > > **Accepted MSCs:** > > * MSC4311: Ensuring the create event is available on invites > * MSC4175: Profile field for user time zone > > > **Closed MSCs:** > > * MSC4148: Permitting HTTP(S) URLs for SSO IdP icons > * Closed in favour of next-gen auth. > * [WIP] MSC2957: Cryptographically Concealed Credentials > * Closed in favour of next-gen auth. > > > ### 🔗Spec Updates > > In line our quarterly release schedule, the Matrix 1.16 release is soon due. In parallel, the Spec Core Team is working to land as many Matrix 2.0-labeled MSCs ahead of the upcoming Matrix 2025 conference. This is only an aspiration, and the MSCs will not be rushed to meet this deadline. > > If you'd like to help with the effort, or would like to see a given MSC land in Matrix 1.16, feel free to drop us a message in the Office of the Spec Core Team room on Matrix. andybalaam reports > ### 🔗Stitched ordering update > > I've been banging on about message ordering for a while now, but recently Rich and I tried to do something about it by working on a design for providing messages in a consistent order. > > We recently made an attempt at implementing this design, and I wanted to give a small update on how it went. We worked in the Synapse codebase and prototyped adding a column to the `events` table that could represent the "stitched" order of each event. As expected, we encountered some practical difficulties, but we eventually managed to get sensible orders inserted into the table. The next step will be to return events in that order from the various APIs. We'll send more updates if/when we make more progress! > > Why do this? Read the links above for the full story, but the short answer is that with the current behaviour, Matrix clients can become confused about what order things happened in a room, and this can lead to nasty problems like stuck unread rooms or stuck notifications, among other things. Our plan for "stitched" ordering should make sure clients always see messages in the same order from the server. You can find out a bit more by watching a recent episode of Matrix Live! ## 🔗Dept of Trust & Safety ⚖️ Sky says > Room directory working group update: > > Today, we (Nico, Emma, Krille, Mahdi, Sky) want to announce that the application form to get your room listed in the matrix.org room directory is now open. We also have a appeal form for when you disagree with our decision. > > Find the forms at: > > * application form > * appeal form > > > (This is to be considered a beta test where we want to see how the workflow functions and identify any problems. Once we feel comfortable with it, we will also publish it properly on the matrix.org website.) > > For any questions, feedback or further discussion, find us in our #room-dir-wg-office:neko.dev. Looking forward to your applications! ## 🔗Dept of Clients 📱 ### 🔗Element X Android (website) Android Matrix messenger application using the Matrix Rust SDK and Jetpack Compose. Jorge says > Hi everyone, this week on the Element X Android team we've been focused on: > > * Spaces: while it's still behind a feature flag, it's slowly taking shape and now you can explore the spaces you've already joined using a separate tab in the app. > * Trying to fix F-Droid: we haven't been able to make the F-Droid builds work for a while, first because of an issue with the dependency injection we were using, then with the Android Gradle Plugin used to build the app. Both of these issues have been addressed, so we hope a new F-Droid version will be available soon 🤞. > * The notifications for rooms are now set as conversations, and recently used rooms can be added as a shortcut to your home screen. > * Emoji search for reactions: this was a feature that was request quite some time ago, but we couldn't fit into our planning. However, we managed to find some time to actually implement this, we hope you like it! > ## 🔗Dept of SDKs and Frameworks 🧰 ### 🔗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 > Hello folks! Progresses are being made in every directions. Let's dive, would you? > > ### 🔗CVE-2025-59047 > > First off, we have created a new CVE, with a low level. > > * #5635 Fix a panic in the `RoomMember::normalized_power_level` method. > * #5656 Create the CVE. > * #5645 Celebrate a new 0.14.1 version! > > > ### 🔗Media live in their own store > > It's been a moment we want to split the event cache store (#5410). It contains 2 kind of data: the event cache, and the media. The problem is that this store is pretty busy. It leads to “this database is busy”, or “this database is locked” error in SQLite (#5362). To solve this problem, we have reduced the number of concurrent write accesses to this store (#5382). It has reduced the occurrence of errors greatly (#5362-c3200020959). However, this is not entirely done, and we believe extracting the media into their own store would help solving the last occurrences of this problem. > > * #5568 Split media store from event cache store. > * #5655 Drop media SQLite table from event cache store. > > > ### 🔗Search > > Last week, we briefly talked about a new crate: `matrix-sdk-search`. It implements a search engine for Matrix, and we hope to soon see it embedded in many clients. Progresses have been made on that front, with an improved implementation inside `multiverse`, our developer- and debug-oriented Matrix client. > > * #5659 Add `get_room_events` to `EventCacheStore` trait, allowing the initial indexing to be possible. > * #5634 Allow to paginate through search's results when many. > * #5629 Implementing the search engine in `multiverse`. > > > ### 🔗Latest Event > > The new Latest Event API is still blocked by the _re-decryption happens in the Event Cache_ project. Meanwhile, we've been able to merge a couple of other patches to polish the implementation: > > * #5617 Add the new `latest_event` room list sorter, and update the `recency` sorter. This helps to put the rooms with a local latest event value at the top of the room list, and to sort rooms based on their latest event recency stamp. > * #5648 Partially protect against malicious `origin_server_ts`. This was a long standing issue. We took the opportunity of working on this project to fix this issue. > * #5665 Clear the Event Cache so that all new events stored in it are protected against malicious `origin_server_ts`. > > > ### 🔗Badge counter > > Are you aware of _app icon badge notification count is wrong_ on iOS (element-x-ios#3151)? It personally drives me nuts. We are fully aware that it drives many people crazy, and for good reasons! Wait no more, we are finally working on it! The fix on itself isn't particularly complex, but it required —and still requires a bit of— upstream non-trivial work, notably around the cross-process lock. Why that? Because on iOS, the process for the app isn't the same as the process for the notification. We have to ensure mutually exclusive access to the underlying stores. That's why we've implemented a cross-process lock. But we need more. > > * #4874 The meta issue about the cross-process lock improvements > * #5653 The first step to generalise the cross-process lock. The next step is to introduce _poison_ (next week!). > > > ### 🔗Shared recent emojis > > During our hackathon, someone has implemented the _shared recent emojis_ feature. Now it has landed inside the Matrix Rust SDK. With this feature, we can sync recently used emojis between clients (notably Element Web and Element X). The list is sorted by recency of usage and also contains the number of times the emoji has been used in case we want to use that to filter out the items in the future. > > * #5641 Add recent emojis for shared emoji reactions. > > > ### 🔗Technical article of the week > > We want to publish technical articles about what we do in the Matrix Rust SDK. We hope you will enjoy reading them. They aim at deep diving in the details of some bugs, performance improvements, or various novelties. This week, the article is: > > * From 19k to 4.2M events/sec: story of a SQLite query optimisation. > ## 🔗Dept of Ops 🛠 ### 🔗Matrix Connectivity-Tester (website) MTRNord (they/them) reports > Small update finally now that I got a few free minutes. Alerts should now finally not fail to verify your email. > > If you tried this before and got an error, just try adding it again, which should fix it. > > You can find the release at https://github.com/MTRNord/rust-federation-tester/releases/tag/v0.2.3 and find the updated deployment at https://connectivity-tester.mtrnord.blog ## 🔗Dept of Guides 🧭 Kimiblock Moe reports > @this-week-in:matrix.org > This week, I wrote a simple blog about self-hosting autopush-rs and common-proxies for Sunup and Matrix push gateway. > > This forms a complete, local and reliable solution of Matrix push notifications on Android: > > https://blog.kimiblock.top/2025/09/11/selfhosting-sunup/ ## 🔗Matrix Federation Stats Aine [etke.cc] says > collected by MatrixRooms.info - an MRS instance by etke.cc > > As of today, `12932` Matrix federateable servers have been discovered by matrixrooms.info, `3714` (`28.7%`) of them are publishing their rooms directory over federation. The published directories contain `17961` rooms. > > The most popular server software among the online servers is: > > * synapse: `9526` (`73.7%`) > * conduit: `440` (`3.4%`) > * dendrite: `404` (`3.1%`) > * continuwuity: `229` (`1.8%`) > * tuwunel: `203` (`1.6%`) > > > Stats timeline is available on MatrixRooms.info/stats > > 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| tuwunel.love| 134 2| continuwuity.codestorm.net| 167 3| codestorm.net| 191 4| envs.net| 200 5| loang.net| 262.5 6| nerdhouse.io| 267 7| shork.ch| 327 8| tomfos.tr| 353.5 9| ellis.link| 365 10| wolfspyre.io| 378 ## 🔗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.
matrix.org
September 24, 2025 at 12:18 AM
This Week in Matrix 2025-09-05
## 🔗Matrix Live S11E11 – Matrix Rust SDK, Aurora, and more Today's Matrix Live: https://youtube.com/watch?v=Ca-bEgalTqs ## 🔗Dept of Trust & Safety ⚖️ ### 🔗Draupnir4All (website) MTRNord (they/them) says > Hi, > > small and not so positive update: > > Due to things going on which I can't get into, I will not take new applications to Draupnir4All. Additionally, I plan to shut down the system at the end of the year. I suggest looking for alternatives, as I am unlikely to extend this timeframe. > > I am at this time not aware of alternatives beyond selfhosting a draupnir. Draupnir4All is selfhostable by anyone via the appservice module of draupnir however. ### 🔗Pre-announcing asgard.chat tulir reports > We (Cat, Sky and I) are setting up a new server to help replace MTRNord's Draupnir4All service. Asgard will offer both Meowlnir and Draupnir instances to room admins who need a moderation bot, but can't host one themselves (or who want a secondary bot as backup). Expect more news in the coming weeks. ## 🔗Dept of Clients 📱 ### 🔗Element X iOS (website) A total rewrite of Element iOS using the Matrix Rust SDK underneath and targeting devices running iOS 16+. Mauro Romito announces > * More A11y improvements have been added to the app > * Improved the memory management of the app, we recently fixed a possible memory leak that could happen when clearing the cache > * Added a long press action in the media timeline so that you can bring up a context menu > * Spaces work is going great! We made great progress, and implemented a way to navigate between your chats and spaces through a tab view > * Work on thread is going further we are now improving them alongside the sliding sync from synapse, so that is possible for the sliding sync to keep track of the thread you are participating and receive a notification for them, as a reply one. > ### 🔗Element X Android (website) Android Matrix messenger application using the Matrix Rust SDK and Jetpack Compose. Benoit announces > * Making progress on Spaces > * We change our dependency injection library to Metro. It should fix various issues that we observed during compilation > * Also creating a Pull Request to add a first implementation of multi accounts. The feature is still experimental, do not enable the flag if you're unsure! > * and last but not least, we will have soon an enhanced emoji picker, to be able to search for emoji, have a list of recently used emoji and a emoji completion directly in the composer! > ## 🔗Dept of Encryption 🔐 ### 🔗Element Crypto Team update andybalaam says > As well as Invisible Crypto (which we talked about in a recent TWIM), the Element Crypto Team is also working on History Sharing. > > #### 🔗What is History Sharing? > > When you join an encrypted room, wouldn't it be nice if you could read the old messages that were sent before you joined? > > (Of course, only if the room's settings say it's OK. In detail: only if the person sending the message understood this to be allowed at the exact moment they sent it!) > > To be able to read these old messages, you will need to have the relevant message keys, which means someone needs to send them to you. > > History sharing is about securely getting those old keys to a new member of an existing encrypted room, so they can scroll up and see what people were saying. > > #### 🔗What have we been doing? > > We have an early prototype up and running! > > NOTE: it is not ready for fully secure use yet, so only use it in test environments! > > We've added an experimental "labs" flag to Element Web and Element X that allows you to play with the feature. > > If you and the other person both have the labs flag turned on, you can invite them to an encrypted room (with "Who can read history" set to "Members only (since the point in time of selecting this option)") and, along with the invite you will automatically send all the keys they need. > > If it all works as planned, they will be able to see old messages as soon as they join the room. (If not, bug reports are welcome!) > > #### 🔗What is coming next? > > As mentioned, this is just an early prototype, and in particular, we have not implemented all the protections we need to be happy about all the security aspects. > > So the next step is to fill in all those protections and make sure we have a robust solution. > > After that, we will begin working on how to handle situations where people are not explicitly invited to a room (e.g. if they join through a space). > > There's lots of work still to do, but we are making good progress on this important feature. You can follow along and contribute at https://github.com/element-hq/element-meta/issues/2829. > > If you'd like to talk to us, you can find us hanging out in the Matrix support rooms for the Element clients and servers - see you there! ## 🔗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 reports > Ruma keeps growing and improving, as can be seen with our new 0.13.0 release! We had several patch releases since 0.12.0, but this one includes a fair amount of breaking changes for your own good 😉. Some interesting changes are: > > * Support for Matrix 1.13, 1.14 and 1.15, including the OAuth 2.0 server metadata endpoint and rich room topics. > * ruma-client was moved to its own repository and is no longer re-exported by ruma, because it is not being actively worked on. It will still be maintained and kept up-to-date with the latest release of ruma. > * We got rid of the `unstable-unspecified` cargo feature, which means that everything that was behind it was clarified in the Matrix spec, yay! > * The `RoomVersion` type that lists all tweaks between room versions, like for authorization rules or for redaction, was moved from ruma-state-res to ruma-common as `RoomVersionRules`, allowing clients to use it too instead of having to match on the room versions. > * We also gained support for new exciting MSCs like room language (MSC4334) and thread subscriptions (MSC4306 & MSC4308). > > > We want to thank all our contributors! If you want to join them, take a look at one of our "help wanted" issues, or implement an MSC that you care about. ### 🔗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 🦀 reports > 5 weeks. Who said time flies? A non-negligible portion of the team was taking a (too hot) summer break. It doesn't mean nothing happened though. Fasten your jetpack to fly over the biggest changes with me. > > #### 🔗A release! > > First off, we have a new 0.14 release \o/. See the changelog. > > #### 🔗Space > > _Bip bip_ , _bip bip_. What's this echo? Is it… an alien? It's coming from 🌟 Space 🌟! Yes, you heard it. Support for Space has landed in the Matrix Rust SDK. It's an early implementation, there is more to come, but you can already play with it in Element X nightlies. > > * #5509 The big set of patches! > * #5479 Ask for spaces in sliding sync. > > > #### 🔗Thread > > Threads are making great progresses, with a focus on subscriptions to receive notifications. > > * #5590 and #5604 Implement MSC4308. > * #5462 Automatically subscribe a user to a thread under the semantics of MSC4306. > * Work happened in designing and implementing these MSC both in Synapse and Ruma. > > > #### 🔗Latest Event > > The Latest Event API is almost done! The new API is ready, … and working! The merging of the last PR is blocked by another project (direct re-decryption in the Event Cache). > > * #5482 and #5556 The Latest Event is also computed based on the Send Queue, which allows to get local event directly in the room list! > * #5561 Revisit the definition of a `LatestEventValue` so that it can be serialised and deserialised. > * #5587 The `LatestEventValue` is persisted in the store! > > > And the patches waiting to be merged: > > * #5617 A new sorter for the room list which puts the rooms with a local event at the top of the room list. > * #5624 Cleaning and removing the old Latest Event API. > > > #### 🔗Performance > > The Event Cache is now pretty central to the SDK. We are working on it every day. Sometimes shortcuts are taken, which results in slow performance. Hopefully, all the Matrix Rust SDK benchmarks now run in the CI! > > * #5443 All benchmarks run in the CI! > > > Here is a couple of remarkable improvements: > > * #5620 Read Receipts are processed 2x faster! > * #5579 Throughput of `SqliteEventCacheStore::find_event_relations` has been improved by 300%. > * #5411 Throughput of `SqliteEventCacheStore::load_all_chunks_metadata` has been improved by 1140%… > * #5425 … then by 13'000%. > > > #### 🔗Event Cache on IndexedDB > > The Event Cache supports the in-memory backend and the SQLite backend. However, lot of efforts are put to support IndexedDB as a new backend. Progresses are impressive. > > * #5506 Add support for the cross-process lock. > * #5540 Add everything necessary to store room's events and thread's events. > * #5574 Add support for the media retention policy. > * #5603 Add support to stre media. > > > #### 🔗Search > > A new crate is born: `matrix-sdk-search`! It's designed to implement a search engine inside the Matrix Rust SDK, based on the Event Cache. Soon, we will be able to search for any kind of events! > > * The list of patches are a bit long, so here is the full list so far. > > > #### 🔗Encrypted state events > > The MSC3414 define how we can encrypt state-events. The implementation has started and is making great progress! > > * The list of patches are a bit long, so here is the full list. > ## 🔗Dept of Events and Talks 🗣️ ### 🔗The Matrix Conference HarHarLinks says > Hello from the Events Working Group! It's been a couple weeks since our last update, but we have been busy accepting all your talks, planning the exhibition area, coordinating with the venue and c3voc(!) who we are excited will lead the video streaming effort this year, organising food and drink, handing out ticket vouchers to Foundation members and Conference sponsors, ensuring health and safety, onboarding volunteers, and planning the schedule.... more about that soon! > > The big Matrix Conference blog post that goes into detail about _everything_ is still in the oven, right next to the schedule, but in the meantime we couldn't wait any longer to tell you, so here is a tiny teaser! > > * Tickets are available! We have upgraded to a bigger venue, but make sure to get yours before we sell out like last year! 😅🎟️ > * We thank all Conference sponsors making the Conference financially possible! 💰 > * We also thank everyone who signed up to volunteer which will make the Conference possible to realise! If you are interested in announcing speakers and their talks on stage and stream, welcoming and scanning attendees' tickets, spread happiness by handing out the Conference merch, or want to try operating a c3voc camera, sign up now via https://conference.matrix.org/volunteer/ or #events-wg:matrix.org! 📹 PS: It's not quite ready but we already can't wait to share the look of the exclusive zipped hoodie with which we will equip the Conference crew! 👀 > * The Conference will happen at Kaleidos.coop in Strasbourg! We updated the website so it's now easier to find out where it is and how to get there! 🗺️ > * Once again we are able to offer the DB Event Ticket special offer! We have just put the link on the website, so if you're coming from or via Germany, check it out! 🚄 > * The detailed schedule is not quite finished yet, but you might want to make sure you arrive in time for the Welcome Party! 🎉 > > > Speaking of the schedule, we have started to share some highlights on social media! > > * Tech doesn't exist in the void. We create products to serve people. But how do people feel about tech? Tenure-track Assistant Pr Carla Griggio studied how people feel about untraceability, and whether experts make a good job at explaining what it means. > * Ever wondered why Matrix doesn't use MLS (yet)? Nico will explore how MLS and Matrix work internally, and shed some light on it in the talk "Matrix and MLS - Water, Oil and Mayonnaise"! > * bnjbvr is an active member of the Rewrite in Rust task force 🦀, and he wants you to know how you can make your Matrix app go voom in the talk "Speedrunning Matrix clients with the Rust SDK"! > > > Follow The Matrix Foundation on Mastodon, Bluesky, LinkedIn for more, and use the hashtags `#MatrixConf` and `#MatrixConf2025`! > > To shorten the wait and for any announcements, join the #matrix-conference-2025:matrix.org space and #general-mc25:matrix.org rooms! > > For any other questions about Matrix Events, you can find the Events Working Group at #events-wg:matrix.org or email conference@foundation.matrix.org. > > Stay tuned! ## 🔗Matrix Federation Stats Aine [etke.cc] reports > collected by MatrixRooms.info - an MRS instance by etke.cc > > As of today, `12938` Matrix federateable servers have been discovered by matrixrooms.info, `3726` (`28.8%`) of them are publishing their rooms directory over federation. The published directories contain `16981` rooms. > > Stats timeline is available on MatrixRooms.info/stats > > 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| tuwunel.love| 154 2| continuwuity.codestorm.net| 165.5 3| codestorm.net| 198 4| nerdhouse.io| 247 5| maunium.net| 248 6| tomfos.tr| 254.5 7| wolfspyre.io| 324 8| chat.mailliw.org| 364 9| nadeko.net| 413 10| littlevortex.net| 549 ## 🔗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.
matrix.org
September 15, 2025 at 12:12 AM
This Week in Matrix 2025-08-29
## 🔗Matrix Live Today's Matrix Live: https://youtube.com/watch?v=V9dyWcZxdcQ ## 🔗Dept of _Status of Matrix_ 🌡️ Robin Riley announces > Please join me in welcoming the newest members of the Foundation! FlatTurtle has joined as a Silver Member, and c-base has joined as an Associate Member. We're grateful for their support! > > Does your community or organisation use Matrix? Do you maintain an open source project that builds on Matrix? Join these organisations in demonstrating their support and apply to become a member today. ## 🔗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:** > > * MSC4334: Add `m.room.language` state event. > * MSC4333: Room state API for moderation bots > * MSC4332: In-room bot commands > * MSC4331: Device Account Data > > > **MSCs in Final Comment Period:** > > * MSC4311: Ensuring the create event is available on invites and knocks (merge) > * MSC4142: Remove unintentional intentional mentions in replies (merge) > > > **Accepted MSCs:** > > * _No MSCs were accepted this week._ > > > **Closed MSCs:** > > * _No MSCs were closed/rejected this week._ > > > ### 🔗Spec Updates > > This week we've had follow-on work from the room v12/hydra MSC that were in-flight a couple weeks ago. A prime example is MSC4311: Ensuring the create event is available on invites and knocks, which makes the create event available to users when they are invited to a room. Among supporting feature work, this primarily allows trust & safety tooling to analyse the room's creator (taken from the `sender` field of the create event) and use that as part of determining whether the invite is likely to be spam or not. > > The MSC is in Final Comment Period, but recently had a concern added. Hopefully we'll see it become unblocked land soon. > > Otherwise the next release of the Matrix spec is now slated to come early September. Especially as MSC4311 is considered a release blocker. Keep your eyes peeled for an announcement about it soon! ## 🔗Dept of Clients 📱 ### 🔗Fractal (website) Matrix messaging app for GNOME written in Rust. Kévin Commaille reports > Our latest stable release had a regression where sending media with the unauthenticated endpoints was failing. Fractal 12.1 fixes it, and provides a couple other papercut fixes. > > This version is available right now on Flathub. > > If you want to help us avoid regressions like that in the future, you could use Fractal Nightly. You could even get rid of our remaining bugs yourself! ## 🔗Dept of Widgets 🧩 ### 🔗NeoDateFix (website) Organize meetings in Matrix chat rooms and video conferences - straight from your Matrix client. Mikhail Aheichyk says > We have released the NeoDateFix widget v1.7.2 with an update to the latest Matrix Widget Toolkit to support room version 12. > > In case you need to upgrade your NeoDateFix rooms, you can now find all relevant information in the room upgrades section of our README. > > The NeoDateFix bot release v2.8.5 was also updated to match: > > It can now determine the Matrix homeserver's default room version automatically and set up power levels correctly depending on the room version when creating rooms. Specifically, this includes support for when the homeserver is using room version 12 as default. The bot can work with rooms using different Matrix room versions at the same time without any special configuration, so migrating to version 12 will be seamless. ### 🔗NeoChoice (website) Conduct advanced polls in your Matrix room. Mikhail Aheichyk announces > The new NeoChoice release v1.6.0 is finally available using our new toolchain: > > We have updated the widget’s tech stack to use React 18, Vite and Vitest. On top, we have of course also updated it to the latest Matrix Widget Toolkit with support for room version 12. > > If you need to upgrade your NeoChoice rooms, you can now find all relevant information in the room upgrades section of our README. ### 🔗NeoBoard (website) Private and secure whiteboard for everyone. Mikhail Aheichyk announces > The new NeoBoard release v2.3.1 is ready for action! > > We have improved support of our WIP infinite canvas feature with the ability to pan the canvas using the right or middle button when the mouse is over the element. We have also improved our experimental Matrix RTC support to use delayed events to terminate Matrix RTC sessions. We have updated the widget to use the latest Matrix Widget Toolkit to support room 12 version. Finally, we have improved performance, which now provides smother moving and resizing of many multiple elements. > > In case you need to upgrade your NeoBoard rooms, you can now find all relevant information in the room upgrades section of our README. ### 🔗Matrix Widget Toolkit (website) Reusable framework for creating Matrix widgets. Mikhail Aheichyk announces > We have updated Matrix Widget Toolkit to work with room version 12! > > We have taken the occasion of the room version 12 release to rework power level calculations to comply with the Matrix specification in all room versions. The `calculateUserPowerLevel` exposed function implementation and API have been changed to address different Matrix room versions, including 12. > > We have also updated other power levels related functions so that they can be used in room version 12. Functions like `hasRoomEventPower`, `hasStateEventPower`, `hasActionPower` and `calculateUserPowerLevel` have been updated to include the `m.room.create event` when calculating any user's power level. This is important for room version 12, as the room's creator basically has infinite power. > > Consequently, `calculateUserPowerLevel` now returns either a normal power level number or the string `ROOM_VERSION_12_CREATOR` if the user is the room's creator. Additionally, we added new exported function, `compareUserPowerLevelToNormalPowerLevel`, to compare this new user power level to a normal Matrix power level number. This new function may also be used in widgets. > > The validation strictness regarding the room ID's domain has been removed because the format for version 12 room IDs has changed. > > This results in a new major @matrix-widget-toolkit/api release, with few patch releases, v5.0.2 being the latest. A new major @matrix-widget-toolkit/testing v4.0.0 release with few changes to API default parameters. These changes were made due to a rework of power level calculations. And minor @matrix-widget-toolkit/react v2.1.0 and @matrix-widget-toolkit/mui v2.2.0 releases, reducing strictness on room IDs to comply with changes in room version 12. ## 🔗Dept of VoIP 🤙 ### 🔗Element Call (website) Native Decentralised End-to-end Encrypted Group Calls in Matrix. Timo K. says > The Element VoIP team released Element Call version 0.15.0 > > This release introduces a key part of the MatrixRTC spec that was previously missing from Element Call. The state key of call member events is now distinct per MatrixRTC session type (application), allowing an Element Call m.call session to run alongside other session types. > > Element Call now also supports MatrixRTC Authorization Service v0.3.0, which adds a key infrastructure control by restricting automatic LiveKit SFU room creation to users on selected (trusted) homeservers, helping ensure that SFU resources are used efficiently and remain available for their intended communities. Note this does NOT break calls across federation. > > Calls also now have a dedicated "Reconnecting" state. This enhances both stability and security: Element Call stops publishing and subscribing media when you are disconnected from the room state. This prevents downloading media you cannot decrypt and uploading media unnecessarily when others are not aware you are in the call. > > ### 🔗MatrixRTC Authorization Service > > The authorization service is the gateway between your SFU and the matrix network. It decides who can access your SFU resources. Version v0.3.0 allows to restrict SFU room creation to selected homeservers. Note: still allows calls over federation. ## 🔗Dept of SDKs and Frameworks 🧰 ### 🔗Halcyon (website) Halcyon is an easy to use Matrix library inspired by discord.py. gen3 reports > Hey all! Long time no see! This week marked the first two releases of Halcyon in ages! These bumps should be minor and non breaking, generally just some housekeeping work before the more interesting stuff.in 1.2.0 I’ve replaced the old message and room parsing code with well defined pydantic schemas, added some configurability to how strict we verify those schemas, and added a boat load of test cases. In version 1.3.0 I migrated to aiohttp to improve performance around message handling. This includes solving the long standing issue of having to wait for the longpoll to exit to quit the bot. We also added `client.get_bot_info`, another quality of life improvement that allows you to get info on the currently running bot. > > With these changes we've fully caught up with the latest message and room part of the Matrix spec 🎉🎉🎉 Rebuild your docker containers and let me know how things work! > > You should totally come say hi in the room over at https://matrix.to/#/#halcyon:blackline.xyz ## 🔗Dept of Bots 🤖 ### 🔗matrix-jukebox bgt lover reports > Matrix-jukebox is an attempt at a bot which follows the matrix rtc, also known as MSC4143, specification to interoperate with clients supporting the M.Call application type, only element-call for now. After a lot of deliberation, I thought it's time to show off what I've been doing so far, because the journey has been quite long, and quite a long way away the road stretches still. > > ### 🔗what works so far? > > Not a lot actually, currently the bot detects when a call is started and joins it. Afterwards, it waits for about ten seconds before leaving the call. However, there are tools to allow other functions, they just weren't fully wired because there are other components which haven't been developed. Among those tools and functions, the following are noteworthy: > > * following room tombstones. Not a very important addition, but it's there, in case of future room upgrades > * parsing .well-known for livekit information and querying for a livekit token from the jwt service > * receiving the to-device events for livekit key exchange > * answering with a proper list of foci to someone starting an m.call matrix rtc session > > > ### 🔗What is it supposed to do? > > The exact interface of this is unclear, but generally it should allow people to upload songs, and the bot would play them in a matrix rtc call. This is frequently happening on other messaging platforms with voip functionality, only on matrix this wasn't a thing before as far as I know. Because the code isn't complete in functionality yet, feel free to use the code as inspiration for creating apps which interoperate with element-call. At some point, when the bot is more featureful, I intend to split out the matrix rtc parts, so it could be used as direct inspiration, or integrated in the matrix rust sdk, etc. > > ### 🔗Links > > For now, this is the code of it on codeberg: > > https://codeberg.org/esoteric_programmer/matrix-jukebox > > Generally, people would put the project's room in this section, but because this isn't usable as its intended purpose yet, it has no room. For questions, I dk, ask in the twim offtopic room I suppose The code isn't very tidy yet, but it's there, so if you want to look through it and open issues or something, have fun! ## 🔗Dept of Interesting Projects 🛰️ ### 🔗resolvematrix nex (it/she) 🏳️‍⚧️ announces > I can't find a good (simple+correct+extensible+batteries included) library in Python that strictly does correct x-to-server resolution logic, so I made one. You can also use it, if you fancy it. > > If you're writing something in Python and need to discover the client-to-server or server-to-server API routes for specific server names, you'll like resolvematrix - aptly named, it resolves all of the servers available at https://resolvematrix.dev (although is not associated), and also some other tricky server names that some clients (and servers) also fall over. It's specifically built using modern libraries like `httpx` but gives you all the information required to use it in your own http library of choice. It doesn't currently have async methods but you can just chuck the existing calls in an `asyncio.to_thread` and nobody will be any the wiser. > > * PyPi: https://pypi.org/project/resolvematrix/ > * Codeberg: https://codeberg.org/timedout/resolvematrix/releases/tag/1.0.0b1 > * Contact: #ontopic:timedout.uk > ## 🔗Matrix Federation Stats Aine [etke.cc] says > collected by MatrixRooms.info - an MRS instance by etke.cc > > As of today, `12907` Matrix federateable servers have been discovered by matrixrooms.info, `3709` (`28.7%`) of them are publishing their rooms directory over federation. The published directories contain `17987` rooms. > > Stats timeline is available on MatrixRooms.info/stats > > 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| tuwunel.love| 154 2| continuwuity.codestorm.net| 162 3| ncat.cafe| 180 4| continuwuity.rocks| 201 5| codestorm.net| 202 6| bi-vibes.com| 206.5 7| envs.net| 258 8| usbpc.xyz| 259.5 9| nerdhouse.io| 263.5 10| maunium.net| 289 ## 🔗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.
matrix.org
September 6, 2025 at 12:06 AM
This Week in Matrix 2025-08-22
## 🔗Dept of Trust & Safety ⚖️ Sky announces > Today, Cat and Sky want to formally launch Muninn Hall. > > Muninn Hall is a new community for public Matrix homeserver staff, from administrators to custodial and janitorial moderators. We want to provide a space to pool knowledge, collaborate, and support each other in the efforts of running publix Matrix homeservers. This can range from Trust & Safety, systems administration, or general community management. > > Why Muninn Hall? While there are various Matrix rooms that may look similar to what we aim to do, we couldnt find anything with a comparable concept yet. > > The plan is to: > > * meet in the Matrix space for easy exchange and coordination between each other > * have the main Muninn Hall website where we want to pool all kinds of relevant documentation regarding public Matrix homeservers > * publish blogs like Introducing Muninn Hall, or maybe a homeserver admin sharing their experiences with $topic > > > How to Join > > A senior staff member joins #muninn-hall-screening:feline.support (https://matrix.to/#/!6E8eJaLZRz_w-LhzxEHRXc_fUowMu8JZk7RAGLdc0Bk), the welcome bot will explain what to do. Once cleared, other staff from the same homeserver can join. The easiest path is being listed in your homeserver’s MSC1929 support record. > > Who Qualifies? > > * Admins and staff of public homeservers. > * People with a well-established reputation within the community, who have knowledge that unquestionably valuable for this community. > ## 🔗Dept of Clients 📱 ### 🔗gomuks web (website) A Matrix client written in Go tulir reports > The gomuks backend now supports being compiled to wasm to run the web client fully in-browser. You can find a demo at https://demo.gomuks.app > > The performance is worse than natively due to OPFS being slow, but it works reasonably well with small accounts (OPFS is the web storage API that the official wasm build of SQLite uses). The database code is quite hacky even if you ignore the OPFS performance issues: there's no way to use cgo in wasm, so I wrote my own Go database connector which calls the SQLite C API via JS: https://github.com/gomuks/gomuks/tree/main/pkg/sqlite-wasm-js. The hacky storage and other wasm-specific weirdness means it's somewhat fragile and will explode if you hold it wrong. ### 🔗Element X iOS (website) A total rewrite of Element iOS using the Matrix Rust SDK underneath and targeting devices running iOS 16+. Doug says > * We released 25.08.5 to the App Store on Monday which fixed a bug that could sometimes occur when following tombstone links for v12 rooms. > * The initial flows for exploring your spaces are coming on nicely, including navigation using the split view when running on iPad. > * We’re working on our own solution for converting HTML into AttributedStrings (based on SwiftSoup) to replace our current implementation (which uses DTCoreText and post-processes the result) so that we have complete control over the final output. > ## 🔗Dept of Events and Talks 🗣️ ### 🔗Matrix Workation Krems 2025 — 15 September to 5 October (rescheduled) Yan announces > Join us in Krems an der Donau for three weeks of collaboration, creativity, and community — set against the beautiful backdrop of the Wachau Valley. This workation is part of the **Matrix community events** and is open to members or company members of the **Matrix Foundation** or **Rössls Black Pony Club**. > > * * * > > #### 🔗**Program Overview** > > **15–19 September** — **NEO Hackathon & FITKO Special** > Kick off with an intense project sprint for matrix-g2x , deep-dive workshops, interoperability demos, and public sector collaboration sessions. Mornings feature talks and presentations, afternoons are for focused work, and evenings bring social activities like vineyard visits and Danube boat trips. > > **20–21 September** — **Weekend Exploration** > Recharge with hikes, wine tasting, art galleries, and cycling along the Danube. > > **22 September – 5 October** — **Open Workation** > Two weeks of flexible co-working and co-living. Shared daily stand-ups, spontaneous workshops, and weekend excursions. Perfect for independent work while enjoying community vibes. > > **5 October** — **Closing Gathering** > Farewell brunch, reflection round, and plans for next year. > > * * * > > #### 🔗**Pricing** _(for Matrix Foundation & Rössls Black Pony Club members)_ > > **Workation Simple** – €70/day > Bed in shared space, breakfast & dinner, co-working space, and all-area pass. > > **Workation Private Room** – €90/day > Bed in private room, breakfast & dinner, co-working space, and all-area pass. > ⚠ _Private rooms have limited availability._ > > **Special Private Room Deal** — €1000 > 22 September – 5 October (flat rate). > > **Long-stay discount** — Book more than a week and get **10% off**. > > * * * > > **Talk to us if you have further questions.** ## 🔗Dept of Interesting Projects 🛰️ ### 🔗mrvc, max room version checker (website) June announces > Announcing mrvc (max room version checker) > > mrvc is a small tool for checking how many members of a given Matrix room support which maximum room version. The idea has been sparked by the new room version 12 being released, so that one can assess the adoption rate of the new room version and make an educated decision on when to upgrade rooms. (Please note that it only checks the homeserver-side, not the client-side, for support.) > > Aside from that, it got a bunch of additional features, like: > > * Showing member count broken down by homeserver implementation and version. > * Checking multiple rooms at once. > * Recursively checking all rooms of a given space. > * And more! > > > You can check it out at: https://codeberg.org/june64/mrvc ## 🔗Dept of Interesting News ### 🔗Survey: Cyber Resilience Act and Open Source Yan announces > The German Federal Office for Information Security (BSI) is currently running an online survey on the Cyber Resilience Act (CRA) via its "Dialogue for Cybersecurity". > > The aim is to better understand the impact of the CRA on open source and to develop practical guidelines based on community input. > > The survey is aimed at three groups: > > * Manufacturers > * Open source projects > * Potential open source stewards > > > The survey is anonymous and open until 31 August 2025. > > Responses received by 30 July 2025 were included in an initial evaluation presented at FrOSCon 2025. > > ### 🔗Questionnaires > > German > > * Manufacturers (DE) > * Open source projects (DE) > * Potential open source stewards (DE) > > > English > > * Manufacturers (EN) > * Open source projects (EN) > * Potential open source stewards (EN) > > > ### 🔗Why this matters for Matrix > > The CRA will influence how open source software is developed, distributed, and maintained across Europe. > > For the Matrix ecosystem, this includes everything from server implementations (e.g. Synapse, Dendrite), to client apps, to bridges. > > By participating in the survey, the Matrix community can ensure its perspective is heard and that resulting guidelines enable sustainable, community-led, open collaboration. > > If you maintain, contribute to, or rely on Matrix projects, please consider filling out the survey and share it with others in our community. ## 🔗Matrix Federation Stats Aine [etke.cc] reports > collected by MatrixRooms.info - an MRS instance by etke.cc > > As of today, `12975` Matrix federateable servers have been discovered by matrixrooms.info, `3724` (`28.7%`) of them are publishing their rooms directory over federation. The published directories contain `17028` rooms. > > Stats timeline is available on MatrixRooms.info/stats > > 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| tuwunel.love| 147 2| continuwuity.codestorm.net| 163 3| codestorm.net| 187 4| nerdhouse.io| 252 5| tomfos.tr| 261.5 6| haise.uk| 308 7| wolfspyre.io| 325.5 8| digital-markets.info| 421 9| littlevortex.net| 434 10| beeper.com| 448.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.
matrix.org
August 30, 2025 at 12:04 AM
This Week in Matrix 2025-08-15
## 🔗Matrix Live S11E09 – Tammy Today's Matrix Live: https://youtube.com/watch?v=lav3RtlEbmU ## 🔗Dept of Spec 📜 Andrew Morgan (anoa) {he/him} reports > 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:** > > * MSC4326: Device masquerading for appservices > * MSC4325: Presence privacy > > > **MSCs in Final Comment Period:** > > * [WIP] MSC2745 : Add hCaptcha as captcha provider (close) > * [WIP] MSC2271 TOTP 2FA login (close) > * Closed as superseded by next-gen auth work. > > > **Accepted MSCs:** > > * MSC4304: Room Version 12 > * MSC4297: State Resolution 2.1 > > > **Closed MSCs:** > > * MSC4329: Inviting with authorization > * Opened for informational purposes only. > > > ### 🔗Spec Updates > > This big news this week is the Project Hydra coordinated security release. On August 11th, 2025, updated homeserver implementations were put out to address the vulnerabilities. And the following Thursday, August 14th, the associated spec updates were put out as well (which divulge further details). > > The largest part of this is the new Room Version 12, which had a spec PR merged on the same. It explains the changes servers and clients need to make to address the vulnerabilities. > > The relevant MSCs and spec PRs were merged and homeserver and client implementations should have already (or should do _now_ if they haven't) updated to support the new changes. However, the changes to the spec won't actually appear in a new spec release until the next release cycle, keeping in line with the usual spec process. The next release is due to go out in the next few weeks as we approach the end of Q3 2025. ## 🔗Dept of Trust & Safety ⚖️ ### 🔗Rory&::MatrixUtils Rory&::MatrixUtils is a general user/moderation/admin toolkit for Matrix Emma [it/its] reports > Announcing the new room upgrade/creation CLI, for scripted use cases! It's still unfinished, but so far we're able to upgrade test rooms! If you run a larger community, you might find `MatrixUtils.RoomUpgradeCLI` to be an indispensable tool! > > The core idea behind it, is that browser-based workflows for client-driven room upgrades don't scale very well in MatrixUtils. With this, we're offloading the task to a dedicated CLI app! RoomUpgradeCLI is built for automation. This means that you can import your entire room directory, run over the files with `jq` or manually, and then commit them in bulk! For testing, you can create a duplicate of a room by using `RoomUpgradeCLI modify myroom.json --version 12` in order to unbind the upgrade relation, and then `RoomUpgradeCLI execute myroom.json`! Keep in mind you'll need to remove the room alias from the json file! > > I'm hoping to be able to write proper documentation soon on the process, but I'm hoping at the moment to collect feedback on room upgrades, so I can write the best tooling I'm able to provide! > > **But why should I care?** The main benefits of using the room upgrade CLI, is that you're in full control over the creation of the room. This means including all the state events you want, not including old room bans when you use a moderation bot, cleaning up your power levels, or other invasive changes! Additionally, we also account for clients that don't support displaying or following tombstones, by posting a regular message event in the old room! Additionally, there are options to automatically invite all users with a power level, or to invite all members for cases like spaces, where a good UX for room upgrades currently doesn't exist. > > _**And, as always:**_ > > * You can find the first party hosted version of RMU here! > * The code is available at cgit.rory.gay! > * All contributions are more than welcome, be it documentation, code, anything! Perhaps, example usecases, bots, ...? > * Discussion, suggestions and ideas are welcome in #mru:rory.gay (Space: #mru-space:rory.gay) > * Got a cool project that you're working on and want to share, using LibMatrix? Be sure to let us know, we'd love to hear all about it! > ## 🔗Dept of Servers 🏢 ### 🔗Synapse (website) Synapse is a Matrix homeserver implementation developed by Element Andrew Morgan (anoa) {he/him} reports > This week the Element team put out several important releases fixing the vulnerabilities discussed in Project Hydra. Please upgrade to at least Synapse 1.135.2 if you have not already. Synapse 1.136.0, released on Tuesday, is a feature release that also includes the security fixes. > > On to less jarring news; this week Matrix Authentication Service (MAS) v1.0.0 was released! 🎉 > > This is the first stable release of MAS, and sends a strong signal to its stability in production environments. If you haven't switched to MAS yet, we strongly recommend doing so. ## 🔗Dept of Clients 📱 ### 🔗< polycule > (website) The one with the braid (she/her) ⚡ reports > Dear [matrix] ! < polycule > v0.3.0 was released ! > > The release mostly consists of refactoring and maintenance. Amongst the notable new changes, we now support Room Version 12, Tombstones, Room Upgrades, improved UnifiedPush on Android and added more translations. > > You can find the release notes on GitLab ! > > Thanks for giving < polycule > a try ! ### 🔗Nheko (website) Desktop client for Matrix using Qt and C++17. Nico reports > We made a small security release of Nheko, that fixes a few issues around html escaping into the UI (how dare it!) and file permissions of downloaded files on Windows. We highly recommend you update! > > Apart from that, the release includes also a few minor changes for room version 12 compatibility (but no power level changes yet!) and lots of other small improvements! > > You can find more info as well as some downloads here: https://github.com/Nheko-Reborn/nheko/releases/tag/v0.12.1 > > Please enjoy and sorry there was no pre-announcement, but I currently don't have the freedom to plan my time in advance and I really wanted to get this out finally! See ya next year for the next release! 🎉 ### 🔗Neochat (website) A client for matrix, the decentralized communication protocol Tobias Fella announces > This marks the third week in a row where I remembered to write a TWIM entry! To celebrate this, we have released NeoChat 25.08 this week. This update brings you, among others: > > * Configurability for when messages are marked as read > * Improvements to how NeoChat shows video messages > * Nicer dialogs for creating rooms and spaces > * Improved compatibility with OIDC login and registration > * An improved view for invited rooms > * Improvements to NeoChat's markdown flavor: > * Adding strikethrough with `~~` > * Adding spoilers with `||` > * A possibility to read a message's text using text-to-speech > * Starting and ending polls > ### 🔗Fractal (website) Matrix messaging app for GNOME written in Rust. Kévin Commaille says > Knock, knock, knock… on ~~wood~~ rooms, baby 🎵 Ooh ooh ooh ooh ooh ooh 🎶 That's right, Fractal 12 adds support for knocking, among other things. Read all about the improvements since 11.2: > > * Requesting invites to rooms (aka knocking) is now possible, as is enabling such requests for room admins. > * The upcoming room version 12 is supported, with the special power level of room creators. > * A room can be marked as unread via the context menu in the sidebar. > * You can now see if a section in the sidebar has any notifications or activity when it is collapsed. > * Clicking on the name of the sender of a message adds a mention to them in the composer. > * The safety setting to hide media previews in rooms is now synced between Matrix clients and we added another safety setting (which is also synced) to hide avatars in invites. > > > As usual, this release includes other improvements and fixes thanks to all our contributors, and our upstream projects. > > We want to address special thanks to the translators who worked on this version. We know this is a huge undertaking and have a deep appreciation for what you’ve done. If you want to help with this effort, head over to Damned Lies. > > This version is available right now on Flathub. > > If you want to join the gang, you can start by fixing one of our newcomers issues. We are always looking for new members! ### 🔗Element X iOS (website) A total rewrite of Element iOS using the Matrix Rust SDK underneath and targeting devices running iOS 16+. Doug says > * Version 25.08.3 was released to the App Store on Monday with support for v12 rooms and their new Owner/Creator roles. > * Version 25.08.5 is available in TestFlight (or should be very soon) with the expectation of being released to the App Store next week. We added a workaround for v12 tombstone links, passing a selection of server names from the room members to help your homeserver discover the room when it hasn’t seen it before. > * Work on Spaces continues and we got our first glimpses of receiving `/hierarchy` results in the app from the SDK. > ### 🔗Cinny (website) Cinny is a Matrix client focused on simplicity, elegance and security Lozenge announces > Cinny v4.9.0: A Fresh Look at Profiles, Enhanced Room Creation & More > > We're excited to announce the release of Cinny v4.9.0, a feature-rich update packed with UI enhancements, security improvements, and behind-the-scenes refinements. One of the most important changes in this release is support for Room Version 12, which is required for the Matrix security disclosure effective August 11. > > A major highlight in this release is the **redesigned user profile**. Profiles are now more informative and interactive — you can view a list of mutual rooms, see detailed cards for users who are invited, kicked, or banned, and easily share a user's profile link with a one-click button. Presence indicators have been added when supported by the server, giving users a clearer sense of activity. Notably, the option to view another user's device sessions has been removed due to recent protocol updates that allow servers to mask device identifiers with opaque strings. > > In line with Matrix’s evolving ecosystem, Cinny now fully supports Room Version 12. The room and space creation panels have been overhauled for clarity and functionality. You can now assign multiple Founders when creating or upgrading a room. > > On the customization front, Cinny users now have the option to enable a 24-hour time format and define their preferred date format, offering better localization and personal preference support. Timeline navigation has also been improved with a "Jump to Time" feature, allowing you to scroll back to specific moments in the chat with ease. For threads, there's now a convenient button to start a thread from a reply — though threads still appear in the timeline with an icon, fully threaded views are on the roadmap. > > This release also delivers a variety of quality-of-life improvements and bug fixes. Highlights include better focus management when navigating pages, fixes for room alias conflicts, enhancements to thread reply layouts, improved virtual keyboard support on WebKit, and better DM room handling. > > Additionally, Cinny has refined its code block display with language headers, collapsible sections, copy functionality, and polished syntax highlighting using Prism styles. You’ll also find clearer error messages for file uploads, stricter validation for publishing rooms, and an improved avatar fallback for DM group chats. > > For users relying on OIDC authentication, Cinny now links device account management more seamlessly with OIDC provider. Be cautious when using multiple accounts in the same browser — always verify you’re logged into the correct one before managing sessions. > > For the full details and to see the code in action, check out the GitHub release page. As always, we’re grateful for the community's feedback and contributions. Feel free to join our space at #cinny:matrix.org. ## 🔗Dept of SDKs and Frameworks 🧰 ### 🔗libQuotient (website) A Qt5 library to write cross-platform clients for Matrix kitsune says > A new release, 0.9.4, is out, mainly to support v12 rooms but also with an assortment of tweaks and fixes backported from the development branch. The release notes are in a usual place. Client authors and packagers are strongly recommended to upgrade! ## 🔗Dept of Bots 🤖 ### 🔗NioBot (website) nex (it/she) 🦈🐈️🏳️‍⚧️ announces > A few compatibility issues were found with v12 rooms in NioBot earlier today, along with a couple other bugs, so v1.3.0a2 has been released to resolve some of the painful bits. Due to a lack of time, I've not had the chance to backport these changes, so the latest release will remain "incompatible" (power level checks won't work) with v12 rooms, and there may be other dragons within. I have been quite busy doing side quests in other parts of the ecosystem, so niobot hasn't received the love and care I would prefer to give it, but rest assured I'll be planning to pick up the slack around January 2026. Great things lay ahead! > > If you run into any issues, feel free to let me know in the matrix room at #talk:nio-bot.dev, and/or on the issue tracker: https://github.com/nexy7574/nio-bot/issues/new! ### 🔗Draupnir (website) A moderation bot for open Matrix communities Gnuxie 💜🐝 reports > Draupnir has released v2.6.1 (via 2.5.1, 2.6.0). These releases bring support for room V12, including the automatic protection of replacement rooms when rooms that draupnir protects are upgraded. We still advise against upgrading rooms at this time for several reasons, you should consult our documentation on room upgrades https://the-draupnir-project.github.io/draupnir-documentation/moderator/room-upgrades. We are developing better UX to support room upgrades for community managers and you can follow progress here https://github.com/the-draupnir-project/planning/issues/44. ## 🔗Dept of Events and Talks 🗣️ ### 🔗Matrix Community @ WHY2025 HarHarLinks announces > ...or how to write a Room Upgrading Guide > > WHY2025 was a nonprofit outdoors hacker camp taking place in Geestmerambacht, the Netherlands (approx 42km North of Amsterdam), on 8-12 August 2025. It is the latest edition of the quadrannial series of hacker camps in the Netherlands. > > The event also perfectly overlapped with the "Hydra" coordinated security release on its last full day. This allowed some of the Matrix hackers in attendance to co-work on finishing the Room Upgrade Guide and indeed we got it out the door just in time! I would say this was a perfect demonstration of the progress we can achieve when we come together and collaborate towards a common goal. ❤️ > > Huuuge thanks to all involved: the T&S WGs contributing to the collection of info at #2704, David Mehren for co-working heavily on reviews at the WHY2025 chaos-DACH co-working office, Thib (m.org) and Jim from the Foundation side, all other invisible reviewers, and all client developers contributing info about their feature level! > > Homeserver admins took the opportunity to organise a Matrix Upgrade Party, exchanging knowledge and background info about room upgrades and the risk assessment of the release. > > Matrix community admins waiting for the synapse room version 12 release to drop during the WHY2025 Matrix Upgrade Party ### 🔗Matrix Community @ FrOSCon HarHarLinks reports > FrOSCon is the yearly Free and Open Source Software Conference taking place at Hochschule Bonn-Rhein-Sieg in Sankt Augustin by Bonn, Germany. Indeed this year is the 20th anniversary and bound to be a great celebration of FOSS! For many years, the Matrix community has been representing the Matrix project there, and this year shall be no different. Come by our stand on the project exhibition floor, grab a sticker, join the group photo, and chat about room upgrades. 😉 > > You can find this and more Matrix Community Events on the web at https://matrix-community.events/ and on Matrix at #community-events:matrix.org. ## 🔗Matrix Federation Stats Aine reports > collected by MatrixRooms.info - an MRS instance by etke.cc > > As of today, `12712` Matrix federateable servers have been discovered by matrixrooms.info, `3662` (`28.8%`) of them are publishing their rooms directory over federation. The published directories contain `18391` rooms. > > Stats timeline is available on MatrixRooms.info/stats > > 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| continuwuity.codestorm.net| 155 2| continuwuity.rocks| 157 3| codestorm.net| 185 4| unredacted.org| 243 5| nerdhouse.io| 256 6| continuwuity.org| 272.5 7| envs.net| 316.5 8| julian45.net| 351 9| the-lamp.net| 357 10| tomfos.tr| 390 ## 🔗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.
matrix.org
August 23, 2025 at 12:02 AM
Project Hydra: Improving state resolution in Matrix
Hi all, On July 16th 2025 we issued a pre-disclosure for vulnerabilities in the federation protocol, and announced new releases of Matrix homeservers on Mon August 11. Today we are ending the embargo and disclosing the remaining MSCs. This post will go into more detail about the changes and what led up to them. This project has the codename “Hydra” and is an ongoing exercise in improving the security of the federation protocol. Given the security-sensitive nature of this work, it was done under embargo by the backend team at Element, the Matrix.org Security Team, the Spec Core Team, alongside Timo Kösters (who privately reported a related vulnerability, helping jumpstart the project) and Florian Jacob (at Karlsruher Institut für Technologie). The work was subsequently shared, reviewed and MSC’d under embargo with maintainers of all known Matrix homeserver implementations which implement State Resolution 2.0 on June 13th, so they could prepare for the coordinated release on August 11. We have then given server admins 3 more days to upgrade before lifting the embargo and disclosing the vulnerability details here. This entire process has been highly unusual for the ecosystem, and it’s unfortunate that we were unable to make these changes out in the open. Where possible, we moved to release redacted versions of the MSCs as soon as we were comfortable from a security perspective (e.g. releasing MSC4289 and MSC4291 ahead of time, with redacted sections). Furthermore, we’d like to apologise for the disruption in landing a new stable room version and specification release with immediate effect rather than allowing for a period of public review. Going forwards, normal MSC work will continue in public as it ever has, along with normal on-cycle specification releases. ## 🔗Key Information The MSCs added under embargo were: * MSC4289: Explicitly privilege room creators * MSC4291: Room IDs as hashes of the create event * MSC4297: State Resolution v2.1 * MSC4304: Room Version 12 Supporting these MSCs are: * Server-agnostic Complement tests * The specification PR introducing room version 12 * The implementor’s guide to State Res 2.1 * Creator power level in room version 12 These changes fixed the following vulnerabilities: * CVE-2025-49090 (State Resolution 2.0 deficiencies) * CVE-2025-54315 (Lack of create event uniqueness) ## 🔗Impact These issues only affect servers which are federating with untrusted or potentially malicious servers, such as participating in the public Matrix network. Servers which are not federated, or which federate in private trusted networks such as BwMessenger, Tchap or TI-Messenger are not affected. The impact of these issues is rated as ‘high’ rather than ‘critical’ as they do not result in data compromise or exposure. Instead, the risk here is of a malicious homeserver operator corrupting the chatroom’s state by resetting it to a prior value (e.g. reverting access control or room membership to an earlier configuration). This does **not** expose conversation history nor any additional data. We are not aware of these issues being exploited, but would recommend server admins to upgrade immediately if they are operating rooms with users participating from untrusted servers, as per Monday’s announcement. Room admins should then upgrade such rooms to version 12 to guard against these attacks in future - see the new room upgrade guide. ## 🔗Summary of changes This project has resulted in four new Matrix Spec Change proposals to the protocol. At high level, these are: MSC4289: “Explicitly privilege room creators”. This makes explicit the fact that room creators have 'infinite' power level. The reason we've done this is because in practice the creator’s server can already effectively control a room by backdating events: access control requires a hierarchy, and the creator is at the top of this hierarchy. This also adds the concept of multiple creators, to avoid control of rooms being centralised on a single server, and to support rooms where ownership genuinely needs to be shared between multiple users (e.g. DMs). It’s worth noting this does _not_ impact decentralisation – the creators can still sit on multiple servers, and the room itself is replicated equally over participating servers. Instead, it’s just recognising that access control requires someone to be at the top of the hierarchy, and that person is the room creator. Separately, we’re looking at approaches to prevent backdating in general by adding ‘finality’ to Matrix. This MSC also solves the age-old problem where admins could lose control of their own rooms by promoting other users to admin or demoting themselves: now, the creator can always fix such situations. If creators go rogue or disappear, the solution is to establish a new creator by either upgrading the room or creating a new one. Given whoever upgrades a room becomes its new creator, we've changed the default power level needed to upgrade a room to be 150, referred to as 'owner' power level. This allows the room creator to effectively delegate permission to upgrade the room (and so become the new creator) to specific admins by explicitly giving them power level 150. MSC4291: “Room IDs as hashes of the create event”. This changes the format of room IDs so that they are literally the same as the event ID of the create event. This is a precautionary measure to prevent a potential theoretical class of attacks where malicious server admins could try to introduce false m.room.create events into a room in order to hijack it. MSC4297: “State Resolution v2.1”. This is an incremental change over the current State Resolution 2.0 algorithm, which protects against various classes of 'state resets', where delayed federation traffic could cause key-value state associated with a room to revert to an earlier state. This caused symptoms such as users being re-added into a room they have left, or the server no longer recognising users as being present in a room, or access control resetting to a previous state. The new algorithm works by changing the starting state on top of which conflicting events are replayed and it replays more events than previously (replaying not just the conflicted events but all the events in between any two conflicted events—the conflicted state subgraph). This fixes state resets observed in the rooms including: #rust, the Office of the Matrix.org Foundation, the TWIM room, Techlore and Furrytech. MSC4304: “Room Version 12”. This simply defines the combination of the previous 3 MSCs as room version 12. For full technical details, please read the actual MSCs: MSC4289, MSC4291, MSC4297 and MSC4304. ## 🔗History Matrix optimistically applies changes to room state without waiting for all servers to achieve consensus. This means that sometimes servers will update the room state (e.g. modify the room name) while concurrently, they lose their permission to set said room state (e.g. the user changing the room name is banned). When this happens, the room name change gets rolled back to its previous value. Counterintuitively this can happen even when there is no specific event that causes the user to lose their permission to set room state. This unexpected class of rollbacks is called a “state reset”. Work on fixing known cases of state resets in the current State Resolution 2.0 algorithm began in 2022 when David Robertson on Element’s backend team investigated known occurrences of the problem that were happening on the public network. He made good progress on identifying the root causes of these occurrences, resulting in the State Resolution v2.1 algorithm. Unfortunately, lack of funding meant work had to be paused. (N.B. if your organisation is operationally dependent on Matrix’s security, **please** contribute financially by joining the Foundation as a member in order to fund security work like this.) The project was then resumed at the end of 2024 as part of a general security review by Element’s backend team and the Matrix Foundation security team which ultimately resulted in MSC4297. Broadly speaking, State Resolution v2.1 makes two changes: it changes the starting state on top of which conflicting events are replayed and it replays more events than previously (replaying not just the conflicted events but all the events in between any two conflicted events—the _conflicted state subgraph_). This fixes state resets observed in public rooms including: #rust, the Office of the Matrix.org Foundation, the TWIM room, Techlore and Furrytech. This work coincided with Timo Kösters highlighting an issue to security@matrix.org that the room creator always has had complete power over the room and dominates other admins. This works even if the creator had left the room or gave away their admin permissions in the past. This spurred the creation of MSC4289 which formally acknowledges the power that creators have over every other member in the room. We’d like to thank Timo for reporting these points to security@matrix.org and we will be adding him to the Security Hall of Fame. The security review also brought to light another potentially serious vulnerability in the federation protocol. Our on-paper analysis suggested it may be possible to replace the create event in the room. If so, this would have grave consequences as all permissions in the room are derived from the create event. However, when we tried to reproduce the vulnerability in real implementations we found that they were not vulnerable due to the way those implementations handled rejected events. Nevertheless, the protocol was missing a strong guarantee that there can never be multiple create events for the same room. This was sufficiently worrying as a soundness issue to warrant fixing, and so MSC4291 was created to guarantee that each room has exactly one immutable create event. We took the unusual decision to embargo these MSCs due to risk of exploitation, taking each in turn: * MSC4289: The risk of a room created by a user on a server that is no longer trusted, using their creator powers to disrupt the room * MSC4291: The risk of an unknown vector allowing multiple create events to be accepted into a room, allowing rooms to be taken over. * MSC4297: The risk of manipulation of the federation re-sync mechanism allowing state resets to be intentionally triggered. These MSCs were reviewed under embargo by the SCT and server implementors, and passed final comment period for merge. These MSCs are bundled up into room version 12, expected to be released formally in Matrix 1.16 later this month. This work fixes the most common set of state resets we’ve seen in the wild, although we’re continuing work on Hydra. We’ll be doing as much of this work as possible in the open to minimise any future embargoes. We’d like to thank all the server implementors (Conduit, Continuwuity, ejabberd, Dendrite, Rocket.chat, Synapse, Synapse Pro and Tuwunel) who took the time to make these changes at such short notice. We’d also like to thank the client/bot/bridge implementors for accommodating the client-side breaking changes introduced in room version 12, particularly around the new power level semantics and room ID format change. Finally, we’d like to thank the community at large, particularly those who have been disrupted and have had to upgrade rooms in response to this work. Thanks all for your patience, and we look forward to a talk all about this at the Matrix Conference in October!
matrix.org
August 23, 2025 at 12:02 AM
Security Release
Hi all, Last month we issued a Pre-disclosure: Upcoming coordinated security fix for all Matrix server implementations, describing a coordinated release to fix two high severity protocol vulnerabilities (CVE-2025-49090; the other not yet allocated a CVE). That release is now available as of 17:00 UTC on August 11, 2025. Server updates are now available, and MSCs & spec updates will follow on Thursday, August 14, 2025, bringing us to version 1.16 of the spec later in the month, and introducing room version 12. ## 🔗What is changing? Room version 12 includes some changes to the semantics for room creators. Room creators are now privileged over other users in the room as of MSC4289. There is also a new `additional_creators` field in the `m.room.create` event for a room. The default power level in room version 12 for sending `m.room.tombstone` events to upgrade rooms is now 150. This stops normal admins from upgrading the room (and so assuming creator privileges) - instead, a creator has to explicitly boost an admin's power level to 150 in order to let them upgrade the room and effectively assume creator rights going forwards. Room IDs are now hashes of the `m.room.create` event via MSC4291. This changes the format of the room ID that you are used to seeing, and your Matrix client will need to be updated to handle this new format. ## 🔗What do I need to do? ### 🔗As a Matrix user Upgrade your client to the latest version, making sure that it supports room version 12. Check your client’s upgrade notes or documentation for information on room version 12 support. ### 🔗As a Matrix server administrator Upgrade your server software to the latest version, making sure that it supports room version 12. The following implementations are releasing fixes shortly as part of this coordinated update: * Conduit * Continuwuity * ejabberd * Dendrite * Rocket.chat * Synapse * Synapse Pro * Tuwunel For questions around these implementations, please visit their respective support rooms. Note: Whether or not you need to apply the security updates depends on your homeserver configuration: * _Single instance, unfederated homeserver_ You are running a single instance of a Matrix homeserver, and federation is disabled. There is nothing you need to do urgently. * _Homeservers operating in a restricted federation_ Your server(s) are running as part of a restricted federation - i.e. you have mechanisms in place (homeserver configuration, network restrictions etc) that limit which other homeservers your homeservers can talk to. * If you _fully trust_ all of the homeservers in this restricted federation then there is nothing you need to do urgently. * If you _do not fully trust_ all of the homeservers in this restricted federation (e.g. if they are run by partners outside of your direct span of control), you should update your server as soon as possible. * _Homeservers participating in open, unrestricted federation_ If your server is participating in an open federation, you should update your server as soon as possible. ### 🔗As a room owner or community If your rooms or spaces federate with untrusted servers, you should **plan** to upgrade your rooms to room version 12. The urgency of this upgrade may depend on your community’s readiness for the changes. At the Foundation, we are aiming to upgrade our rooms in September 2025. There needs to be enough time to allow clients and servers participating in your room to support version 12 _before upgrading your room_. The new version includes some changes to room creator semantics, which means that choosing which user performs the upgrade needs some careful thought. Using a long-lived, trusted account, such as a moderation bot account, is advised. For more detailed advice, two of the Foundation Governing Board working groups — the Trust & Safety Research & Development Working Group, and the Website & Content Working Group — have collaborated on a guide for upgrading rooms and spaces to version 12. That guide will help you to plan your upgrades and to make them happen.
matrix.org
August 18, 2025 at 11:59 PM
This Week in Matrix 2025-08-08
## 🔗Matrix Live S11E08 – Stitched History Today's Matrix Live: https://youtube.com/watch?v=1aTaUcBpXks ## 🔗Dept of _Status of Matrix_ 🌡️ ### 🔗Upcoming coordinated security release reminder Andrew Morgan (anoa) {he/him} says > A reminder that patches for the coordinated security release of Matrix server implementations will go out **this Monday, August 11th 2025 at 17:00 UTC**. If you run your own homeserver, please be ready to update around that time to receive security patches! > > Further details are available in the original pre-disclosure blog post. ### 🔗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. HarHarLinks reports > #### 🔗Working Group update from the Governing Board > > Last week we were excited to announce two new Working Groups! Huge thanks to Nico who is acting as the Governing Board sponsor for both the Trust & Safety Research & Development Working Group and the Room Directory Working Group. You can learn more about both as well as the existing Events Working Group and Website & Content Working Group on the website at https://matrix.org/foundation/working-groups/! > > Feedback form getting these new Working Groups set up helped us at the Governing Board identify some parts in our bylaws and processes documents that were a bit more difficult to grasp. The Governance Committee of the Governing Board is responsible for improving both the Governing Board's own as well as the Foundations processes and has been working in parallel to fill the gaps: You can read the new description about what the tasks of Working Group Chairs are at https://matrix.org/foundation/governing-board/bylaws/02-bylaws/#working-group-chairs-and-vice-chairs-expectations. Tl;dr: if you really care about something getting done, then being the chair is your role for ensuring progress keeps getting made. ## 🔗Dept of Trust & Safety ⚖️ Cat reports > Cat has been writing about Trust and Safety in a matrix context and some stuff about community management on Cats new ish blog. So if you see Cat using words like Custodial Moderation and wonder what Cat is talking about you can check out https://neko.support/blog/2025-07-11/cats-views-on-moderation-terminology and https://neko.support/blog/2025-08-06/communities-do-moderation-wrong > > Because it turns out a lot of people get confused by projects like CME and what role they play. Hopefully this writing is helpful in easing that confusion. ## 🔗Dept of Servers 🏢 ### 🔗continuwuity (website) Continuwuity is a community-driven Matrix homeserver in Rust Jade reports > I recently wrote an explainer for Policy Servers, one of the moderation features that's recently made its way into Continuwuity: https://jade.ellis.link/blog/2025/07/27/let's-talk-about-policy-servers ## 🔗Dept of Clients 📱 ### 🔗Neochat (website) A client for matrix, the decentralized communication protocol Tobias Fella says > This week, Joshua has added a cool new feature: NeoChat will now show you a small warning when you're trying to reply to a message sent by a user who has meanwhile left the room. ### 🔗Element X iOS (website) A total rewrite of Element iOS using the Matrix Rust SDK underneath and targeting devices running iOS 16+. Mauro Romito says > * A RC with support for V12 rooms has been sent for verification to the store > * Also a new version with a bugfix for missing EC notifications has been released > * We are making great progresses with spaces, the implementation of a scalable tab based navigation system has been implemented. > * We also made a tiny cli tool here to show people how to get started with the rust sdk in swift > ### 🔗Element X Android (website) Android Matrix messenger application using the Matrix Rust SDK and Jetpack Compose. Jorge announces > It's been a long while since we had a proper update. In these last weeks we've been focused on: > > * Improving the Element Call experience. > * Setting the foundations for the work on threads. > * Continue working on spaces. > * Kept working on improving accessibility in the app. > * Adapt Element X to the changes required for new room version `v12`. > * Improve how media upload is handled. > > > And of course doing the mandatory 'bug fixes and improvements'. ### 🔗Tammy (website) Multiplatform messengers build on top of Trixnity Messenger Benedict announces > Over the past weeks, Tammy got a shiny upgrade with version 1.1.22 (or in dev-speak, from Trixnity Messenger 3.6.11 to 3.7.0). Here’s what’s new and exciting: > > * **📝 Beautiful Rich Text Rendering** > Rich text messages now render reliably and look great — bold, italics, code blocks and more, just as you’d expect! > > * **👤 New Presence Icons** > Presence indicators got a fresh look. We think they’re much nicer — what do you think? > > * **🏠 Room Version 12 Support** > Tammy now supports room version 12, treating the room creator as having infinite power level (as per the MSCs). > > * **🚫 Refresh Tokens Disabled** > Due to random logout issues with MAS and our plans to upgrade to Matrix next gen authentication, refresh tokens are currently turned off. > > * **🔧 Countless Bugfixes** > Too many to list — trust us, Tammy’s now faster, smoother, and more stable than ever. > > * **📱 iOS is Coming!** > Huge progress on the iOS version — yes, even PDF rendering works already! Tammy on iOS is nearly ready to launch. > > > > Stay tuned — the best of Tammy is yet to come! ## 🔗Dept of VoIP 🤙 ### 🔗Element Call (website) Native Decentralised End-to-end Encrypted Group Calls in Matrix. Timo K. says > Here is your VoIP team at Element with a short update: Element Call got a minor release this week `v0.14.1`. It fixes an audio issue with Safari a logging issue, that prohibited the team from properly debugging audio playeback issues in Element Call. Besides that progress is made to improve the `LiveKit Token Management Service`. Stay tuned to find out how to manage access to your MatrixRTC Livekit SFU more granular in the near future. > > In the last couple of days we made some time to work on the MatrixRTC spec. Particularly the section explaining how multiple session in a single room will work. ## 🔗Dept of Encryption 🔐 ### 🔗Element Crypto Team update andybalaam announces > The Crypto team is hard at work on a project we call **Invisible Crypto**. > > #### 🔗What is Invisible Crypto? > > The idea of Invisible Crypto is that you don't notice your messages are encrypted, because everything is so smooth and easy. > > In practice, at the moment, we are working on "Exclude Insecure Devices": making sure that if devices are unverified, they are essentially ignored. When we turn this on widely, it will mean we no longer have to warn you about unverified devices because they essentially don't exist. It will also make everyone more secure because unverified devices can't be trusted. > > #### 🔗What have we been doing? > > At some point in the future we will turn on Exclude Insecure Devices in Element clients, and recommend to other client developers to do the same thing. Before we're ready to do that, we have been doing 2 things: > > * **Fixing problems with verification:** if we're going to tell all our users they need to verify their devices, we need to be sure they are able to do that! We've found and fixed lots of problems in Element clients (especially Element Web) where device verification can go wrong, or you can get stuck in a bad state with no clear way to escape. There's more to come on this work too! > * **Implementing the feature:** we've just merged code to exclude to-device messages from insecure devices, and we already have prototype code merged to exclude normal room messages. You can turn it on in the Element clients via a labs flag called "Exclude insecure devices when sending/receiving messages" which is accessible when the developer tools are turned on. > > > ### 🔗What is coming next? > > As soon as we're happy with the ability to verify devices (and fix broken setups) in the Element clients, we will **announce a deadline** : the day when Element clients turn on Exclude Insecure Devices by default. This will give users enough time to make sure their devices are verified, and developers of other clients notice that if they don't verify devices, users will be excluded from conversations. > > This is obviously a disruptive change, but it's needed for security, and it will remove some of the most confusing error messages from Matrix users' experience, so we think it is vital. > > Meanwhile, along with our other work (including finding and fixing unable-to-decrypt problems!), we will continue working through problems people have with the verification process, making it smoother, less error-prone and less confusing. > > If you'd like to talk to us, you can find us hanging out in the Matrix support rooms for the Element clients and servers - see you there! ## 🔗Dept of SDKs and Frameworks 🧰 ### 🔗Rory&::LibMatrix (website) .NET 9 matrix bot/client library/SDK Emma [it/its] says > News, news, news, but what's actually new? > > Changes: > > * Merged everything back into the master branch, which was way overdue anyways > * All Rory&::LibMatrix family repositories should now automatically get mirrored to GitHub 🎉 > * Remember to poke me on Matrix if you send a PR, as I most likely won't be monitoring these repos, they're provided for your own convenience. > * Overhauled the room creation tool > * Added support for (manual) room upgrades - once again putting users in full, complete control over their data 🔒 (yes, it supports room version 12!) - Note: WIP > * Early beta version, add `?previousRoomId=!internal:room.id` to the URL to initiate an upgrade > * _**[Rory &::LibMatrix]**_ - Add RoomUpgradeBuilder containing all of the underlying logic > * _**[matrix.org users]**_ : Do not use this tool to upgrade your public rooms, as this will fail when paid accounts get rolled out > * Added support for MSC4321 (annotated policy list upgrades) > * Added support for migrating members and room state > * Added support for migrating old unstable keys to their spec counterparts (ie. `org.matrix.mjolnir.ban` -> `m.ban`) > * Preserve access rules and powerlevels, while taking some extra precautions to have state resets hopefully fall back to completely locked down > * Expose a lot more settings, while reworking the UI > * We now have some help links for more "advanced" options like guest access! > * Managing room ACLs works now > * Allow setting room type (useful when upgrading old policy lists that weren't yet using MSC3784!) > * Added the ability to preload and manage state events that will be part of the room upon creation > * Hint: you probably will run into rate limits - exempt yourself if you're running your own homeserver! There's no UI feedback for this, but you can keep an eye on the network tab in browser devtools to keep up to date! > * Lots of policy list editor changes, such as the ability to scan for redundant policies and major performance improvements > > > _**And, as always:**_ > > * You can find the first party hosted version of RMU here! > * The code is available at cgit.rory.gay! > * All contributions are more than welcome, be it documentation, code, anything! Perhaps, example usecases, bots, ...? > * Discussion, suggestions and ideas are welcome in #mru:rory.gay (Space: #mru-space:rory.gay) > * Got a cool project that you're working on and want to share, using LibMatrix? Be sure to let us know, we'd love to hear all about it! > ## 🔗Dept of Bots 🤖 ### 🔗matrix-alertmanager jaywink announces > New v0.9.0 release of a simple NodeJS bot called `matrix-alertmanager', to receive Prometheus Alertmanager webhook events and forward them to chosen rooms. > > Latest release brings possibility to customize links in the room messages, based on event labels, for example to provide links for easy alert silencing. > > See https://github.com/jaywink/matrix-alertmanager for more. ## 🔗Dept of Events and Talks 🗣️ ### 🔗Matrix Community Summit 2025 Berlin jaller94 says > Once again, many community members met up in-person to chat and learn from each other. We talked about topics like MLS, moderation, room upgrades, dealing with FLOSS free riders and the inner workings of the Matrix Foundation. > > In contrast to the past summits, we focused on coworking and roundtable discussions. This way more people were able to join all four days from Thursday to Sunday and bring in their interests. > > With the help of sponsors, we were able to once again offer drinks, food and an iconic location at the c-base in Berlin. > > Missed it? Keep your eyes peeled! We plan to continue the summit on an annual basis. > > https://matrix-community.events/ ## 🔗TWIM Process HarHarLinks says > This Week in Meta! The efforts of the Foundation to maximise transparency about its inner workings continue as contributors in all areas continue to chip away at it. Today, the Website & Content Working Group is excited to share the newest in TWIM process! > > The TWIM process has never been secret per se, but like many things it was "simply done" ad hoc and thus not really documented so far. This started to change a bit over a year ago, when the awesome MTRNord (they/them), volunteering TWIM-editor, wrote up the TWIM Guide. From this point on the call for TWIM, sent each TWIMday morning, included a link to this document to ensure everyone knows the best practices for TWIM-ing. While the motivation for the guide was primarily a combination of trying to push the quality of submissions further and lighten the workload for the TWIM editors, this implicitly also documented some insight behind the scenes. > > As of this week, we have both polished the guide itself, filling some of the gaps left, but most significantly also added an appendix that goes into even more detail of how TWIM works, how to edit it, and we try to explain why we do it in that way. For example, the regular submission deadline is 17:00 CE(S)T "Paris time", because the current team responsible for TWIM is based in Europe and in case of doubt needs to be able to edit and publish TWIM during business hours. > > I'm very happy about having this written down properly, as it also allows us as TWIM editors to follow a well-structured to do list we can check off step by step as one of the many pieces of the possible that minimize human error and let us curate the best TWIM possible! > > Please check the updated guide and if your're curious also the process at https://matrix.org/twim-guide. If you have feedback or suggestions, please contact us, the Website & Content Working Group, via our public room #matrix.org-website:matrix.org. > > Thanks, and keep on TWIMing! Your editors ## 🔗Matrix Federation Stats Aine reports > collected by MatrixRooms.info - an MRS instance by etke.cc > > As of today, `12718` Matrix federateable servers have been discovered by matrixrooms.info, `3661` (`28.8%`) of them are publishing their rooms directory over federation. The published directories contain `17989` rooms. > > Stats timeline is available on MatrixRooms.info/stats > > 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| tuwunel.love| 141 2| continuwuity.codestorm.net| 167 3| continuwuity.rocks| 184 4| codestorm.net| 191.5 5| ncat.cafe| 205.5 6| envs.net| 232 7| nerdhouse.io| 255 8| tomfos.tr| 274 9| wolfspyre.io| 310.5 10| calitabby.net| 396.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.
matrix.org
August 15, 2025 at 11:58 PM