<OverlyDramaticIntro> Hello Mastodon enthusiasts, after seven months of relentless innovation and extensive development, the eagerly awaited Mastodon 4.2.0 update has been released. Mastodon continues to set itself apart from the mainstream platforms with a focus on privacy and user safety. This update stands as a testament to the teams dedication to enhancing user interactions in the fediverse while limiting toxic behaviour from damaging our little ecosystem.</OverlyDramaticIntro>
*cough* On the surface, everything looks and feels mostly the same, with the developers working to polish the harsh edges. As you continue to toot and scroll, you’ll notice wonderful little improvements and quality-of-life tweaks.
A lot of the frameworks/dependencies were running outdated versions, so this release cycle the dev team spent most of their precious time upgrading to modern versions (as noted below), writing tests, and refactoring the code base – while still keeping the wheels on – resulting in a modern ecosystem more welcoming to new developers. Finally, this focus on maintenance has delayed the shiny cool new features (
Search, Quote toots, Markdown, Groups, Encrypted/Real DMs, etc.)
Update: Opt-In Full Text Search landed in 4.2.0-beta 3!
Bonus fact: 11% of total commits ever were merged between 4.1.0 and 4.2.0
Update: Official blog https://blog.joinmastodon.org/2023/09/mastodon-4.2/
Upgraded Frameworks & Admin notes
- Upgraded from Ruby on Rails 6.1 to 7.0
- Upgraded from React 16 to 18
- Minimal Ruby version is now 3.0+ (3.1/3.2 is supported)
- Minimal NodeJS version is 16+ (18/20 is supported)
- Minimal Postgres is now 10+ (Upgrade to 14+ if you’re able)
- Nodejs Streaming server may require modification.
The following is a list of quality of life improvements, and jank removal:
- “Privacy and reach” tab in profile settings
A major UX redesign focused on enhancing personal privacy. This enables people to limit/increase the reach of their account, and control the different methods their toots can be discovered.
The design of this form is – the more you tick, the more public (searchable/discoverable) your account becomes, and the more you untick, the more private (unsearchable/undiscoverable) your account becomes.
This places the visibility of your account and your toots in your hands, and under your control.
- Search Part 1: Recent Searches are now saved (and can be removed)
“Previously, recent searches were not persisted between page reloads. Now, it will remember all types of searches and save them to local storage just like recently used hashtags.”
- Search Part 2: Opt-In for Full Text Search
In the “Privacy and Reach” tab mentioned above, pay special attention to the “include public posts in search results” button. This will update your account with the new “indexable” flag, and this flag will federate around to notify all of the instances in the fediverse that you consent to those instances making your toots (and toots alt text) fully searchable.
This flag is disabled by default, and if you wish to maintain your current privacy level, and deny full text search of your account (on instances which support the limitation) just leave this box unticked.
Note: Posting a toot with unlisted status will opt-out of the full text search for THAT toot in particular! This offers you the ability to post both indexed searchable toots, and private unindexed/unsearchable toots on the same account.
- Search Part 3: Conditional Search Options
You will be able to search for people using
but you’ll also be able to use conditional options to search for
all photos posted between june 2021 and june 2022 by @dasharez0ne.
- Toot replies count is no longer obscured.
Previous version would have 0 replies, 1 reply or more than 1 reply, and now the real reply count will be shown.
- Redesigned Hashtag (includes hidden hashtags)
1) Unique hashtags that are listed on the last line of the toot will be moved to the dedicated part of the toot.
2) ActivityPub supports “out of band” hashtags which were previously invisible to people. These hidden OOB hashtags are now visible which helps people who follow hashtags have extra insight into why they’re appearing on the timeline.
Notice the hashtags are moved to the bottom.
- Exclusive lists
Any post that appears in an exclusive list should not appear in your home timeline. This feature is possible on all lists, and can turned on/off on demand.
- Add ability to include accounts with pending follow requests in lists
allowing accounts in lists as soon as they have a follow request, but not distributing posts to the list before the follow request is accepted.
- Add published date and author to news on the explore screen
- Increase upload limits for media (Photos/Videos)
Increased Image size 10MB to 16MB, and video from 40MB to 99MB.
- Change video bitrate to always fit within size limit
“We calculate the “perfect” bitrate, but also the bitrate that would result in reaching exactly the size limit, and take the lowest one.”
- Add support for incoming rich text
Only incoming rich text from the fediverse that supports fancy text is support for now…. but this shows that hopefully markdown is coming to Mastodon in the future.
- Role badges have been added back to the web interface
These were removed previously, but this has been updated with a new design
- Reports can be forwarded to multiple instances
(for toots mentioning multiple people)
- Add lines to threads in web UI
This adds connecting lines between replies to the thread view, and will improve hopefully readability.
- Add progress indicator to sign-up flow
“An upfront overview of how many steps there are in the sign-up flow.”
- Add new onboarding flow to web UI
New accounts on Mastodon will be greeted with a newer welcome experience.
- Add onboarding prompt when home feed too slow
If the feed isn’t moving quickly, Mastodon will display a dismissible banner that points to trends and follow recommendations.
- Add support for importing lists
This introduces the ability to import lists as exported by Mastodon since v2.8.
- Delay added to “resend confirmation button” during account signup.
It is what it is.
- A “Toast” prompt will pop up after posting a toot
this is for confirmation on new toots, or edited toots.
legalas report category
“It doesn’t make sense to have all server operators have a custom “Don’t break the law” rule when it’s really universal.”
- Add “In Memoriam” banner back to profiles
This is another feature that was removed in previous versions.
- Add client-side validation for taken username in sign-up form
This is useful for people trying to grab popular or common usernames.
- Add button to see results for polls
Notice the “See results” text next to vote. This is another quality of life change, and removes the need for pointless “just show the result” poll answers.
- Add unsubscribe link to e-mails
The link does not require to be logged in to work.
- Add time zone preference
Allow users to save a time zone preference which affects how dates and times are rendered in e-mails.
- Show who invited you to join from an invite
More quality of life changes
- Add ALT badges to media that has alternative text
- Fix missing GIF badge in account gallery
- Change Boosts/reblogs to be excluded from “Posts and replies” tab
this is a change to focus on showing only user’s original toots.
- Improve UX for interacting with other instances
The experience of trying to boost a toot when visiting a profile on another instance has always been janky. This change is a little nicer, but needs to be seen to be fully understood.
- Change “direct message” nomenclature to “private mention”
This change is minor, but important.. because there are not DMs in Mastodon (Yet)… Pixelfed Dansup is making an app called
Supdedicated to direct messages (with encryption).
- Fix filters not being applying in the explore page
This is another quality of life fix.
- Added support for AVIF media attachments
New Admin features
- Administrator alerts for updated release.
- Webhook templating
“Remove the need to run intermediary servers that transform JSON for other platforms like Slack or Discord by allowing customization of the JSON payload using variable interpolation”
- Add a confirmation screen when suspending a domain
Gives a summary of the impact of the specific suspension on the instance. This is important when moderation teams are considering suspending an instance, but were not aware it would break X relationships.
- Optional hCaptcha support
- Add Extra webhooks
- Add ability to block sign-ups from IP using the CLI
- Remove anonymous access to the streaming API
This change tightens security and privacy against bots and services scraping instances feeds, but not all of those services were bad actors with a popular hashtag relay service (
relay.fedi.buzz) needing to be redesigned to accommodate this breaking change.