Skip to content

Releases: mastodon/mastodon

v4.5.3

08 Dec 15:47
86cff1a

Choose a tag to compare

Mastodon

Upgrade overview

This release contains upgrade notes that deviate from the norm:

ℹ️ Requires assets recompilation

For more information, view the complete release notes and scroll down to the upgrade instructions section.

Changelog

Security

  • Fix inconsistent error handling leaking information on existence of private posts (GHSA-gwhw-gcjx-72v8)

Fixed

Upgrade notes

To get the code for v4.5.3, use git fetch && git checkout v4.5.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.5.0.

  • Ruby: 3.2 or newer
  • PostgreSQL: 14 or newer
  • Elasticsearch (recommended, for full-text search): 7.x (OpenSearch should also work)
  • LibreTranslate (optional, for translations): 1.3.3 or newer
  • Redis: 7.0 or newer
  • Node: 20.19 or newer
  • libvips (optional, instead of ImageMagick): 8.13 or newer
  • ImageMagick (optional if using libvips): 6.9.7-7 or newer

Update steps

The following instructions are for updating from 4.5.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, it is very important to read the 4.5.0 release notes.

Non-Docker

Tip

The charlock_holmes gem may fail to build on some systems with recent versions of gcc.
If you run into this issue, try BUNDLE_BUILD__CHARLOCK_HOLMES="--with-cxxflags=-std=c++17" bundle install.

  1. Precompile the assets: RAILS_ENV=production bundle exec rails assets:precompile
  2. Restart all Mastodon processes.

When using Docker

  1. Restart all Mastodon processes.

v4.4.10

08 Dec 15:57
d5f12de

Choose a tag to compare

Mastodon

Note

While we continue to support Mastodon 4.4 and release patches for it, please note that Mastodon 4.5 is available with new features, changes and fixes. We encourage administrators to update to the latest 4.5 version when they can.

Upgrade overview

This release contains upgrade notes that deviate from the norm:

ℹ️ Requires assets recompilation

For more information, view the complete release notes and scroll down to the upgrade instructions section.

Changelog

Security

  • Fix inconsistent error handling leaking information on existence of private posts (GHSA-gwhw-gcjx-72v8)

Fixed

Upgrade notes

To get the code for v4.4.10, use git fetch && git checkout v4.4.10.

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.4.1:

  • Ruby: 3.2 or newer
  • PostgreSQL: 13 or newer
  • Elasticsearch (recommended, for full-text search): 7.x (OpenSearch should also work)
  • LibreTranslate (optional, for translations): 1.3.3 or newer
  • Redis: 6.2 or newer
  • Node: 20 or newer
  • libvips (optional, instead of ImageMagick): 8.13 or newer
  • ImageMagick (optional if using libvips): 6.9.7-7 or newer

Update steps

The following instructions are for updating from 4.4.9.

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, it is very important to read the 4.4.0 release notes.

Non-Docker

  1. Precompile the assets: RAILS_ENV=production bundle exec rails assets:precompile
  2. Restart all Mastodon processes.

When using Docker

  1. Restart all Mastodon processes.

v4.3.16

08 Dec 16:02
770cf42

Choose a tag to compare

Mastodon

Note

While we continue to support Mastodon 4.3 and release patches for it, please note that Mastodon 4.5 is available with new features, changes and fixes. We encourage administrators to update to the latest 4.5 version when they can.

Upgrade overview

This release contains upgrade notes that deviate from the norm:

ℹ️ Requires assets recompilation

For more information, view the complete release notes and scroll down to the upgrade instructions section.

Changelog

Security

  • Fix inconsistent error handling leaking information on existence of private posts (GHSA-gwhw-gcjx-72v8)

Fixed

Upgrade notes

To get the code for v4.3.16, use git fetch && git checkout v4.3.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

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.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. 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.

  1. Precompile the assets: RAILS_ENV=production bundle exec rails assets:precompile
  2. Restart all Mastodon processes.

When using docker

  1. Restart all Mastodon processes.

v4.2.28

08 Dec 16:04
998e9ce

Choose a tag to compare

Mastodon

Warning

There is a known security issue in the version of ActiveRecord we use. While it is unlikely to affect you, it is worth being aware of, and we recommend updating to Mastodon v4.3 or newer if possible.

We would also like to remind you that support for Mastodon v4.2 will end on 2026-01-08.

Changelog

Security

  • Fix inconsistent error handling leaking information on existence of private posts (GHSA-gwhw-gcjx-72v8)

Fixed

  • Fix old previously-undiscovered posts being treated as new when receiving an Update (#36848 by @ClearlyClaire)

Upgrade notes

To get the code for v4.2.28, use git fetch && git checkout v4.2.28.

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 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_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.27.

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.

  1. Restart all Mastodon processes

v4.5.2

20 Nov 14:39
1958875

Choose a tag to compare

Mastodon

Upgrade overview

This release contains upgrade notes that deviate from the norm:

ℹ️ Requires assets recompilation

For more information, view the complete release notes and scroll down to the upgrade instructions section.

Changelog

Changed

Fixed

Upgrade notes

To get the code for v4.5.2, use git fetch && git checkout v4.5.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.5.0.

  • Ruby: 3.2 or newer
  • PostgreSQL: 14 or newer
  • Elasticsearch (recommended, for full-text search): 7.x (OpenSearch should also work)
  • LibreTranslate (optional, for translations): 1.3.3 or newer
  • Redis: 7.0 or newer
  • Node: 20.19 or newer
  • libvips (optional, instead of ImageMagick): 8.13 or newer
  • ImageMagick (optional if using libvips): 6.9.7-7 or newer

Update steps

The following instructions are for updating from 4.5.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, it is very important to read the 4.5.0 release notes.

Non-Docker

Tip

The charlock_holmes gem may fail to build on some systems with recent versions of gcc.
If you run into this issue, try BUNDLE_BUILD__CHARLOCK_HOLMES="--with-cxxflags=-std=c++17" bundle install.

  1. Install dependencies with bundle install and yarn install --immutable
  2. Precompile the assets: RAILS_ENV=production bundle exec rails assets:precompile
  3. Restart all Mastodon processes.

When using Docker

  1. Restart all Mastodon processes.

v4.4.9

20 Nov 14:33
01cf5c1

Choose a tag to compare

Mastodon

Note

While we continue to support Mastodon 4.4 and release patches for it, please note that Mastodon 4.5 is available with new features, changes and fixes. We encourage administrators to update to the latest 4.5 version when they can.

Upgrade overview

This release contains upgrade notes that deviate from the norm:

ℹ️ Requires assets recompilation

For more information, view the complete release notes and scroll down to the upgrade instructions section.

Changelog

Fixed

  • Fix tootctl upgrade storage-schema failing with ArgumentError (#36914 by @shugo)
  • Fix old previously-undiscovered posts being treated as new when receiving an Update (#36848 by @ClearlyClaire)
  • Fix filters not being applied to quotes in detailed view (#36843 by @ClearlyClaire)

Upgrade notes

To get the code for v4.4.9, use git fetch && git checkout v4.4.9.

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.4.1:

  • Ruby: 3.2 or newer
  • PostgreSQL: 13 or newer
  • Elasticsearch (recommended, for full-text search): 7.x (OpenSearch should also work)
  • LibreTranslate (optional, for translations): 1.3.3 or newer
  • Redis: 6.2 or newer
  • Node: 20 or newer
  • libvips (optional, instead of ImageMagick): 8.13 or newer
  • ImageMagick (optional if using libvips): 6.9.7-7 or newer

Update steps

The following instructions are for updating from 4.4.8.

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, it is very important to read the 4.4.0 release notes.

Non-Docker

  1. Install dependencies with bundle install and yarn install --immutable
  2. Precompile the assets: RAILS_ENV=production bundle exec rails assets:precompile
  3. Restart all Mastodon processes.

When using Docker

  1. Restart all Mastodon processes.

v4.3.15

20 Nov 14:24
3260d25

Choose a tag to compare

Mastodon

Note

While we continue to support Mastodon 4.3 and release patches for it, please note that Mastodon 4.5 is available with new features, changes and fixes. We encourage administrators to update to the latest 4.5 version when they can.

Changelog

Fixed

  • Fix tootctl upgrade storage-schema failing with ArgumentError (#36914 by @shugo)
  • Fix old previously-undiscovered posts being treated as new when receiving an Update (#36848 by @ClearlyClaire)

Upgrade notes

To get the code for v4.3.15, use git fetch && git checkout v4.3.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

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.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. 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.

  1. Install dependencies with bundle install and yarn install --immutable
  2. Restart all Mastodon processes.

When using docker

  1. Restart all Mastodon processes.

v4.5.1

13 Nov 16:53

Choose a tag to compare

Mastodon

This is a patch release for 4.5.

Check out the 4.5.0 release notes for information.

Changelog

Fixes

Upgrade notes

To get the code for v4.5.1, use git fetch && git checkout v4.5.1.

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.5.0.

  • Ruby: 3.2 or newer
  • PostgreSQL: 14 or newer
  • Elasticsearch (recommended, for full-text search): 7.x (OpenSearch should also work)
  • LibreTranslate (optional, for translations): 1.3.3 or newer
  • Redis: 7.0 or newer
  • Node: 20.19 or newer
  • libvips (optional, instead of ImageMagick): 8.13 or newer
  • ImageMagick (optional if using libvips): 6.9.7-7 or newer

Update steps

The following instructions are for updating from 4.5.0.

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, it is very important to read the 4.5.0 release notes.

Non-Docker

Tip

The charlock_holmes gem may fail to build on some systems with recent versions of gcc.
If you run into this issue, try BUNDLE_BUILD__CHARLOCK_HOLMES="--with-cxxflags=-std=c++17" bundle install.

  1. Install dependencies with bundle install and yarn install --immutable
  2. Precompile the assets: RAILS_ENV=production bundle exec rails assets:precompile
  3. Restart all Mastodon processes.

When using Docker

  1. Restart all Mastodon processes.

v4.5.0

06 Nov 13:19
26c7839

Choose a tag to compare

Mastodon

For a user-focused highlight of these changes, see https://blog.joinmastodon.org/2025/11/mastodon-4.5/
For changes of particular interest to application developers, see https://blog.joinmastodon.org/2025/10/mastodon-4-5-for-devs/
For a more detailed run-down on the changes, see the Changelog section below!

Upgrade overview

This release contains upgrade notes that deviate from the norm:

⚠️ The minimum supported version for Redis has been bumped to 7.0
⚠️ The minimum supported version for PostgreSQL has been bumped to PostgreSQL 14
⚠️ The minimum supported version for Node.js has been bumped to 20.19
⚠️ Rolling updates from versions earlier than Mastodon 4.3 are not supported
⚠️ Import jobs from Mastodon versions earlier than Mastodon 4.2 are not supported
ℹ️ Sidekiq has been updated, which may require you to change health check or monitoring code
ℹ️ Requires streaming server restart
ℹ️ Requires database migrations

For more information, view the complete release notes and scroll down to the upgrade instructions section.

Changelog

Added

Changed

  • Change confirmation dialogs for follow button actions “unfollow”, “unblock”, and “withdraw request” (#36289 by @diondiondion)
  • Change “Follow” button labels (#36264 by @diondiondion)
  • Change appearance settings to introduce new Advanced settings section (#36496 and #36506 by @diondiondion)
  • Change display of blocked and muted quoted users (#36619 by @ClearlyClaire)
    This adds blocked_account, blocked_domain and muted_account values to the state attribute of Quote and ShallowQuote REST API entities.
  • Change submitting an empty post to show an error rather than failing silently (#36650 by @diondiondion)
  • Change "Privacy and reach" settings from "Public profile" to their own top-level category (#27294 by @ChaelCodes)
  • Change number of times quote verification is retried to better deal with temporary failures (#36698 by @ClearlyClaire)
  • Change display of content warnings in Admin UI (#35935 by @ThisIsMissEm)
  • Change styling of column banners (#36531 by @ClearlyClaire)
  • Change recommended Node version to 24 (LTS) (#36539 by @renchap)
  • Change min. characters required for logged-out account search from 5 to 3 (#36487 by @Gargron)
  • Change browser target to Vite legacy plugin defaults (#36611 by @larouxn)
  • Change index on follows table to improve performance of some queries (#36374 by @ClearlyClaire)
  • Change links to accounts in settings and moderation views to link to local view unless account is suspended (#36340 by @diondiondion)
  • Change redirection for denied registration from web app to sign-in page with error message (#36384 by @ClearlyClaire)
  • Change support for RFC9421 HTTP signatures to be enabled unconditionally (#36610 by @oneiros)
  • Change wording and design of interaction dialog to simplify it (#36124 by @diondiondion)
  • Change dropdown menus to allow disabled items to be focused (#36078 by @diondiondion)
  • Change modal background colours in light mode (#36069 by @diondiondion)
  • Change “Posting defaults” settings page to enforce nobody quote policy for private default visibility (#36040 by @ClearlyClaire)
  • Change description of “Quiet public” (#36032 by @ClearlyClaire)
  • Change “Boost with original visibility” to “Share again with your followers” (#36035 by @ClearlyClaire)
  • Change handling of push subscriptions to automatically delete invalid ones on delivery (#35987 by @ThisIsMissEm)
  • Change design of quote posts in web UI (#35584 and #35834 by @Gargron)
  • Change auditable accounts to be sorted by username in admin action logs interface (#35272 by @breadtk)
  • Change order of translation restoration and service credit on post card (#33619 by @colindean)
  • Change position of ‘add more’ to be inside table toolbar on reports (#35963 by @ThisIsMissEm)
  • Change docker-compose.yml sidekiq health check to work for both 4.4 and 4.5 (#36498 by @ClearlyClaire)

Fixed

  • Fix relationship not being fetched to evaluate whether to show a quote post (#36517 by @ClearlyClaire)
  • Fix rendering of poll options in status history modal (#35633 by @ThisIsMissEm)
  • Fix “mute” button being displayed to unauthenticated visitors in hashtag dropdown (#36353 by @mkljczk)
  • Fix initially selected language in Rules panel, hide selector when no alternative translations exist (#36672 by @diondiondion)
  • Fix URL comparison for mentions in case of empty path (#36613 and #36626 by @ClearlyClaire)
  • Fix hashtags not being picked up when full-width hash sign is used (#36103 and #36625 by @ClearlyClaire and @Gargron)
  • Fix layout of severed relationships when purged events are listed ...
Read more

v4.5.0-rc.3

05 Nov 09:42

Choose a tag to compare

v4.5.0-rc.3 Pre-release
Pre-release

Mastodon

Warning

This is a pre-release! This has not been as widely tested as regular releases, although it is still tested on mastodon.social and some other servers. If you update to this release, you will not be able to safely downgrade to the existing stable releases. You will, however, be able to upgrade to later nightly releases or pre-releases, as well as the upcoming 4.5.0 stable release.

Upgrade overview

This release contains upgrade notes that deviate from the norm:

⚠️ The minimum supported version for Redis has been bumped to 7.0
⚠️ The minimum supported version for PostgreSQL has been bumped to PostgreSQL 14
⚠️ Rolling updates from versions earlier than Mastodon 4.3 are not supported
⚠️ Import jobs from Mastodon versions earlier than Mastodon 4.2 are not supported
ℹ️ Sidekiq has been updated, which may require you to change health check or monitoring code
ℹ️ Requires streaming server restart
ℹ️ Requires database migrations

For more information, view the complete release notes and scroll down to the upgrade instructions section.

Changelog (v4.5.0-rc.3)

Added

  • Add confirmation modal when quoting in followers-only, and add logic around quotes and Private Mentions (#36696 and #36721 by @ChaosExAnima)

Changed

  • Change paste-link-to-quote loading state from generic loading bar to compose placeholder (#36695 by @ClearlyClaire)
  • Change "Privacy and reach" settings from "Public profile" to their own top-level category (#27294 by @ChaelCodes)
  • Change number of times quote verification is retried to better deal with temporary failures (#36698 by @ClearlyClaire)
  • Change status creation API to forbid Private Mentions quoting someone who is not mentioned (#36689 by @ClearlyClaire)
  • Change paste-link-to-quote flow to be disabled when composing Private Mentions (#36690 by @ClearlyClaire)

Removed

  • Remove option to disable access to local topic feeds for logged-in users (#36703 by @ClearlyClaire)

Fixed

Changelog (v4.5.0-rc.2)

Changed

  • Change submitting an empty post to show an error rather than failing silently (#36650 by @diondiondion)

Fixed

Changelog (v4.5.0-rc.1)

Added

Changed

  • Change display of blocked and muted quoted users (#36619 by @ClearlyClaire)
    This adds blocked_account, blocked_domain and muted_account values to the state attribute of Quote and ShallowQuote REST API entities.
  • Change styling of column banners (#36531 by @ClearlyClaire)
  • Change API behavior of reblogs wrt. quotes for consistency (#36559 by @ClearlyClaire)
  • Change recommended Node version to 24 (LTS) (#36539 by @renchap)
  • Change min. characters required for logged-out account search from 5 to 3 (#36487 by @Gargron)
  • Change browser target to Vite legacy plugin defaults (#36611 by @larouxn)
  • Change new emoji code to be enabled unconditionally (#36409 by @ChaosExAnima)
  • Change support for RFC9421 HTTP signatures to be enabled unconditionally (#36610 by @oneiros)

Removed

  • Remove environment variables to config Fetch All Replies behaviour (#36627 by @renchap)
  • Remove support for PostgreSQL 13 (#36540 by @renchap)

Fixed

Changelog (v4.5.0-beta.2)

Security

Added

Changed

  • Change appearance settings to introduce new Advanced settings section (#36496 and #36506 by @diondiondion)
  • Change docker-compose.yml sidekiq health check to work for both 4.4 and 4.5 (#36498 by @ClearlyClaire)
  • Change fetch-all-replies to show new replies early if the task takes long to finish (#36481 by @diondiondion)

Fixed

Changelog (v4.5.0-beta.1)

Added

Read more