Releases: mastodon/mastodon
v4.0.9
⚠️ The 4.0.x branch will not receive any update—including security fixes—after 2023-10-31.
This is a backport for the 4.0.x branch.
End of life notice
The 4.0.x branch will not receive any update after 2023-10-31.
This means that no security fix will be made available for this branch after this date, and you will need to update to a more recent version (such as the 4.1.x branch) to receive security fixes.
Changelog
Changed
- Change remote report processing to accept reports with long comments, but truncate them (ThisIsMissEm)
Fixed
- Fix blocking subdomains of an already-blocked domain (ClearlyClaire)
- Fix
/api/v1/timelines/tag/:hashtag
allowing for unauthenticated access when public preview is disabled (danielmbrasil) - Fix inefficiencies in
PlainTextFormatter
(ClearlyClaire)
Upgrade notes
To get the code for v4.0.9, use git fetch && git checkout v4.0.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
External dependencies have not changed compared to v4.0.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: >= 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.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 --frozen-lockfile
Both Docker and non-Docker:
- Restart all Mastodon processes
v3.5.13
⚠️ The 3.5.x branch will not receive any update—including security fixes—after 2023-12-31.
This is a backport for the 3.5.x branch.
End of life notice
The 3.5.x branch will not receive any update after 2023-12-31.
This means that no security fix will be made available for this branch after this date, and you will need to update to a more recent version (such as the 4.1.x branch) to receive security fixes.
Changelog
Changed
- Change remote report processing to accept reports with long comments, but truncate them (ThisIsMissEm)
Fixed
- Fix blocking subdomains of an already-blocked domain (ClearlyClaire)
- Fix
/api/v1/timelines/tag/:hashtag
allowing for unauthenticated access when public preview is disabled (danielmbrasil) - Fix inefficiencies in
PlainTextFormatter
(ClearlyClaire)
Upgrade notes
To get the code for v3.5.13, use git fetch && git checkout v3.5.13
.
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.12, 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.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.
Non-Docker only:
- Install dependencies:
bundle install
andyarn install --frozen-lockfile
Both Docker and non-Docker:
- Restart all Mastodon processes
v4.2.0-beta3
⚠️ This is a beta release! This is primarily aimed at server administrators who are willing to report issues, and may be less reliable than stable 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 as well as the upcoming 4.2.0 stable release.
⚠️ 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 v4.1.4).
Upgrade overview
This release contains upgrade notes that deviate from the norm:
ℹ️ Requires streaming API restart
ℹ️ Requires database migrations
ℹ️ Starting from this release, Mastodon will periodically check for updates (see below if you want to disable that behavior)
For more information, scroll down to the upgrade instructions section.
Changelog (v4.2.0-beta3)
Added
- Add full-text search of opted-in public posts and rework search operators (Gargron, jsgoldstein, ClearlyClaire, ClearlyClaire, jsgoldstein, Gargron, Gargron, Gargron, Gargron, Gargron, Gargron, Gargron, ClearlyClaire, Gargron, Gargron, ClearlyClaire, ClearlyClaire, ClearlyClaire, Gargron, ClearlyClaire, Gargron, Gargron, Gargron)
This introduces a newpublic_statuses
Elasticsearch index for public posts by users who have opted in to their posts being searchable (toot#indexable
flag).
This also revisits the other indexes to provide more useful indexing, and adds new search operators such asfrom:me
,before:2022-11-01
,after:2022-11-01
,during:2022-11-01
,language:fr
,has:poll
, orin:library
(for searching only in posts you have written or interacted with).
Results are now ordered chronologically. - Add admin notifications for new Mastodon versions (ClearlyClaire)
This is done by queryinghttps://api.joinmastodon.org/update-check
every 30 minutes in a background job.
That URL can be changed using theUPDATE_CHECK_URL
environment variable, and the feature outright disabled by setting that variable to an empty string (UPDATE_CHECK_URL=
). - Add
authorized_fetch
server setting in addition to env var (ClearlyClaire) - Add avatar image to webfinger responses (tvler)
- Add an explanation banner on switching to single column mode (Signez, Signez)
- Add debug logging on signature verification failure (ClearlyClaire)
- Add explicit error messages when DeepL quota is exceeded (lutoma)
- Add Elasticsearch/OpenSearch version to “Software” in admin dashboard (ClearlyClaire)
- Add
data-nosnippet
attribute to remote posts and local posts withnoindex
(ClearlyClaire) - Add support for federating
memorial
attribute (rrgeorge) - Add Cherokee and Kalmyk to languages dropdown (gunchleoc, gunchleoc)
Changed
- Change from
node-redis
toioredis
for streaming (gmemstr) - Change private statuses index to index without crutches (ClearlyClaire)
- Change video compression parameters (Gargron, Gargron, Gargron)
- Change the pre-release versioning scheme and associated environment variables (sinoru, ClearlyClaire, ClearlyClaire, ClearlyClaire)
- Change admin e-mail notification settings to be their own settings group (ClearlyClaire)
- Change opacity of the delete icon in the search field to be more visible (AntoninDelFabbro)
- Change hashtag bar tags to be de-emphasized (ClearlyClaire, Gargron)
- Change the hashtag bar to be hidden when there is a CW and the post is not expanded (renchap)
- Change Account Search to prioritize username over display name (jsgoldstein)
Removed
- Remove
kmr
from language selection, as it was a duplicate forku
(gunchleoc, ClearlyClaire)
Fixed
- Fix invalid
Content-Type
header for WebP images (c960657) - Fix wrong color on active icons with counters in web UI (Gargron)
- Fix minor inefficiencies in
tootctl search deploy
(ClearlyClaire) - Fix
AddUniqueIndexOnPreviewCardsStatuses
migration requiring PostgreSQL 12+ in some cases (ClearlyClaire) - Fix filter form in profiles directory overflowing instead of wrapping (arbolitoloco1)
- Fix
/api/v1/timelines/tag/:hashtag
allowing for unauthenticated access when public preview is disabled (danielmbrasil) - Fix inefficiencies in
PlainTextFormatter
(ClearlyClaire) - Fix sign up steps progress layout in right-to-left locales (ClearlyClaire)
- Fix bug with “favorited by” and “reblogged by“ view on posts only showing up to 40 items (timothyjrogers, timothyjrogers)
- Fix bad search type heuristic (Gargron)
- Fix not being able to negate prefix clauses in search (Gargron)
- Fix toast saying "published" instead of "saved" after editing post in web UI (Gargron)
- Fix clicking “Explore” or “Live feeds” column headers to scroll in advanced mode (ClearlyClaire)
- Fix selecting domains to forward reports not passing the information correctly (ClearlyClaire)
- Fix timeout on invalid set of exclusionary parameters in
/api/v1/timelines/public
(danielmbrasil) - Fix unexpected audio stream transcoding when uploaded video is eligible to passthrough (yufushiro)
- Fix hashtag normalization when ...
v4.2.0-beta2
⚠️ This is a beta release! This is primarily aimed at server administrators who are willing to report issues, and may be less reliable than stable 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 as well as the upcoming 4.2.0 stable release.
⚠️ 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 v4.1.4).
Upgrade overview
This release contains upgrade notes that deviate from the norm:
ℹ️ Requires streaming API restart
ℹ️ Requires database migrations
For more information, scroll down to the upgrade instructions section.
Changelog (v.4.2.0-beta2)
Added
- Add “Privacy and reach” tab in profile settings (Gargron, ClearlyClaire)
This reorganized scattered privacy and reach settings to a single place, as well as improve their wording. - Add display of out-of-band hashtags in the web interface (Gargron, arbolitoloco1, ClearlyClaire, ClearlyClaire)
- Add auto-refresh of accounts we get new messages/edits of (ClearlyClaire)
- Add Elasticsearch cluster health check and indexes mismatch check to dashboard (ClearlyClaire)
- Add support for
indexable
attribute on remote actors (Gargron) - Add
DELETE /api/v1/profile/avatar
andDELETE /api/v1/profile/header
to the REST API (danielmbrasil, ClearlyClaire) - Add
S3_DISABLE_CHECKSUM_MODE
environment variable for compatibility with some S3-compatible providers (ClearlyClaire) - Add
ES_PRESET
option to customize numbers of shards and replicas (Gargron, ClearlyClaire)
This can have a value ofsingle_node_cluster
(default),small_cluster
(uses one replica) orlarge_cluster
(uses one replica and a higher number of shards). - Add missing
instances
option totootctl search deploy
(tribela) - Add
CACHE_BUSTER_HTTP_METHOD
environment variable (renchap, ClearlyClaire) - Add support for
DB_PASS
when usingDATABASE_URL
(ThisIsMissEm)
Changed
- Change hashtags to be displayed separately when they are the last line of a post (renchap)
- Change the hashtag column to not display the hashtag header on pinned columns (ClearlyClaire)
- Change follow recommendation materialized view to be faster in most cases (renchap, ClearlyClaire)
- Change
robots.txt
to block GPTBot (Foritus)
Removed
- Remove old non-unique index on
preview_cards
statuses join table (ClearlyClaire)
Fixed
- Fix blocking subdomains of an already-blocked domain (ClearlyClaire)
- Fix reply not preserving the language from the replied-to post (ClearlyClaire)
- Fix "Create Account" button in interaction modal (mgmn)
- Fix unfollow icon styling in advanced column (ClearlyClaire)
- Fix “legal” report category not showing up in moderation interface (ClearlyClaire)
- Fix cached posts including stale stats (ClearlyClaire)
- Fix uploading of video files for which
ffprobe
reports0/0
average framerate (NicolaiSoeborg) - Fix avatar and header image preview in profile settings (c960657)
Changelog (v4.2.0-beta1)
The following changelog entries focus on changes visible to users, administrators, client developers or federated software developers, but there has also been a lot of code modernization, refactoring, and tooling work, in particular by @danielmbrasil, @mjankowski, @nschonni, @renchap, and @takayamaki.
Added
- Add role badges to the web interface (ClearlyClaire, Gargron)
- Add ability to pick domains to forward reports to using the
forward_to_domains
parameter inPOST /api/v1/reports
(ClearlyClaire)
Theforward_to_domains
REST API parameter is a list of strings. If it is empty or omitted, the previous behavior is maintained.
Theforward
parameter still needs to be set forforward_to_domains
to be taken into account.
The forwarded-to domains can only include that of the original author and people being replied to. - Add forwarding of reported replies to servers being replied to (Gargron, ClearlyClaire)
- Add direct link to the Single-Sign On provider if there is only one sign up method available (CSDUMMI, ClearlyClaire)
- Add webhook templating (Gargron)
- Add webhooks for local
status.created
,status.updated
,account.updated
andreport.updated
(VyrCossont, VyrCossont, VyrCossont) - Add exclusive lists (dariusk, necropolina, ClearlyClaire)
- Add a confirmation screen when suspending a domain (ClearlyClaire, ClearlyClaire)
- Add support for importing lists (ClearlyClaire, mgmn, ClearlyClaire)
- Add optional hCaptcha support (ClearlyClaire, ClearlyClaire, Gargron, ClearlyClaire)
- Add lines to threads in web UI (Gargron, ClearlyClaire, ClearlyClaire, ClearlyClaire, ClearlyClaire, ClearlyClaire, ClearlyClaire, ClearlyClaire, teeerevor, renchap)
- Add new onboarding flow to web UI (Gargron, Gargron, Gargron, ClearlyClaire, [ThisIsMissEm](https://github.com/mastodon/mastodon/p...
v4.2.0-beta1
⚠️ This is a beta release! This is primarily aimed at server administrators who are willing to report issues, and may be less reliable than stable 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 as well as the upcoming 4.2.0 stable release.
⚠️ 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 v4.1.4).
Upgrade overview
This release contains upgrade notes that deviate from the norm:
ℹ️ Requires streaming API restart
ℹ️ Requires database migrations
For more information, scroll down to the upgrade instructions section.
Changelog
The following changelog entries focus on changes visible to users, administrators, client developers or federated software developers, but there has also been a lot of code modernization, refactoring, and tooling work, in particular by @danielmbrasil, @mjankowski, @nschonni, @renchap, and @takayamaki.
Added
- Add role badges to the web interface (ClearlyClaire, Gargron)
- Add ability to pick domains to forward reports to using the
forward_to_domains
parameter inPOST /api/v1/reports
(ClearlyClaire)
Theforward_to_domains
REST API parameter is a list of strings. If it is empty or omitted, the previous behavior is maintained.
Theforward
parameter still needs to be set forforward_to_domains
to be taken into account.
The forwarded-to domains can only include that of the original author and people being replied to. - Add forwarding of reported replies to servers being replied to (Gargron, ClearlyClaire)
- Add direct link to the Single-Sign On provider if there is only one sign up method available (CSDUMMI, ClearlyClaire)
- Add webhook templating (Gargron)
- Add webhooks for local
status.created
,status.updated
,account.updated
andreport.updated
(VyrCossont, VyrCossont, VyrCossont) - Add exclusive lists (dariusk, necropolina, ClearlyClaire)
- Add a confirmation screen when suspending a domain (ClearlyClaire, ClearlyClaire)
- Add support for importing lists (ClearlyClaire, mgmn, ClearlyClaire)
- Add optional hCaptcha support (ClearlyClaire, ClearlyClaire, Gargron, ClearlyClaire)
- Add lines to threads in web UI (Gargron, ClearlyClaire, ClearlyClaire, ClearlyClaire, ClearlyClaire, ClearlyClaire, ClearlyClaire, ClearlyClaire, teeerevor, renchap)
- Add new onboarding flow to web UI (Gargron, Gargron, Gargron, ClearlyClaire, ThisIsMissEm, Gargron, stevenjlm, ClearlyClaire, ClearlyClaire, Gargron, ClearlyClaire)
- Add
GET /api/v1/instance/languages
to REST API (danielmbrasil) - Add primary key to
preview_cards_statuses
join table (ClearlyClaire, ClearlyClaire) - Add client-side timeout on resend confirmation button (Gargron)
- Add published date and author to news on the explore screen in web UI (Gargron)
- Add
lang
attribute to various UI components (c960657, c960657, c960657, c960657) - Add stricter protocol fields validation for accounts (ClearlyClaire)
- Add support for Azure blob storage (mistydemeo, mistydemeo)
- Add toast with option to open post after publishing in web UI (Gargron, Signez)
- Add canonical link tags in web UI (Gargron)
- Add button to see results for polls in web UI (Gargron)
- Add at-symbol prepended to mention span title (forsamori)
- Add users index on
unconfirmed_email
(ClearlyClaire, ClearlyClaire) - Add superapp index on
oauth_applications
(ClearlyClaire) - Add index to backups on
user_id
column (mjankowski) - Add onboarding prompt when home feed too slow in web UI (Gargron, ClearlyClaire, Gargron, renchap, ClearlyClaire, ClearlyClaire, ClearlyClaire)
- Add
POST /api/v1/conversations/:id/unread
API endpoint to mark a conversation as unread (ClearlyClaire) - Add
translate="no"
to outgoing mentions and links (ClearlyClaire) - Add unsubscribe link and headers to e-mails (Gargron, c960657)
- Add logging of websocket send errors (ThisIsMissEm)
- Add time zone preference (Gargron, ClearlyClaire)
- Add
legal
as report category (Gargron, renchap) - Add
data-nosnippet
so Google doesn't use trending posts in snippets for/
(ClearlyClaire) - Add card with who invited you to join when displaying rules on sign-up (ClearlyClaire)
- Add m...
v4.1.6
⚠️ 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 v4.1.4).
Upgrade overview
ℹ️ Requires streaming API restart
For more information, scroll down to the upgrade instructions section.
Changelog
Fixed
- Fix memory leak in streaming server (ThisIsMissEm)
- Fix wrong filters sometimes applying in streaming (ClearlyClaire, ThisIsMissEm, renchap)
- Fix incorrect connect timeout in outgoing requests (ClearlyClaire)
Upgrade notes
To get the code for v4.1.6, use git fetch && git checkout v4.1.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
External dependencies have not changed compared to v4.1.5, 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 information and ways to fix it on this page.
Update steps
The following instructions are for updating from 4.1.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:
- Install dependencies:
bundle install
andyarn install
Both Docker and non-Docker:
- Restart all Mastodon processes
v4.0.8
This is a backport for the 4.0.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 v4.0.6).
Upgrade overview
ℹ️ Requires streaming API restart
For more information, scroll down to the upgrade instructions section.
Changelog
Fixed
- Fix memory leak in streaming server (ThisIsMissEm)
- Fix wrong filters sometimes applying in streaming (ClearlyClaire, ThisIsMissEm, renchap)
- Fix incorrect connect timeout in outgoing requests (ClearlyClaire)
Upgrade notes
To get the code for v4.0.8, use git fetch && git checkout v4.0.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 v4.0.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: >= 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.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:
- Install dependencies:
bundle install
andyarn install
Both Docker and non-Docker:
- Restart all Mastodon processes
v3.5.12
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).
Upgrade overview
ℹ️ Requires streaming API restart
For more information, scroll down to the upgrade instructions section.
Changelog
Fixed
- Fix memory leak in streaming server (ThisIsMissEm)
- Fix incorrect connect timeout in outgoing requests (ClearlyClaire)
Upgrade notes
To get the code for v3.5.12, use git fetch && git checkout v3.5.12
.
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.11, 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.11.
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.5
⚠️ 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 v4.1.4).
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 v4.1.5, use git fetch && git checkout v4.1.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
External dependencies have not changed compared to v4.1.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 information and ways to fix it on this page.
Update steps
The following instructions are for updating from 4.1.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:
- Restart all Mastodon processes
v4.0.7
This is a backport for the 4.0.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 v4.0.6).
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 v4.0.7, use git fetch && git checkout v4.0.7
.
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.6, 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 information and ways to fix it on this page.
Update steps
The following instructions are for updating from 4.0.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:
- Install dependencies:
bundle install
andyarn install
Both Docker and non-Docker:
- Restart all Mastodon processes