Releases: mastodon/mastodon
v4.3.4

Warning
This release includes important security fixes.
Corresponding releases are available for the 4.2.x branch and the 4.1.x branch.
Note
If you are using nightly builds, do not use this release but update to nightly.2025-02-28-security
or newer instead. If you are on the main
branch, update to the latest commit.
Changelog
Security
- Update dependencies
- Change HTML sanitization to remove unusable and unused
embed
tag (#34021 by @ClearlyClaire, GHSA-mq2m-hr29-8gqf) - Fix rate-limit on sign-up email verification (GHSA-v39f-c9jj-8w7h)
- Fix improper disclosure of domain blocks to unverified users (GHSA-94h4-fj37-c825)
Changed
- Change preview cards to be shown when Content Warnings are expanded (#33827 by @ClearlyClaire)
- Change warnings against changing encryption secrets to be even more noticeable (#33631 by @ClearlyClaire)
- Change
mastodon:setup
to prevent overwriting already-configured servers (#33603, #33616, and #33684 by @ClearlyClaire and @mjankowski) - Change notifications from moderators to not be filtered (#32974 and #33654 by @ClearlyClaire and @mjankowski)
Fixed
- Fix
GET /api/v2/notifications/:id
andPOST /api/v2/notifications/:id/dismiss
for ungrouped notifications (#33990 by @ClearlyClaire) - Fix issue with some versions of libvips on some systems (#33853 by @kleisauke)
- Fix handling of duplicate mentions in incoming status
Update
(#33911 by @ClearlyClaire) - Fix inefficiencies in timeline generation (#33839 and #33842 by @ClearlyClaire)
- Fix emoji rewrite adding unnecessary curft to the DOM for most emoji (#33818 by @ClearlyClaire)
- Fix
tootctl feeds build
not building list timelines (#33783 by @ClearlyClaire) - Fix flaky test in
/api/v2/notifications
tests (#33773 by @ClearlyClaire) - Fix incorrect signature after HTTP redirect (#33757 and #33769 by @ClearlyClaire)
- Fix polls not being validated on edition (#33755 by @ClearlyClaire)
- Fix media preview height in compose form when 3 or more images are attached (#33571 by @ClearlyClaire)
- Fix preview card sizing in “Author attribution” in profile settings (#33482 by @ClearlyClaire)
- Fix processing of incoming notifications for unfilterable types (#33429 by @ClearlyClaire)
- Fix featured tags for remote accounts not being kept up to date (#33372, #33406, and #33425 by @ClearlyClaire and @mjankowski)
- Fix notification polling showing a loading bar in web UI (#32960 by @Gargron)
- Fix accounts table long display name (#29316 by @WebCoder49)
- Fix exclusive lists interfering with notifications (#28162 by @ShadowJonathan)
Upgrade notes
To get the code for v4.3.4, use git fetch && git checkout v4.3.4
.
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
Dependencies
External dependencies have not changed since v4.3.0, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:
- Ruby: 3.1 or newer
- PostgreSQL: 12 or newer. PostgreSQL versions 14.0 to 14.3 are not supported as they contain a critical data-corruption bug (see v4.3.0 release notes)
- 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: 18 or newer
- ImageMagick (optional if using libvips): 6.9.7-7 or newer
- libvips (optional, instead of ImageMagick): 8.13 or newer
Update steps
The following instructions are for updating from 4.3.3.
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. In particular, please read the v4.3.0 release notes, as there have been multiple important changes.
Non-docker
Tip
The charlock_holmes
gem may fail to build on some systems with recent versions of gcc
.
If you run into such an issue, try BUNDLE_BUILD__CHARLOCK_HOLMES="--with-cxxflags=-std=c++17" bundle install
.
- Install dependencies with
bundle install
- Precompile the assets:
RAILS_ENV=production bundle exec rails assets:precompile
- Restart all Mastodon processes.
When using docker
- Restart all Mastodon processes.
v4.2.17

Warning
This release includes important security fixes.
Corresponding releases are available for the 4.3.x branch and the 4.1.x branch.
Note
This version fixes a vulnerability issue when using SAML but drops support for Ruby 3.0 in the process.
If you configured SAML authentication on your Mastodon instance and use Ruby 3.0, we recommend that you update your Ruby version to 3.2, then update to Mastodon v4.2.17 or later.
If you can't use Ruby 3.1 or later but don't use SAML, updating past v4.2.16 is not as critical.
Changelog (v4.2.17)
Security
- Update dependencies
Removed
- Remove support for Ruby 3.0
Changelog (v4.2.16)
Security
- Update dependencies
- Change HTML sanitization to remove unusable and unused
embed
tag (#34021 by @ClearlyClaire, GHSA-mq2m-hr29-8gqf) - Fix rate-limit on sign-up email verification (GHSA-v39f-c9jj-8w7h)
- Fix improper disclosure of domain blocks to unverified users (GHSA-94h4-fj37-c825)
Fixed
- Fix emoji rewrite adding unnecessary curft to the DOM for most emoji (#33818 by @ClearlyClaire)
- Fix incorrect signature after HTTP redirect (#33757 and #33769 by @ClearlyClaire)
- Fix polls not being validated on edition (#33755 by @ClearlyClaire)
- Fix featured tags for remote accounts not being kept up to date (#33372, #33406, and #33425 by @ClearlyClaire and @mjankowski)
- Fix exclusive lists interfering with notifications (#28162 by @ShadowJonathan)
Upgrade notes
To get the code for v4.2.17, use git fetch && git checkout v4.2.17
.
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_IP
accordingly, 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. 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.2
- 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_holmes
gem may fail to build on some systems with recent versions of gcc
.
If you run into such an issue, try BUNDLE_BUILD__CHARLOCK_HOLMES="--with-cxxflags=-std=c++17" bundle install
.
The following instructions are for updating from 4.2.15.
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
v4.2.16

Warning
This release includes important security fixes.
Corresponding releases are available for the 4.3.x branch and the 4.1.x branch.
Caution
One of our dependencies has a known security vulnerability which Mastodon may be exposed to when using SAML for external authentication.
We have released v4.2.17 which fixes this issue and we encourage you to update to it (or 4.3), but it unfortunately drops support for Ruby 3.0.
Changelog
Security
- Update dependencies
- Change HTML sanitization to remove unusable and unused
embed
tag (#34021 by @ClearlyClaire, GHSA-mq2m-hr29-8gqf) - Fix rate-limit on sign-up email verification (GHSA-v39f-c9jj-8w7h)
- Fix improper disclosure of domain blocks to unverified users (GHSA-94h4-fj37-c825)
Fixed
- Fix emoji rewrite adding unnecessary curft to the DOM for most emoji (#33818 by @ClearlyClaire)
- Fix incorrect signature after HTTP redirect (#33757 and #33769 by @ClearlyClaire)
- Fix polls not being validated on edition (#33755 by @ClearlyClaire)
- Fix featured tags for remote accounts not being kept up to date (#33372, #33406, and #33425 by @ClearlyClaire and @mjankowski)
- Fix exclusive lists interfering with notifications (#28162 by @ShadowJonathan)
Upgrade notes
To get the code for v4.2.16, use git fetch && git checkout v4.2.16
.
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_IP
accordingly, listing the IP address of every trusted reverse-proxy (including local network ones). See the documentation for more information.
Dependencies
With the exception of Ruby's recommended version, external dependencies have not changed since v4.2.0, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:
- Ruby: 3.0 to 3.2
- 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_holmes
gem may fail to build on some systems with recent versions of gcc
.
If you run into such an issue, try BUNDLE_BUILD__CHARLOCK_HOLMES="--with-cxxflags=-std=c++17" bundle install
.
The following instructions are for updating from 4.2.15.
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
v4.1.23

Caution
The 4.1.x branch will not receive any update—including security fixes—after 2025/04/08.
Warning
This release includes important security fixes.
Corresponding releases are available for the 4.3.x branch and the 4.2.x branch.
Caution
One of our dependencies has a known security vulnerability which Mastodon may be exposed to when using SAML for external authentication. If you are using SAML, we urge you to update to Mastodon 4.2 or 4.3.
Changelog
Security
- Change HTML sanitization to remove unusable and unused
embed
tag (#34021 by @ClearlyClaire, GHSA-mq2m-hr29-8gqf) - Fix improper disclosure of domain blocks to unverified users (GHSA-94h4-fj37-c825)
Fixed
- Fix emoji rewrite adding unnecessary curft to the DOM for most emoji (#33818 by @ClearlyClaire)
- Fix incorrect signature after HTTP redirect (#33757 and #33769 by @ClearlyClaire)
- Fix polls not being validated on edition (#33755 by @ClearlyClaire)
- Fix featured tags for remote accounts not being kept up to date (#33372, #33406, and #33425 by @ClearlyClaire and @mjankowski)
Upgrade notes
To get the code for v4.1.23, use git fetch && git checkout v4.1.23
.
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.1.18, 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_IP
accordingly, listing the IP address of every trusted reverse-proxy (including local network ones). See the documentation for more information.
Dependencies
Warning
The minimum required Ruby version has been bumped to 3.0 in Mastodon v4.1.14.
External dependencies have not changed compared to v4.1.14, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:
- Ruby: 3.0
- PostgreSQL: 9.5 or newer
- Elasticsearch (optional, for full-text search): 7.x
- Redis: 4 or newer
- Node: >= 14, < 18
- ImageMagick: 6.9.7-7 or newer
Update steps
The following instructions are for updating from 4.1.22.
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
Both Docker and non-Docker:
- Restart all Mastodon processes
v4.3.3

Changelog
Security
- Fix insufficient validation of account URIs (GHSA-5wxh-3p65-r4g6)
- Update dependencies
Fixed
- Fix
libyaml
missing fromDockerfile
build stage (#33591 by @vmstan) - Fix incorrect notification settings migration for non-followers (#33348 by @ClearlyClaire)
- Fix down clause for notification policy v2 migrations (#33340 by @jesseplusplus)
- Fix error decrementing status count when
FeaturedTags#last_status_at
isnil
(#33320 by @ClearlyClaire) - Fix last paginated notification group only including data on a single notification (#33271 by @ClearlyClaire)
- Fix processing of mentions for post edits with an existing corresponding silent mention (#33227 by @ClearlyClaire)
- Fix deletion of unconfirmed users with Webauthn set (#33186 by @ClearlyClaire)
- Fix empty authors preview card serialization (#33151, #33466 by @mjankowski and @ClearlyClaire)
Upgrade notes
To get the code for v4.3.3, use git fetch && git checkout v4.3.3
.
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
Dependencies
External dependencies have not changed since v4.3.0, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:
- Ruby: 3.1 or newer
- PostgreSQL: 12 or newer. PostgreSQL versions 14.0 to 14.3 are not supported as they contain a critical data-corruption bug (see v4.3.0 release notes)
- 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: 18 or newer
- ImageMagick (optional if using libvips): 6.9.7-7 or newer
- libvips (optional, instead of ImageMagick): 8.13 or newer
Update steps
The following instructions are for updating from 4.3.2.
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. In particular, please read the v4.3.0 release notes, as there have been multiple important changes.
Non-docker
Tip
The charlock_holmes
gem may fail to build on some systems with recent versions of gcc
.
If you run into such an issue, try BUNDLE_BUILD__CHARLOCK_HOLMES="--with-cxxflags=-std=c++17" bundle install
.
- Install dependencies with
bundle install
- Restart all Mastodon processes.
When using docker
- Restart all Mastodon processes.
v4.2.15

Changelog
Security
- Fix insufficient validation of account URIs (GHSA-5wxh-3p65-r4g6)
- Update dependencies
Fixed
- Fix
libyaml
missing fromDockerfile
build stage (#33591 by @vmstan) - Fix deletion of unconfirmed users with Webauthn set (#33186 by @ClearlyClaire)
Upgrade notes
To get the code for v4.2.15, use git fetch && git checkout v4.2.15
.
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_IP
accordingly, listing the IP address of every trusted reverse-proxy (including local network ones). See the documentation for more information.
Dependencies
With the exception of Ruby's recommended version, external dependencies have not changed since v4.2.0, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:
- Ruby: 3.0 to 3.2
- 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_holmes
gem may fail to build on some systems with recent versions of gcc
.
If you run into such an issue, try BUNDLE_BUILD__CHARLOCK_HOLMES="--with-cxxflags=-std=c++17" bundle install
.
The following instructions are for updating from 4.2.14.
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
- Restart all Mastodon processes
Using Docker:
- Restart all Mastodon processes
v4.1.22

Changelog
Security
- Fix insufficient validation of account URIs (GHSA-5wxh-3p65-r4g6)
Fixed
- Fix
libyaml
missing fromDockerfile
build stage (#33591 by @vmstan) - Fix deletion of unconfirmed users with Webauthn set (#33186 by @ClearlyClaire)
Upgrade notes
To get the code for v4.1.22, use git fetch && git checkout v4.1.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.1.18, 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_IP
accordingly, listing the IP address of every trusted reverse-proxy (including local network ones). See the documentation for more information.
Dependencies
Warning
The minimum required Ruby version has been bumped to 3.0 in Mastodon v4.1.14.
External dependencies have not changed compared to v4.1.14, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:
- Ruby: 3.0
- PostgreSQL: 9.5 or newer
- Elasticsearch (optional, for full-text search): 7.x
- Redis: 4 or newer
- Node: >= 14, < 18
- ImageMagick: 6.9.7-7 or newer
Update steps
The following instructions are for updating from 4.1.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
Both Docker and non-Docker:
- Restart all Mastodon processes
v4.3.2

Changelog
Added
- Add
tootctl feeds vacuum
(#33065 by @ClearlyClaire) - Add error message when user tries to follow their own account (#31910 by @lenikadali)
- Add client_secret_expires_at to OAuth Applications (#30317 by @ThisIsMissEm)
Changed
- Change design of Content Warnings and filters (#32543 by @ClearlyClaire)
Fixed
- Fix processing incoming post edits with mentions to unresolvable accounts (#33129 by @ClearlyClaire)
- Fix error when including multiple instances of
embed.js
(#33107 by @YKWeyer) - Fix inactive users' timelines being backfilled on follow and unsuspend (#33094 by @ClearlyClaire)
- Fix direct inbox delivery pushing posts into inactive followers' timelines (#33067 by @ClearlyClaire)
- Fix
TagFollow
records not being correctly handled in account operations (#33063 by @ClearlyClaire) - Fix pushing hashtag-followed posts to feeds of inactive users (#33018 by @Gargron)
- Fix duplicate notifications in notification groups when using slow mode (#33014 by @ClearlyClaire)
- Fix posts made in the future being allowed to trend (#32996 by @ClearlyClaire)
- Fix uploading higher-than-wide GIF profile picture with libvips enabled (#32911 by @ClearlyClaire)
- Fix domain attribution field having autocorrect and autocapitalize enabled (#32903 by @ClearlyClaire)
- Fix titles being escaped twice (#32889 by @ClearlyClaire)
- Fix list creation limit check (#32869 by @ClearlyClaire)
- Fix error in
tootctl email_domain_blocks
when supplying--with-dns-records
(#32863 by @mjankowski) - Fix
min_id
andmax_id
causing error in search API (#32857 by @Gargron) - Fix inefficiencies when processing removal of posts that use featured tags (#32787 by @ClearlyClaire)
- Fix alt-text pop-in not using the translated description (#32766 by @ClearlyClaire)
- Fix preview cards with long titles erroneously causing layout changes (#32678 by @ClearlyClaire)
- Fix embed modal layout on mobile (#32641 by @DismalShadowX)
- Fix and improve batch attachment deletion handling when using OpenStack Swift (#32637 by @hugogameiro)
- Fix blocks not being applied on link timeline (#32625 by @tribela)
- Fix follow counters being incorrectly changed (#32622 by @oneiros)
- Fix 'unknown' media attachment type rendering (#32613 and #32713 by @ThisIsMissEm and @renatolond)
- Fix tl language native name (#32606 by @seav)
Security
- Update dependencies
Upgrade notes
To get the code for v4.3.2, use git fetch && git checkout v4.3.2
.
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
Dependencies
External dependencies have not changed since v4.3.0, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:
- Ruby: 3.1 or newer
- PostgreSQL: 12 or newer. PostgreSQL versions 14.0 to 14.3 are not supported as they contain a critical data-corruption bug (see v4.3.0 release notes)
- 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: 18 or newer
- ImageMagick (optional if using libvips): 6.9.7-7 or newer
- libvips (optional, instead of ImageMagick): 8.13 or newer
Update steps
The following instructions are for updating from 4.3.1.
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. In particular, please read the v4.3.0 release notes, as there have been multiple important changes.
Non-docker
Tip
The charlock_holmes
gem may fail to build on some systems with recent versions of gcc
.
If you run into such an issue, try BUNDLE_BUILD__CHARLOCK_HOLMES="--with-cxxflags=-std=c++17" bundle install
.
- Install dependencies with
bundle install
andyarn install --immutable
- Precompile the assets:
RAILS_ENV=production bundle exec rails assets:precompile
- Restart all Mastodon processes.
When using docker
- Restart all Mastodon processes.
v4.2.14

Changelog
Added
- Add
tootctl feeds vacuum
(#33065 by @ClearlyClaire)
Fixed
- Fix inactive users' timelines being backfilled on follow and unsuspend (#33094 by @ClearlyClaire)
- Fix direct inbox delivery pushing posts into inactive followers' timelines (#33067 by @ClearlyClaire)
- Fix
TagFollow
records not being correctly handled in account operations (#33063 by @ClearlyClaire) - Fix pushing hashtag-followed posts to feeds of inactive users (#33018 by @Gargron)
- Fix and improve batch attachment deletion handling when using OpenStack Swift (#32637 by @hugogameiro)
- Fix tl language native name (#32606 by @seav)
Upgrade notes
To get the code for v4.2.14, use git fetch && git checkout v4.2.14
.
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_IP
accordingly, listing the IP address of every trusted reverse-proxy (including local network ones). See the documentation for more information.
Dependencies
With the exception of Ruby's recommended version, external dependencies have not changed since v4.2.0, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:
- Ruby: 3.0 to 3.2
- 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_holmes
gem may fail to build on some systems with recent versions of gcc
.
If you run into such an issue, try BUNDLE_BUILD__CHARLOCK_HOLMES="--with-cxxflags=-std=c++17" bundle install
.
The following instructions are for updating from 4.2.13.
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
andyarn install --frozen-lockfile
- Restart all Mastodon processes
Using Docker:
- Restart all Mastodon processes
v4.1.21

Changelog
Fixed
- Fix inactive users' timelines being backfilled on follow and unsuspend (#33094 by @ClearlyClaire)
- Fix direct inbox delivery pushing posts into inactive followers' timelines (#33067 by @ClearlyClaire)
- Fix tl language native name (#32606 by @seav)
Security
- Update dependencies
Upgrade notes
To get the code for v4.1.21, use git fetch && git checkout v4.1.21
.
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.1.18, 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_IP
accordingly, listing the IP address of every trusted reverse-proxy (including local network ones). See the documentation for more information.
Dependencies
Warning
The minimum required Ruby version has been bumped to 3.0 in Mastodon v4.1.14.
External dependencies have not changed compared to v4.1.14, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:
- Ruby: 3.0
- PostgreSQL: 9.5 or newer
- Elasticsearch (optional, for full-text search): 7.x
- Redis: 4 or newer
- Node: >= 14, < 18
- ImageMagick: 6.9.7-7 or newer
Update steps
The following instructions are for updating from 4.1.20.
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
andyarn install --frozen-lockfile
Both Docker and non-Docker:
- Restart all Mastodon processes