Skip to content
Choose a tag to compare


@Gargron Gargron released this
· 142 commits to main since this release
Choose a tag to compare




  • Add pagination for trending statuses in web UI (Gargron)


  • Change e-mail notifications to only be sent when recipient is offline (Gargron)
    • Send e-mails for mentions and follows by default again
    • But only when recipient does not have push notifications through an app
  • Change website attribute to be nullable on Application entity in REST API (rinsuki)


  • Remove sign-in token authentication, instead send e-mail about new sign-in (Gargron)
    • You no longer need to enter a security code sent through e-mail
    • Instead you get an e-mail about a new sign-in from an unfamiliar IP address


  • Fix error resposes for from search prefix (single-right-quote)
  • Fix dangling language-specific trends (Gargron)
  • Fix extremely rare race condition when deleting a status or account (ClearlyClaire)
  • Fix trends returning less results per page when filtered in REST API (Gargron)
  • Fix pagination header on empty trends responses in REST API (Gargron)
  • Fix cookies secure flag being set when served over Tor (Gargron)
  • Fix migration error handling (ClearlyClaire)
  • Fix error when re-running some migrations if they get interrupted at the wrong moment (ClearlyClaire)
  • Fix potentially missing statuses when reconnecting to streaming API in web UI (ClearlyClaire, ClearlyClaire, ClearlyClaire)
  • Fix error when sending warning emails with custom text (ClearlyClaire)
  • Fix unset SMTP_RETURN_PATH environment variable causing e-mail not to send (Gargron)
  • Fix possible duplicate statuses in timelines in some edge cases in web UI (ClearlyClaire)
  • Fix spurious edits and require incoming edits to be explicitly marked as such (ClearlyClaire)
  • Fix error when encountering invalid pinned statuses (ClearlyClaire)
  • Fix inconsistency in error handling when removing a status (ClearlyClaire)
  • Fix admin API unconditionally requiring CSRF token (ClearlyClaire)
  • Fix trending tags endpoint missing offset param in REST API (Gargron)
  • Fix unusual number formatting in some locales (ClearlyClaire)
  • Fix S3_FORCE_SINGLE_REQUEST environment variable not working (HolgerHuo)
  • Fix failure to build assets with OpenSSL 3 (ClearlyClaire)
  • Fix PWA manifest using outdated routes (HolgerHuo)
  • Fix error when indexing statuses into Elasticsearch (ClearlyClaire)

Upgrade notes

To get the code for v3.5.1, use git fetch && git checkout v3.5.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

Non-Docker only:

  • Install dependencies: bundle install and yarn 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