Skip to content

Releases: mastodon/mastodon

v4.2.8

23 Feb 13:45
bdb6650
Compare
Choose a tag to compare

Mastodon

Warning

We recently released important security updates fixing major security updates. If you are using Mastodon v4.2.6 or below, v4.1.14 or below, or any older version, please update as soon as possible.

See updates for the 4.1.x branch, the 4.0.x branch and the 3.5.x branch.

Changelog

Important

This update changes registrations to be closed by default.

Running a social media platform where anyone can sign up without active moderation is dangerous.

We are changing the default, so that opening registrations is always a conscious choice. If you have never changed or saved the registrations mode yourself, this update will switch your server to not accepting new users. Simply change the setting again after the update if you wish to restore the old behaviour.

Added

  • Add hourly task to automatically require approval for new registrations in the absence of moderators (ClearlyClaire, ClearlyClaire)
    In order to prevent future abandoned Mastodon servers from being used for spam, harassment and other malicious activity, Mastodon will now automatically switch new user registrations to require moderator approval whenever they are left open and no activity (including non-moderation actions from apps) from any logged-in user with permission to access moderation reports has been detected in a full week.
    When this happens, users with the permission to change server settings will receive an email notification.
    This feature is disabled when EMAIL_DOMAIN_ALLOWLIST is used, and can also be disabled with DISABLE_AUTOMATIC_SWITCHING_TO_APPROVED_REGISTRATIONS=true.

Changed

  • Change registrations to be closed by default on new installations (ClearlyClaire)
    If you are running a server and never changed your registrations mode from the default, updating will automatically close your registrations.
    Simply re-enable them through the administration interface or using tootctl settings registrations open if you want to enable them again.

Fixed

  • Fix processing of remote ActivityPub actors making use of Link objects as Image url (ClearlyClaire)
  • Fix link verifications when page size exceeds 1MB (ClearlyClaire)

Moderation tooling

While we work on better tools to fight spam and abuse, we want to draw your attention to the tools already at your disposal:

Known issues

When setting up a new server, the admin account created by the mastodon:setup task will not be automatically approved. You will need to approve it from the command-line interface with RAILS_ENV=production bin/tootctl accounts modify <username> --approve.

Upgrade notes

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

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

With the exception of Ruby's recommended version, external dependencies have not changed since v4.2.0, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:

  • Ruby: 3.0 to 3.2
  • PostgreSQL: 10 or newer
  • Elasticsearch (recommended, for full-text search): 7.x (OpenSearch should also work)
  • LibreTranslate (optional, for translations): 1.3.3 or newer
  • Redis: 4 or newer
  • Node: 16 or newer
  • ImageMagick: 6.9.7-7 or newer

Update steps

The following instructions are for updating from 4.2.7.

If you are upgrading directly from an earlier release, please carefully read the upgrade notes for the skipped releases as well, as they often require extra steps such as database migrations.

Non-Docker only:

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

Using Docker:

  1. Restart all Mastodon processes

v4.1.16

23 Feb 13:45
c2d8666
Compare
Choose a tag to compare

Mastodon

Warning

We recently released important security updates fixing major security updates. If you are using Mastodon v4.2.6 or below, v4.1.14 or below, or any older version, please update as soon as possible.

See updates for the 4.2.x branch, the 4.0.x branch and the 3.5.x branch.

Changelog

Important

This update changes registrations to be closed by default.

Running a social media platform where anyone can sign up without active moderation is dangerous.

We are changing the default, so that opening registrations is always a conscious choice. If you have never changed or saved the registrations mode yourself, this update will switch your server to not accepting new users. Simply change the setting again after the update if you wish to restore the old behaviour.

Added

  • Add hourly task to automatically require approval for new registrations in the absence of moderators (ClearlyClaire, ClearlyClaire)
    In order to prevent future abandoned Mastodon servers from being used for spam, harassment and other malicious activity, Mastodon will now automatically switch new user registrations to require moderator approval whenever they are left open and no activity (including non-moderation actions from apps) from any logged-in user with permission to access moderation reports has been detected in a full week.
    When this happens, users with the permission to change server settings will receive an email notification.
    This feature is disabled when EMAIL_DOMAIN_ALLOWLIST is used, and can also be disabled with DISABLE_AUTOMATIC_SWITCHING_TO_APPROVED_REGISTRATIONS=true.

Changed

  • Change registrations to be closed by default on new installations (ClearlyClaire)
    If you are running a server and never changed your registrations mode from the default, updating will automatically close your registrations.
    Simply re-enable them through the administration interface or using tootctl settings registrations open if you want to enable them again.

Fixed

  • Fix processing of remote ActivityPub actors making use of Link objects as Image url (ClearlyClaire)
  • Fix link verifications when page size exceeds 1MB (ClearlyClaire)

Moderation tooling

While we work on better tools to fight spam and abuse, we want to draw your attention to the tools already at your disposal:

Known issues

When setting up a new server, the admin account created by the mastodon:setup task will not be automatically approved. You will need to approve it from the command-line interface with tootctl modify <username> --approved.

Upgrade notes

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

Warning

The minimum required Ruby version has been bumped to 3.0 in Mastodon v4.1.14.

External dependencies have not changed compared to v4.1.14, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:

  • Ruby: 3.0
  • PostgreSQL: 9.5 or newer
  • Elasticsearch (optional, for full-text search): 7.x
  • Redis: 4 or newer
  • Node: >= 14, < 18
  • ImageMagick: 6.9.7-7 or newer

Update steps

The following instructions are for updating from 4.1.15.

If you are upgrading directly from an earlier release, please carefully read the upgrade notes for the skipped releases as well, as they often require extra steps such as database migrations.

Non-Docker only:

  1. Install dependencies: bundle install and yarn install --frozen-lockfile

Both Docker and non-Docker:

  1. Restart all Mastodon processes

v4.2.7

16 Feb 11:11
Compare
Choose a tag to compare

Mastodon

Warning

This release is an important security release fixing a major security issue.

Corresponding security releases are available for the 4.1.x branch, the 4.0.x branch and the 3.5.x branch.

Note

If you are using nightly builds, do not use this release but update to nightly.2024-02-17-security or newer instead. If you are on the main branch, update to the latest commit.

Changelog

Fixed

  • Fix OmniAuth tests and edge cases in error handling (ClearlyClaire, ClearlyClaire)
  • Fix new installs by upgrading to the latest release of the nsa gem, instead of a no longer existing commit (mjankowski)

Security

Upgrade notes

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

With the exception of Ruby's recommended version, external dependencies have not changed since v4.2.0, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:

  • Ruby: 3.0 to 3.2
  • PostgreSQL: 10 or newer
  • Elasticsearch (recommended, for full-text search): 7.x (OpenSearch should also work)
  • LibreTranslate (optional, for translations): 1.3.3 or newer
  • Redis: 4 or newer
  • Node: 16 or newer
  • ImageMagick: 6.9.7-7 or newer

Tip

If your uploaded images are broken after the upgrade, it means your installed ImageMagick version is older than the new minimum version (6.9.7-7), for example if you are running Ubuntu 18.04. If this happens, you can find more information and ways to fix it on this page.

Update steps

The following instructions are for updating from 4.2.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.

Non-Docker only:

  1. Install dependencies: bundle install and yarn install --frozen-lockfile
  2. Restart all Mastodon processes

Using Docker:

  1. Restart all Mastodon processes

v4.1.15

16 Feb 11:19
Compare
Choose a tag to compare

Mastodon

Warning

This release is an important security release fixing a major security issue.

Corresponding security releases are available for the 4.2.x branch, the 4.0.x branch and the 3.5.x branch.

Note

If you are using nightly builds, do not use this release but update to nightly.2024-02-17-security or newer instead. If you are on the main branch, update to the latest commit.

Changelog

Fixed

Security

Upgrade notes

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

Warning

The minimum required Ruby version has been bumped to 3.0 in Mastodon v4.1.14.

External dependencies have not changed compared to v4.1.14, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:

  • Ruby: 3.0
  • PostgreSQL: 9.5 or newer
  • Elasticsearch (optional, for full-text search): 7.x
  • Redis: 4 or newer
  • Node: >= 14, < 18
  • ImageMagick: 6.9.7-7 or newer

Tip

If your uploaded images are broken after the upgrade, it means your installed ImageMagick version is older than the new minimum version (6.9.7-7), for example if you are running Ubuntu 18.04. If this happens, you can find more information and ways to fix it on this page.

Update steps

The following instructions are for updating from 4.1.14.

If you are upgrading directly from an earlier release, please carefully read the upgrade notes for the skipped releases as well, as they often require extra steps such as database migrations.

Non-Docker only:

  1. Install dependencies: bundle install and yarn install --frozen-lockfile

Both Docker and non-Docker:

  1. Restart all Mastodon processes

v4.0.15

16 Feb 11:29
Compare
Choose a tag to compare

Mastodon

Caution

The 4.0.x branch will not receive any update—including security fixes—after this one.

Warning

This release is an important security release fixing a major security issue.

Corresponding security releases are available for the 4.2.x branch, the 4.1.x branch and the 3.5.x branch.

Note

If you are using nightly builds, do not use this release but update to nightly.2024-02-17-security or newer instead. If you are on the main branch, update to the latest commit.

End of life notice

The 4.0.x branch will not receive any further update after this one.

This means that no further security fix will be made available for this branch, and you will need to update to a more recent version (such as the 4.2.x branch) to receive security fixes.

Changelog

Fixed

Security

Upgrade notes

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

Warning

The minimum required Ruby version has been bumped to 3.0 in Mastodon v4.0.14.

External dependencies have not changed compared to v4.0.14, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:

  • Ruby: 3.0
  • PostgreSQL: 9.5 or newer
  • Elasticsearch (optional, for full-text search): 7.x
  • Redis: 4 or newer
  • Node: >= 14, < 18
  • ImageMagick: 6.9.7-7 or newer

Tip

If your uploaded images are broken after the upgrade, it means your installed ImageMagick version is older than the new minimum version (6.9.7-7), for example if you are running Ubuntu 18.04. If this happens, you can find more information and ways to fix it on this page.

Update steps

The following instructions are for updating from 4.0.14.

If you are upgrading directly from an earlier release, please carefully read the upgrade notes for the skipped releases as well, as they often require extra steps such as database migrations.

Non-Docker only:

  1. Install dependencies: bundle install and yarn install --frozen-lockfile

Both Docker and non-Docker:

  1. Restart all Mastodon processes

v3.5.19

16 Feb 11:29
Compare
Choose a tag to compare

Mastodon

Caution

The 3.5.x branch will not receive any update—including security fixes—after this one.

Warning

This release is an important security release fixing a major security issue.

Corresponding security releases are available for the 4.2.x branch, the 4.1.x branch and the 4.0.x branch.

Note

If you are using nightly builds, do not use this release but update to nightly.2024-02-17-security or newer instead. If you are on the main branch, update to the latest commit.

End of life notice

The 3.5.x branch will not receive any further update after this one.

This means that no further security fix will be made available for this branch, and you will need to update to a more recent version (such as the 4.2.x branch) to receive security fixes.

Changelog

Fixed

Security

Upgrade notes

To get the code for v3.5.19, use git fetch && git checkout v3.5.19.

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

Warning

The minimum required Ruby version has been bumped to 3.0 in Mastodon v3.5.18.

External dependencies have not changed compared to v3.5.18, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:

  • Ruby: 3.0
  • PostgreSQL: 9.5 or newer
  • Elasticsearch (optional, for full-text search): 7.x
  • Redis: 4 or newer
  • Node: >= 12.22, < 18
  • ImageMagick: 6.9.7-7 or newer

Tip

If your uploaded images are broken after the upgrade, it means your installed ImageMagick version is older than the new minimum version (6.9.7-7), for example if you are running Ubuntu 18.04. If this happens, you can find more information and ways to fix it on this page.

Update steps

The following instructions are for updating from 3.5.18.

If you are upgrading directly from an earlier release, please carefully read the upgrade notes for the skipped releases as well, as they often require extra steps such as database migrations.

Non-Docker only:

  1. Install dependencies: bundle install and yarn install --frozen-lockfile

Both Docker and non-Docker:

  1. Restart all Mastodon processes

v4.2.6

14 Feb 14:17
Compare
Choose a tag to compare

Mastodon

⚠️ This release is an important security release fixing several security issue.

Corresponding security releases are available for the 4.1.x branch, the 4.0.x branch and the 3.5.x branch.

If you are using nightly builds, do not use this release but update to nightly.2024-02-15-security or newer instead. If you are on the main branch, update to the latest commit.

Changelog

Security

  • Update the sidekiq-unique-jobs dependency (see GHSA-cmh9-rx85-xj38)
    In addition, we have disabled the web interface for sidekiq-unique-jobs out of caution, as it is very rarely useful.
    If you need to investigate sidekiq-unique-jobs locks, you can re-enable it by setting ENABLE_SIDEKIQ_UNIQUE_JOBS_UI=true.
    If you only need to clear all locks, you can now use the newly-added bundle exec rake sidekiq_unique_jobs:delete_all_locks.
  • Update the nokogiri dependency (see GHSA-xc9x-jj77-9p9j)
  • Disable administrative Doorkeeper routes (ThisIsMissEm)
  • Fix ongoing streaming sessions not being invalidated when applications get deleted in some cases (GHSA-7w3c-p9j8-mq3x)
    In some rare cases, the streaming server was not notified of access tokens revocation on application deletion.
  • Change external authentication behavior to never reattach a new identity to an existing user by default (GHSA-vm39-j3vx-pch3)
    Up until now, Mastodon has allowed new identities from external authentication providers to attach to an existing local user based on their verified e-mail address.
    This allowed upgrading users from a database-stored password to an external authentication provider, or move from one authentication provider to another.
    However, this behavior may be unexpected, and means that when multiple authentication providers are configured, the overall security would be that of the least secure authentication provider.
    For these reasons, this behavior is now locked under the ALLOW_UNSAFE_AUTH_PROVIDER_REATTACH environment variable.
    In addition, regardless of this environment variable, Mastodon will refuse to attach two identities from the same authentication provider to the same account.

Upgrade notes

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

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

With the exception of Ruby's recommended version, external dependencies have not changed since v4.2.0, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:

  • Ruby: 3.0 to 3.2
  • PostgreSQL: 10 or newer
  • Elasticsearch (recommended, for full-text search): 7.x (OpenSearch should also work)
  • LibreTranslate (optional, for translations): 1.3.3 or newer
  • Redis: 4 or newer
  • Node: 16 or newer
  • ImageMagick: 6.9.7-7 or newer

If your uploaded images are broken after the upgrade, it means your installed ImageMagick version is older than the new minimum version (6.9.7-7), for example if you are running Ubuntu 18.04. If this happens, you can find more information and ways to fix it on this page.

Update steps

The following instructions are for updating from 4.2.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.

Non-Docker only:

  1. Install dependencies: bundle install and yarn install --frozen-lockfile
  2. Restart all Mastodon processes

Using Docker:

  1. Restart all Mastodon processes

v4.1.14

14 Feb 14:18
Compare
Choose a tag to compare

Mastodon

⚠️ This release is an important security release fixing several security issues.

Corresponding security releases are available for the 4.2.x branch, the 4.0.x branch and the 3.5.x branch.

If you are using nightly builds, do not use this release but update to nightly.2024-02-15-security or newer instead. If you are on the main branch, update to the latest commit.

Changelog

Security

  • Update the sidekiq-unique-jobs dependency (see GHSA-cmh9-rx85-xj38)
    In addition, we have disabled the web interface for sidekiq-unique-jobs out of caution, as it is very rarely useful.
    If you need to investigate sidekiq-unique-jobs locks, you can re-enable it by setting ENABLE_SIDEKIQ_UNIQUE_JOBS_UI=true.
    If you only need to clear all locks, you can now use the newly-added bundle exec rake sidekiq_unique_jobs:delete_all_locks.
  • Update the nokogiri dependency (see GHSA-xc9x-jj77-9p9j)
  • Disable administrative Doorkeeper routes (ThisIsMissEm)
  • Fix ongoing streaming sessions not being invalidated when applications get deleted in some cases (GHSA-7w3c-p9j8-mq3x)
    In some rare cases, the streaming server was not notified of access tokens revocation on application deletion.
  • Change external authentication behavior to never reattach a new identity to an existing user by default (GHSA-vm39-j3vx-pch3)
    Up until now, Mastodon has allowed new identities from external authentication providers to attach to an existing local user based on their verified e-mail address.
    This allowed upgrading users from a database-stored password to an external authentication provider, or move from one authentication provider to another.
    However, this behavior may be unexpected, and means that when multiple authentication providers are configured, the overall security would be that of the least secure authentication provider.
    For these reasons, this behavior is now locked under the ALLOW_UNSAFE_AUTH_PROVIDER_REATTACH environment variable.
    In addition, regardless of this environment variable, Mastodon will refuse to attach two identities from the same authentication provider to the same account.

Upgrade notes

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

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

Warning

The minimum required Ruby version has been bumped to 3.0.

With the exception of Ruby, external dependencies have not changed compared to v4.1.7, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:

  • Ruby: 3.0
  • PostgreSQL: 9.5 or newer
  • Elasticsearch (optional, for full-text search): 7.x
  • Redis: 4 or newer
  • Node: >= 14, < 18
  • ImageMagick: 6.9.7-7 or newer

If your uploaded images are broken after the upgrade, it means your installed ImageMagick version is older than the new minimum version (6.9.7-7), for example if you are running Ubuntu 18.04. If this happens, you can find more information and ways to fix it on this page.

Update steps

The following instructions are for updating from 4.1.13.

If you are upgrading directly from an earlier release, please carefully read the upgrade notes for the skipped releases as well, as they often require extra steps such as database migrations.

Non-Docker only:

  1. Install dependencies: bundle install and yarn install --frozen-lockfile

Both Docker and non-Docker:

  1. Restart all Mastodon processes

v4.0.14

14 Feb 14:27
Compare
Choose a tag to compare

Mastodon

⚠️ The 4.0.x branch will not receive any update—including security fixes—after this one.

⚠️ This release is an important security release fixing several security issues.

Corresponding security releases are available for the 4.2.x branch, the 4.1.x branch and the 3.5.x branch.

If you are using nightly builds, do not use this release but update to nightly.2024-02-15-security or newer instead. If you are on the main branch, update to the latest commit.

End of life notice

The 4.0.x branch will not receive any further update after this one.

This means that no further security fix will be made available for this branch, and you will need to update to a more recent version (such as the 4.2.x branch) to receive security fixes.

Changelog

Security

  • Update the sidekiq-unique-jobs dependency (see GHSA-cmh9-rx85-xj38)
    In addition, we have disabled the web interface for sidekiq-unique-jobs out of caution, as it is very rarely useful.
    If you need to investigate sidekiq-unique-jobs locks, you can re-enable it by setting ENABLE_SIDEKIQ_UNIQUE_JOBS_UI=true.
    If you only need to clear all locks, you can now use the newly-added bundle exec rake sidekiq_unique_jobs:delete_all_locks.
  • Update the nokogiri dependency (see GHSA-xc9x-jj77-9p9j)
  • Disable administrative Doorkeeper routes (ThisIsMissEm)
  • Fix ongoing streaming sessions not being invalidated when applications get deleted in some cases (GHSA-7w3c-p9j8-mq3x)
    In some rare cases, the streaming server was not notified of access tokens revocation on application deletion.
  • Change external authentication behavior to never reattach a new identity to an existing user by default (GHSA-vm39-j3vx-pch3)
    Up until now, Mastodon has allowed new identities from external authentication providers to attach to an existing local user based on their verified e-mail address.
    This allowed upgrading users from a database-stored password to an external authentication provider, or move from one authentication provider to another.
    However, this behavior may be unexpected, and means that when multiple authentication providers are configured, the overall security would be that of the least secure authentication provider.
    For these reasons, this behavior is now locked under the ALLOW_UNSAFE_AUTH_PROVIDER_REATTACH environment variable.
    In addition, regardless of this environment variable, Mastodon will refuse to attach two identities from the same authentication provider to the same account.

Upgrade notes

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

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

Warning

The minimum required Ruby version has been bumped to 3.0.

With the exception of Ruby, external dependencies have not changed compared to v4.0.14, the compatible PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:

  • Ruby: 3.0
  • PostgreSQL: 9.5 or newer
  • Elasticsearch (optional, for full-text search): 7.x
  • Redis: 4 or newer
  • Node: >= 14, < 18
  • ImageMagick: 6.9.7-7 or newer

If your uploaded images are broken after the upgrade, it means your installed ImageMagick version is older than the new minimum version (6.9.7-7), for example if you are running Ubuntu 18.04. If this happens, you can find more information and ways to fix it on this page.

Update steps

The following instructions are for updating from 4.0.13.

If you are upgrading directly from an earlier release, please carefully read the upgrade notes for the skipped releases as well, as they often require extra steps such as database migrations.

Non-Docker only:

  1. Install dependencies: bundle install and yarn install --frozen-lockfile

Both Docker and non-Docker:

  1. Restart all Mastodon processes

v3.5.18

14 Feb 15:07
Compare
Choose a tag to compare

Mastodon

⚠️ The 3.5.x branch will not receive any update—including security fixes—after this one.

⚠️ This release is an important security release fixing several security issues.

Corresponding security releases are available for the 4.2.x branch, the 4.1.x branch and the 4.0.x branch.

If you are using nightly builds, do not use this release but update to nightly.2024-02-15-security or newer instead. If you are on the main branch, update to the latest commit.

End of life notice

The 3.5.x branch will not receive any further update after this one.

This means that no further security fix will be made available for this branch, and you will need to update to a more recent version (such as the 4.2.x branch) to receive security fixes.

Changelog

Security

  • Update the sidekiq-unique-jobs dependency (see GHSA-cmh9-rx85-xj38)
    In addition, we have disabled the web interface for sidekiq-unique-jobs out of caution, as it is very rarely useful.
    If you need to investigate sidekiq-unique-jobs locks, you can re-enable it by setting ENABLE_SIDEKIQ_UNIQUE_JOBS_UI=true.
    If you only need to clear all locks, you can now use the newly-added bundle exec rake sidekiq_unique_jobs:delete_all_locks.
  • Update the nokogiri dependency (see GHSA-xc9x-jj77-9p9j)
  • Disable administrative Doorkeeper routes (ThisIsMissEm)
  • Fix ongoing streaming sessions not being invalidated when applications get deleted in some cases (GHSA-7w3c-p9j8-mq3x)
    In some rare cases, the streaming server was not notified of access tokens revocation on application deletion.
  • Change external authentication behavior to never reattach a new identity to an existing user by default (GHSA-vm39-j3vx-pch3)
    Up until now, Mastodon has allowed new identities from external authentication providers to attach to an existing local user based on their verified e-mail address.
    This allowed upgrading users from a database-stored password to an external authentication provider, or move from one authentication provider to another.
    However, this behavior may be unexpected, and means that when multiple authentication providers are configured, the overall security would be that of the least secure authentication provider.
    For these reasons, this behavior is now locked under the ALLOW_UNSAFE_AUTH_PROVIDER_REATTACH environment variable.
    In addition, regardless of this environment variable, Mastodon will refuse to attach two identities from the same authentication provider to the same account.

Upgrade notes

To get the code for v3.5.18, use git fetch && git checkout v3.5.18.

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

Warning

The minimum required Ruby version has been bumped to 3.0.

With the exception of Ruby, external dependencies have not changed compared to v3.5.16, the compatible PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:

  • Ruby: 3.0
  • PostgreSQL: 9.5 or newer
  • Elasticsearch (optional, for full-text search): 7.x
  • Redis: 4 or newer
  • Node: >= 12.22, < 18
  • ImageMagick: 6.9.7-7 or newer

If your uploaded images are broken after the upgrade, it means your installed ImageMagick version is older than the new minimum version (6.9.7-7), for example if you are running Ubuntu 18.04. If this happens, you can find more information and ways to fix it on this page.

Update steps

The following instructions are for updating from 3.5.17.

If you are upgrading directly from an earlier release, please carefully read the upgrade notes for the skipped releases as well, as they often require extra steps such as database migrations.

Non-Docker only:

  1. Install dependencies: bundle install and yarn install --frozen-lockfile

Both Docker and non-Docker:

  1. Restart all Mastodon processes