Releases: mastodon/mastodon
v3.5.11
This is a backport for the 3.5.x branch.
⚠️ We recently released critical security updates, so if you are still using 4.1.2 or below, 4.0.4 or below, or 3.5.8 or below, please update as soon as possible (see the release notes for v3.5.10).
Changelog
Added
- Add check preventing Sidekiq workers from running with Makara configured (ClearlyClaire)
Changed
- Change request timeout handling to use a longer deadline (ClearlyClaire)
Fixed
- Fix moderation interface for remote instances with a .zip TLD (ClearlyClaire)
- Fix remote accounts being possibly persisted to database with incomplete protocol values (ClearlyClaire)
- Fix trending publishers table not rendering correctly on narrow screens (vmstan)
Security
- Fix CSP headers being unintentionally wide (ClearlyClaire)
Upgrade notes
To get the code for v3.5.11, use git fetch && git checkout v3.5.11
.
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 compared to v3.5.10, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:
- Ruby: 2.7 to 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.10.
If you are upgrading directly from an earlier release, please carefully read the upgrade notes for the skipped releases as well, as they often require extra steps such as database migrations.
Non-Docker only:
- Install dependencies:
bundle install
andyarn install
Both Docker and non-Docker:
- Restart all Mastodon processes
v4.1.4
This release addresses a few issues that were missed in the last security update and includes changelogs for both updates.
⚠️ It is a follow-up to the important 4.1.3 security release fixing multiple critical security issues (CVE-2023-36460, CVE-2023-36459).Corresponding security releases are available for the 4.0.x branch and the 3.5.x branch.
If you are using nightly builds, do not use this release but update tonightly-2023-07-07-v4.1.4
or newer instead. If you are on themain
branch, update to the latest commit.
Upgrade overview
This release contains upgrade notes that deviate from the norm:
ℹ️ Requires streaming API restart
ℹ️ There are suggested reverse proxy configuration changes
For more information, scroll down to the upgrade instructions section.
Changelog (v4.1.4)
Fixed
- Fix branding:generate_app_icons failing because of disallowed ICO coder (ClearlyClaire)
- Fix crash in admin interface when viewing a remote user with verified links (ClearlyClaire)
- Fix processing of media files with unusual names (ClearlyClaire)
Changelog (v4.1.3)
Added
- Add fallback redirection when getting a webfinger query
LOCAL_DOMAIN@LOCAL_DOMAIN
(ClearlyClaire)
Changed
- Change OpenGraph-based embeds to allow fullscreen (ClearlyClaire)
- Change AccessTokensVacuum to also delete expired tokens (ClearlyClaire)
- Change profile updates to be sent to recently-mentioned servers (ClearlyClaire)
- Change automatic post deletion thresholds and load detection (ClearlyClaire)
- Change
/api/v1/statuses/:id/history
to always return at least one item (ClearlyClaire) - Change auto-linking to allow carets in URL query params (renchap)
Removed
- Remove invalid
X-Frame-Options: ALLOWALL
(ClearlyClaire)
Fixed
- Fix wrong view being displayed when a webhook fails validation (ClearlyClaire)
- Fix soft-deleted post cleanup scheduler overwhelming the streaming server (ThisIsMissEm)
- Fix incorrect pagination headers in
/api/v2/admin/accounts
(danielmbrasil) - Fix multiple inefficiencies in automatic post cleanup worker (ClearlyClaire, ClearlyClaire, ClearlyClaire)
- Fix performance of streaming by parsing message JSON once (ThisIsMissEm, ThisIsMissEm)
- Fix CSP headers when
S3_ALIAS_HOST
includes a path component (ClearlyClaire) - Fix
tootctl accounts approve --number N
not aproving N earliest registrations (danielmbrasil) - Fix reports not being closed when performing batch suspensions (ClearlyClaire)
- Fix being able to vote on your own polls (ClearlyClaire)
- Fix race condition when reblogging a status (ClearlyClaire)
- Fix “Authorized applications” inefficiently and incorrectly getting last use date (ClearlyClaire)
- Fix “Authorized applications” crashing when listing apps with certain admin API scopes (ClearlyClaire)
- Fix multiple N+1s in ConversationsController (ClearlyClaire, ClearlyClaire, ClearlyClaire)
- Fix user archive takeouts when using OpenStack Swift (ClearlyClaire)
- Fix searching for remote content by URL not working under certain conditions (ClearlyClaire)
- Fix inefficiencies in indexing content for search (VyrCossont, VyrCossont)
Security
- Add finer permission requirements for managing webhooks (ClearlyClaire)
- Update dependencies
- Add hardening headers for user-uploaded files (ClearlyClaire)
- Fix verified links possibly hiding important parts of the URL (CVE-2023-36462)
- Fix timeout handling of outbound HTTP requests (CVE-2023-36461)
- Fix arbitrary file creation through media processing (CVE-2023-36460)
- Fix possible XSS in preview cards (CVE-2023-36459)
Upgrade notes
To get the code for v4.1.4, use git fetch && git checkout v4.1.4
.
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
Apart from ImageMagick, external dependencies have not changed compared to v4.1.2, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:
- Ruby: 2.7 to 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 informations and ways to fix it on this page.
Update steps
The following instructions are for updating from 4.1.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.
Non-Docker only:
- Install dependencies:
bundle install
andyarn install
Both Docker and non-Docker:
ℹ️ The recommended configuration for reverse proxies has been updated. Unlike updating Mastodon itself, this is not urgent, but hardening. The change is about setting Content-Security-Policy: default-src 'none'; form-action 'none'
and X-Content-Type-Options: nosniff
on assets. Check dist/nginx.conf
for more information, and the documentation if you are proxying external object storage.
- Restart all Mastodon processes
v4.0.6
This release addresses a few issues that were missed in the last security update and includes changelogs for both updates.
⚠️ It is a follow-up to the important 4.0.5 security release that fixed multiple critical security issues (CVE-2023-36460, CVE-2023-36459).Corresponding security releases are available for 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-2023-07-07-v4.1.4
or newer instead. If you are on themain
branch, update to the latest commit.
Upgrade overview
This release contains upgrade notes that deviate from the norm:
ℹ️ Requires streaming API restart
ℹ️ There are suggested reverse proxy configuration changes
For more information, scroll down to the upgrade instructions section.
Changelog (v4.0.6)
Fixed
- Fix branding:generate_app_icons failing because of disallowed ICO coder (ClearlyClaire)
- Fix crash in admin interface when viewing a remote user with verified links (ClearlyClaire)
- Fix processing of media files with unusual names (ClearlyClaire)
Changelog (v4.0.5)
Changed
- Change OpenGraph-based embeds to allow fullscreen (ClearlyClaire)
- Change profile updates to be sent to recently-mentioned servers (ClearlyClaire)
- Change
/api/v1/statuses/:id/history
to always return at least one item (ClearlyClaire) - Change auto-linking to allow carets in URL query params (renchap)
Removed
- Remove invalid
X-Frame-Options: ALLOWALL
(ClearlyClaire)
Fixed
- Fix wrong view being displayed when a webhook fails validation (ClearlyClaire)
- Fix soft-deleted post cleanup scheduler overwhelming the streaming server (ThisIsMissEm)
- Fix incorrect pagination headers in
/api/v2/admin/accounts
(danielmbrasil) - Fix performance of streaming by parsing message JSON once (ThisIsMissEm, ThisIsMissEm)
- Fix CSP headers when
S3_ALIAS_HOST
includes a path component (ClearlyClaire) - Fix
tootctl accounts approve --number N
not aproving N earliest registrations (danielmbrasil) - Fix being able to vote on your own polls (ClearlyClaire)
- Fix race condition when reblogging a status (ClearlyClaire)
- Fix “Authorized applications” inefficiently and incorrectly getting last use date (ClearlyClaire)
- Fix multiple N+1s in ConversationsController (ClearlyClaire, ClearlyClaire, ClearlyClaire)
- Fix user archive takeouts when using OpenStack Swift (ClearlyClaire)
- Fix searching for remote content by URL not working under certain conditions (ClearlyClaire)
- Fix inefficiencies in indexing content for search (VyrCossont, VyrCossont)
Security
- Add finer permission requirements for managing webhooks (ClearlyClaire)
- Update dependencies
- Add hardening headers for user-uploaded files (ClearlyClaire)
- Fix verified links possibly hiding important parts of the URL (CVE-2023-36462)
- Fix timeout handling of outbound HTTP requests (CVE-2023-36461)
- Fix arbitrary file creation through media processing (CVE-2023-36460)
- Fix possible XSS in preview cards (CVE-2023-36459)
Upgrade notes
To get the code for v4.0.6, use git fetch && git checkout v4.0.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
Apart from ImageMagick, external dependencies have not changed compared to v4.0.4, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:
- Ruby: 2.7 to 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 informations and ways to fix it on this page.
Update steps
The following instructions are for updating from 4.0.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.
Non-Docker only:
- Install dependencies:
bundle install
andyarn install
Both Docker and non-Docker:
ℹ️ The recommended configuration for reverse proxies has been updated. Unlike updating Mastodon itself, this is not urgent, but hardening. The change is about setting Content-Security-Policy: default-src 'none'; form-action 'none'
and X-Content-Type-Options: nosniff
on assets. Check dist/nginx.conf
for more information, and the documentation if you are proxying external object storage.
- Restart all Mastodon processes
v3.5.10
This release addresses a few issues that were missed in the last security update and includes changelogs for both updates.
⚠️ It is a follow-up to the important 3.5.9 security release that fixed multiple critical security issues (CVE-2023-36460, CVE-2023-36459).Corresponding releases are available for 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-2023-07-06-security
or newer instead. If you are on themain
branch, update to the latest commit.
Upgrade overview
This release contains upgrade notes that deviate from the norm:
ℹ️ Requires streaming API restart
ℹ️ There are suggested reverse proxy configuration changes
For more information, scroll down to the upgrade instructions section.
Changelog (v3.5.10)
Fixed
- Fix crash in admin interface when viewing a remote user with verified links (ClearlyClaire)
- Fix processing of media files with unusual names (ClearlyClaire)
Changelog (v3.5.9)
Changed
- Change OpenGraph-based embeds to allow fullscreen (ClearlyClaire)
- Change profile updates to be sent to recently-mentioned servers (ClearlyClaire)
- Change auto-linking to allow carets in URL query params (renchap)
Removed
- Remove invalid
X-Frame-Options: ALLOWALL
(ClearlyClaire)
Fixed
- Fix soft-deleted post cleanup scheduler overwhelming the streaming server (ThisIsMissEm)
- Fix incorrect pagination headers in
/api/v2/admin/accounts
(danielmbrasil) - Fix performance of streaming by parsing message JSON once (ThisIsMissEm, ThisIsMissEm)
- Fix CSP headers when
S3_ALIAS_HOST
includes a path component (ClearlyClaire) - Fix
tootctl accounts approve --number N
not aproving N earliest registrations (danielmbrasil) - Fix being able to vote on your own polls (ClearlyClaire)
- Fix race condition when reblogging a status (ClearlyClaire)
- Fix “Authorized applications” inefficiently and incorrectly getting last use date (ClearlyClaire)
- Fix multiple N+1s in ConversationsController (ClearlyClaire, ClearlyClaire, ClearlyClaire)
- Fix user archive takeouts when using OpenStack Swift (ClearlyClaire)
- Fix inefficiencies in indexing content for search (VyrCossont, VyrCossont)
Security
- Update dependencies
- Add hardening headers for user-uploaded files (ClearlyClaire)
- Fix verified links possibly hiding important parts of the URL (CVE-2023-36462)
- Fix timeout handling of outbound HTTP requests (CVE-2023-36461)
- Fix arbitrary file creation through media processing (CVE-2023-36460)
- Fix possible XSS in preview cards (CVE-2023-36459)
Upgrade notes
To get the code for v3.5.10, use git fetch && git checkout v3.5.10
.
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
Apart from ImageMagick, external dependencies have not changed compared to v3.5.8, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:
- Ruby: 2.7 to 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 informations and ways to fix it on this page.
Update steps
The following instructions are for updating from 3.5.8.
If you are upgrading directly from an earlier release, please carefully read the upgrade notes for the skipped releases as well, as they often require extra steps such as database migrations.
Non-Docker only:
- Install dependencies:
bundle install
andyarn install
Both Docker and non-Docker:
ℹ️ The recommended configuration for reverse proxies has been updated. Unlike updating Mastodon itself, this is not urgent, but hardening. The change is about setting Content-Security-Policy: default-src 'none'; form-action 'none'
and X-Content-Type-Options: nosniff
on assets. Check dist/nginx.conf
for more information, and the documentation if you are proxying external object storage.
- Restart all Mastodon processes
v4.1.3
⚠️ This release is an important security release fixing multiple critical security issues (CVE-2023-36460, CVE-2023-36459).Corresponding security releases are available for the 4.0.x branch and the 3.5.x branch.
If you are using nightly builds, do not use this release but update tonightly-2023-07-06-security
or newer instead. If you are on themain
branch, update to the latest commit.
Upgrade overview
This release contains upgrade notes that deviate from the norm:
ℹ️ Requires streaming API restart
ℹ️ There are suggested reverse proxy configuration changes
For more information, scroll down to the upgrade instructions section.
Changelog
Added
- Add fallback redirection when getting a webfinger query
LOCAL_DOMAIN@LOCAL_DOMAIN
(ClearlyClaire)
Changed
- Change OpenGraph-based embeds to allow fullscreen (ClearlyClaire)
- Change AccessTokensVacuum to also delete expired tokens (ClearlyClaire)
- Change profile updates to be sent to recently-mentioned servers (ClearlyClaire)
- Change automatic post deletion thresholds and load detection (ClearlyClaire)
- Change
/api/v1/statuses/:id/history
to always return at least one item (ClearlyClaire) - Change auto-linking to allow carets in URL query params (renchap)
Removed
- Remove invalid
X-Frame-Options: ALLOWALL
(ClearlyClaire)
Fixed
- Fix wrong view being displayed when a webhook fails validation (ClearlyClaire)
- Fix soft-deleted post cleanup scheduler overwhelming the streaming server (ThisIsMissEm)
- Fix incorrect pagination headers in
/api/v2/admin/accounts
(danielmbrasil) - Fix multiple inefficiencies in automatic post cleanup worker (ClearlyClaire, ClearlyClaire, ClearlyClaire)
- Fix performance of streaming by parsing message JSON once (ThisIsMissEm, ThisIsMissEm)
- Fix CSP headers when
S3_ALIAS_HOST
includes a path component (ClearlyClaire) - Fix
tootctl accounts approve --number N
not aproving N earliest registrations (danielmbrasil) - Fix reports not being closed when performing batch suspensions (ClearlyClaire)
- Fix being able to vote on your own polls (ClearlyClaire)
- Fix race condition when reblogging a status (ClearlyClaire)
- Fix “Authorized applications” inefficiently and incorrectly getting last use date (ClearlyClaire)
- Fix “Authorized applications” crashing when listing apps with certain admin API scopes (ClearlyClaire)
- Fix multiple N+1s in ConversationsController (ClearlyClaire, ClearlyClaire, ClearlyClaire)
- Fix user archive takeouts when using OpenStack Swift (ClearlyClaire)
- Fix searching for remote content by URL not working under certain conditions (ClearlyClaire)
- Fix inefficiencies in indexing content for search (VyrCossont, VyrCossont)
Security
- Add finer permission requirements for managing webhooks (ClearlyClaire)
- Update dependencies
- Add hardening headers for user-uploaded files (ClearlyClaire)
- Fix verified links possibly hiding important parts of the URL (CVE-2023-36462)
- Fix timeout handling of outbound HTTP requests (CVE-2023-36461)
- Fix arbitrary file creation through media processing (CVE-2023-36460)
- Fix possible XSS in preview cards (CVE-2023-36459)
Upgrade notes
To get the code for v4.1.3, use git fetch && git checkout v4.1.3
.
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
Apart from ImageMagick, external dependencies have not changed compared to v4.1.2, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:
- Ruby: 2.7 to 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 informations and ways to fix it on this page.
Update steps
The following instructions are for updating from 4.1.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.
Non-Docker only:
- Install dependencies:
bundle install
andyarn install
Both Docker and non-Docker:
ℹ️ The recommended configuration for reverse proxies has been updated. Unlike updating Mastodon itself, this is not urgent, but hardening. The change is about setting Content-Security-Policy: default-src 'none'; form-action 'none'
and X-Content-Type-Options: nosniff
on assets. Check dist/nginx.conf
for more information, and the documentation if you are proxying external object storage.
- Restart all Mastodon processes
v4.0.5
⚠️ This release is an important security release fixing multiple critical security issues (CVE-2023-36460, CVE-2023-36459).Corresponding security releases are available for the 4.1.x branch and the 3.5.x branch.
If you are using nightly builds, do not use this release but update tonightly-2023-07-06-security
or newer instead. If you are on themain
branch, update to the latest commit.
Upgrade overview
This release contains upgrade notes that deviate from the norm:
ℹ️ Requires streaming API restart
ℹ️ There are suggested reverse proxy configuration changes
For more information, scroll down to the upgrade instructions section.
Changelog
Changed
- Change OpenGraph-based embeds to allow fullscreen (ClearlyClaire)
- Change profile updates to be sent to recently-mentioned servers (ClearlyClaire)
- Change
/api/v1/statuses/:id/history
to always return at least one item (ClearlyClaire) - Change auto-linking to allow carets in URL query params (renchap)
Removed
- Remove invalid
X-Frame-Options: ALLOWALL
(ClearlyClaire)
Fixed
- Fix wrong view being displayed when a webhook fails validation (ClearlyClaire)
- Fix soft-deleted post cleanup scheduler overwhelming the streaming server (ThisIsMissEm)
- Fix incorrect pagination headers in
/api/v2/admin/accounts
(danielmbrasil) - Fix performance of streaming by parsing message JSON once (ThisIsMissEm, ThisIsMissEm)
- Fix CSP headers when
S3_ALIAS_HOST
includes a path component (ClearlyClaire) - Fix
tootctl accounts approve --number N
not aproving N earliest registrations (danielmbrasil) - Fix being able to vote on your own polls (ClearlyClaire)
- Fix race condition when reblogging a status (ClearlyClaire)
- Fix “Authorized applications” inefficiently and incorrectly getting last use date (ClearlyClaire)
- Fix multiple N+1s in ConversationsController (ClearlyClaire, ClearlyClaire, ClearlyClaire)
- Fix user archive takeouts when using OpenStack Swift (ClearlyClaire)
- Fix searching for remote content by URL not working under certain conditions (ClearlyClaire)
- Fix inefficiencies in indexing content for search (VyrCossont, VyrCossont)
Security
- Add finer permission requirements for managing webhooks (ClearlyClaire)
- Update dependencies
- Add hardening headers for user-uploaded files (ClearlyClaire)
- Fix verified links possibly hiding important parts of the URL (CVE-2023-36462)
- Fix timeout handling of outbound HTTP requests (CVE-2023-36461)
- Fix arbitrary file creation through media processing (CVE-2023-36460)
- Fix possible XSS in preview cards (CVE-2023-36459)
Upgrade notes
To get the code for v4.0.5, use git fetch && git checkout v4.0.5
.
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
Apart from ImageMagick, external dependencies have not changed compared to v4.0.4, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:
- Ruby: 2.7 to 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 informations and ways to fix it on this page.
Update steps
The following instructions are for updating from 4.0.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.
Non-Docker only:
- Install dependencies:
bundle install
andyarn install
Both Docker and non-Docker:
ℹ️ The recommended configuration for reverse proxies has been updated. Unlike updating Mastodon itself, this is not urgent, but hardening. The change is about setting Content-Security-Policy: default-src 'none'; form-action 'none'
and X-Content-Type-Options: nosniff
on assets. Check dist/nginx.conf
for more information, and the documentation if you are proxying external object storage.
- Restart all Mastodon processes
v3.5.9
⚠️ This release is an important security release fixing multiple critical security issues (CVE-2023-36460, CVE-2023-36459).Corresponding security releases are available for the 4.1.x branch and the 4.0.x branch.
If you are using nightly builds, do not use this release but update tonightly-2023-07-06-security
or newer instead. If you are on themain
branch, update to the latest commit.
Upgrade overview
This release contains upgrade notes that deviate from the norm:
ℹ️ Requires streaming API restart
ℹ️ There are suggested reverse proxy configuration changes
For more information, scroll down to the upgrade instructions section.
Changelog
Changed
- Change OpenGraph-based embeds to allow fullscreen (ClearlyClaire)
- Change profile updates to be sent to recently-mentioned servers (ClearlyClaire)
- Change auto-linking to allow carets in URL query params (renchap)
Removed
- Remove invalid
X-Frame-Options: ALLOWALL
(ClearlyClaire)
Fixed
- Fix soft-deleted post cleanup scheduler overwhelming the streaming server (ThisIsMissEm)
- Fix incorrect pagination headers in
/api/v2/admin/accounts
(danielmbrasil) - Fix performance of streaming by parsing message JSON once (ThisIsMissEm, ThisIsMissEm)
- Fix CSP headers when
S3_ALIAS_HOST
includes a path component (ClearlyClaire) - Fix
tootctl accounts approve --number N
not aproving N earliest registrations (danielmbrasil) - Fix being able to vote on your own polls (ClearlyClaire)
- Fix race condition when reblogging a status (ClearlyClaire)
- Fix “Authorized applications” inefficiently and incorrectly getting last use date (ClearlyClaire)
- Fix multiple N+1s in ConversationsController (ClearlyClaire, ClearlyClaire, ClearlyClaire)
- Fix user archive takeouts when using OpenStack Swift (ClearlyClaire)
- Fix inefficiencies in indexing content for search (VyrCossont, VyrCossont)
Security
- Update dependencies
- Add hardening headers for user-uploaded files (ClearlyClaire)
- Fix verified links possibly hiding important parts of the URL (CVE-2023-36462)
- Fix timeout handling of outbound HTTP requests (CVE-2023-36461)
- Fix arbitrary file creation through media processing (CVE-2023-36460)
- Fix possible XSS in preview cards (CVE-2023-36459)
Upgrade notes
To get the code for v3.5.9, use git fetch && git checkout v3.5.9
.
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
Apart from ImageMagick, external dependencies have not changed compared to v3.5.8, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:
- Ruby: 2.7 to 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 informations and ways to fix it on this page.
Update steps
The following instructions are for updating from 3.5.8.
If you are upgrading directly from an earlier release, please carefully read the upgrade notes for the skipped releases as well, as they often require extra steps such as database migrations.
Non-Docker only:
- Install dependencies:
bundle install
andyarn install
Both Docker and non-Docker:
ℹ️ The recommended configuration for reverse proxies has been updated. Unlike updating Mastodon itself, this is not urgent, but hardening. The change is about setting Content-Security-Policy: default-src 'none'; form-action 'none'
and X-Content-Type-Options: nosniff
on assets. Check dist/nginx.conf
for more information, and the documentation if you are proxying external object storage.
- Restart all Mastodon processes
v4.1.2
Upgrade overview
This release contains upgrade notes that deviate from the norm:
ℹ️ The recommended Ruby version has been updated
For more information, scroll down to the upgrade instructions section.
Changelog
Fixed
- Fix crash in
tootctl
commands making use of parallelization when Elasticsearch is enabled (ClearlyClaire, ClearlyClaire) - Fix crash in
db:setup
when Elasticsearch is enabled (rrgeorge) - Fix user archive takeout when using OpenStack Swift or S3 providers with no ACL support (ClearlyClaire)
- Fix invalid/expired invites being processed on sign-up (ClearlyClaire)
Security
- Update Ruby to 3.0.6 due to ReDoS vulnerabilities (saizai)
- Fix unescaped user input in LDAP query (ClearlyClaire)
Upgrade notes
To get the code for v4.1.2, use git fetch && git checkout v4.1.2
.
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 compared to v4.1.1, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:
- Ruby: 2.7 to 3.0
- PostgreSQL: 9.5 or newer
- Elasticsearch (optional, for full-text search): 7.x
- Redis: 4 or newer
- Node: 14 or higher
However, the recommended Ruby version has changed from 3.0.4 to 3.0.6.
Update steps
The following instructions are for updating from 4.1.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.
Non-Docker only:
- The recommended Ruby version has been bumped to 3.0.6. If you are using
rbenv
, you will be require to install it withRUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 3.0.6
. You may need to updaterbenv
itself withgit -C /home/mastodon/.rbenv/plugins/ruby-build pull
. - Install dependencies:
bundle install
andyarn install
Both Docker and non-Docker:
- Restart all Mastodon processes
v4.0.4
This is a backport for the 4.0.x branch.
Upgrade overview
This release contains upgrade notes that deviate from the norm:
ℹ️ The recommended Ruby version has been updated
For more information, scroll down to the upgrade instructions section.
Changelog
Fixed
- Fix crash in
tootctl
commands making use of parallelization when Elasticsearch is enabled (ClearlyClaire, ClearlyClaire) - Fix crash in
db:setup
when Elasticsearch is enabled (rrgeorge) - Fix user archive takeout when using OpenStack Swift or S3 providers with no ACL support (ClearlyClaire)
- Fix invalid/expired invites being processed on sign-up (ClearlyClaire)
Security
- Update Ruby to 3.0.6 due to ReDoS vulnerabilities (saizai)
- Fix unescaped user input in LDAP query (ClearlyClaire)
Upgrade notes
To get the code for v4.0.4, use git fetch && git checkout v4.0.4
.
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 compared to v4.0.3, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:
- Ruby: 2.7 to 3.0
- PostgreSQL: 9.5 or newer
- Elasticsearch (optional, for full-text search): 7.x
- Redis: 4 or newer
- Node: 14 or higher
However, the recommended Ruby version has changed from 3.0.4 to 3.0.6.
Update steps
The following instructions are for updating from 4.0.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.
Non-Docker only:
- The recommended Ruby version has been bumped to 3.0.6. If you are using
rbenv
, you will be require to install it withRUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 3.0.6
. You may need to updaterbenv
itself withgit -C /home/mastodon/.rbenv/plugins/ruby-build pull
. - Install dependencies:
bundle install
andyarn install
Both Docker and non-Docker:
- Restart all Mastodon processes
v3.5.8
This is a backport for the 3.5.x branch.
Upgrade overview
This release contains upgrade notes that deviate from the norm:
ℹ️ The recommended Ruby version has been updated
For more information, scroll down to the upgrade instructions section.
Changelog
Fixed
- Fix crash in
tootctl
commands making use of parallelization when Elasticsearch is enabled (ClearlyClaire, ClearlyClaire) - Fix crash in
db:setup
when Elasticsearch is enabled (rrgeorge) - Fix user archive takeout when using OpenStack Swift or S3 providers with no ACL support (ClearlyClaire)
- Fix invalid/expired invites being processed on sign-up (ClearlyClaire)
Security
- Update Ruby to 3.0.6 due to ReDoS vulnerabilities (saizai)
- Fix unescaped user input in LDAP query (ClearlyClaire)
Upgrade notes
Because this is a backport, it is not available with git pull
. Use git fetch && git checkout v3.5.8
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 compared to v3.5.7, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:
- Ruby: 2.7 to 3.0
- PostgreSQL: 9.5 or newer
- Elasticsearch (optional, for full-text search): 7.x
- Redis: 4 or newer
- Node: 12.22 or newer
However, the recommended Ruby version has changed from 3.0.3 to 3.0.6.
Update steps
The following instructions are for updating from 3.5.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 or dependency updates.
Non-Docker
- Pull the code:
git fetch && git checkout v3.5.8
- If you are using
rbenv
, you will be require to install it withRUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 3.0.6
. You may need to updaterbenv
itself withgit -C /home/mastodon/.rbenv/plugins/ruby-build pull
. - Install dependencies:
bundle install
andyarn install
- Restart
mastodon-web
andmastodon-sidekiq
:
systemctl reload mastodon-web
systemctl restart mastodon-sidekiq
Docker
The exact steps depend on your setup, but they are likely to match the following:
- Pull the code:
git fetch && git checkout v3.5.8
- Pull the prebuilt images:
docker-compose pull
, or, alternatively, build them yourself:docker-compose build --pull
- Restart all Mastodon processes:
docker-compose up -d