Weโ€™re excited to release Mastodon 4.5 into the world! Arriving just a few months after the last release, this version brings the long-awaited Quote Posts feature, along with many other goodies. Hereโ€™s a quick look (you should read our blog post for more!)

https://blog.joinmastodon.org/2025/11/mastodon-4.5

Mastodon 4.5

Quote posts, the end of missing replies, new tools for admins and better emojis. All of these and more, in our latest release.

Mastodon Blog
Mastodon 4.5 brings Quote Post authoring features to everyone. Note that you can manage whether or how your posts are quoted by others, both globally on the new Posting Defaults page, and individually on specific posts. You can also revoke the use of a post. We wrote about this in more detail a few weeks ago: https://blog.joinmastodon.org/2025/09/introducing-quote-posts/
Introducing quote posts

Over the years, weโ€™ve learned just how essential quoting is to many of you. Here's a deep dive on how quote posts will work on Mastodon.

Mastodon Blog
The Fediverse feels more vibrant when conversations are buzzing! Mastodon 4.5 fetches replies from other servers to show you more complete conversation threads - another much-anticipated feature.
Server owners can do more to manage and showcase their community. Mastodon 4.5 has settings to define the visibility of different feeds (timelines), and also the ability to set the default landing page to the local feed. There are also new tools for restricting problematic usernames, and improvements in the moderation interface.
Among many tweaks, and some polishing of the web interface, Mastodon 4.5 also now supports the use of native emoji ๐ŸŽ

RE: https://mastodon.social/@MastodonEngineering/115503006012708370

We recommend that server owners update their Mastodon installations to bring these improvements to their communities as soon as they can. There are a lot of great updates, now ready for everyone.

Thank you to all of the contributors to Mastodon 4.5! As always, we also appreciate your donations and support as we continue to build a better social web for everyone.

https://joinmastodon.org/donate

Donate - Mastodon

@Mastodon

Heute ist Sonntag: DiD-it-Day
Bin heute Mastodon beigetreten. Bin gespannt.
Marc Uwe Kling: danke fรผr Dein DUT-Video.
Ein guter Abstupser, endlich zu wechseln. Peu-ร -peu.

@Mastodon Oh boy. I'd been wondering, 'When will my Mastodon experience become more like hanging out with the hordes of kids and immature adults on Facebook?' We truly do live in marvelous times.
@Mastodon I'm glad we still have the option to choose the emoji style! ๐Ÿ˜Š
@Mastodon What does that mean? I understand that emoji are like any other Unicode character, and they are displayed by fonts like any other character, so they do not need any special treatment.
@matj1 Most fonts don't have their own emoji, so everything that can show emoji will have it's own versions of them. Apple emoji are different from Android emoji and they're both different from windows emoji.

@StarkRG Yes. Like with any other missing glyph, it is replaced by a glyph from a fallback font. That does not make emoji different from other characters like Chinese or cuneiform.

My point is that, when we can choose a font for emoji, we should be able to choose fonts for every other character, and, when we already can choose fonts for every other character, I see no reason to have a separate option for emoji if we already have a system for choosing fonts.

@Mastodon While I appreciate the new features, the UX feels like a massive regression to me. Unfortunately mastodon doesn't support different default settings for visiblity of posts (public) and replies (unlisted), and with the new popup dialogue instead of the drop down it takes 3 clicks to change the visibility, plus mouse movement and aiming :(
@Mastodon A critical feature, amazing to see it!
@Mastodon Cool stuff and cant wait to see!
@Mastodon Is this just a change in the web client to fetch the extra replies? Or can other clients, eg @pachli on Android, benefit from this change as well when connected to servers running v4.5?
@roddie @Mastodon @pachli it's a backend change, though other clients may need you to refresh the toot to see the fetched replies
@Ember @Mastodon @pachli That's great; thanks for the info

@roddie @Ember @Mastodon

I've looked at the new API (side note: I'm in the Mastodon Developer Discord run by Mastodon GmbH, which is their official communication channel, and as far as I can tell no input from third party developers in to this API was sought, and the first we found out about it was this blog post -- happy to be corrected on this point, but after searching the Discord for "async" I can't find it).

Best as I can tell from the documentation, it's of no use to mobile clients.

@roddie @Ember @Mastodon

Here's a concrete example as to why.

Suppose you open a thread in Pachli today. Pachli asks your server for the most recent version of the thread. You can read the thread, and you can choose to refresh at a time of your choosing, either by swipe-refresh, or by using the menu item at the top right.

@roddie @Ember @Mastodon

That's an explicit thing you choose to do. Pachli tries to keep your reading position in the thread at the same place, and any changes (e.g., new posts appearing, post content changing because of edits, etc) are something you can anticipate because it's happening at a time you choose.

Now, what are clients supposed to do with this new API?

@roddie @Ember @Mastodon

Pachli would fetch the thread as normal, but also receive an additional bit of information saying "Try again in 30 seconds, there might be more data".

30 seconds goes by, Pachli loads the new data, and now has to decide what to do with it.

There's a number of possible options here, and most of them have bad outcomes.

@roddie @Ember @Mastodon

1. Suppose the post you're actively reading in the thread has been deleted since you started reading it. The post would vanish from your screen, and Pachli will have to figure out where in the thread to reposition you.

That's obviously terrible user experience.

@roddie @Ember @Mastodon

2. Suppose the post you're actively reading in the thread has been edited -- text changed, attachments modified, content warning added or removed, etc. Again, the post would change as you're reading it.

Also terrible user experience.

2b. Popping up a note to the user that says "This post you're reading has been deleted/edited, do you want to refresh now" doesn't fix this, as it doesn't give the user enough information to make an informed decision about what to do.

@roddie @Ember @Mastodon

3. Suppose there were 10 posts in the thread when you started, and you're looking at post 8. Then the new data is loaded, and it turns out some new posts have arrived **and** they are chronologically earlier in the thread (i.e. up and offscreen from where you are).

Now what? Scroll you back to see them? Insert them in the thread but highlight them in some way, with a notification that you might want to scroll back? Collect all of them and show them out of context?

@roddie @Ember @Mastodon

4. Suppose there are new posts in the thread and they are chronologically after where you are currently reading (i.e., down and offscreen from where you are).

This is the only scenario where opportunistic fetch and updating the list could make sense. But it's very niche, and you can get Pachli to do that already using the "Refresh" options

@roddie @Ember @Mastodon

I can see how this API might make sense in a non-mobile webapp. For example, you open a thread, and get a notification saying that more posts are loading, so you leave the tab open and go and do something else, coming back to the webapp when it notifies you the new posts have loaded.

But I don't think that's a typical interaction model on mobile.

/fin

@pachli @Ember @Mastodon Thanks for the detailed response, it's a shame it's ultimately such a complicated problem/solution - I've been using the Subsitoot extension for Firefox when using a browser and it's a real game-changing experience for Mastodon that I miss on mobile

@roddie @Ember @Mastodon

That's slightly different. I have https://github.com/pachli/pachli-android/issues/65 on the (very far) back burner. If I've correctly understood what Subsitoot does it's basically the same thing.

pachli/pachli-android

The Pachli Android app. Contribute to pachli/pachli-android development by creating an account on GitHub.

GitHub
Based on the surge in visible comments (using Megalodon on Android) and overall discoverability of boosts, seems to work simply bc the server of the instance I'm on was updated.
@Mastodon This one is most exciting to me!

@Mastodon

Yeah, that is one of the biggest problems i have. Like the server i'm on loads like 30% of the answers.

It will be sad though when my bubble breaks and i start to see all the people i'm not friends with ^^

@Mastodon Will this work also when using Tusky?
@Mastodon better late than never! I am so glad to see this bug finally fixed, and I hope it presages future use of the full feature set of ActivityPub.
@evan @Mastodon this is definitely the most impactful new feature after QPs! Have noticed a dramatic difference in counts
@chris @Mastodon Let's hope that loading an actor's `outbox` to show their existing posts is next! ๐Ÿคž๐Ÿผ
@evan @chris @Mastodon Jonny is trying. His backfill PR has been ignored for 6 months (due to focus on quotes)
@evan @Mastodon how is it done now?
@chris @Mastodon it is not! When you load someone's profile for the first time, it may pull up any existing posts by that person that are already on your server, but usually, it shows their timeline as empty. That information is available on the user's own server; Mastodon just needs to reach out and get it.
@evan @Mastodon Yep, with these two features / bug fixes, I'm thinking of 4.5 as the "Keeping Context" update.
@Mastodon ARE YOU KIDDING ME
@Mastodon yeah okay but why do my own replies now take forever to show up? This is seriously such a downgrade
@Mastodon I am really curious to see how you want to prevent anyone NOT using Mastodon from quoting a Mastodon post. ๐Ÿ˜€

@Mastodon Am I the only one who finds the addition of quoting ON THE BOOST BUTTON?!? both annoying and slightly insane.

It is another type of reply - so obviously it should be on the reply button!

Now I have to click twice as much to boost something while browsing, and if I decide to reply with quote I have to NOT click the reply button but click the boost button... what?!?

@Mastodon

i like the new feature. But i dislike the the fact that boosting stuff is a 2 step action now.

Please consider adding 2 one click buttons on the UI.

( Unless you want to reduce the boosting quota in general. )

@Mastodon Absolutely goated. Thank you! Looking forward to updating my personal instance โค๏ธ

@Mastodon does bumping character limit still needs changing same files as previously or did it changed between 4.5 and previous version?

Is there any plan on making it configurable?

@hrw @Mastodon Here's another dissenting opinion: Please never send me a 500-character reply. As a user, I don't want to read answers that are painfully long. Short answers are a feature of a Microblogging-Network, not a bug. Thatโ€™s why I use Mastodon. From this perspective, the recipient of a message should be able to determine how many characters may be used, and not the sender ๐Ÿ™‚

@markusr @Mastodon having that option configurable would allow to make lower amount of chars servers as well.

I know that for most of people "make char limit configurable" means "longer posts" but "shorter posts" will be also possible.

@Mastodon

Thank you, John Mastodon!

@Mastodon ๐Ÿ’› so excited for the quote posts feature as an affordance. It'll allow more fun & attract more users. To normalize the experience of social media with no ads & no data mining from giant corps FAANG, we need features like this & more!
@Mastodon @Ivory had a workaround for ages, but it's really nice to see quotes implemented as an official feature.