Akkoma stable 2026.08 - Searching for Rubies

Hello hello hello, once again I am here with STUFF for you

This release is a billion fixes in a trenchcoat, along with some search improvements and a rare MFM update

Some choice changes below, as ever for full details see the backend CHANGELOG.md and frontend CHANGELOG.md.

New Stuff

Search

The queries used for searching for posts and users using the built-in database provider and received many fixes and improvements. Akkoma-fe’s UI was updated to give you access to all of the existing and added control knobs and pagination, making it much more usable!

Extended MFM support

We now support the following MFM directives:

  • ruby
  • unixtime
  • fade
  • border
  • crop
  • animation loop count
  • animation delay

(some existing directives were also updated with some fixes)

Miscellaneous

Some other, smaller but still highlight-worthy tweaks and fixes:

  • multi-selection polls now federate properly and are properly understood from servers properly federating votersCount (i.e. more or less everything but Akkoma prior to this release and old Pleroma). (Almost) No more thousand-percent vote shares on remote polls!

  • fixed delete & redraft still deleting attachment files once the initial redraft delay elapsed (if attachment cleanup is enabled, as has been the default for a little while)

  • newly created users use a different AP ID scheme not including their nickname. This is a first step to allowing local account renames in the future. Display URLs continue to use the current nickname, matching the old scheme

  • HTTP Signatures now include the query part of the request target, adapting to changing Mastodon preference and requirements to ensure we’ll remain compatible.
    Temporarily, it’s possible to set :activitypub, sign_query_part: false to omit it, matching previous releases.

Technical Upgrade Notes

RUM FTS Index

If you are using database search with the non-default RUM index variant, you MUST apply the new optional RUM migration before upgrading!
Then after upgrading you will need to refresh your RUM index setup to also get the new search behaviour. This can be done by “changing” your text search config to your current value (or something else, like simple if you so wish) via the database set_text_search_config <value> mix task

However, we suspect with the recent fixes to the standard version, there is actually no benefit to using RUM. You might want to just migrate back to the standard GIN index to save db space and manual update effort. If you do find situations where RUM still gives an actual benefit, please let us know.
If nobody speaks up we might drop support for it, since it also makes changes to search much more complicated when needing to account for and provide complete and incremental upgrade and switch-over paths for two database versions.

Miscellaneous Hints

These are not critical, but you might like to know about them:

  • new installations (not existing instances) now default to the simple full-text-search config; before it was defaulting to english regardless of any other language settings. If your existing instance is not primarily using English (or you just dislike PostgreSQL’s english search pre-processing rules; simple keeps most things except casing unchanged) and you haven’t already, you may want to update your FTS config the database set_text_search_config <value> mix task.

  • the frontend now prefers the already also supported /users/:nick paths for local users, matching what’s advertised in ActivityPub and used in e.g. static-fe. /:nick for the near future will redirect. Since having such a root-level route is prone to collisions with API paths or actual static files though (and the reason we need to disallow a large list of usernames) this route may be removed eventually.
    For remote users the path changed to /users/by-id/:id, to avoid pre-existing ambiguity and misattributions if a local nickname also decoded as a valid ID. Here no redirect exists to not reintroduce this issue. But anyone having bookmarked explicitly remote profile pages should be rare enough to not cause too much trouble we hope.

Upgrading

As ever, follow https://docs.akkoma.dev/stable/administration/updating/

Don’t forget your frontends and databases!
We slightly updated the instructions recently, so double-check them first

Thankies

This edition has some extended thankies to go out. As ever, Oneric saves my life when I don’t have time to be around as much as I’d like.
And one goes to @algernon@come-from.mad-scientist.club who develops the iocaine anti-ai-scraper program, which has saved us from having to use cloudflare this month. There’s so many bots. The akk project is sending the money we would have paid cloudflare over to him.

3 Likes

Update of the backend seems to have gone fine, thanks!

Search really is improved! Thank you so much for this work.