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-12-12
## 🔗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:** > > * MSC4388: Secure out-of-band channel for sign in with QR > * MSC4387: `M_SAFETY` error code > * MSC4386: Automatically sharing secrets after device verification > > > **MSCs in Final Comment Period:** > > * _No MSCs are in FCP._ > > > **Accepted MSCs:** > > * _No MSCs were accepted this week._ > > > **Closed MSCs:** > > * MSC4124: Simple Server Authorization > * Superseded by MSC4345: Server key identity and room membership. > * MSC4099: Participation based authorization for servers in the Matrix DAG > * Superseded by MSC4345: Server key identity and room membership. > * MSC3953: Server capability DAG > * Superseded by MSC4345: Server key identity and room membership. > * MSC4294: Ignore and mass ignore invites > * Superseded by MSC4155: Invite Filtering > > > ### 🔗Spec Updates > > The Spec Core Team expects to release Matrix v1.17 next week with a few MSCs, along with some improvements to the spec website. Stay tuned for those! > > Otherwise we're still working away at Matrix 2.0 MSCs - trying to keep them at the forefront while occasionally dipping into other MSCs. MSC4143: MatrixRTC, MSC4354: Sticky Events and MSC4186: Simplified Sliding Sync are the three currently being most actively worked on. The team appreciates your patience while the details are being hammered out. ## 🔗Dept of Servers 🏢 ### 🔗Synapse (website) Synapse is a Matrix homeserver implementation developed by Element. Devon Dmytro announces > This week we released Synapse v1.144.0. > > This release adds the following new features: > > * Add experimental implementation of MSC4380 (invite blocking). (#19203) > * Delayed event timeouts can now be restarted from workers. #19207 > > > ... and a whole lot more! > > 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. Gaël G. says > **ESS Community 25.12.1 and ESS Pro 25.12.1 have been released!** > > Both bring in upgrades of Synapse to v1.144.0, Matrix Authentication Service to v1.8.0 & Element Admin v0.1.10. Support for IPv4, IPv6 only or dual-stack clusters is now complete! ## 🔗Dept of Clients 📱 ### 🔗Extera Next OfficialDakari reports > After a long time, a new update of Extera Next finally arrives! We also decided to change our versioning scheme, so now it's 25.1.0. > > #### 🔗What's new? > > * Brought back calls. They should work, just enable experimental video calls. Keep in mind that VoIP is still in beta! Also fixed screen sharing. > * Incoming calls now use system ringtone! > * Background downloads were a part of Extera since 2.1.0. And today, we are bringing them to Linux version! > * Removed chat filters, we replaced them with bottom navigation bar. Well, we just moved chat filters to navbar. > * Some fixes for polls: They are now visible to other clients. > * Revamped UI: room emote settings and user profile view. > * "About yourself" field. Now you can tell the world about yourself, remember to fit that into 256 characters tho. We used custom profile fields, this one is `xyz.extera.about`, a string field. > * Fixed search query leaking: Now you need to press Enter to start a global search. > * Some simple QoL changes: read receipts dialog and copying links to messages. > > > That's all for this update. You can already download binaries on our website! ### 🔗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 > * Solved a bug that slowed down or made unreliable the room list > * On the spaces side the space settings work is pretty much complete and in QA > * We also added the ability to set the restricted and knock restricted space settings to a room/space, and provide a list of allowed spaces (such spaces` members won't need to be invited or knock the room to join it) > * We started working on linking another device through QR, which will allow EXI to generate a qr code that when scanned by another device, will allow an automatic verified login. > * However such feature will also work with EW, but the QR code is generated by EW, and scanned by EXI, allowing a seamless automatic verified login on EW. > * We are experimenting with the idea of bringing spaces in the room list, and how to best visualise them to provide the best possible UX > ## 🔗Dept of Bots 🤖 morethanabitoff announces > I created two new matrix chat bots to help support the Northern Virginia Linux Users Group, but they are general enough that others could find them useful: > > * A general help bot that also sends messages to people on joins. https://github.com/anewton1998/matrix-bot-help > * An iCal reminder bot, responds to !meeting and also sends periodic reminders: https://github.com/anewton1998/matrix-bot-ical > > > Both written in Rust using the very sweet matrix-rust-sdk. ## 🔗Dept of Events and Talks 🗣️ The one with the braid (she/her) ⚡ announces > Winter is coming! And winter for hackers means warm Punsch, comfy pullovers and of course the Chaos Communication Congress. > > The Matrix Community was given space to meet and hang out on the 39th Chaos Communication COngress (39c3) at the Matrix Community Assembly. Apart from the assembly open during the entire congress, there will be an organized **Matrix Community Meetup** on Day 2, 2 p.m. CET. > > Other Matrix highlights for 39c3: > > * The Meet-Up Matrix-Uni-Admins on Day 3, 3 p.m. CET, right after the Community Meetup > * Various talks, meetups and Self-organized sessions to be published tagged matrix > > > The 39c3 requires a registration and paid tickets which are sold out in the official ticket shop. Late hackers might still gather a ticket at the official ticket marketplace avoiding shady 3rd party platforms. > > * 👩🏽‍💻 Matrix Community Assembly and Matrix Community Meetup > * 🧕🏽 Hackers interested in Matrix who want to get in touch with other Community Members > * 🕰️ Day 2 (29th of December 2025) at 2 p.m. > * 🗺️ Matrix Community Assembly in c-base habitat, Halle H > * 🌐 39th Chaos Communication Congress, Hamburg, Germany > * 🎟️ Ticket for 39c3 required, no registration for Meetup or Assembly > > > Learn more: > > * https://matrix-community.events/ > * https://matrix.to/#/#community-events:matrix.org > ## 🔗Matrix Federation Stats Aine [etke.cc] reports > Collected by MatrixRooms.info - an MRS instance by etke.cc > > As of today, `11868` Matrix federateable servers have been discovered by matrixrooms.info, `3237` (`27.3%`) of them are publishing their rooms directory over federation. The published directories contain `16670` rooms. > > The most popular server software among the online servers is: > > * synapse: `10154` (`85.6%`) > * conduit: `476` (`4.0%`) > * dendrite: `370` (`3.1%`) > * continuwuity: `322` (`2.7%`) > > > 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| pingtest.dedyn.io| 164.5 2| codestorm.net| 199 3| vibb.me| 254 4| melthecat.dev| 268 5| nerdhouse.io| 301.5 6| federated.nexus| 326.5 7| feralfox.net| 375 8| tomfos.tr| 399 9| muoi.me| 418 10| shork.ch| 476 ## 🔗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
December 13, 2025 at 9:51 AM
This Week in Matrix 2025-12-05
## 🔗Matrix Live S11E17 Element X Android gets a boost Today's Matrix Live: https://youtube.com/watch?v=3Axa0Kw3XPI ## 🔗Dept of _Status of Matrix_ 🌡️ ### 🔗Website & Content WG Report (website) It's been a while since the last status update from the Website & Content WG if we disregard the recent upgrade to the TWIM room and bot, so we wanted to share a quick wrap-up of recent developments! * We continue to explore how to best and most effectively collaborate with the Foundation on publishing news, with the FOSDEM announcement by the Events WG following the newest suggested process with success! * We have suggested to adopt an AI policy to the Foundation, and it was decided to adopt it on the website for now. * In collaboration with the Room Directory WG, you can now find the form as well as further information about the room directory of the matrix.org homeserver on a dedicated page * weeman has added TWIM to the website navbar, so you don't have to remember the shortlink anymore to get your news! * vedant-vijay fixed an issue with the filters on the SDKs page * Jack S. has spotted some bugs and opportunities to polish which we were glad to merge! * We are maintaining the information about the Foundation, including it's members and are working with the Governing Board to keep its documentation up to date, as well as the Working Groups * We have introduced a bunch of labels to the website issue tracker to help us sort tasks, and especially to point out some tasks that would be easy to implement even by external contributors * We keep developing guidelines for ourselves to improve the consistency and professionality of the website step by step and of publications in general step by step, while also trying to keep an eye on making it as simple as possible to start contributing * The #matrix.org-website:matrix.org room was upgraded and as part of that not only receives GitHub webhooks about activities on the matrix.org repo, but also the other repos required for the WG's daily work, including twim-config and the conference website repo * Of course, we continue to publish TWIM every Friday 😉 As you can see, there is a lot going on! If you're interested in getting involved, you can find us in the #matrix.org-website:matrix.org room, or of course grab an issue and send a PR! We also try to meet in a call regularly on Thursday afternoons, which we announce at #matrix.org-website:matrix.org. ## 🔗Dept of Servers 🏢 ### 🔗Tuwunel (website) Enterprise successor to conduwuit, the high-performance and feature-rich fork of Conduit. jason 🎔 reports > Tuwunel is now deployed at scale serving the citizens of Switzerland in production. Some optimizations were requested to reduce operating costs from projected growth over product lifespan: this release delivers with markedly reduced CPU usage and improves responsiveness. > > #### 🔗✨ New Features For Version 1.4.7 > > * Upgrade Support for Room Version 12 is now available. Though this room version has been supported for the entire 1.4 series, all Tuwunel servers have been protected by Hydra Backports on all room versions. As such, other work was able to be prioritized for the preceding releases. > > > #### 🔗📈 Enhancements > > * Recursive relations have been enabled. This is an optimization which allows the server to gather more data using fewer client requests, for example, of a thread with many reactions and replies. The implementation is now optimal and utilizes the full capabilities of Tuwunel's asynchronous database. > * Several miscellaneous but significant optimizations took place at the direction of memory profiling. This reduced load on the allocator for database queries and JSON serialization of complex objects. Heroes calculations and the joined room hot-path on sync v3 were further optimized to reduce the database query load itself. > * Jemalloc has been repackaged with platform-specific optimizations enhancing the build. The upgrade to the dev branch of libjemalloc itself was considered as too much variability for the same release, it is planned for an upcoming release. > * Thanks to element-hq/synapse#18970 by dasha-uwu, we have very slightly turned down the amount of randomness when selecting join-servers, More retries also occur within a single request if necessary. Thanks to gogo199432 and lifeofguenter for reporting problems in (#128) and (#205) respectively. More opportunities are still available to make large room joins robust. > > > #### 🔗🐞 Bug Fixes > > * Special thanks to yefimg for fixing LDAP logout in (#231) from a report kindly made by orhtej2 in (#97); thank you for your patience waiting for domain expertise to assist here. > * Thanks to Radiant-Xyz the example configurations have been updated to remove allow_check_for_updates. This fixes any warnings for the item no longer existing. (#221) > * Thanks again to Radiant-Xyz reporting in (#219) the /whoami endpoint now returns spec-compliant errors for Mautrix bridges (fe12daead9). Thanks also to @bobobo1618 for confirming the fix is working. > * Relations responses were sometimes incorrect in the forwards direction. This was fixed by (5147b541) bringing those responses into full compliance. Note the prior release had also fixed compliance issues but in the backwards direction. > * Server selection for backfill struggled sometimes for version 12 rooms. These rooms might fail to load history after join. Additional servers are now found using creators and additional_creators instead. > * Room leave compliance has been fixed for an edge-case where a room becomes empty except for a locally invited user which does not have its leave event sent down /sync. > * Thanks to grinapo for a report which lead to the discovery of events acquired over backfill not being checked for whether they already exist. > > > #### 🔗⏩ Upcoming > > Several planned items could not be cut into this release: SSO/OIDC support (#7), Element Call setup assistance and documentation (#217)(#215), User-level Admin Room and Media deletion (#192), and any other assigned issue. These items are on the short-list for the next cycle and mean a lot to us. To all participants: your issues are not being ignored and we hear you. > > #### 🔗💜 Tuwunel Needs Your Support 💜 > > We are looking for additional sponsorship so June can work on Tuwunel again full-time. If you are a company looking to accelerate development with features you need please email [email protected] right away. > > * * * > > **💕GitHub ✦ Releases ✦ Containers ✦ DockerHub ✦ Tuwunel 💕** > > * * * ### 🔗Synapse (website) Synapse is a Matrix homeserver implementation developed by Element. Devon Dmytro says > Upcoming packaging changes: > > In an upcoming release of Synapse (possibly 1.145.0) we will be changing the build backend from `poetry-core` to `maturin`. This change should maintain wide support across distributions while allowing Synapse to take advantage of first-class support for interfacing between Python and Rust modules. This is only relevant to anyone packaging Synapse from source. Users installing Synapse from containers, PyPI or any other upstream package are not affected. > > 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.12.0 and ESS Pro 25.12.0 have been released! > > Both bring in upgrades of Synapse to v1.143.0, Matrix Authentication Service to v1.7.0 & Element Web v1.12.6. Support for IPv6 only clusters is improved but not yet completed. A number of deprecated configuration options are removed, so please consult the release notes carefully to see if you're impacted. > > ESS Pro now supports Adminbot to help companies manage their rooms centrally. There are also improvements to the default auto-scaling configuration. ## 🔗Dept of Clients 📱 ### 🔗Nexus (website) QuadRadical (Ping) announces > Hi, around two weeks ago I started making Nexus, a Matrix client made with Flutter and the Matrix Dart SDK. > > In these two weeks, I've made great progress, as you can see in the progress list. > > However, I'd love some help implementing some features, or help with UI design, as it probably takes me longer to design a UI than to implement most features, > > If you're interested, please let me know in our Matrix room! ### 🔗Element X Android (website) Android Matrix messenger application using the Matrix Rust SDK and Jetpack Compose. Jorge says > In the Element X Android team, this week we've been focused on: > > * Spaces! I know, I know, every week we work on spaces, but it's a huge task because we really want to have the best UX possible. > * Improve the UX for opening a room: instead of loading the joined room data while we're navigating, which can result in some flickering, we now preload the room and then navigate with the result. > * Added room list indicators about messages that are being sent or failed to send. There is also some ongoing work for displaying edits and reactions properly. > * Enabled the Sentry Rust SDK inside our SDK so we can get info about panics and other issues coming directly from the Matrix Rust SDK. > * Worked on doing some periodic cleanup step in the SDK databases to ensure they remain performant. > * Fixed some issues related to voice recoding, ignored users, the rich text editor sizing and the text inside notifications for spaces. > ## 🔗Dept of SDKs and Frameworks 🧰 ### 🔗Rory&::LibMatrix (website) .NET 10 Matrix bot/client library/SDK. Emma [it/its] says > __Your_ friendly .NET 10 Matrix SDK_ > > Hi all! I wanted to give an update on Rory&::LibMatrix that I thought was exciting enough to publish! > > #### 🔗What's new: > > * Rory&::LibMatrix is now available on NuGet! You'll find packages under the RoryLibMatrix namespace, though you may need to enable "prerelease" versions in your NuGet client, as all releases (at least for the near future) will be released as such, as I don't have a good versioning scheme. > * Repositories are now also mirrored to Codeberg! Come find us at https://codeberg.org/Rory-LibMatrix! > * We now target the _release_ version of .NET 10, rather than RC's. Dependencies have been updated to reflect this. > * Touched up some federation code and added part of the redaction algorithm (targeting only room version 12 for now). > > > #### 🔗 _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 🦀 says > Hello everyone! This week, we've released the version 0.16.0 of the SDK! > > You may be wondering what happened to the 0.15.0 release, and you’re right to ask. Unfortunately, it had to be yanked after a problematic Git dependency slipped through during publishing. > > This created a situation where some SDK crates were successfully released as 0.15.0, while others failed to publish. To avoid confusion and maintain consistency, the entire 0.15.0 release was yanked. > > See more on the release page. > > #### 🔗Latest Event > > * #5913 Edits are now supported as part of the Latest Event! Finally, one might say, and to which we can only agree. > * #5624 The old Latest Event API has been removed. -3001 lines of code, yepee. > > > #### 🔗Timeline > > * #5900 The Timeline can now be configured to hide read receipts on state events. Not all clients expect this behaviour, so this is a configuration, see the new `TimelineReadReceiptTracking` type. > > > #### 🔗Send Queue > > * #5920 The Send Queue now inserts newly sent events in the Event Cache directly! It avoids the situation where a sent event could disappear: it is no longer a local event but not yet a remote event if the server lags to give it back via the `/sync`. Now we no longer wait on the server, the event is already here, period. > > > #### 🔗Client > > * #5916 Support refreshing the access token when fetching the server versions. A deadlock has also been removed. One stone, two problems. > * #5911 We are improving performance of the stores relying on SQLite. We've noticed that fragmentation is a non-negligible performance bottleneck. This patch introduces `Client::optimize_stores` to optimise… well… the stores. This is an exploration to see how to defragment the database without disturbing your apps too much. The impact is particularly noticeable on Android devices. > * #5917 Support for the stable `m.oauth` UIAA type has been added, as it has recently landed in the Matrix specification. > > > #### 🔗Room List > > * #5927 The Room List now receives less updates, which reduces the number of redraws app-side. > > > #### 🔗Bindings > > * #5919 A network request was sent only for log purposes. It was breaking the offline mode detection, and was slowing down the startup on slow network conditions. This request has been removed as it was considered useless! > ## 🔗Dept of Ops 🛠 ### 🔗Matrix Connectivity Tester v2 MTRNord (they/them) reports > Last week I mentioned a rework of the UI. This week, I can announce that its source code is available at https://github.com/MTRNord/matrix-connection-tester-ui/. > > Additionally, we now have a Weblate instance and would like to get translations for the new v2 design. You can find the instance over at https://weblate.mtrnord.blog/projects/matrix-connectivity-tester/. > > Finally, there is now a general outline of the Documentation pages at https://beta.connectivity-tester.mtrnord.blog/docs available and a new Statistics UI over at https://beta.connectivity-tester.mtrnord.blog/statistics. > > As a result, the next goals are now to get the translations improved and extended and also the documentation has to be written before we can publish this to the stable URL. > > As usual, you can find the stable deployment at https://connectivity-tester.mtrnord.blog/ for your convenience as well as the source code at https://github.com/MTRNord/matrix-connection-tester-ui and our mailing list at https://lists.midnightthoughts.space/mailman3/lists/matrix-connectivity-tester.lists.midnightthoughts.space/ ## 🔗Dept of Events and Talks 🗣️ ### 🔗Matrix at FOSDEM 2026 Thib (m.org) reports > The Matrix.org Foundation and its community will once again be at FOSDEM in 2026, and we need _YOU_ 🫵 > > * Jan 30: Big Silo is trying to control the Federation! Join us for a collaborative hackathon where we join forces to fight back! > * Jan 31 & Feb 1: We have a booth for the whole duration of FOSDEM! > * Feb 1: We coordinate the Decentralised Communication Devroom > > > Find all the information about it on our blog. ## 🔗Dept of Stammtische 🍻 ### 🔗Matrix Stammtisch Aachen HarHarLinks says > Next Monday, 2025-12-08, Matrix Stammtisch Aachen takes off for its second edition! This is an informal local meetup for everyone interested in Matrix to any degree! We might do anything from figuring out what server to sign up with to configuring notifications which have no UI setting. Learn more at https://ccc.ac/post/2025-10-30-matrix-stammtisch and join the room at #matrix-stammtisch:ccc.ac to get in touch! > > Interested in joining or starting your own local meetup? You can find many organisers of other local events at #events-wg:matrix.org and #community-events:matrix.org. ## 🔗Matrix Federation Stats Aine [etke.cc] says > collected by MatrixRooms.info - an MRS instance by etke.cc > > As of today, `11725` Matrix federateable servers have been discovered by matrixrooms.info, `3218` (`27.4%`) of them are publishing their rooms directory over federation. The published directories contain `16784` rooms. > > The most popular server software among the online servers is: > > * synapse: `10058` (`85.8%`) > * conduit: `472` (`4.0%`) > * dendrite: `368` (`3.1%`) > * continuwuity: `306` (`2.6%`) > > > 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| tuwunel.love| 146 2| pingtest.dedyn.io| 166 3| continuwuity.codestorm.net| 191 4| codestorm.net| 214 5| vibb.me| 245 6| prisma.moe| 273 7| unredacted.org| 278 8| shork.ch| 292 9| gingershaped.computer| 295 10| nerdhouse.io| 311 ## 🔗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
December 6, 2025 at 8:36 AM
Find us at FOSDEM
You might have seen our earlier post about the Decentralised Communication Devroom we are coordinating. This is one of the exciting ways to come talk to us, but it's not the only one! This year we're organising a **hackathon** before FOSDEM, we'll have a **booth** during FOSDEM itself, and we're coordinating the Decentralised Communication **devroom**! ## 🔗Friday, 30th January - Community Hackathon & Lounge Evening Would it be FOSDEM if it didn't start with our traditional Matrix Community Event on Friday? This time, we will be organizing a collaborative hackathon for the **full day** , starting at 9:00 CET. Don't be late: we'll use the first hour to select tasks and form teams! The Matrix ecosystem is all about lifting everyone through federation and interoperability. That's why in this hackathon for the Community, we will not compete for the best project, but we will have a joint mission: The Matrix Federation is endangered by Big Silo trying to control our minds, and we can fight back! The mighty scientists funded by our sponsors helped us develop Brain Protection Caps. They shipped a crate with the caps, and tried to send us the combination of the lock on Matrix. Unfortunately, their server went down before they could send the message! To crack the combination we need to level up our skills and fill our collective experience bar by collaborating on hackathon projects. During the first hour, people will list what they want to work on, and form teams on the spot. Every project helps us fill our experience bar. Our skills increase when we work on _anything_ related to Matrix. Code, project management, art, documentation: every contribution will earn you Achievements that will fill our collective experience bar! Let’s strive to unlock the Matrix caps by mentoring each other, hacking on new ideas and bonding together as a community. The hackathon is first and foremost about having fun and learning. We want to know what you worked on, what worked, what you struggled with, and what surprised you. We'll conclude the day by asking teams to summarize their day to others. We would like to livestream the sessions on our website, but you can opt-out if you're not comfortable with it. After the project presentations, we will stay in HSBXL in the evening for a public Matrix Lounge Evening. We're inviting the entire Matrix community to spend a relaxed evening with food, drinks and interesting discussions about Matrix! We're asking all hackathon attendees to register so we can best organize the event. 🕐️ Friday 30, 09:00 - 17:00 CET (local time) 📹 Project presentations at 17:00 CET (local time) 🛋️ Public Matrix Lounge Evening starting from 18:00 CET (local time) 🏢 HSBXL, Rue Osseghem 53, 1080 Molenbeek 🍕 Snacks, cold drinks, lunch and dinner included 🧑‍💻 For hackers, mentors, artists, project managers & the entire community 🎫 Free but mandatory registration here 💰 Sponsors welcome ## 🔗Saturday, 31st January & Sunday, 1st February - Booth Once more, we are grateful to the FOSDEM organizers for granting us a booth for the whole weekend! If you want to come talk to the team, share your gripes and ideas or come see cool demos, this is your opportunity to do so! We will bring merch and stickers for the community to help us spread the word. We're looking for volunteers to run the booth with us. This includes talking to the community, sharing project news, and distributing merch. Don't worry if it's your first time: We have a booth handbook ready for volunteers and want to limit the time commitment to 2 hours per day. Reach out to [email protected] or in #events-wg:matrix.org if you're interested in staffing the booth with us! We will work out together which slot works best for you. 🕐️ Saturday 1 to Sunday 2, 09:00 - 18:00 CET (local time) 🏢 Desk to be announced on FOSDEM's website ## 🔗Sunday, 1st February - Devroom This year FOSDEM organisers tried to accommodate as many projects as possible by asking devroom managers to focus on themes more than on specific projects. They generously granted us a full day devroom on Sunday, 1st February, to talk about Decentralised Communication, and we're delighted to have received so many proposals! We're rating which talks we think are the most interesting for the Decentralised Communications community, and will finalize a schedule by 15th December. We're looking forward to meeting people from the various decentralised communication communities, exchanging ideas, and seeing how we can collaborate more! 🕐️ Sunday 1, 09:00 - 17:00 CET (local time) 🏢 Room aw1126
matrix.org
December 5, 2025 at 8:36 AM
This Week in Matrix 2025-11-28
## 🔗Matrix Live S11E16 – Connectivity Tester Today's Matrix Live: https://youtube.com/watch?v=tLcBSB-6Sg4 ## 🔗Dept of _Status of Matrix_ 🌡️ ### 🔗Retiring the Slack Bridge hosted on the matrix.org Homeserver Thib (m.org) says > In an effort to focus its resources where it can best serve the ecosystem, The Matrix.org Foundation is retiring its public Slack Bridge. > > Find all the details on the dedicated blog post. ## 🔗Dept of Trust & Safety ⚖️ ### 🔗Draupnir (website) A moderation bot for open Matrix communities. Gnuxie 💜🐝 announces > TWIM Draupnir has released v2.8.0 which includes a much anticipated feature: policy room subscription previews 🎉 > > We will be following up this release with a re-work to the UX surrounding server ACL changes within the next few days, as part of a larger move to keep the management room focussed on important notifications and prompts. ## 🔗Dept of Servers 🏢 ### 🔗Synapse (website) Synapse is a Matrix homeserver implementation developed by Element. Devon Dmytro says > This week we released Synapse v1.143.0. > > Of note for this release: > > * support for PostgreSQL 13 has been removed as per our deprecation policy. Synapse will fail to start when run with PostgreSQL 13. > * this will be the last release to support macOS wheels. We haven't heard any feedback from anyone still using these so we will go ahead with the plan and discontinue their generation. > > > 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. Jade says > Continuwuity has a new website! It should generally be much easier on the eyes, and easier to navigate! Go check it out at https://continuwuity.org/ ## 🔗Dept of Clients 📱 ### 🔗Element X Android (website) Android Matrix messenger application using the Matrix Rust SDK and Jetpack Compose. ganfra announces > * We've dedicated efforts to improving the app's performance and have implemented new monitoring to track it effectively. > * The room list is now more reliable, thanks to the adoption of the newLatestEvent API. > * We also continued to make progress on Spaces. > * And as usual, a number of bug fixes have been included to enhance stability. > ### 🔗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 > * We are currently implementing the space members access join rule, which allows a room to have people join without an invite if they are a member of a space included in the rule. > * Usage of the new latest event API which allows to see the sent state of your own message (if last) in the room list. > * We redesigned the room members list. > * We are dropping support for iOS 17, this is a thing we do every year so that we only support the latest 2 OS versions, which allows us to keep removing deprecated code and use and experiment with new APIs > ## 🔗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 🦀 reports > What nice improvements have been made these past 2 weeks! Can't wait to share them with you! > > #### 🔗Redecryptor > > A new API, a new pun. Let's welcome R2D2, the new `Redecryptor` API that has recently land in the Event Cache. With this new API, the Event Cache is responsible to redecrypt events that failed to be decrypted at the first try (because keys may be lagging or _insert non-sense reasons inherent to decentralized end-to-end encryption_). > > * #5746 The `Redecryptor` has fully landed! > * #5868 To remove the old redecryption logic from the Timeline. > * #5881 To fix a race condition in the redecryptor leading to missed decryption attempts (known bug, see #5474). > * #3872 is finally closed! > > > Not only it's cleaner, it's also more efficient and it handles more complex situations. Kudos! > > #### 🔗Latest Event > > The new Latest Event API is finally used more widely. The Element X clients are using it, and it rocks. The clients feel more reactive and snappy. It is even possible to see a little 🕙 in the room list for messages being sent. It means that your local messages are now displayed in the Room List! > > With this new feature comes news bugs. Of course. People can't just use something without breaking it. Otherwise, where would be the fun, I'm asking you! > > * #5908 When a message cannot be sent (because your subway is upset with the mobile network), it's marked as “cannot be sent”, and so any other new messages should be marked as “cannot be sent” too automatically. > * #5885 The user profile details are now attached to the `LatestEventValue` automatically, so that the client can do richer rendering in the Room List. > * #5913 —not merged yet— The `LatestEventValue` reflects edits too. These aggregated events are a bit complex to handle, but we gently start to have a nice toolset to handle these cases now, yepee. > > > #### 🔗Sliding Sync > > We constantly improve sliding sync, both client and server side, with performance improvements in mind. > > * #5878 We've changed how `SlidingSync` client enters the long-polling mode. Now, `SlidingSyncListBuilder` provides a new `requires_timeout` method, which takes a user-defined function, used to decide whether a request should do a long-polling or not. With this new feature, we have more controls to recover from complex scenarios (network is always complex), and thus improving the user experience. The previous behaviour is kept by default for the sake of consistency. > > > We are about to revisit the `matrix_sdk::room_list_service::SyncIndicator` behaviour too. Expect news on that front soon. > > #### 🔗Event Cache store is cross-process lock aware > > We said last time we've improved the `CrossProcessLock` so that a process knows when another process obtained a lock while the former got suspended. This information is required so that a process can decide to refresh its in-memory state when this happens. The Media store was already cross-process lock aware. Now there is a new name in the list. > > * #5856 The Event Cache store is now also cross-process lock aware. Every time an API is called in `EventCache` or `RoomEventCache`, a new read- or write-lock is obtained, and the in-memory state is automatically refreshed if required. Kudos to the reviewers, that wasn't a small set of patches! > > > This contribution frees the road for the _Badge Counter_ project, but also for the _Events from notification are stored in the main app_ project. It's exciting! > > This work was also required to continue working on Threads, where we want to persist thread events. This work has started. > > #### 🔗Misc > > * #5856 It adds support for `*aarch64-apple-watchos` target triples, i.e. we can build the Matrix Rust SDK for watchOS! > * #5879 We have an AI policy now! > * #5898 We expose session expiration errors during QR login. > ## 🔗Dept of Ops 🛠 ### 🔗Matrix Connectivity Tester MTRNord (they/them) announces > It's been a while since my last update, but a few things happened. > > First of all there is an ongoing rewrite happening for the frontend. The key points with that are that it switches to the rebranded ukgov theme (which will at some point also get a custom colour scheme to avoid confusion), it uses SSR instead of full client-side rendering, and it has a revamped structure around its results. One major change in that being the arrival of finally showing suggestions on how to actually resolve your issues. You can find that deployed at https://beta.connectivity-tester.mtrnord.blog/ > > Note however that this is still relatively early in the process, so only the start page and the results page are available at this time. Additionally, I am far from handling all the various ways federation can fail and writing suggestions on how to fix those. This is going to take some more time to figure out and improve, and most important, to make it technically correct in all cases. Additionally, the source code is not yet available since it is very fast moving still, however expect it to be published under the same license as the existing UI (AGPL-3.0). I am hoping to make this happen within the next weeks. > > Beyond the rewrite of the UI, there is also some change to ways to access the source code and how to reach out. The source code is now also available at https://git.midnightthoughts.space/rust-federation-tester/ and https://git.midnightthoughts.space/matrix-connection-tester-ui/ instead of just GitHub. With that, I also provide a mailing list (yes, those still exist) at https://lists.midnightthoughts.space/mailman3/lists/matrix-connectivity-tester.lists.midnightthoughts.space/ for people who prefer not to use GitHub to contribute or for people to ask questions. If providing patches using the mailing list, please use the format you would get using git send-mail or git format-patch. GitHub Contributions of course are also still accepted. > > As usual, you can find the production deployment at https://federationtester.mtrnord.blog/ for use at your convenience :) ## 🔗Dept of Events and Talks 🗣️ ### 🔗📢 FOSDEM Decentralised Communication Devroom! bboett reports > * **Call for Proposals (CFP) closing soon!** The Decentralised Communication Devroom at FOSDEM 2026 is happening, and the **Call for Proposals ends this Sunday night.** Submit your proposals ASAP at fosdem.org/submit! > * We will also have a **booth** —Come talk with the team or grab stickers! > * **Travel Tip:** When booking your FOSDEM travel, please plan to arrive a day early (ideally by Thursday evening at the latest). We are organising a **full-day Fringe event on Friday, January 30th!** > ### 🔗Matrix FOSDEM Hackathon Thib (m.org) announces > The Events Working Group is thrilled to announce that the day before FOSDEM 2026, on Friday 30 January, we will have **a Hackathon**! > > We're thinking it as a **collaboration first** hackathon where teams lift each other. We will all work toward a common goal, and we will only succeed together. > > The hackathon will start at 9am CET, last the whole day, and people will be able to present their successes, failures, learnings, achievements, improvements, or even frustrations at the end of the Hackathon. More details in a full blog post next week! > > Registration will open next week and be free of charge, but we need to know how many people are coming to organize the logistics. We count on you, people of the Federation! > > 🤝🧢 ## 🔗Matrix Federation Stats Aine [etke.cc] reports > collected by MatrixRooms.info - an MRS instance by etke.cc > > As of today, `11721` Matrix federateable servers have been discovered by matrixrooms.info, `3223` (`27.5%`) of them are publishing their rooms directory over federation. The published directories contain `16790` rooms. > > The most popular server software among the online servers is: > > * synapse: `10067` (`85.9%`) > * conduit: `468` (`4.0%`) > * dendrite: `370` (`3.2%`) > * continuwuity: `304` (`2.6%`) > > > 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| tuwunel.love| 148 2| codestorm.net| 179.5 3| continuwuity.rocks| 192.5 4| vibb.me| 208.5 5| nexy7574.co.uk| 237 6| nerdhouse.io| 264 7| synapse.nexy7574.co.uk| 270.5 8| uwu.possums.lgbt| 279.5 9| tomfos.tr| 324 10| wolfn.eu| 341 ## 🔗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 29, 2025 at 8:34 AM
Retiring the Slack Bridge on matrix.org
Bridges are one of the reasons Matrix is called Matrix: let’s matrix all the networks together! They are key to onboard new users into the network. However, maintaining and operating bridges, in particular to closed, proprietary platforms, is expensive: they need to be kept up to date with any change made by the platform on a regular basis and they’re fiddly to keep up and running. The Matrix.org Foundation has been hosting a free of charge Slack bridge for users of the matrix.org server for several years. The code of the bridge belongs to the Foundation, hosted under its GitHub workspace, but the bulk of the maintenance was done by Element. Maintaining and operating bridges to closed, proprietary platforms such as Slack comes at a high cost, both financially and in terms of reliability as they are subject to change without notice. The bridge has been unmaintained for some time now, and this has led to degraded functionality and inconsistent performance for users. While we understand that some people still find it useful in certain cases, it is not right to continue providing a service that we know does not meet the standards expected of matrix.org. This is why, without enough customers paying for it and despite the efforts of the community trying to help, Element will not continue to maintain this bridge. As a result, the Foundation will no longer provide this service to matrix.org users. We want to thank Element for all these years of graciously maintaining a bridge for us. ## 🔗What this means for users The Slack bridge will be removed from **matrix.org** on **January 13**. After this date, rooms connected to Slack will stop receiving new messages, and no new connections will be accepted. Existing messages and room history in Matrix will remain available, but the link to Slack will be closed. Users who rely on Slack bridging are encouraged to take over its maintenance, find a supplier who can maintain it for them, or explore alternatives. If you operate your own Matrix homeserver, you are able to host your own instance of the Slack bridge or develop one that suits your needs. However, please note that ongoing maintenance will be required to keep such a bridge functioning as Slack evolves its APIs. The following bridges will remain online. Instance| Platform| Project ---|---|--- OFTC| IRC| matrix-appservice-irc Snoonet| IRC| matrix-appservice-irc Bifrost| XMPP| matrix-bifrost ## 🔗Looking ahead Bridges are an important part of the Matrix ecosystem. They connect Matrix rooms to conversations on other platforms, helping users communicate without needing to maintain multiple accounts or abandon existing communities. They also help onboard users in the Matrix network. This bridging capability allows Matrix to act as a unifying layer across fragmented chat systems. Many of these bridges — including those for IRC, WhatsApp, and others — are developed and maintained by community contributors, and we want to acknowledge and thank everyone who has contributed to this ecosystem. Deprovisioning Slack bridge for matrix.org users does not signal a retreat from the goal of Matrix bridging to other platforms. Bridges remain a valuable part of the Matrix ecosystem, and the Foundation continues to support their development — especially those that connect to open protocols and standards.
matrix.org
November 29, 2025 at 8:34 AM
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 [email protected] 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 [email protected] 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 [email protected]. > > 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