Releases: mastodon/mastodon
v4.1.1
Upgrade overview
This release contains upgrade notes that deviate from the norm:
ℹ️ Behaviour of RAILS_SERVE_STATIC_FILES
changed
For more information, scroll down to the upgrade instructions section.
Changelog
Added
- Add redirection from paths with url-encoded
@
to their decoded form (thijskh) - Add
lang
attribute to native language names in language picker in Web UI (ClearlyClaire) - Add headers to outgoing mails to avoid auto-replies (ClearlyClaire)
- Add support for refreshing many accounts at once with
tootctl accounts refresh
(9p4) - Add confirmation modal when clicking to edit a post with a non-empty compose form (PauloVilarinho)
- Add support for the HAproxy PROXY protocol through the
PROXY_PROTO_V1
environment variable (CSDUMMI) - Add
SENDFILE_HEADER
environment variable (Gargron) - Add cache headers to static files served through Rails (Gargron)
This also changes static files to be served only if theRAILS_SERVE_STATIC_FILES
environment variable is set totrue
.
Changed
- Increase contrast of upload progress bar background (toolmantim)
- Change post auto-deletion throttling constants to better scale with server size (ClearlyClaire)
- Change order of bookmark and favourite sidebar entries in single-column UI for consistency (TerryGarcia)
- Change
ActivityPub::DeliveryWorker
retries to be spread out more (ClearlyClaire)
Fixed
- Fix “Remove all followers from the selected domains” also removing follows and notifications (ClearlyClaire)
- Fix streaming metrics format (emilweth, emilweth)
- Fix case-sensitive check for previously used hashtags in hashtag autocompletion (deanveloper)
- Fix focus point of already-attached media not saving after edit (ClearlyClaire)
- Fix sidebar behavior in settings/admin UI on mobile (wxt2005)
- Fix inefficiency when searching accounts per username in admin interface (ClearlyClaire)
- Fix duplicate “Publish” button on mobile (ClearlyClaire)
- Fix server error when failing to follow back followers from
/relationships
(ClearlyClaire) - Fix server error when attempting to display the edit history of a trendable post in the admin interface (ClearlyClaire)
- Fix
tootctl accounts migrate
crashing because of a typo (ClearlyClaire) - Fix original account being unfollowed on migration before the follow request to the new account could be sent (ClearlyClaire)
- Fix the “Back” button in column headers sometimes leaving Mastodon (c960657)
- Fix pgBouncer resetting application name on every transaction (Gargron)
- Fix unconfirmed accounts being counted as active users (ClearlyClaire)
- Fix
/api/v1/streaming
sub-paths not being redirected (ClearlyClaire) - Fix drag'n'drop upload area text that spans multiple lines not being centered (vintprox)
- Fix sidekiq jobs not triggering Elasticsearch index updates (ClearlyClaire)
- Fix tags being unnecessarily stripped from plain-text short site description (c960657)
- Fix HTML entities not being un-escaped in extracted plain-text from remote posts (c960657)
- Fix dashboard crash on ElasticSearch server error (ClearlyClaire)
- Fix incorrect post links in strikes when the account is remote (ClearlyClaire)
- Fix misleading error code when receiving invalid WebAuthn credentials (ClearlyClaire)
- Fix duplicate mails being sent when the SMTP server is too slow to close the connection (ClearlyClaire)
Security
- Change user backups to use expiring URLs for download when possible (Gargron)
- Add warning for object storage misconfiguration (ClearlyClaire)
Upgrade notes
ℹ️ The RAILS_SERVE_STATIC_FILES
environment variable now only enables serving static files from Mastodon/Rails itself if it is set to true
(previously, any non-empty value, including false
would enable serving static files).
To get the code for v4.1.1, use git fetch && git checkout v4.1.1
.
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.0, 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
Update steps
The following instructions are for updating from 4.1.0.
If you are upgrading directly from an earlier release, please carefully read the upgrade notes for the skipped releases as well, as they often require extra steps such as database migrations.
Non-Docker only:
- Install dependencies:
bundle install
andyarn install
Both Docker and non-Docker:
- Precompile the assets:
- Non-Docker:
RAILS_ENV=production bundle exec rails assets:precompile
- Docker: The assets are already precompiled during the build step
- Non-Docker:
- Restart all Mastodon processes
v4.0.3
This is a backport for the 4.0.x branch.
Changelog
Added
- Add redirection from paths with url-encoded
@
to their decoded form (thijskh) - Add
lang
attribute to native language names in language picker in Web UI (ClearlyClaire) - Add headers to outgoing mails to avoid auto-replies (ClearlyClaire)
Fixed
- Fix “Remove all followers from the selected domains” being more destructive than it claims (ClearlyClaire)
- Fix case-sensitive check for previously used hashtags in hashtag autocompletion (deanveloper)
- Fix sidebar behavior in settings/admin UI on mobile (wxt2005)
- Fix inefficiency when searching accounts per username in admin interface (ClearlyClaire)
- Fix server error when failing to follow back followers from
/relationships
(ClearlyClaire) - Fix server error when attempting to display the edit history of a trendable post in the admin interface (ClearlyClaire)
- Fix original account being unfollowed on migration before the follow request to the new account could be sent (ClearlyClaire)
- Fix pgBouncer resetting application name on every transaction (Gargron)
- Fix unconfirmed accounts being counted as active users (ClearlyClaire)
- Fix
/api/v1/streaming
sub-paths not being redirected (ClearlyClaire) - Fix drag'n'drop upload area text that spans multiple lines not being centered (vintprox)
- Fix sidekiq jobs not triggering Elasticsearch index updates (ClearlyClaire)
- Fix tags being unnecessarily stripped from plain-text short site description (c960657)
- Fix HTML entities not being un-escaped in extracted plain-text from remote posts (c960657)
- Fix dashboard crash on ElasticSearch server error (ClearlyClaire)
- Fix incorrect post links in strikes when the account is remote (ClearlyClaire)
- Fix misleading error code when receiving invalid WebAuthn credentials (ClearlyClaire)
Security
- Change user backups to use expiring URLs for download when possible (Gargron)
- Add warning for object storage misconfiguration (ClearlyClaire)
Upgrade notes
To get the code for v4.0.3, use git fetch && git checkout v4.0.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
External dependencies have not changed compared to v4.0.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 or higher
Update steps
The following instructions are for updating from 4.0.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:
- Precompile the assets:
- Non-Docker:
RAILS_ENV=production bundle exec rails assets:precompile
- Docker: The assets are already precompiled during the build step
- Non-Docker:
- Restart all Mastodon processes
v3.5.7
This is a backport for the 3.5.x branch.
Changelog
Added
- Add
lang
attribute to native language names in language picker in Web UI (ClearlyClaire) - Add headers to outgoing mails to avoid auto-replies (ClearlyClaire)
Fixed
- Fix “Remove all followers from the selected domains” being more destructive than it claims (ClearlyClaire)
- Fix case-sensitive check for previously used hashtags in hashtag autocompletion (deanveloper)
- Fix inefficiency when searching accounts per username in admin interface (ClearlyClaire)
- Fix server error when failing to follow back followers from
/relationships
(ClearlyClaire) - Fix original account being unfollowed on migration before the follow request to the new account could be sent (ClearlyClaire)
- Fix pgBouncer resetting application name on every transaction (Gargron)
- Fix unconfirmed accounts being counted as active users (ClearlyClaire)
- Fix
/api/v1/streaming
sub-paths not being redirected (ClearlyClaire) - Fix drag'n'drop upload area text that spans multiple lines not being centered (vintprox)
- Fix sidekiq jobs not triggering Elasticsearch index updates (ClearlyClaire)
- Fix missing null check on applications on strike disputes (kescherCode)
- Fix dashboard crash on ElasticSearch server error (ClearlyClaire)
- Fix incorrect post links in strikes when the account is remote (ClearlyClaire)
- Fix misleading error code when receiving invalid WebAuthn credentials (ClearlyClaire)
Security
- Change user backups to use expiring URLs for download when possible (Gargron)
- Add warning for object storage misconfiguration (ClearlyClaire)
Upgrade notes
Because this is a backport, it is not available with git pull
. Use git fetch && git checkout v3.5.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 v3.5.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: 12.22 or newer
Update steps
The following instructions are for updating from 3.5.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 or dependency updates.
Non-Docker
- Pull the code:
git fetch && git checkout v3.5.7
- Precompile the assets:
RAILS_ENV=production bundle exec rails assets:precompile
- 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.7
- Pull the prebuilt images:
docker-compose pull
, or, alternatively, build them yourself:docker-compose build --pull
- Restart all Mastodon processes:
docker-compose up -d
v4.1.0
Changelog
Added
- Add support for importing/exporting server-wide domain blocks (enbylenore, ClearlyClaire, dariusk, ClearlyClaire)
- Add listing of followed hashtags (connorshea)
- Add support for editing media description and focus point of already-sent posts (ClearlyClaire)
- Previously, you could add and remove attachments, but not edit media description of already-attached media
- REST API changes:
PUT /api/v1/statuses/:id
now takes an extramedia_attributes[]
array parameter with theid
of the updated media and their updateddescription
,focus
, andthumbnail
- Add follow request banner on account header (ClearlyClaire)
- REST API changes:
Relationship
entities have an extrarequested_by
boolean attribute representing whether the represented user has requested to follow you
- REST API changes:
- Add confirmation screen when handling reports (ClearlyClaire, Gargron, tribela)
- Add option to make the landing page be
/about
even when trends are enabled (ClearlyClaire) - Add
noindex
setting back to the admin interface (prplecake) - Add instance peers API endpoint toggle back to the admin interface (dariusk)
- Add instance activity API endpoint toggle back to the admin interface (dariusk)
- Add setting for status page URL (Gargron, ClearlyClaire)
- REST API changes:
- Add
configuration.urls.status
attribute to the object returned byGET /api/v2/instance
- Add
- REST API changes:
- Add
account.approved
webhook (Saiv46) - Add 12 hours option to polls (Pleclown)
- Add dropdown menu item to open admin interface for remote domains (ClearlyClaire)
- Add
--remove-headers
,--prune-profiles
and--include-follows
flags totootctl media remove
(evanphilip) - Add
--email
and--dry-run
options totootctl accounts delete
(ClearlyClaire) - Add
tootctl accounts migrate
(ClearlyClaire) - Add
tootctl accounts prune
(tribela) - Add
tootctl domains purge
(ClearlyClaire) - Add
SIDEKIQ_CONCURRENCY
environment variable (muffinista) - Add
DB_POOL
environment variable support for streaming server (Gargron) - Add
MIN_THREADS
environment variable to set minimum Puma threads (jimeh) - Add explanation text to log-in page (ClearlyClaire)
- Add user profile OpenGraph tag on post pages (bramus)
- Add maskable icon support for Android (workeffortwaste)
- Add Belarusian to supported languages (Mixaill)
- Add Western Frisian to supported languages (ykzts)
- Add Montenegrin to the language picker (ayefries)
- Add Southern Sami and Lule Sami to the language picker (Jullan-M)
- Add logging for Rails cache timeouts (ClearlyClaire)
- Add color highlight for active hashtag “follow” button (MFTabriz)
- Add brotli compression to
assets:precompile
(Izorkin) - Add “disabled” account filter to the
/admin/accounts
UI (tribela) - Add transparency to modal background for accessibility (edent)
- Add
lang
attribute to image description textarea and poll option field (c960657) - Add
spellcheck
attribute to Content Warning and poll option input fields (c960657) - Add
title
attribute to video elements in media attachments (bramus) - Add left and right margins to emojis (dsblank)
- Add
roles
attribute toAccount
entities in REST API (ClearlyClaire, tribela) - Add
reading:autoplay:gifs
to/api/v1/preferences
(j-f1) - Add
hide_collections
parameter to/api/v1/accounts/credentials
(CarlSchwan) - Add
policy
attribute to web push subscription objects in REST API at/api/v1/push/subscriptions
(ClearlyClaire) - Add metrics endpoint to streaming API (Gargron, Gargron)
- Add more specific error messages to HTTP signature verification (ClearlyClaire)
- Add Storj DCS to cloud object storage options in the
mastodon:setup
rake task (jtolio) - Add checkmark symbol in the checkbox for sensitive media (sidp)
- Add missing accessibility attributes to logout link in modals (kytta)
- Add missing accessibility attributes to “Hide image” button in
MediaGallery
(hs4man21) - Add missing accessibility attributes to hide content warning field when disabled (hs4man21)
- Add
aria-hidden
to footer circle dividers to improve accessibility (hs4man21) - Add
lang
attribute to compose form inputs (ClearlyClaire)
Changed
- Ensure exact match is the first result in hashtag searches (ClearlyClaire)
- Change account search to return followed accounts first (dariusk)
- Change batch account suspension to create a strike (ClearlyClaire)
- Change default reply language to match the default language when replying to a translated post (ClearlyClaire)
- Change misleading wording about waitlists (ClearlyClaire)
- Increase width of the unread notification border (connorshea)
- Change new post notification button on profiles to make it more apparent when it is enabled (tribela)
- Change trending tags admin interface to always show batch action controls (ClearlyClaire)
- Change wording of some OAuth scope descriptions (ClearlyClaire)
- Change wording of admin report handling actions (ClearlyClaire)
- Change confirm prompts for relationships management (tribela)
- Change language surrounding disability in prompts for media descriptions (hs4man21)
- Change confusing wording in the sign in banner (ClearlyClaire)
- Change
POST /settings/applications/:id
to regenerate token on scopes change (ClearlyClaire) - Change account moderation notes to make links clickable (ClearlyClaire)
- Change link previews for statuses to never use avatar as fallback (Gargron)
- Change email address input to be read-only for logged-in users when requesting a new confirmation e-mail (ClearlyClaire)
- Change notifications per page from 15 to 40 in REST API (Gargron)
- Change number of stored items in home feed from 400 to 800 ([Gargron](https:...
v3.5.6
This is a backport for the 3.5.x branch.
Changelog
Fixed
- Fix changing domain block severity not undoing individual account effects (ClearlyClaire)
- Fix suspension worker crashing on S3-compatible setups without ACL support (ClearlyClaire)
- Fix possible race conditions when suspending/unsuspending accounts (ClearlyClaire)
- Fix some performance issues with
/admin/instances
(ClearlyClaire) - Fix voter count not being cleared when a poll is reset (afontenot)
- Fix attachments of edited statuses not being fetched (ClearlyClaire)
- Fix 500 error when marking posts as sensitive while some of them are deleted (ClearlyClaire)
- Fix user clean-up scheduler crash when an unconfirmed account has a moderation note (ClearlyClaire)
- Fix pending account approval and rejection not being recorded in the admin audit log (FrancisMurillo)
- Fix replies sometimes being delivered to user-blocked domains (tribela)
- Fix sanitizer parsing link text as HTML when stripping unsupported links (ClearlyClaire)
- Fix REST API serializer for
Account
not includingmoved
when the moved account has itself moved (ClearlyClaire)
Security
- Add
form-action
CSP directive (ClearlyClaire) - Fix unbounded recursion in account discovery (ClearlyClaire)
- Fix unbounded recursion in post discovery (ClearlyClaire,nametoolong)
Upgrade notes
Because this is a backport, it is not available with git pull
. Use git fetch && git checkout v3.5.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 v3.5.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: 12.22 or newer
Update steps
The following instructions are for updating from 3.5.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 or dependency updates.
Non-Docker
- Pull the code:
git fetch && git checkout v3.5.6
- 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.6
- Pull the prebuilt images:
docker-compose pull
, or, alternatively, build them yourself:docker-compose build --pull
- Restart all Mastodon processes:
docker-compose up -d
v4.1.0rc3
Note: This is a release candidate. It is intended to be stable, but not guaranteed.
Changelog
For changes since v4.0.2, see the CHANGELOG.
Added
- Add
roles
attribute toAccount
entities in REST API (ClearlyClaire) - Add
lang
attribute to image description textarea and poll option field (c960657)
Changed
- Change notifications per page from 15 to 40 in REST API (Gargron)
- Change number of stored items in home feed from 400 to 800 (Gargron)
- Change API rate limits from 300/5min per user to 1500/5min per user, 300/5min per app (Gargron)
- Change
POST /settings/applications/:id
to regenerate token on scopes change (ClearlyClaire) - Change link previews for statuses to never use avatar as fallback (Gargron)
Removed
- Remove
intersection-observer
polyfill for old Safari support (shuuji3)
Fixed
- Fix styling of featured tags in light theme (ClearlyClaire)
- Fix unserialized
role
on account entities in admin API (Gargron) - Fix
/share
form not getting focus on page load (Akkiesoft) - Fix incorrect link in push notifications for some event types (elizabeth-dev)
Upgrade notes
To get the code for v4.1.0rc3, use git fetch && git checkout v4.1.0rc3
.
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.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 or higher
Update steps
The following instructions are for updating from 4.0.2, 4.1.0rc1 or 4.1.0rc2.
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:
- Run the database migrations:
- Non-Docker:
RAILS_ENV=production bundle exec rails db:migrate
- Docker:
docker-compose run --rm web rails db:migrate
- Non-Docker:
- Precompile the assets:
- Non-Docker:
RAILS_ENV=production bundle exec rails assets:precompile
- Docker: The assets are already precompiled during the build step
- Non-Docker:
- Restart all Mastodon processes
v4.1.0rc2
Note: This is a release candidate. It is intended to be stable, but not guaranteed.
Changelog
For changes since v4.0.2, see the full notes for v4.1.0rc1.
Added
- Add LDSignatures back on actor Delete activities (ClearlyClaire)
- Add
policy
attribute to web push subscription objects in/api/v1/push/subscriptions
(ClearlyClaire) - Add
lang
attribute to compose form inputs (ClearlyClaire)
Changed
- Change email address input to be read-only for logged-in users when requesting a new confirmation e-mail (ClearlyClaire)
Fixed
- Fix error when handling reports without providing a textual explanation (tribela)
- Fix filters not being applied to some notification types (ClearlyClaire)
- Fix moderation audit log items for warnings having incorrect links (ClearlyClaire)
- Fix account activation being sometimes triggered before email confirmation (ClearlyClaire)
- Fix audio player volume control on Safari (minacle)
- Fix drag & drop upload area display in single-column mode (ClearlyClaire)
- Fix email with empty domain name labels passing validation (ClearlyClaire)
- Fix error in
VerifyLinkService
when processing links with invalid URLs (untitaker)
Upgrade notes
To get the code for v4.1.0rc2, use git fetch && git checkout v4.1.0rc2
.
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.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 or higher
Update steps
The following instructions are for updating from 4.0.2 or 4.1.0rc1.
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:
- Run the database migrations:
- Non-Docker:
RAILS_ENV=production bundle exec rails db:migrate
- Docker:
docker-compose run --rm web rails db:migrate
- Non-Docker:
- Precompile the assets:
- Non-Docker:
RAILS_ENV=production bundle exec rails assets:precompile
- Docker: The assets are already precompiled during the build step
- Non-Docker:
- Restart all Mastodon processes
v4.1.0rc1
Note: This is a release candidate. It is intended to be stable, but not guaranteed.
Changelog
Added
- Add support for importing/exporting server-wide domain blocks (enbylenore, ClearlyClaire, dariusk, ClearlyClaire)
- Add listing of followed hashtags (connorshea)
- Add support for editing media description and focus point of already-sent posts (ClearlyClaire)
- Add follow request banner on account header (ClearlyClaire)
- Add confirmation screen when handling reports (ClearlyClaire, Gargron)
- Add option to make the landing page be
/about
even when trends are enabled (ClearlyClaire) - Add
noindex
setting back to the admin interface (prplecake) - Add instance peers API endpoint toggle back to the admin interface (dariusk)
- Add instance activity API endpoint toggle back to the admin interface (dariusk)
- Add
account.approved
webhook (Saiv46) - Add 12 hours option to polls (Pleclown)
- Add dropdown menu item to open admin interface for remote domains (ClearlyClaire)
- Add
--remove-headers
,--prune-profiles
and--include-follows
flags totootctl media remove
(evanphilip) - Add
--email
and--dry-run
options totootctl accounts delete
(ClearlyClaire) - Add
tootctl accounts migrate
(ClearlyClaire) - Add
tootctl accounts prune
(tribela) - Add
tootctl domains purge
(ClearlyClaire) - Add
SIDEKIQ_CONCURRENCY
environment variable (muffinista) - Add
MIN_THREADS
environment variable to set minimum Puma threads (jimeh) - Add explanation text to log-in page (ClearlyClaire)
- Add user profile OpenGraph tag on post pages (bramus)
- Add maskable icon support for Android (workeffortwaste)
- Add Belarusian to supported languages (Mixaill)
- Add Western Frisian to supported languages (ykzts)
- Add Montenegrin to the language picker (ayefries)
- Add Southern Sami and Lule Sami to the language picker (Jullan-M)
- Add logging for Rails cache timeouts (ClearlyClaire)
- Add color highlight for active hashtag “follow” button (MFTabriz)
- Add brotli compression to
assets:precompile
(Izorkin) - Add “disabled” account filter to the
/admin/accounts
UI (tribela) - Add transparency to modal background for accessibility (edent)
- Add
title
attribute to video elements in media attachments (bramus) - Add left and right margins to emojis (dsblank)
- Add
reading:autoplay:gifs
to/api/v1/preferences
(j-f1) - Add
hide_collections
parameter to/api/v1/accounts/credentials
(CarlSchwan) - Add more specific error messages to HTTP signature verification (ClearlyClaire)
- Add Storj DCS to cloud object storage options in the
mastodon:setup
rake task (jtolio) - Add checkmark symbol in the checkbox for sensitive media (sidp)
- Add missing accessibility attributes to logout link in modals (kytta)
- Add missing accessibility attributes to “Hide image” button in
MediaGallery
(hs4man21) - Add missing accessibility attributes to hide content warning field when disabled (hs4man21)
- Add
aria-hidden
to footer circle dividers to improve accessibility (hs4man21)
Changed
- Ensure exact match is the first result in hashtag searches (ClearlyClaire)
- Change account search to return followed accounts first (dariusk)
- Change batch account suspension to create a strike (ClearlyClaire)
- Change default reply language to match the default language when replying to a translated post (ClearlyClaire)
- Change misleading wording about waitlists (ClearlyClaire)
- Increase width of the unread notification border (connorshea)
- Change new post notification button on profiles to make it more apparent when it is enabled (tribela)
- Change trending tags admin interface to always show batch action controls (ClearlyClaire)
- Change wording of some OAuth scope descriptions (ClearlyClaire)
- Change wording of admin report handling actions (ClearlyClaire)
- Change confirm prompts for relationships management (tribela)
- Change language surrounding disability in prompts for media descriptions (hs4man21)
- Change confusing wording in the sign in banner (ClearlyClaire)
- Change account moderation notes to make links clickable (ClearlyClaire)
- Save avatar or header correctly even if the other one fails (tribela)
- Change
referrer-policy
tosame-origin
application-wide (ClearlyClaire, ClearlyClaire) - Add 'private' to
Cache-Control
, match Rails expectations (daxtens) - Make the button that expands the compose form differentiable from the button that publishes a post (Tak)
- Change automatic post deletion configuration to be accessible to moved users (ClearlyClaire)
- Make tag following idempotent (trwnh, ClearlyClaire)
- Use buildx functions for faster builds (inductor)
- Split off Dockerfile components for faster builds (moritzheiber, ineffyble, BtbN)
- Change last occurrence of “silence” to “limit” in UI text (cincodenada)
- Change “hide toot” to “hide post” (seanthegeek)
- Don't allow URLs that contain non-normalized paths to be verified (dgl)
- Change the “Trending now” header to be a link to the Explore page (connorshea)
- Change PostgreSQL connection timeout from 2 minutes to 15 seconds (ClearlyClaire)
- Make handle more easily selectable on profile page (cadars)
- Allow admins to refresh remotely-suspended accounts (ClearlyClaire)
- Change dropdown menu to contain “Copy link to post” even for non-public posts (ClearlyClaire)
- Allow adding relays in secure mode and limited federation mode (ineffyble)
- Change timestamps to be displayed using the user's timez...
v4.0.2
Changelog
Fixed
- Fix wrong color on mentions hidden behind content warning in web UI (Gargron)
- Fix filters from other users being used in the streaming service (ClearlyClaire)
- Fix
unsafe-eval
being used whenwasm-unsafe-eval
is enough in Content Security Policy (Gargron, prplecake)
Upgrade notes
To get the code for v4.0.2, use git fetch && git checkout v4.0.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
Update steps
The following instructions are for updating from 4.0.0 or 4.0.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. You can use the 4.0.0 upgrade notes to upgrade directly to 4.0.2.
Non-Docker only:
- Install dependencies:
bundle install
Both Docker and non-Docker:
- Precompile the assets:
- Non-Docker:
RAILS_ENV=production bundle exec rails assets:precompile
- Docker: The assets are already precompiled during the build step
- Non-Docker:
- Restart all Mastodon processes