Mastodon
Your self-hosted, globally interconnected microblogging community
Alternative to: Twitter/X, Threads
v4.2.22
2025-07-02Changelog
Changed
- Change passthrough video processing to emit
moovatom at start of video (#34726 by @ClearlyClaire)
Fixed
- Fix
NoMethodErrorin edge case of emoji cache handling (#34749 by @dariusk) - Fix error when viewing statuses to deleted replies in moderation view (#32986 by @ClearlyClaire)
- Fix search operators sometimes getting lost (#35190 by @ClearlyClaire)
- Fix handling of remote attachments with multiple media types (#34996 by @ClearlyClaire)
- Fix inconsistent filtering of silenced accounts for other silenced accounts (#34863 by @ClearlyClaire)
- Fix handling of inlined
featuredcollections in ActivityPub actor objects (#34789 and #34811 by @ClearlyClaire) - Fix admin dashboard crash on specific Elasticsearch connection errors (#34683 by @ClearlyClaire)
- Fix OIDC account creation failing for long display names (#34639 by @defnull)
- Fix
/sharenot using server-set characters limit (#33459 by @kescherCode) - Fix wrong video dimensions for some rotated videos (#33008 and #33261 by @Gargron and @tribela)
Upgrade notes
To get the code for v4.2.22, use git fetch && git checkout v4.2.22.
[!NOTE] As always, make sure you have backups of the database before performing any upgrades. If you are using docker-compose, this is how a backup command might look:
docker exec mastodon_db_1 pg_dump -Fc -U postgres postgres > name_of_the_backup.dump
[!IMPORTANT] Since v4.2.10, Mastodon is now performing stricter checks to prevent client IP address spoofing. This means that if one of your reverse proxy is not on Mastodon’s local network, you will need to set
TRUSTED_PROXY_IPaccordingly, listing the IP address of every trusted reverse-proxy (including local network ones). See the documentation for more information.
Dependencies
The minimum supported Ruby version has been bumped from 3.0 to 3.1 in Mastodon v4.2.17. Otherwise, external dependencies have not changed since v4.2.4, the compatible PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:
- Ruby: 3.1 to 3.3
- PostgreSQL: 10 or newer
- Elasticsearch (recommended, for full-text search): 7.x (OpenSearch should also work)
- LibreTranslate (optional, for translations): 1.3.3 or newer
- Redis: 4 or newer
- Node: 16 or newer
- ImageMagick: 6.9.7-7 or newer
Update steps
[!TIP] The
charlock_holmesgem may fail to build on some systems with recent versions ofgcc. If you run into such an issue, tryBUNDLE_BUILD__CHARLOCK_HOLMES="--with-cxxflags=-std=c++17" bundle install.
The following instructions are for updating from 4.2.21.
If you are upgrading directly from an earlier release, please carefully read the upgrade notes for the skipped releases as well, as they often require extra steps such as database migrations.
Non-Docker only:
- Install dependencies:
bundle install - Precompile the assets:
RAILS_ENV=production bundle exec rails assets:precompile - Restart all Mastodon processes
Using Docker:
- Restart all Mastodon processes