Skip to content

Releases: mastodon/mastodon

v4.1.0rc1

20 Jan 13:23
8180f7b
Compare
Choose a tag to compare
v4.1.0rc1 Pre-release
Pre-release

Mastodon

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 to tootctl media remove (evanphilip)
  • Add --email and --dry-run options to tootctl 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 to same-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...
Read more

v4.0.2

15 Nov 03:27
03b0f3a
Compare
Choose a tag to compare

Mastodon

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 when wasm-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:

  1. Precompile the assets:
    • Non-Docker: RAILS_ENV=production bundle exec rails assets:precompile
    • Docker: The assets are already precompiled during the build step
  2. Restart all Mastodon processes

v4.0.1

14 Nov 22:03
4415dd6
Compare
Choose a tag to compare
Bump version to 4.0.1 (#20696)

v4.0.0

14 Nov 19:48
fb389bd
Compare
Choose a tag to compare

Mastodon

Upgrade overview

This release contains upgrade notes that deviate from the norm:

ℹ️ Requires two-step database migration process for zero-downtime deployment
ℹ️ Some migrations may take a long time to run
ℹ️ Behaviour of AUTHORIZED_FETCH changed
ℹ️ Requires review of Sidekiq queues in some setups (new queue: ingress)
ℹ️ Some server settings, like thumbnail, short description, and so on, changed and may need to be looked at

For more information, scroll down to the upgrade instructions section.

Changelog

Some of the features in this release have been funded through the NGI0 Discovery Fund, a fund established by NLnet with financial support from the European Commission's Next Generation Internet programme, under the aegis of DG Communications Networks, Content and Technology under grant agreement No 825322.

Added

Changed

Read more

v4.0.0rc4

14 Nov 07:56
75299a0
Compare
Choose a tag to compare
v4.0.0rc4 Pre-release
Pre-release

Mastodon

Note: This is a release candidate. It is intended to be stable, but not guaranteed.

For all notes, see v4.0.0rc1. This update includes a variety of fixes and improvements. Upgrading from v4.0.0rc3 requires a code update, assets precompilation, and a web process reload/restart.

v3.5.5

14 Nov 21:29
Compare
Choose a tag to compare

Mastodon

This is a backport for the 3.5.x branch.

Changelog

Fixed

  • Fix nodes order being sometimes mangled when rewriting emoji (ClearlyClaire)

Upgrade notes

Because this is a backport, it is not available with git pull. Use git fetch && git checkout v3.5.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 v3.5.3, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:

  • Ruby: 2.6 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.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 or dependency updates.

Non-Docker

  1. Pull the code: git fetch && git checkout v3.5.5
  2. Rebuild assets:
    RAILS_ENV=production bundle exec rails assets:precompile
  3. Restart mastodon-web and mastodon-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:

  1. Pull the code: git fetch && git checkout v3.5.5
  2. Pull the prebuilt images: docker-compose pull, or, alternatively, build them yourself: docker-compose build --pull
  3. Restart all Mastodon processes: docker-compose up -d

v3.5.4

14 Nov 19:24
Compare
Choose a tag to compare

Mastodon

This is a backport for the 3.5.x branch.

Changelog

Fixed

  • Fix error when a remote report includes a private post the server has no access to (ClearlyClaire)

Security

  • Fix emoFix emoji substitution not applying only to text nodes in backend code (ClearlyClaire)
  • Fix emoji substitution not applying only to text nodes in Web UI (ClearlyClaire)
  • Fix rate limiting for paths with formats (Gargron)
  • Fix out-of-bound reads in blurhash transcoder (delroth)

Upgrade notes

Because this is a backport, it is not available with git pull. Use git fetch && git checkout v3.5.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 v3.5.3, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:

  • Ruby: 2.6 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.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 or dependency updates.

Non-Docker

  1. Pull the code: git fetch && git checkout v3.5.4
  2. Rebuild assets:
    RAILS_ENV=production bundle exec rails assets:precompile
  3. Restart mastodon-web and mastodon-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:

  1. Pull the code: git fetch && git checkout v3.5.4
  2. Pull the prebuilt images: docker-compose pull, or, alternatively, build them yourself: docker-compose build --pull
  3. Restart all Mastodon processes: docker-compose up -d

v3.4.10

14 Nov 21:28
Compare
Choose a tag to compare

Mastodon

This is a backport for the 3.4.x branch.

Changelog

Fixed

  • Fix nodes order being sometimes mangled when rewriting emoji (ClearlyClaire)

Upgrade notes

Because this is a backport, it is not available with git pull. Use git fetch && git checkout v3.4.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

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

  • Ruby: 2.6 to 3.0
  • PostgreSQL: 9.5 or newer
  • Elasticsearch (optional, for full-text search): 5.x, 6.x or 7.x
  • Redis: 4 or newer
  • Node: 12.22 or higher

Update steps

The following instructions are for updating from 3.4.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 or dependency updates.

Non-Docker

  1. Pull the code: git fetch && git checkout v3.4.10
  2. Rebuild assets:
    RAILS_ENV=production bundle exec rails assets:precompile
  3. Restart mastodon-web and mastodon-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:

  1. Pull the code: git fetch && git checkout v3.4.10
  2. Pull the prebuilt images: docker-compose pull, or, alternatively, build them yourself: docker-compose build --pull
  3. Restart all Mastodon processes: docker-compose up -d

v3.4.9

14 Nov 19:23
Compare
Choose a tag to compare

Mastodon

This is a backport for the 3.4.x branch.

Changelog

Security

  • Fix emoji substitution not applying only to text nodes in backend code (ClearlyClaire)
  • Fix emoji substitution not applying only to text nodes in Web UI (ClearlyClaire)
  • Fix rate limiting for paths with formats (Gargron)
  • Fix out-of-bound reads in blurhash transcoder (delroth)

Upgrade notes

Because this is a backport, it is not available with git pull. Use git fetch && git checkout v3.4.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 v3.4.7, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:

  • Ruby: 2.6 to 3.0
  • PostgreSQL: 9.5 or newer
  • Elasticsearch (optional, for full-text search): 5.x, 6.x or 7.x
  • Redis: 4 or newer
  • Node: 12.22 or higher

Update steps

The following instructions are for updating from 3.4.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 or dependency updates.

Non-Docker

  1. Pull the code: git fetch && git checkout v3.4.9
  2. Rebuild assets:
    RAILS_ENV=production bundle exec rails assets:precompile
  3. Restart mastodon-web and mastodon-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:

  1. Pull the code: git fetch && git checkout v3.4.9
  2. Pull the prebuilt images: docker-compose pull, or, alternatively, build them yourself: docker-compose build --pull
  3. Restart all Mastodon processes: docker-compose up -d

v4.0.0rc3

11 Nov 08:22
5e796dc
Compare
Choose a tag to compare
v4.0.0rc3 Pre-release
Pre-release

Mastodon

Note: This is a release candidate. It is intended to be stable, but not guaranteed.

Upgrade overview

This release contains upgrade notes that deviate from the norm:

ℹ️ Requires two-step database migration process for zero-downtime deployment
ℹ️ Some migrations may take a long time to run
ℹ️ Behaviour of AUTHORIZED_FETCH changed
ℹ️ Requires review of Sidekiq queues in some setups. This also applies to updating from v4.0.0rc2

For more information, scroll down to the upgrade instructions section.

Changelog

TBD. This update includes a variety of fixes and improvements on top of v4.0.0rc1.

Upgrade notes

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

Update steps

The following instructions are for updating from 3.5.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.4. You can upgrade, or you can continue using the old version by overwriting the .ruby-version file with e.g. 3.0.3 which was recommended previously
  • Install dependencies: bundle install and yarn install

Both Docker and non-Docker:

⚠️ Incoming federated activity now uses a new ingress queue in Sidekiq. If you customize Sidekiq processes/queues, ensure that there is at least one process handling the ingress queue.

  1. Run the pre-deployment database migrations by specifying the SKIP_POST_DEPLOYMENT_MIGRATIONS=true environment variable:
    • Non-Docker: SKIP_POST_DEPLOYMENT_MIGRATIONS=true RAILS_ENV=production bundle exec rails db:migrate
    • Docker: docker-compose run --rm -e SKIP_POST_DEPLOYMENT_MIGRATIONS=true web rails db:migrate
  2. Precompile the assets:
    • Non-Docker: RAILS_ENV=production bundle exec rails assets:precompile
    • Docker: The assets are already precompiled during the build step
  3. Restart all Mastodon processes
  4. Now that the new code is running, we can finish the database migrations. This will run the post-deployment ones:
    • Non-Docker: RAILS_ENV=production bundle exec rails db:migrate
    • Docker: docker-compose run --rm web rails db:migrate
  5. Restart all Mastodon processes

For all notes, see v4.0.0rc1. This update includes a variety of fixes and improvements. Upgrading from v4.0.0rc1 requires a code update, assets precompilation, and a web process reload/restart.