Trunk & Tidbits, June 2024

Renaud Chaput

CTO

Andy Piper

Developer Relations

Looking back at June (and just sneaking in to the start of July), we have a lot to share with you. Let’s dive in!

Growing the team

First of all, we are delighted to announce a new member of the core development team - David Roetzel joined us as a core web developer. Welcome, @dave!

Keeping things secure

During June, we investigated and fixed (and tested the patches for) 3 security issues. They were part of our most recent security releases at the start of July. These are important updates for the 4.2 and 4.1 releases, and nightly builds. Please make sure you are running the latest version of Mastodon to keep your instance secure.

We care about the maintenance of our supported versions, so there is always a portion of work that goes into this strand of the team’s activities. We’re excited to bring you the new features mentioned below - but, making sure that Mastodon is secure and reliable is always our top priority, so that comes first.

As a reminder, you can follow @MastodonEngineering to keep track of new releases and other important technical updates.

Current development work

We are aiming to make the first beta of Mastodon 4.3 available during July.

The changes list below are now available to users of instances that are running a recent “nightly” version (for example, mastodon.social or mastodon.online), and will come to others as part of the full 4.3 release.

Web and Backend

In June, the team reviewed and merged 237 Pull Requests (162 when translation and dependency updates are taken out of that larger total), from 20 authors! Thank you to our contributors. If you would like to help, there are bug fixes, features, and improvements to be made across backend and frontend - start here.

  • new feature The grouped notifications backend has been merged. This is still experimental; the API might change. Github PR #29889 (by ClearlyClaire)
  • developer The devcontainer setup has been improved, thanks to polotek asking us about it and the work of a number of contributors Github PR #30548 (by vmstan) Github PR #30547 (by mjankowski) Github PR #30502 (by fabiosammy and mjankowski) Github PR #30566 (by mjankowski) Github PR #30592 (by mjankowski) Github PR #30593 (by mjankowski) Github PR #30603 (by mjankowski)
  • performance libvips support has been merged! ImageMagick is still available, but we plan to switch the default to libvips in the next version, then remove ImageMagick support. libvips ≥ 8.13 is required, and our official container images uses libvips out of the box Github PR #30090 (by gargron)
  • container libvips and ffmpeg are now built from source in our official container image, allowing us to use just the dependencies we need and to use the latest version, removing several hundred megabytes from the image. Those versions are also automatically tracked by Renovate, to ensure we update them. Github PR #30571 (by vmstan) Github PR #30569 (by vmstan)
  • api The recently-introduced read:me OAuth scope has been renamed to profile for consistency Github PR #30357 (by ThisIsMissEm)
  • new feature Support for fediverse:creator author links in the web UI. Github PR #30521 (by Gargron)
  • api In order to support multiple authors for a fediverse:creator link preview, we are introducing the authors attribute in the REST API. This will contain the author name, optional URL, and optional Fediverse account. For now, this attribute cannot contain more than one author on Mastodon, but this might change. The author_* attributes will be deprecated. Github PR #30846 (by Gargron)
  • new feature Mastodon now has account hover cards that show when hovering over an account name. We are still gathering feedback and tuning the feature, but it should be especially useful with the new grouped notifications. Github PR #30754 (by Gargron)

We are currently working on:

  • Finishing the frontend part of the grouped notifications feature. This is a lot of work to get all specific behaviour implemented, but we are nearing the end. We intend to release this as an experimental, opt-in, feature at first for a few weeks, to ensure it behaves correctly both in the UI and in terms of performance. This is the last piece to complete before the 4.3 beta can be released!
  • Thinking about link preview federation. The first step is listing everything related to this concept, potential issues, points of concern… and then, trying to find all possible ways of solving the issues. More news on this topic in the upcoming weeks!

Android

  • Redesigned the “news” tab, to align with the web version.
  • Implemented support for fediverse:creator display in link previews.
  • Polished the upcoming in-app donation feature.
  • Multiple bug fixes and small improvements.

iOS

The focus for July on iOS will be on adding support for Lists, and the new grouped notifications feature coming in 4.3.

Around the community

If you’re building something using Mastodon or the Mastodon API, let us know about it (you can use the #MastodonAPI hashtag, if you like). Here are some things we noticed this month that we thought you might like to know about, too!

Thank you for using Mastodon

We’re happy to be able to build a platform that matters to so many people around the world. Spread the word!

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.