Trunk & Tidbits, November 2024

Andy Piper

Developer Relations

Renaud Chaput

CTO

Trunk & Tidbits, November 2024

Hi everyone! We’re back with our monthly engineering update, looking back at a busy November.

General news

We were pleased to see our friends at NGI (Next Generation Internet) announce a major transition to using Mastodon and PeerTube as primary communication channels for many of their projects. 🎉

Our application for a stand at FOSDEM 2025 was accepted. We’re excited to be taking part in FOSDEM for the second year! We’ve started to plan what we will bring to share and talk about. We’re also going to be engaged in this year’s Social Web Devroom. The Fediverse is growing, and we are happy to be a part of it.

After the U.S. celebrates Thanksgiving, they’ve historically had so-called Black Friday and then Cyber Monday… there’s also a more recent tradition of Giving Tuesday. This year, the Mastodon 501(c)(3) organisation - our U.S. non-profit entity - launched a fundraising campaign to help us to fund a Trust & Safety Lead. We’re super grateful and happy that the campaign has started to raise these funds (also, the campaign remains open!).

Releases

In November, we released updates for each of the currently-supported Mastodon versions - 4.3.2, 4.2.14, and 4.1.21. These contain a mixture of small fixes, and in the case of 4.3.2 and 4.2.14, a new administrative tootctl feeds vacuum command for retroactively removing feeds that may have been left behind from deleted accounts.

As a reminder, Mastodon 4.1.x is now deprecated, which means that it will reach End of Life and no longer receive updates on April 8, 2025 - this will be six months after the release of 4.3.0.

We recommend that owners / administrators of Mastodon instances upgrade to the latest available versions, as appropriate to their environments.

Code updates

In November, we reviewed and merged 194 Pull Requests (133 with translation and dependency updates removed) from 18 authors.

We always appreciate contributions. If you would like to get involved, we have some issues tagged “help welcome”, including this one for Rails/backend. There are also a small number of “easy” (?) unmaintained React library replacements needed: react-notification, react-motion and react-hotkeys.

Backend

  • new feature Added support for Wrapstodon, a fun “year-in-review” feature. This currently needs to be generated from the console, and is not yet ready for general use, but it allowed us to run it on mastodon.social and mastodon.online and test the feature in the wild. Github PR #32709 (by Gargron) Github PR #32765 (by Gargron)
  • new feature Added more reserved usernames, so they can not be registered by malicious actors. Big thanks to Jaz from IFTAS for this contribution. Github PR #32828 (by jmking-iftas)
  • interface Improved display of statuses in admin interface. Github PR #30813 (by ThisIsMissEm)
  • interface Greatly improve the design of the list management screens Github PR #32881 (by Gargron) and automatically update list timelines when adding/removing accounts Github PR #32930 (by Gargron)

We’ve also been busy working on bug fixes (which rolled up into the point releases), and are also working on Fediscovery and on quote posts.

Among other contributors, we’d also like to say Thank You to Matt @mjankowski for tirelessly triaging PRs and Issues and helping us to get our backlogs into better shape - for a popular project like this one, it can be a lot of work 🙏🏻

Android

The most recent Android release had a number of visual updates: the ability to use a default Material palette; a redesign of the media viewer; and the ability to crop avatars are probably the most noticeable ones.

iOS

Just in time for Giving Tuesday, our update 2024.11 shipped with the ability to show members of mastodon.social and mastodon.online a banner at the bottom of their timeline inviting support for Mastodon’s continued development.

This version also made several improvements to filters and content warnings, most importantly that filtered posts now take up less space and tell you which filter they triggered! Also, filters with the “hide” action now really do remove posts from your feed completely. Finally, content warnings now function as they do on the web, blurring only the attached media if the content warning message is empty.

We’ve fixed a few longstanding privacy issues, so that when you log out of an account (or delete the app from your device and reinstall it), you will be required to re-enter your username and password to regain access to the account. And we’ve made a few improvements to the experience of using the app with a brand new account: “Find people to follow” is now easier to exit from, and posts from anyone you’ve just followed will show up in your feed immediately.

Finally, there are a few small visual improvements, including that the Dark Mode icon now has a dark ‘m’, and a large amount of code change that will hopefully mean fewer crashes right away and make further stability improvements in the future easier to achieve.

Fediscovery Project

In case you missed it: Fediscovery (full title, Fediverse Discovery Providers) is a project to explore decentralised search and discovery for the Fediverse as a whole. This is a new service for ActivityPub-compatible platforms.

Work on establishing a solid base for providers is ongoing, and we have been able to publish the first draft for a provider to register to data updates from a configured instance. This will allow discovery providers to know when there are new (or updated, or deleted) posts or accounts so it can index them. No data is directly sent to the provider, but only references that the provider can fetch over ActivityPub, using it’s own actor. You can read more about it (and leave your comments) here.

A proof of concept implementation is also in progress, as writing specifications without experimenting is not the best way to ensure that they are good in practice. This will help us ensure that the specifications can be translated to working code, and to show some real progress!

Community

As usual, we’ve been on the look out for interesting links and projects to share here on the blog. Here’s what came across Andy’s radar this month…

And finally… mmm, cookies! 🍪

Thank you

Mastodon is an open source project - the team relies on donations to exist, and word-of-mouth to grow.

This is a critical time in the history of the internet, and we strongly believe that a sustainable, free and open social web must continue to exist.

We are so grateful for your support and contributions to our project!

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.