Trunk & Tidbits, January 2025

Andy Piper
Head of Communications

Renaud Chaput
CTO

Welcome back to our technical blog series: Trunk & Tidbits. This is where we share updates on what the development team has been working on, and what we have planned for the future. This month we have a lot to tell you about, including a brief recap of our time at FOSDEM (which technically happened at the very start of February rather than during January), and some exciting new features and improvements that we have been working on.
General news
First of all, we want to again share the news that we are working on restructuring the project, forming a new non-profit entity to be based in Europe to ensure good governance and sustainability. There was a flurry of activity outside of the technical side in January, as we talked to different organisations about this news. We do not expect this to have a big impact on the day-to-day development of Mastodon, but we hope that it will help to ensure the long-term future of the project.
We had a great time at FOSDEM! Five members of the team - Eugen, Renaud, Felix, David, and Andy - spent time meeting members of the community at our stand, as well as explaining what Mastodon and the Fediverse are to newcomers. Andy helped to run the first ever Social Web Devroom (a FOSDEM Devroom is roughly equivalent to a talk track at a conference), where David presented the Fediscovery project; more on that, below.
Thank you to the wonderful Elena Rossini for taking photos of the team. Check out her newsletter, where she writes about the federated future.
There were also two additional Social Web sessions: a “birds of a feather” set of short talks during FOSDEM itself, and an “After Hours” social event, where Andy delivered a talk entitled Fediverse for Freedom. The buzz around the Fediverse at FOSDEM this year was incredible, and the sessions were all very well attended. There is so much great work happening in the space!
During January, we received a large number of applications for our front-end developer role. We’ve now paused taking new applications, while we work through the candidates that we have. We hope to be able to share news on this soon.
Releases
We released Mastodon 4.3.3, 4.2.15 and 4.1.22. These versions contain a few bug fixes, as well as a fix for a medium severity security issue. We recommend that all instances update to the latest version as soon as possible.
Countdown to the end of life for Mastodon 4.1.x - this version will no longer receive updates after April 8, 2025. If you are running an instance on 4.1.x, you must update to 4.2.x or 4.3.x within the next ~60 days, in order to remain on a supported version of the software.
Code updates
Web & backend
In January, we reviewed and merged 250 Pull Requests (170 with translation and dependency updates removed) from 23 authors.
These are some of the most visible or impactful changes that were made this month (if you are on mastodon.social or mastodon.online, you will see some of these before they are rolled out in a future release).
- interface
Display language names in the native language (in addition to the current language) in the post language picker. —
PR #33402 (by c960657)
- new feature
Add support for the final specification of WebPush. We previously only supported an outdated draft of the protocol. —
PR #33528 (by p1gp1g)
- api
Add an API to update the allowed attribution domains for an account. —
PR #33270 (by c960657)
- interface
Add an indicator in the web interface when the selected language for the post does not match the language guessed from the post content. —
PR #33042 (by Gargron) —
PR #33700 (by ClearlyClaire)
- interface
Redesign the edit media modal. —
PR #33516 (by Gargron) —
PR #33702 (by Gargron)
- interface
Add an alert with posting a message that includes an image without alt text. This can be disabled in the preferences. —
PR #33760 (by Gargron)
- admin
Add an optional metrics exporter in Prometheus format. This allows an administrator to get useful process-level metrics from Puma, Sidekiq and Ruby (memory/GC). —
PR #33734 (by renchap)
The team also made significant progress on the specification for Quote Posts. It needs a few minor changes, but we expect to publish it for comment in February, and start implementation right away. The current plan is to publish Mastodon 4.4 with support for displaying Quote Posts, and then add authoring in Mastodon 4.5.
We also plan to support receiving and validating ActivityPub requests using RFC9421 signatures in Mastodon 4.4, and sign them using those signatures in Mastodon 4.5 (see the W3C SWICG ActivityPub and HTTP Signatures report for more context).
Android
We released 2.9.4 on Jan 6, with the following changes:
- interface Fixed custom emojis not loading under some configurations.
- admin The app now sends `org.joinmastodon.android as referrer to websites opened from the app.
- Fixed some minor crashes.
We also added the ability to accept or reject follow requests in the Android app, based on a contributed pull request (thank you @underroot) but with much of it rewritten. This feature will be available in the next release.
iOS
There was no new release in January, but we are hard at work on bringing grouped notifications to our iOS app, along with some smaller bug fixes.
Fediscovery Project
David presented our Fediscovery project at FOSDEM 2025. We were delighted to finally discuss the project with other implementers and interested parties. The talk gave an overview of the project itself, and an update about the current status. You can find links to the slides and video recordings of the talk on the Fediscovery website.
We are currently working on the reference implementation for our first search and discovery provider. We rely a lot on Ruby (and Ruby on Rails) for Mastodon already, so it made sense to use Ruby on Rails here as well. The provider is not yet available, but we extracted two Rails plugins from it to help others build their own providers. One of these handles all of the low-level general interfacing with Fediverse servers, while the other includes building blocks to implement our “Data Sharing” specification, that is at the heart of the Fediscovery project. We have also built a small demo provider. All of this can be found in the fasp_ruby
project, a repository we released to coincide with the FOSDEM talk.
Community
It was another exciting month watching what folks have been building on top of Mastodon. Here are a few highlights:
- This was missed last month, but in December the Linux GTK app Tuba got a big update featuring account suggestions for new accounts, scheduled & draft posts, and hashtag extraction from posts (along with a bunch of nice GNOME-related UI enhancements).
- Multiple client libraries for the Mastodon API saw new releases in January; if you are a JavaScript developer check out Masto.js and Megaladon.
- Crystal for Mastodon was released, allowing you to view beautiful slideshows of images from Mastodon posts on your Apple TV. We need a new category for third party apps on our website!
- Another text console / CLI / TUI app came along. If you live in the terminal, take a look at Fediboat.
- Posty allows you to self-host an archive of your Mastodon posts. It’s a simple static site generator that uses your Mastodon archive.
Don’t forget to let us know if you’re building something interesting on top of Mastodon. We love to hear about it!
Appreciation
We would like to thank everyone who has contributed to Mastodon in the past month, and to everyone that uses the platform every day. Your support is what keeps us going, and we are grateful for it.
We’re an independent open source project that depends on your support. We’re not taking venture capital. We believe that social media should be for everyone. If you can, please consider making a donation to help us continue to build Mastodon.
Thank you for supporting Mastodon
We develop and maintain the free and open-source software that powers the social web. There is no capital behind this—we rely entirely on your support through platforms like Patreon.