Mastodon

CommunicationAGPL-3.0

A free, decentralized social network server.

Latest v4.4.24 · by Mastodon gGmbHWritten in RubyWebsitemastodon/mastodonRSS

Branches

4.7
v4.7.1
4.6
v4.6.7
4.5
v4.5.17
4.4
v4.4.24

Release activity

Release activity — 20 releases across 9 days since Jun 25, 2026. Each cell is one day; darker means more releases that day. Nothing is recorded before Jun 25, 2026. Older weeks are hidden at this screen width.
JunJulAugSep
SundayNo releases on Jun 28, 2026No releases on Jul 5, 2026No releases on Jul 12, 2026No releases on Jul 19, 2026No releases on Jul 26, 2026No releases on Aug 2, 2026No releases on Aug 9, 2026No releases on Aug 16, 2026No releases on Aug 23, 2026No releases on Aug 30, 2026No releases on Sep 6, 2026
MondayNo releases on Jun 29, 2026No releases on Jul 6, 2026No releases on Jul 13, 2026No releases on Jul 20, 20263 releases on Jul 27, 2026No releases on Aug 3, 20261 release on Aug 10, 2026No releases on Aug 17, 2026No releases on Aug 24, 2026No releases on Aug 31, 2026
TuesdayNo releases on Jun 30, 2026No releases on Jul 7, 2026No releases on Jul 14, 2026No releases on Jul 21, 2026No releases on Jul 28, 2026No releases on Aug 4, 2026No releases on Aug 11, 2026No releases on Aug 18, 2026No releases on Aug 25, 20264 releases on Sep 1, 2026
WednesdayNo releases on Jul 1, 2026No releases on Jul 8, 2026No releases on Jul 15, 2026No releases on Jul 22, 2026No releases on Jul 29, 2026No releases on Aug 5, 2026No releases on Aug 12, 2026No releases on Aug 19, 2026No releases on Aug 26, 2026No releases on Sep 2, 2026
Thursday3 releases on Jun 25, 2026No releases on Jul 2, 2026No releases on Jul 9, 2026No releases on Jul 16, 2026No releases on Jul 23, 2026No releases on Jul 30, 20263 releases on Aug 6, 20263 releases on Aug 13, 20261 release on Aug 20, 2026No releases on Aug 27, 2026No releases on Sep 3, 2026
FridayNo releases on Jun 26, 20261 release on Jul 3, 2026No releases on Jul 10, 2026No releases on Jul 17, 2026No releases on Jul 24, 2026No releases on Jul 31, 2026No releases on Aug 7, 20261 release on Aug 14, 2026No releases on Aug 21, 2026No releases on Aug 28, 2026No releases on Sep 4, 2026
SaturdayNo releases on Jun 27, 2026No releases on Jul 4, 2026No releases on Jul 11, 2026No releases on Jul 18, 2026No releases on Jul 25, 2026No releases on Aug 1, 2026No releases on Aug 8, 2026No releases on Aug 15, 2026No releases on Aug 22, 2026No releases on Aug 29, 2026No releases on Sep 5, 2026

20 releases since Jun 25, 2026, busiest day 4

Changelog

Filter releases by branch
20 of 20 releases

v4.4.24

Latest
Fixed 2
  • Fix config/ directory missing from Bootsnap precompilation options in Dockerfile
  • Fix various off-by-one errors in statistics time ranges
Security 4
  • Fix password authentication bypass in 2FA auth for LDAP/PAM/SSO accounts
  • Fix Denial of Service when processing pathological JSON-LD activities
  • Fix disabled staff accounts still having access to admin API
  • Update dependencies

From Mastodon

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

Changelog
Security
  • Update dependencies
  • Fix password authentication bypass in 2FA auth for LDAP/PAM/SSO accounts (GHSA-vx32-x96w-qq65)
  • Fix Denial of Service when processing pathological JSON-LD activities (GHSA-vgm8-frgh-rh2v)
  • Fix disabled staff accounts still having access to admin API (GHSA-62j4-hvj7-px3f)
Fixes
  • Fix config/ directory missing from Bootsnap precompilation options in Dockerfile (#40255 by @ClearlyClaire)
  • Fix various off-by-one errors in statistics time ranges (#40193 by @ClearlyClaire)
Upgrade notes

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

[!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.23.

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

[!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
  2. Restart all Mastodon processes.
When using Docker
  1. Restart all Mastodon processes.
View originalPermalink
How v4.4.24 went

v4.5.17

Fixed 2
  • Fix config/ directory missing from Bootsnap precompilation options in Dockerfile
  • Fix various off-by-one errors in statistics time ranges
Security 4
  • Fix password authentication bypass in 2FA auth for LDAP/PAM/SSO accounts
  • Fix Denial of Service when processing pathological JSON-LD activities
  • Fix disabled staff accounts still having access to admin API
  • Update dependencies

From Mastodon

Changelog
Security
  • Update dependencies
  • Fix password authentication bypass in 2FA auth for LDAP/PAM/SSO accounts (GHSA-vx32-x96w-qq65)
  • Fix Denial of Service when processing pathological JSON-LD activities (GHSA-vgm8-frgh-rh2v)
  • Fix disabled staff accounts still having access to admin API (GHSA-62j4-hvj7-px3f)
Fixes
  • Fix config/ directory missing from Bootsnap precompilation options in Dockerfile (#40255 by @ClearlyClaire)
  • Fix various off-by-one errors in statistics time ranges (#40193 by @ClearlyClaire)
Upgrade notes

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

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

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
  2. Restart all Mastodon processes.
When using Docker
  1. Restart all Mastodon processes.
View originalPermalink
How v4.5.17 went

v4.6.7

Fixed 4
  • Fix config/ directory missing from Bootsnap precompilation options in Dockerfile
  • Fix autosuggestions overstaying their welcome in languages that don't use spaces
  • Fix error when processing remote actors with null public keys
  • Fix various off-by-one errors in statistics time ranges
Security 4
  • Fix password authentication bypass in 2FA auth for LDAP/PAM/SSO accounts
  • Fix Denial of Service when processing pathological JSON-LD activities
  • Fix disabled staff accounts still having access to admin API
  • Update dependencies

From 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
  • Update dependencies
  • Fix password authentication bypass in 2FA auth for LDAP/PAM/SSO accounts (GHSA-vx32-x96w-qq65)
  • Fix Denial of Service when processing pathological JSON-LD activities (GHSA-vgm8-frgh-rh2v)
  • Fix disabled staff accounts still having access to admin API (GHSA-62j4-hvj7-px3f)
Fixes
  • Fix config/ directory missing from Bootsnap precompilation options in Dockerfile (#40255 by @ClearlyClaire)
  • Fix autosuggestions overstaying their welcome in languages that don't use spaces (#40217 by @Gargron)
  • Fix error when processing remote actors with null public keys (#40194 by @ClearlyClaire)
  • Fix various off-by-one errors in statistics time ranges (#40193 by @ClearlyClaire)
Upgrade notes

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

[!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.6.0.

  • Ruby: 3.3 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: 22 or newer
  • libvips: 8.13 or newer
  • FFMpeg: 5.1 or newer
Update steps

The following instructions are for updating from 4.6.6.

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.6.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
  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.
View originalPermalink
How v4.6.7 went

v4.7.1

Fixed 5
  • Fix invited-without-approval-bypass not being asked for a textual reason
  • Fix email blocks domain filter not being kept through pagination
  • Fix config/ directory missing from Bootsnap precompilation options in Dockerfile
  • Fix some of 4.7 migrations not re-running cleanly when interrupted
  • Fix account creation failing on ActiveRecord::Encryption configuration in mastodon:setup rake task
Security 3
  • Fix password authentication bypass in 2FA auth for LDAP/PAM/SSO accounts
  • Fix Denial of Service when processing pathological JSON-LD activities
  • Fix disabled staff accounts still having access to admin API

From Mastodon

Changelog
Security
Fixes
  • Fix invited-without-approval-bypass not being asked for a textual reason (#40332 by @ClearlyClaire)
  • Fix email blocks domain filter not being kept through pagination (#40254 by @ClearlyClaire)
  • Fix config/ directory missing from Bootsnap precompilation options in Dockerfile (#40255 by @ClearlyClaire)
  • Fix some of 4.7 migrations not re-running cleanly when interrupted (#40264 by @ClearlyClaire)
  • Fix account creation failing on ActiveRecord::Encryption configuration in mastodon:setup rake task (#40275 by @ClearlyClaire)
Upgrade notes

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

  • Ruby: 3.3 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: 22 or newer
  • libvips: 8.13 or newer
  • FFMpeg: 5.1 or newer
Update steps

The following instructions are for updating from 4.7.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.7.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
  2. Restart all Mastodon processes.
When using Docker
  1. Restart all Mastodon processes.
View originalPermalink
How v4.7.1 went

v4.7.0

Added 16
  • Add audit logs for Hashtags
  • Add search field to admin ip blocks
  • Add notifications for out-of-support versions of Mastodon
  • Add Elasticsearch request timeout of 10s (can be overridden through ES_QUERY_TIMEOUT)
  • Add ActivityPub attributes to current span when processing Activities
  • Add OTel span attribute to deprecated endpoints
Changed 1
  • Change how local users' keypairs are stored by moving them to dedicated table and encrypting private keys at rest
Fixed 3
  • Fix autosuggestions overstaying their welcome in languages that don't use spaces
  • Fix error when processing remote actors with null public keys
  • Fix various off-by-one errors in statistics time ranges

From Mastodon

This version introduces very few user-facing changes but substantially reworks Mastodon's internals to increase security, support new protocols, and pave the way for new features. Updating to this version will be required for zero-downtime migration to the upcoming Mastodon 5.0.

Upgrade overview

This release contains upgrade notes that deviate from the norm:

ℹ️ Requires assets recompilation
ℹ️ Requires streaming server restart
ℹ️ Requires unusually long database migrations

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

Changelog
Added
  • Add audit logs for Hashtags (#39473, #39337 and #39670 by @arte7)
  • Add search field to admin ip blocks (#39404 by @arte7)
  • Add notifications for out-of-support versions of Mastodon (#39732 and #39734 by @ClearlyClaire)
  • Add Elasticsearch request timeout of 10s (can be overridden through ES_QUERY_TIMEOUT) (#40064 by @ClearlyClaire)
  • Add ActivityPub attributes to current span when processing Activities (#40041 by @jhbabon)
  • Add OTel span attribute to deprecated endpoints (#40030 by @jhbabon)
  • Add default permission check to admin area (#39974 by @oneiros)
  • Add uniqueness constraint on Account uri (#39882, #39999 and #39861 by @ClearlyClaire)
  • Add new theme tokens bg-blend, bg-highlight, and border-strong (#39786 by @diondiondion)
  • Add support for Link objects in attachment (FEP-8967) (#36104, #39977 and #39983 by @Gargron, @TheEssem and @shleeable)
    • Mastodon will use the first Link attachment, if any, as preview card.
    • If there is no Link attachment, Mastodon will still scan the message content's to populate one. This may change in a later release.
    • Mastodon sets a Link attachment for outgoing posts with a preview card.
  • Add support for remote accounts changing handles (#39785, #39850, #39865 and #40045 by @ClearlyClaire)
    • ActivityPub actor id is now used as the primary identifier, instead of webfinger handle.
    • Remote actors that change handles are now renamed instead of a duplicate account being created then the two merged.
    • Mastodon does not offer its users to change handles yet.
    • The concept of “invalid handles” has been added to handle some edge cases. An account with an invalid handle is an account for which the handle cannot be currently verified, but is otherwise valid. In the REST API, they have their username and domain attribute overridden and this is made explicit through the invalid_handle attribute.
  • Add outgoing RFC9421 HTTP Message Signatures as fallback to earlier draft (#39756 by @ClearlyClaire)
  • Change how local users' keypairs are stored (#39658, #39668, #39662, #39684, #39686, #39690 and #40138 by @ClearlyClaire)
    • This moves local users' keypairs to the dedicated table that was created in 4.6.
    • Private keys are now encrypted at rest, and the new infrastructure will allow for key rotation in the future.
  • Add support for expires in Linked Data Signatures and Object Integrity Proofs (#39701 by @ClearlyClaire)
  • Add verification of FEP-8b32 Object Integrity Proofs (#39530, #39728, #39754, #39760, #39522 and #39747 by @ClearlyClaire)
    • Both eddsa-jcs-2022 and mldsa44-jcs-2024 are supported.
    • mldsa44-jcs-2024 verification requires OpenSSL >= 3.5 to be verified.
  • Add support for Ed25519 signatures in HTTP Message Signatures (#39518 by @ClearlyClaire)
  • Add inbound support for FEP-521a (#39497, #39618, and #39725 by @ClearlyClaire and @shleeable)
Fixed
  • Fix autosuggestions overstaying their welcome in languages that don't use spaces (#40217 by @Gargron)
  • Fix error when processing remote actors with null public keys (#40194 by @ClearlyClaire)
  • Fix various off-by-one errors in statistics time ranges (#40193 by @ClearlyClaire)
  • Fix /deck being removed from path when resizing window (#40180 by @ClearlyClaire)
  • Fix error in tootctl media refresh when cleaning some incompletely processed files (#40056 by @shleeable)
  • Fix plain-text formatter not treating <BR> as newline (#40079 by @shleeable)
  • Fix performance of listing follow requests by adding appropriate index (#40033 by @ClearlyClaire)
  • Fix missing on_delete: :cascade on GeneratedAnnualReport foreign key (#40063 by @ClearlyClaire)
  • Fix DeleteAccountService#purge_favourites! only invalidating deprecated cache keys (#40048 by @shleeable)
  • Fix spam-filtered scheduled posts raising an error rather than being silently ignored (#40051 by @shleeable)
  • Fix error when processing backups for deleted accounts (#40053 by @shleeable)
  • Fix notification filter selection after settings change (#39872 by @sharlayan)
  • Fix timeline unable to load more when the last item is a inline-follow-suggestions (#39773 by @sharlayan)
  • Fix embedded videos restarting when interacting with post (or other posts in the same feed) (#39746 by @diondiondion)
  • Fix N+1 queries when rendering accounts on the admin collection page (#39738 by @rubys)
  • Fix authored posts not immediately appearing in timelines (#39733 by @ChaosExAnima)
  • Fix newletter button display on some e-mail clients (#39634 by @diondiondion)
  • Fix handling of rdf:langString in media summary and name (#39590 by @ClearlyClaire)
  • Fix error when rejecting appeal of already-deleted user (#39490 by @shleeable)
  • Fix navigation switching to user “Account” category when viewing appeal for moderation interface (#39476, #39619 and #40026 by @ClearlyClaire and @shleeable)
Changed
  • Change follow recommendation materialized views to manually-maintained tables (#40039 by @ClearlyClaire)
  • Change database schema to distinguish deleted-but-not-suspended accounts (#23617, #40027, #40029, #40034, #40083 and #40078 by @ClearlyClaire and @shleeable)
  • Change reblogs to be deduplicated within the last 80 posts instead of the last 40 (#39784 by @ClearlyClaire)
  • Change AttachmentBatch to reset retry attempt counter for each S3 batch (#39979 by @shleeable)
  • Change featured tag recommendation criteria (#39567 by @renchap)
Removed
  • Remove inbox processing of collections of activities (#39932 by @ClearlyClaire)
  • Remove support for Reject and Accept of QuoteRequest that cannot be found by id (#39833 by @ClearlyClaire)
  • Remove deprecated bin/update script (#39443 by @mjankowski)
  • Remove support for pre-Mastodon 4.3.0 cookies (#38918 by @ClearlyClaire)
Upgrade notes

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

[!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.6.0.

  • Ruby: 3.3 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: 22 or newer
  • libvips: 8.13 or newer
  • FFMpeg: 5.1 or newer
Cookies from pre-4.3.0 Mastodon

This version drops compatibility with cookies issued by Mastodon v4.2 and earlier. This means that any user who has not visited your server after you updated to Mastodon 4.3 or newer will be logged out.

Lengthy database migrations

This version includes very substantial database migrations. They do not require unusual update steps, but they can take a long time. Expect up to a couple hours for very large servers. These database migrations do not require downtime if you are migrating from Mastodon 4.6 and doing post-deployment migrations in a separate step as described in the upgrade instructions.

Update steps

The following instructions are for updating from 4.6.6, 4.6.7-beta.1 or 4.6.7-rc.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.6.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. If you are using rbenv, update the list of available versions and install the proper Ruby version by doing RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install in the Mastodon install directory (e.g. /home/mastodon/live)
  2. Install dependencies with bundle install and yarn install --immutable
  3. Precompile the assets: RAILS_ENV=production bundle exec rails assets:precompile
  4. Run the pre-deployment database migrations by specifying the SKIP_POST_DEPLOYMENT_MIGRATIONS=true environment variable: SKIP_POST_DEPLOYMENT_MIGRATIONS=true RAILS_ENV=production bundle exec rails db:migrate
  5. Restart all Mastodon processes.
  6. Run the post-deployment database migrations: RAILS_ENV=production bundle exec rails db:migrate
When using Docker
  1. Run the pre-deployment database migrations by specifying the SKIP_POST_DEPLOYMENT_MIGRATIONS=true environment variable: docker-compose run --rm -e SKIP_POST_DEPLOYMENT_MIGRATIONS=true web bundle exec rails db:migrate
  2. Restart all Mastodon processes.
  3. Run the post-deployment database migrations: docker-compose run --rm web bundle exec rails db:migrate
View originalPermalink
How v4.7.0 went

v4.7.0-rc.1

Pre-release
Added 8
  • Add audit logs for Hashtags
  • Add search field to admin ip blocks
  • Add notifications for out-of-support versions of Mastodon
  • Add Elasticsearch request timeout of 10s configurable through `ES_QUERY_TIMEOUT`
  • Add ActivityPub attributes to current span when processing Activities
  • Add OTel span attribute to deprecated endpoints
  • Add default permission check to admin area
  • Add uniqueness constraint on Account `uri`
Changed 1
  • Change `mastodon:setup` task warning about trademark to match `masto` but ignore subdomains
Fixed 11
  • Fix redundant index `index_keypairs_on_account_id`
  • Fix connection errors when processing `fediverse:creator` preventing creation of preview cards
  • Fix Web UI being inaccessible with URLs ending with `.zip`
  • Fix semitransparent background of picture-in-picture video player
  • Fix title tooltip appearing for fullscreen videos
  • Fix image preview too dark in alt text editor dialog

From 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.7.0 stable release.

This version introduces very few user-facing changes but substantially reworks Mastodon's internals to increase security, support new protocols, and pave the way for new features. Updating to this version will be required for zero-downtime migration to the upcoming Mastodon 5.0.

Upgrade overview

This release contains upgrade notes that deviate from the norm:

ℹ️ Requires assets recompilation
ℹ️ 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.7.0-rc.1)
Changed
  • Change mastodon:setup task warning about trademark to match masto but ignore subdomains (#40143 by @ClearlyClaire)
Fixed
  • Fix redundant index index_keypairs_on_account_id (#40138 by @ClearlyClaire)
  • Fix connection errors when processing fediverse:creator preventing creation of preview cards (#40135 by @ClearlyClaire)
  • Fix Web UI being inaccessible with URLs ending with .zip (#40134 by @ClearlyClaire)
  • Fix semitransparent background of picture-in-picture video player (#40132 by @diondiondion)
  • Fix title tooltip appearing for fullscreen videos (#40127 by @diondiondion)
  • Fix image preview too dark in alt text editor dialog (#40126 by @diondiondion)
  • Fix domain block impact queries being rejected (#40122 by @ClearlyClaire)
  • Fix mobile navigation scrolling to top while opening (#40042 by @sharlayan)
  • Fix selected account being lost when creating a collection (#39897 and #40133 by @diondiondion and @sharlayan)
  • Fix error in tootctl media refresh when cleaning some incompletely processed files (#40056 by @shleeable)
  • Fix plain-text formatter not treating <BR> as newline (#40079 by @shleeable)
Changelog (v4.7.0-beta.1)
Added
  • Add audit logs for Hashtags (#39473, #39337 and #39670 by @arte7)
  • Add search field to admin ip blocks (#39404 by @arte7)
  • Add notifications for out-of-support versions of Mastodon (#39732 and #39734 by @ClearlyClaire)
  • Add Elasticsearch request timeout of 10s (can be overridden through ES_QUERY_TIMEOUT) (#40064 by @ClearlyClaire)
  • Add ActivityPub attributes to current span when processing Activities (#40041 by @jhbabon)
  • Add OTel span attribute to deprecated endpoints (#40030 by @jhbabon)
  • Add default permission check to admin area (#39974 by @oneiros)
  • Add uniqueness constraint on Account uri (#39882, #39999 and #39861 by @ClearlyClaire)
  • Add new theme tokens bg-blend, bg-highlight, and border-strong (#39786 by @diondiondion)
  • Add support for Link objects in attachment (FEP-8967) (#36104, #39977 and #39983 by @Gargron, @TheEssem and @shleeable)
    • Mastodon will use the first Link attachment, if any, as preview card.
    • If there is no Link attachment, Mastodon will still scan the message content's to populate one. This may change in a later release.
    • Mastodon sets a Link attachment for outgoing posts with a preview card.
  • Add support for remote accounts changing handles (#39785, #39850, #39865 and #40045 by @ClearlyClaire)
    • ActivityPub actor id is now used as the primary identifier, instead of webfinger handle.
    • Remote actors that change handles are now renamed instead of a duplicate account being created then the two merged.
    • Mastodon does not offer its users to change handles yet.
    • The concept of “invalid handles” has been added to handle some edge cases. An account with an invalid handle is an account for which the handle cannot be currently verified, but is otherwise valid. In the REST API, they have their username and domain attribute overridden and this is made explicit through the invalid_handle attribute.
  • Add outgoing RFC9421 HTTP Message Signatures as fallback to earlier draft (#39756 by @ClearlyClaire)
  • Change how local users' keypairs are stored (#39658, #39668, #39662, #39684, #39686 and #39690 by @ClearlyClaire)
    • This moves local users' keypairs to the dedicated table that was created in 4.6.
    • Private keys are now encrypted at rest, and the new infrastructure will allow for key rotation in the future.
  • Add support for expires in Linked Data Signatures and Object Integrity Proofs (#39701 by @ClearlyClaire)
  • Add verification of FEP-8b32 Object Integrity Proofs (#39530, #39728, #39754, #39760, #39522 and #39747 by @ClearlyClaire)
    • Both eddsa-jcs-2022 and mldsa44-jcs-2024 are supported.
    • mldsa44-jcs-2024 verification requires OpenSSL >= 3.5 to be verified.
  • Add support for Ed25519 signatures in HTTP Message Signatures (#39518 by @ClearlyClaire)
  • Add inbound support for FEP-521a (#39497, #39618, and #39725 by @ClearlyClaire and @shleeable)
Fixed
  • Fix performance of listing follow requests by adding appropriate index (#40033 by @ClearlyClaire)
  • Fix missing on_delete: :cascade on GeneratedAnnualReport foreign key (#40063 by @ClearlyClaire)
  • Fix DeleteAccountService#purge_favourites! only invalidating deprecated cache keys (#40048 by @shleeable)
  • Fix spam-filtered scheduled posts raising an error rather than being silently ignored (#40051 by @shleeable)
  • Fix error when processing backups for deleted accounts (#40053 by @shleeable)
  • Fix notification filter selection after settings change (#39872 by @sharlayan)
  • Fix timeline unable to load more when the last item is a inline-follow-suggestions (#39773 by @sharlayan)
  • Fix embedded videos restarting when interacting with post (or other posts in the same feed) (#39746 by @diondiondion)
  • Fix N+1 queries when rendering accounts on the admin collection page (#39738 by @rubys)
  • Fix authored posts not immediately appearing in timelines (#39733 by @ChaosExAnima)
  • Fix newletter button display on some e-mail clients (#39634 by @diondiondion)
  • Fix handling of rdf:langString in media summary and name (#39590 by @ClearlyClaire)
  • Fix error when rejecting appeal of already-deleted user (#39490 by @shleeable)
  • Fix navigation switching to user “Account” category when viewing appeal for moderation interface (#39476, #39619 and #40026 by @ClearlyClaire and @shleeable)
Changed
  • Change follow recommendation materialized views to manually-maintained tables (#40039 by @ClearlyClaire)
  • Change database schema to distinguish deleted-but-not-suspended accounts (#23617, #40027, #40029, #40034, #40083 and #40078 by @ClearlyClaire and @shleeable)
  • Change reblogs to be deduplicated within the last 80 posts instead of the last 40 (#39784 by @ClearlyClaire)
  • Change AttachmentBatch to reset retry attempt counter for each S3 batch (#39979 by @shleeable)
  • Change featured tag recommendation criteria (#39567 by @renchap)
Removed
  • Remove inbox processing of collections of activities (#39932 by @ClearlyClaire)
  • Remove support for Reject and Accept of QuoteRequest that cannot be found by id (#39833 by @ClearlyClaire)
  • Remove deprecated bin/update script (#39443 by @mjankowski)
  • Remove support for pre-Mastodon 4.3.0 cookies (#38918 by @ClearlyClaire)
Upgrade notes

To get the code for v4.7.0-rc.1, use git fetch && git checkout v4.7.0-rc.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.6.0.

  • Ruby: 3.3 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: 22 or newer
  • libvips: 8.13 or newer
  • FFMpeg: 5.1 or newer
Cookies from pre-4.3.0 Mastodon

This version drops compatibility with cookies issued by Mastodon v4.2 and earlier. This means that any user who has not visited your server after you updated to Mastodon 4.3 or newer will be logged out.

Lengthy database migrations

This version includes very substantial database migrations. They do not require unusual update steps, but they can take a long time. Expect up to a couple hours for very large servers.

Update steps

The following instructions are for updating from 4.6.5 or 4.6.7-beta.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.6.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. If you are using rbenv, update the list of available versions and install the proper Ruby version by doing RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install in the Mastodon install directory (e.g. /home/mastodon/live)
  2. Install dependencies with bundle install and yarn install --immutable
  3. Precompile the assets: RAILS_ENV=production bundle exec rails assets:precompile
  4. Run the pre-deployment database migrations by specifying the SKIP_POST_DEPLOYMENT_MIGRATIONS=true environment variable: SKIP_POST_DEPLOYMENT_MIGRATIONS=true RAILS_ENV=production bundle exec rails db:migrate
  5. Restart all Mastodon processes.
  6. Run the post-deployment database migrations: RAILS_ENV=production bundle exec rails db:migrate
When using Docker
  1. Run the pre-deployment database migrations by specifying the SKIP_POST_DEPLOYMENT_MIGRATIONS=true environment variable: docker-compose run --rm -e SKIP_POST_DEPLOYMENT_MIGRATIONS=true web bundle exec rails db:migrate
  2. Restart all Mastodon processes.
  3. Run the post-deployment database migrations: docker-compose run --rm web bundle exec rails db:migrate
View originalPermalink
How v4.7.0-rc.1 went

v4.4.23

Changed 1
  • Change mastodon:setup task warning about trademark to match masto but ignore subdomains
Fixed 3
  • Fix connection errors when processing fediverse:creator preventing creation of preview cards
  • Fix Web UI being inaccessible with URLs ending with .zip
  • Fix domain block impact queries being rejected

From Mastodon

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

Changelog
Changed
  • Change mastodon:setup task warning about trademark to match masto but ignore subdomains (#40143 by @ClearlyClaire)
Fixed
  • Fix connection errors when processing fediverse:creator preventing creation of preview cards (#40135 by @ClearlyClaire)
  • Fix Web UI being inaccessible with URLs ending with .zip (#40134 by @ClearlyClaire)
  • Fix domain block impact queries being rejected (#40122 by @ClearlyClaire)
Upgrade notes

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

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

  1. Restart all Mastodon processes.
View originalPermalink
How v4.4.23 went

v4.5.16

Changed 1
  • Change mastodon:setup task warning about trademark to match masto but ignore subdomains
Fixed 3
  • Fix connection errors when processing fediverse:creator preventing creation of preview cards
  • Fix Web UI being inaccessible with URLs ending with .zip
  • Fix domain block impact queries being rejected

From Mastodon

Changelog
Changed
  • Change mastodon:setup task warning about trademark to match masto but ignore subdomains (#40143 by @ClearlyClaire)
Fixed
  • Fix connection errors when processing fediverse:creator preventing creation of preview cards (#40135 by @ClearlyClaire)
  • Fix Web UI being inaccessible with URLs ending with .zip (#40134 by @ClearlyClaire)
  • Fix domain block impact queries being rejected (#40122 by @ClearlyClaire)
Upgrade notes

To get the code for v4.5.16, use git fetch && git checkout v4.5.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.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.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, it is very important to read the 4.5.0 release notes.

  1. Restart all Mastodon processes.
View originalPermalink
How v4.5.16 went

v4.6.6

Changed 1
  • Change mastodon:setup task warning about trademark to match masto but ignore subdomains
Fixed 8
  • Fix connection errors when processing fediverse:creator preventing creation of preview cards
  • Fix Web UI being inaccessible with URLs ending with .zip
  • Fix semitransparent background of picture-in-picture video player
  • Fix title tooltip appearing for fullscreen videos
  • Fix image preview too dark in alt text editor dialog
  • Fix domain block impact queries being rejected
  • Fix mobile navigation scrolling to top while opening
  • Fix selected account being lost when creating a collection

From 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
  • Change mastodon:setup task warning about trademark to match masto but ignore subdomains (#40143 by @ClearlyClaire)
Fixed
  • Fix connection errors when processing fediverse:creator preventing creation of preview cards (#40135 by @ClearlyClaire)
  • Fix Web UI being inaccessible with URLs ending with .zip (#40134 by @ClearlyClaire)
  • Fix semitransparent background of picture-in-picture video player (#40132 by @diondiondion)
  • Fix title tooltip appearing for fullscreen videos (#40127 by @diondiondion)
  • Fix image preview too dark in alt text editor dialog (#40126 by @diondiondion)
  • Fix domain block impact queries being rejected (#40122 by @ClearlyClaire)
  • Fix mobile navigation scrolling to top while opening (#40042 by @sharlayan)
  • Fix selected account being lost when creating a collection (#39897 and #40133 by @diondiondion and @sharlayan)
Upgrade notes

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

[!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.6.0.

  • Ruby: 3.3 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: 22 or newer
  • libvips: 8.13 or newer
  • FFMpeg: 5.1 or newer
Update steps

The following instructions are for updating from 4.6.5.

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.6.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.
View originalPermalink
How v4.6.6 went

v4.7.0-beta.1

Pre-release
Added 16
  • Add audit logs for Hashtags
  • Add search field to admin ip blocks
  • Add notifications for out-of-support versions of Mastodon
  • Add Elasticsearch request timeout of 10s configurable through ES_QUERY_TIMEOUT
  • Add ActivityPub attributes to current span when processing Activities
  • Add OTel span attribute to deprecated endpoints
Changed 1
  • Change how local users' keypairs are stored by moving to dedicated table with encryption at rest
Fixed 3
  • Fix performance of listing follow requests by adding appropriate index
  • Fix missing on_delete cascade on GeneratedAnnualReport foreign key
  • Fix DeleteAccountService purge_favourites only invalidating deprecated cache keys

From 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.7.0 stable release.

This version introduces very few user-facing changes but substantially reworks Mastodon's internals to increase security, support new protocols, and pave the way for new features. Updating to this version will be required for zero-downtime migration to the upcoming Mastodon 5.0.

Upgrade overview

This release contains upgrade notes that deviate from the norm:

ℹ️ Requires assets recompilation
ℹ️ 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
  • Add audit logs for Hashtags (#39473, #39337 and #39670 by @arte7)
  • Add search field to admin ip blocks (#39404 by @arte7)
  • Add notifications for out-of-support versions of Mastodon (#39732 and #39734 by @ClearlyClaire)
  • Add Elasticsearch request timeout of 10s (can be overridden through ES_QUERY_TIMEOUT) (#40064 by @ClearlyClaire)
  • Add ActivityPub attributes to current span when processing Activities (#40041 by @jhbabon)
  • Add OTel span attribute to deprecated endpoints (#40030 by @jhbabon)
  • Add default permission check to admin area (#39974 by @oneiros)
  • Add uniqueness constraint on Account uri (#39882, #39999 and #39861 by @ClearlyClaire)
  • Add new theme tokens bg-blend, bg-highlight, and border-strong (#39786 by @diondiondion)
  • Add support for Link objects in attachment (FEP-8967) (#36104, #39977 and #39983 by @Gargron, @TheEssem and @shleeable)
    • Mastodon will use the first Link attachment, if any, as preview card.
    • If there is no Link attachment, Mastodon will still scan the message content's to populate one. This may change in a later release.
    • Mastodon sets a Link attachment for outgoing posts with a preview card.
  • Add support for remote accounts changing handles (#39785, #39850, #39865 and #40045 by @ClearlyClaire)
    • ActivityPub actor id is now used as the primary identifier, instead of webfinger handle.
    • Remote actors that change handles are now renamed instead of a duplicate account being created then the two merged.
    • Mastodon does not offer its users to change handles yet.
    • The concept of “invalid handles” has been added to handle some edge cases. An account with an invalid handle is an account for which the handle cannot be currently verified, but is otherwise valid. In the REST API, they have their username and domain attribute overridden and this is made explicit through the invalid_handle attribute.
  • Add outgoing RFC9421 HTTP Message Signatures as fallback to earlier draft (#39756 by @ClearlyClaire)
  • Change how local users' keypairs are stored (#39658, #39668, #39662, #39684, #39686 and #39690 by @ClearlyClaire)
    • This moves local users' keypairs to the dedicated table that was created in 4.6.
    • Private keys are now encrypted at rest, and the new infrastructure will allow for key rotation in the future.
  • Add support for expires in Linked Data Signatures and Object Integrity Proofs (#39701 by @ClearlyClaire)
  • Add verification of FEP-8b32 Object Integrity Proofs (#39530, #39728, #39754, #39760, #39522 and #39747 by @ClearlyClaire)
    • Both eddsa-jcs-2022 and mldsa44-jcs-2024 are supported.
    • mldsa44-jcs-2024 verification requires OpenSSL >= 3.5 to be verified.
  • Add support for Ed25519 signatures in HTTP Message Signatures (#39518 by @ClearlyClaire)
  • Add inbound support for FEP-521a (#39497, #39618, and #39725 by @ClearlyClaire and @shleeable)
Fixed
  • Fix performance of listing follow requests by adding appropriate index (#40033 by @ClearlyClaire)
  • Fix missing on_delete: :cascade on GeneratedAnnualReport foreign key (#40063 by @ClearlyClaire)
  • Fix DeleteAccountService#purge_favourites! only invalidating deprecated cache keys (#40048 by @shleeable)
  • Fix spam-filtered scheduled posts raising an error rather than being silently ignored (#40051 by @shleeable)
  • Fix error when processing backups for deleted accounts (#40053 by @shleeable)
  • Fix notification filter selection after settings change (#39872 by @sharlayan)
  • Fix timeline unable to load more when the last item is a inline-follow-suggestions (#39773 by @sharlayan)
  • Fix embedded videos restarting when interacting with post (or other posts in the same feed) (#39746 by @diondiondion)
  • Fix N+1 queries when rendering accounts on the admin collection page (#39738 by @rubys)
  • Fix authored posts not immediately appearing in timelines (#39733 by @ChaosExAnima)
  • Fix newletter button display on some e-mail clients (#39634 by @diondiondion)
  • Fix handling of rdf:langString in media summary and name (#39590 by @ClearlyClaire)
  • Fix error when rejecting appeal of already-deleted user (#39490 by @shleeable)
  • Fix navigation switching to user “Account” category when viewing appeal for moderation interface (#39476, #39619 and #40026 by @ClearlyClaire and @shleeable)
Changed
  • Change follow recommendation materialized views to manually-maintained tables (#40039 by @ClearlyClaire)
  • Change database schema to distinguish deleted-but-not-suspended accounts (#23617, #40027, #40029, #40034, #40083 and #40078 by @ClearlyClaire and @shleeable)
  • Change reblogs to be deduplicated within the last 80 posts instead of the last 40 (#39784 by @ClearlyClaire)
  • Change AttachmentBatch to reset retry attempt counter for each S3 batch (#39979 by @shleeable)
  • Change featured tag recommendation criteria (#39567 by @renchap)
Removed
  • Remove inbox processing of collections of activities (#39932 by @ClearlyClaire)
  • Remove support for Reject and Accept of QuoteRequest that cannot be found by id (#39833 by @ClearlyClaire)
  • Remove deprecated bin/update script (#39443 by @mjankowski)
  • Remove support for pre-Mastodon 4.3.0 cookies (#38918 by @ClearlyClaire)
Upgrade notes

To get the code for v4.7.0-beta.1, use git fetch && git checkout v4.7.0-beta.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.6.0.

  • Ruby: 3.3 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: 22 or newer
  • libvips: 8.13 or newer
  • FFMpeg: 5.1 or newer
Cookies from pre-4.3.0 Mastodon

This version drops compatibility with cookies issued by Mastodon v4.2 and earlier. This means that any user who has not visited your server after you updated to Mastodon 4.3 or newer will be logged out.

Lengthy database migrations

This version includes very substantial database migrations. They do not require unusual update steps, but they can take a long time. Expect up to a couple hours for very large servers.

Update steps

The following instructions are for updating from 4.6.5.

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.6.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. If you are using rbenv, update the list of available versions and install the proper Ruby version by doing RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install in the Mastodon install directory (e.g. /home/mastodon/live)
  2. Install dependencies with bundle install and yarn install --immutable
  3. Precompile the assets: RAILS_ENV=production bundle exec rails assets:precompile
  4. Run the pre-deployment database migrations by specifying the SKIP_POST_DEPLOYMENT_MIGRATIONS=true environment variable: SKIP_POST_DEPLOYMENT_MIGRATIONS=true RAILS_ENV=production bundle exec rails db:migrate
  5. Restart all Mastodon processes.
  6. Run the post-deployment database migrations: RAILS_ENV=production bundle exec rails db:migrate
When using Docker
  1. Run the pre-deployment database migrations by specifying the SKIP_POST_DEPLOYMENT_MIGRATIONS=true environment variable: docker-compose run --rm -e SKIP_POST_DEPLOYMENT_MIGRATIONS=true web bundle exec rails db:migrate
  2. Restart all Mastodon processes.
  3. Run the post-deployment database migrations: docker-compose run --rm web bundle exec rails db:migrate
View originalPermalink
How v4.7.0-beta.1 went

v4.4.22

Fixed 3
  • Fix typo in embedded quote handling code
  • Fix account merging worker incorrectly merging Appeal and AccountWarning records
  • Fix off-by-one in handling of updated remote posts allowing up to 5 attachments

From Mastodon

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

Changelog
Fixed
  • Fix typo in embedded quote handling code (#40049 by @shleeable)
  • Fix account merging worker incorrectly merging Appeal and AccountWarning records (#39982 by @shleeable)
  • Fix off-by-one in handling of updated remote posts allowing up to 5 attachments (#39978 by @shleeable)
Upgrade notes

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

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

  1. Restart all Mastodon processes.
View originalPermalink
How v4.4.22 went

v4.5.15

Fixed 3
  • Fix typo in embedded quote handling code
  • Fix account merging worker incorrectly merging Appeal and AccountWarning records
  • Fix off-by-one in handling of updated remote posts allowing up to 5 attachments

From Mastodon

Changelog
Fixed
  • Fix typo in embedded quote handling code (#40049 by @shleeable)
  • Fix account merging worker incorrectly merging Appeal and AccountWarning records (#39982 by @shleeable)
  • Fix off-by-one in handling of updated remote posts allowing up to 5 attachments (#39978 by @shleeable)
Upgrade notes

To get the code for v4.5.15, use git fetch && git checkout v4.5.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.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.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, it is very important to read the 4.5.0 release notes.

  1. Restart all Mastodon processes.
View originalPermalink
How v4.5.15 went

v4.6.5

Fixed 7
  • Fix Collection items being rejected because of incorrect attribute being read
  • Fix typo in embedded quote handling code
  • Fix account merging worker incorrectly merging Appeal and AccountWarning records
  • Fix off-by-one in handling of updated remote posts allowing up to 5 attachments
  • Fix collection items limit not being consistently applied
  • Fix oversized profile image crop uploads
  • Fix emoji autocomplete sometimes suggesting emojis for earlier keystrokes

From 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
Fixed
  • Fix Collection items being rejected because of incorrect attribute being read (#40052 by @shleeable)
  • Fix typo in embedded quote handling code (#40049 by @shleeable)
  • Fix account merging worker incorrectly merging Appeal and AccountWarning records (#39982 by @shleeable)
  • Fix off-by-one in handling of updated remote posts allowing up to 5 attachments (#39978 by @shleeable)
  • Fix collection items limit not being consistently applied (#39969 by @oneiros)
  • Fix oversized profile image crop uploads (#39958 by @sharlayan)
  • Fix emoji autocomplete sometimes suggesting emojis for earlier keystrokes (#39947 by @ChaosExAnima)
Upgrade notes

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

[!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.6.0.

  • Ruby: 3.3 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: 22 or newer
  • libvips: 8.13 or newer
  • FFMpeg: 5.1 or newer
Update steps

The following instructions are for updating from 4.6.4.

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.6.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.
View originalPermalink
How v4.6.5 went

v4.4.21

Fixed 8
  • Fix performance of user-focused queries in admin dashboard
  • Fix Web Push subscription deletion endpoint incorrectly expecting anti-CSRF tokens
  • Fix ActivityPub::Activity::Create trying to re-create known statuses when author changes
  • Fix lax relevancy check in inbound activity processing
  • Fix Account::Merging concern not supporting Quotes, refactor it
  • Fix suspended accounts not being removed from follow request count in /api/v1/accounts/verify_credentials
  • Fix followed tags not being properly cleaned up when an account is deleted
  • Fix autofollow option being ignored in invite moderation interface
Security 3
  • Fix incorrect permission enforcement
  • Fix SSRF protection bypass via IPv4-compatible IPv6 addresses
  • Update dependencies

From Mastodon

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

Changelog
Security
Fixed
  • Fix performance of user-focused queries in admin dashboard (#39929 by @ClearlyClaire)
  • Fix Web Push subscription deletion endpoint incorrectly expecting anti-CSRF tokens (#39918 by @ClearlyClaire)
  • Fix ActivityPub::Activity::Create trying to re-create known statuses when author changes (#39916 by @ClearlyClaire)
  • Fix lax relevancy check in inbound activity processing (#39892 by @ClearlyClaire)
  • Fix Account::Merging concern not supporting Quotes, refactor it (#39884 by @ClearlyClaire)
  • Fix suspended accounts not being removed from follow request count in /api/v1/accounts/verify_credentials (#39858 by @ClearlyClaire)
  • Fix followed tags not being properly cleaned up when an account is deleted (#39824 by @shleeable)
  • Fix autofollow option being ignored in invite moderation interface (#39819 by @shleeable)
Upgrade notes

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

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.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. In particular, it is very important to read the 4.4.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
  2. Restart all Mastodon processes.
When using Docker
  1. Restart all Mastodon processes.
View originalPermalink
How v4.4.21 went

v4.5.14

Fixed 12
  • Fix being unable to vote in polls without an expiration date
  • Fix performance of user-focused queries in admin dashboard
  • Fix Web Push subscription deletion endpoint incorrectly expecting anti-CSRF tokens
  • Fix ActivityPub::Activity::Create trying to re-create known statuses when author changes
  • Fix typo in quotes list error handling
  • Fix lax relevancy check in inbound activity processing
Security 3
  • Fix incorrect permission enforcement
  • Fix SSRF protection bypass via IPv4-compatible IPv6 addresses
  • Update dependencies

From 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
Fixed
  • Fix being unable to vote in polls without an expiration date (#39949 by @ClearlyClaire)
  • Fix performance of user-focused queries in admin dashboard (#39929 by @ClearlyClaire)
  • Fix Web Push subscription deletion endpoint incorrectly expecting anti-CSRF tokens (#39918 by @ClearlyClaire)
  • Fix ActivityPub::Activity::Create trying to re-create known statuses when author changes (#39916 by @ClearlyClaire)
  • Fix typo in quotes list error handling (#39904 by @shleeable)
  • Fix lax relevancy check in inbound activity processing (#39892 by @ClearlyClaire)
  • Fix Account::Merging concern not supporting Quotes, refactor it (#39884 by @ClearlyClaire)
  • Fix suspended accounts not being removed from follow request count in /api/v1/accounts/verify_credentials (#39858 by @ClearlyClaire)
  • Fix followed tags not being properly cleaned up when an account is deleted (#39824 by @shleeable)
  • Fix CW being copied to body when editing quote posts with empty text (#39823 and #39837 by @shleeable and @ClearlyClaire)
  • Fix handling of QuoteRequest rejections when those can't be found by id (#39820 by @shleeable)
  • Fix autofollow option being ignored in invite moderation interface (#39819 by @shleeable)
Upgrade notes

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

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.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. 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.
View originalPermalink
How v4.5.14 went

v4.6.4

Changed 1
  • Change autosuggestions to include second word in web UI
Fixed 16
  • Fix being unable to vote in polls without an expiration date
  • Fix performance of user-focused queries in admin dashboard
  • Fix Web Push subscription deletion endpoint incorrectly expecting anti-CSRF tokens
  • Fix ActivityPub::Activity::Create trying to re-create known statuses when author changes
  • Fix typo in quotes list error handling
  • Fix lax relevancy check in inbound activity processing
Security 3
  • Fix incorrect permission enforcement
  • Fix SSRF protection bypass via IPv4-compatible IPv6 addresses
  • Update dependencies

From 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
Changed
  • Change autosuggestions to include second word in web UI (#39622 and #39696 by @Gargron and @zunda)
Fixed
  • Fix being unable to vote in polls without an expiration date (#39949 by @ClearlyClaire)
  • Fix performance of user-focused queries in admin dashboard (#39929 by @ClearlyClaire)
  • Fix Web Push subscription deletion endpoint incorrectly expecting anti-CSRF tokens (#39918 by @ClearlyClaire)
  • Fix ActivityPub::Activity::Create trying to re-create known statuses when author changes (#39916 by @ClearlyClaire)
  • Fix typo in quotes list error handling (#39904 by @shleeable)
  • Fix lax relevancy check in inbound activity processing (#39892 by @ClearlyClaire)
  • Fix Account::Merging concern not supporting Quotes or Collections, refactor it (#39884 by @ClearlyClaire)
  • Fix various emoji search issues (#39815 by @ChaosExAnima)
  • Fix swapped order of "accept/reject" actions in follow requests (#39862 by @diondiondion)
  • Fix suspended accounts not being removed from follow request count in /api/v1/accounts/verify_credentials (#39858 by @ClearlyClaire)
  • Fix "Learn more" link target in column post privacy hint (#39829 by @diondiondion)
  • Fix page refresh when trying to save custom profile fields (#39828 by @diondiondion)
  • Fix followed tags not being properly cleaned up when an account is deleted (#39824 by @shleeable)
  • Fix CW being copied to body when editing quote posts with empty text (#39823 and #39837 by @shleeable and @ClearlyClaire)
  • Fix handling of QuoteRequest rejections when those can't be found by id (#39820 by @shleeable)
  • Fix autofollow option being ignored in invite moderation interface (#39819 by @shleeable)
  • Fix pagination overlapping announcement reactions bar (#39814 by @diondiondion)
  • Fix very wide images overflowing posts horizontally (#39812 by @diondiondion)
  • Fix collections not being removed when an account is deleted (#39809 by @oneiros)
  • Fix account followed languages selector (#39801 by @ChaosExAnima)
  • Fix error handling in ActivityPub::ProcessFeaturedItemService (#39787 by @ClearlyClaire)
  • Fix display of past relative times (#39742 by @ClearlyClaire)
  • Fix pinned post button width (#39724 by @ChaosExAnima)
Upgrade notes

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

  • Ruby: 3.3 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: 22 or newer
  • libvips: 8.13 or newer
  • FFMpeg: 5.1 or newer
Update steps

The following instructions are for updating from 4.6.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, it is very important to read the 4.6.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.
View originalPermalink
How v4.6.4 went

v4.6.3

Added 2
  • Add "Update available" navigation item at top of navbar when new Mastodon versions are available
  • Add rendering of post images in emails
Fixed 11
  • Fix "view collection" menu item appearing on collection page
  • Fix incorrect filter cache key sometimes causing incorrect filters to be applied
  • Fix missing `to_json` to publish announcement reaction worker
  • Fix duplicate "clear" button shown in main search input in Chrome
  • Fix visual glitch with the spoiler button
  • Fix invisible username during post highlight animation
Security 1
  • Update dependencies

From 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
  • Update dependencies
Added
  • Add “Update available” navigation item at top of navbar when new Mastodon versions are available (#39705 by @ClearlyClaire)
  • Add rendering of post images in emails (#39636 by @diondiondion)
Fixed
  • Fix “view collection” menu item appearing on collection page (#39694 by @mkljczk)
  • Fix incorrect filter cache key sometimes causing incorrect filters to be applied (#39698 by @ClearlyClaire)
  • Fix missing to_json to publish announcement reaction worker (#39685 by @mjankowski)
  • Fix duplicate "clear" button shown in main search input in Chrome (#39679 by @diondiondion)
  • Fix visual glitch with the spoiler button (#39677 by @ChaosExAnima)
  • Fix invisible username during post highlight animation (#39659 by @diondiondion)
  • Fix follow button floating on profiles when overview landing page is enabled (#39650 by @FFederi)
  • Fix encryption warning "read more" link (#39635 by @thomas-pike)
  • Fix tootctl media lookup failing on some setups (#39615 by @brookmiles)
  • Fix visible transparent navigation link borders in Windows forced-contrast mode (#39614 by @diondiondion)
  • Fix crash with some browser extensions injecting custom elements in the page (#39507 by @OriginalRoOhi)
Upgrade notes

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

  • Ruby: 3.3 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: 22 or newer
  • libvips: 8.13 or newer
  • FFMpeg: 5.1 or newer
Update steps

The following instructions are for updating from 4.6.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.6.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.
View originalPermalink
How v4.6.3 went

v4.4.20

Security 1
  • Update FFmpeg version used in the container image to fix CVE-2026-8461 (critical severity)

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

This release is made solely to update FFmpeg in our docker container images to fix CVE-2026-8461 (critical severity). It is critical to update if you use our docker container images.

If you are not using our docker container images, please make sure your system FFmpeg is updated to a fixed version, that is, 8.1.2, 7.1.5, 6.1.6, or 5.1.10.

For the recently released v4.4.19, see 4.4.19 release notes for information.

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
  • Update FFMpeg version used in the container image to fix CVE-2026-8461 (critical severity)
Upgrade notes

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

[!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.19.

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.

  1. Restart all Mastodon processes.
View originalPermalink
How v4.4.20 went

v4.5.13

Security 1
  • Update FFmpeg version used in the container image to fix CVE-2026-8461 (critical severity)

From Mastodon

This release is made solely to update FFmpeg in our docker container images to fix CVE-2026-8461 (critical severity). It is critical to update if you use our docker container images.

If you are not using our docker container images, please make sure your system FFmpeg is updated to a fixed version, that is, 8.1.2, 7.1.5, 6.1.6, or 5.1.10.

For the recently released v4.5.12, see 4.5.12 release notes for information.

Changelog
Security
  • Update FFMpeg version used in the container image to fix CVE-2026-8461 (critical severity)
Upgrade notes

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

[!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.12.

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.

  1. Restart all Mastodon processes.
View originalPermalink
How v4.5.13 went

v4.6.2

Security 1
  • Update FFmpeg version used in the container image to fix CVE-2026-8461 (critical severity)

From Mastodon

This release is made solely to update FFmpeg in our docker container images to fix CVE-2026-8461 (critical severity). It is critical to update if you use our docker container images.

If you are not using our docker container images, please make sure your system FFmpeg is updated to a fixed version, that is, 8.1.2, 7.1.5, 6.1.6, or 5.1.10.

For the recently released v4.6.1, see 4.6.1 release notes for information.

Changelog
Security
  • Update FFMpeg version used in the container image to fix CVE-2026-8461 (critical severity)
Upgrade notes

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

  • Ruby: 3.3 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: 22 or newer
  • libvips: 8.13 or newer
  • FFMpeg: 5.1 or newer
Update steps

The following instructions are for updating from 4.6.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.6.0 release notes.

  1. Restart all Mastodon processes.
View originalPermalink
How v4.6.2 went
View all

Discussion

If you publish Mastodon, you can claim this product by proving you administer its repository.