All Versions
38
Latest Version
Avg Release Cycle
29 days
Latest Release
58 days ago

Changelog History
Page 1

  • v3.1.4

    May 14, 2020

    Mastodon

    ๐Ÿ”„ Changelog

    โž• Added

    • โž• Add vi to available locales (taicv)
    • โž• Add ability to remove identity proofs from account (Gargron)
    • โž• Add ability to exclude local content from federated timeline (noellabo, noellabo)
      • Add remote param to GET /api/v1/timelines/public REST API
      • Add public/remote / public:remote variants to streaming API
      • "Remote only" option in federated timeline column settings in web UI
    • โž• Add ability to exclude remote content from hashtag timelines in web UI (noellabo)
      • No changes to REST API
      • "Local only" option in hashtag column settings in web UI
    • โž• Add Capistrano tasks that reload the services after deploying (berkes)
    • โž• Add invites_enabled attribute to GET /api/v1/instance in REST API (ThibG)
    • โž• Add tootctl emoji export command (lfuelling)
    • โž• Add separate cache directory for non-local uploads (Gargron, Hanage999, mayaeh)
      • Add tootctl upgrade storage-schema command to move old non-local uploads to the cache directory
      • โš ๏ธ You are not required to run this command for the new storage schema to function! Old files will simply remain where they are while new files will be saved under the cache directory. The command would incur data transfer costs with your storage provider
    • โž• Add buttons to delete header and avatar from profile settings (sternenseemann)
    • โž• Add emoji graphics and shortcodes from Twemoji 12.1.5 (DeeUnderscore)

    ๐Ÿ”„ Changed

    • ๐Ÿ”„ Change error message when trying to migrate to an account that does not have current account set as an alias to be more clear (TheEvilSkeleton)
    • ๐Ÿ”„ Change delivery failure tracking to work with hostnames instead of URLs (Gargron, noellabo, noellabo, noellabo)
    • ๐Ÿ’… Change Content-Security-Policy to not need unsafe-inline style-src (ThibG, ThibG, ThibG, ThibG, ThibG)
    • ๐Ÿ”„ Change how RSS items are titled and formatted (ThibG, ykzts)

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fix dropdown of muted and followed accounts offering option to hide boosts in web UI (ThibG)
    • ๐Ÿ›  Fix "You are already signed in" alert being shown at wrong times (ThibG)
    • ๐Ÿ›  Fix retrying of failed-to-download media files not actually working (noellabo)
    • ๐Ÿ›  Fix first poll option not being focused when adding a poll in web UI (ThibG)
    • ๐Ÿ›  Fix sr locale being selected over sr-Latn (ThibG)
    • ๐Ÿ›  Fix error within error when limiting backtrace to 3 lines (Gargron)
    • ๐Ÿ›  Fix tootctl media remove-orphans crashing on "Import" files (ThibG)
    • ๐Ÿ›  Fix regression in tootctl media remove-orphans (Gargron)
    • ๐Ÿ›  Fix old unique jobs digests not having been cleaned up (Gargron)
    • ๐Ÿ›  Fix own following/followers not showing muted users (ThibG)
    • ๐Ÿ›  Fix list of followed people ignoring sorting on Follows & Followers page (taras2358)
    • ๐Ÿ›  Fix wrong pgHero Content-Security-Policy when CDN_HOST is set (ThibG)
    • ๐Ÿ›  Fix needlessly deduplicating usernames on collisions with remote accounts when signing-up through SAML/CAS (kaiyou)
    • ๐Ÿ›  Fix page incorrectly scrolling when bringing up dropdown menus in web UI (ThibG)
    • ๐Ÿ›  Fix messed up z-index when NoScript blocks media/previews in web UI (ThibG)
    • ๐Ÿ›  Fix "See what's happening" page showing public instead of local timeline for logged-in users (ThibG)
    • ๐Ÿ›  Fix not being able to resolve public resources in development environment (Gargron)
    • ๐Ÿ›  Fix uninformative error message when uploading unsupported image files (ThibG)
    • ๐Ÿ›  Fix expanded video player issues in web UI (ThibG, eai04191)
    • ๐Ÿ›  Fix and refactor keyboard navigation in dropdown menus in web UI (ThibG)
    • ๐Ÿ›  Fix uploaded image orientation being messed up in some browsers in web UI (ThibG)
    • ๐Ÿ›  Fix actions log crash when displaying updates of deleted announcements in admin UI (ThibG)
    • ๐Ÿ›  Fix search not working due to proxy settings when using hidden services (Gargron)
    • ๐Ÿ›  Fix poll refresh button not being debounced in web UI (rasjonell, ThibG)
    • ๐Ÿ›  Fix confusing error when failing to add an alias to an unknown account (ThibG)
    • ๐Ÿ›  Fix "Email changed" notification sometimes having wrong e-mail (ThibG)
    • ๐Ÿ›  Fix varioues issues on the account aliases page (ThibG)
    • ๐Ÿ›  Fix API footer link in web UI (bubblineyuri)
    • ๐Ÿ›  Fix pagination of following, followers, follow requests, blocks and mutes lists in web UI (ThibG)
    • ๐Ÿ›  Fix styling of polls in JS-less fallback on public pages (ThibG)
    • ๐Ÿ›  Fix trying to delete already deleted file when post-processing (Gargron)

    ๐Ÿ”’ Security

    • ๐Ÿ›  Fix Doorkeeper vulnerability that exposed app secret to users who authorized the app and reset secret of the web UI that could have been exposed (dependabot-preview[bot], Gargron)
      • For apps that self-register on behalf of every individual user (such as most mobile apps), this is a non-issue
      • The issue only affects developers of apps who are shared between multiple users, such as server-side apps like cross-posters

    โฌ†๏ธ Upgrade notes

    โฌ†๏ธ > 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. Run database migrations:
      • Non-Docker: RAILS_ENV=production bundle exec rails db:migrate
      • Docker: docker-compose run --rm 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
    2. Restart all Mastodon processes
  • v3.1.3

    April 05, 2020

    Mastodon

    ๐Ÿ”„ Changelog

    โž• Added

    • โž• Add ability to filter audit log in admin UI (Gargron)
    • โž• Add titles to warning presets in admin UI (Gargron)
    • โž• Add option to include resolved DNS records when blacklisting e-mail domains in admin UI (Gargron)
    • โž• Add ability to delete files uploaded for settings in admin UI (ThibG)
    • โž• Add sorting by username, creation and last activity in admin UI (ThibG)
    • โž• Add explanation as to why unlocked accounts may have follow requests in web UI (ThibG)
    • โž• Add link to bookmarks to dropdown in web UI (mayaeh)
    • โž• Add support for links to statuses in announcements to be opened in web UI (ThibG, ThibG)
    • โž• Add tooltips to audio/video player buttons in web UI (ariasuni)
    • โž• Add submit button to the top of preferences pages (guigeekz)
    • โž• Add specific rate limits for posting, following and reporting (Gargron, Gargron)
      • 300 posts every 3 hours
      • 400 follows or follow requests every 24 hours
      • 400 reports every 24 hours
    • โž• Add federation support for the "hide network" preference (ThibG)
    • โž• Add --skip-media-remove option to tootctl statuses remove (tateisu)

    ๐Ÿ”„ Changed

    • ๐Ÿ”„ Change design of polls in web UI (Sasha-Sorokin, ThibG)
    • ๐Ÿ”„ Change status click areas in web UI to be bigger (ariasuni)
    • ๐Ÿ”„ Change tootctl media remove-orphans to work for all classes (Gargron)
    • ๐Ÿ”„ Change local media attachments to perform heavy processing asynchronously (Gargron)
    • ๐Ÿ”„ Change video uploads to always be converted to H264/MP4 (Gargron, ThibG, ThibG)
    • ๐Ÿ”„ Change video uploads to enforce certain limits (Gargron)
      • Dimensions smaller than 1920x1200px
      • Frame rate at most 60fps
    • ๐Ÿ”„ Change the tooltip "Toggle visibility" to "Hide media" in web UI (ariasuni)
    • ๐Ÿ”„ Change description of privacy levels to be more intuitive in web UI (ariasuni)
    • ๐Ÿ”„ Change GIF label to be displayed even when autoplay is enabled in web UI (koyuawsmbrtn)
    • ๐Ÿ”„ Change the string "Hide everything from โ€ฆ" to "Block domain โ€ฆ" in web UI (ThibG, mayaeh)
    • ๐Ÿ”„ Change wording of media display preferences to be more intuitive (ariasuni)

    ๐Ÿ—„ Deprecated

    • POST /api/v1/media โ†’ POST /api/v2/media (Gargron)

    ๐Ÿ›  Fixed

    • Fix tootctl media remove-orphans ignoring PAPERCLIP_ROOT_PATH (Gargron)
    • ๐Ÿ›  Fix returning results when searching for URL with non-zero offset (Gargron)
    • ๐Ÿ›  Fix pinning a column in web UI sometimes redirecting out of web UI (Gargron)
    • ๐Ÿ›  Fix background jobs not using locks like they are supposed to (Gargron)
    • ๐Ÿ›  Fix content warning being unnecessarily cleared when hiding content warning input in web UI (ThibG)
    • ๐Ÿ›  Fix "Show more" not switching to "Show less" on public pages (ThibG)
    • ๐Ÿ›  Fix import overwrite option not being selectable (noellabo)
    • ๐Ÿ›  Fix wrong color for ellipsis in boost confirmation dialog in web UI (ariasuni)
    • ๐Ÿ›  Fix unnecessary unfollowing when importing follows with overwrite option (noellabo)
    • ๐Ÿ›  Fix 404 and 410 API errors being silently discarded in web UI (ThibG)
    • ๐Ÿ›  Fix OCR not working on Safari because of unsupported worker-src CSP (ThibG)
    • ๐Ÿ›  Fix media not being marked sensitive when a content warning is set with no text (ThibG)
    • ๐Ÿ›  Fix crash after deleting announcements in web UI (codesections, ThibG)
    • ๐Ÿ›  Fix bookmarks not being searchable (Kjwon15, noellabo)
    • ๐Ÿ›  Fix reported accounts not being whitelisted from further spam checks when resolving a spam check report (ThibG)
    • ๐Ÿ›  Fix web UI crash in single-column mode on prehistoric browsers (ThibG)
    • ๐Ÿ›  Fix some timeouts when searching for URLs (ThibG)
    • ๐Ÿ›  Fix detailed view of direct messages displaying a 0 boost count in web UI (ThibG)
    • ๐Ÿ›  Fix regression in โ€œEdit mediaโ€ modal in web UI (ThibG)
    • ๐Ÿ›  Fix public posts from silenced accounts not being changed to unlisted visibility (ThibG)
    • ๐Ÿ›  Fix error when searching for URLs that contain the mention syntax (ThibG)
    • ๐Ÿ›  Fix text area above/right of emoji picker being accidentally clickable in web UI (ariasuni)
    • ๐Ÿ›  Fix too large announcements not being scrollable in web UI (ThibG)
    • ๐Ÿ›  Fix tootctl media remove-orphans crashing when encountering invalid media (ThibG)
    • ๐Ÿ›  Fix installation failing when Redis password contains special characters (ThibG)
    • ๐Ÿ›  Fix announcements with fully-qualified mentions to local users crashing web UI (ThibG)

    ๐Ÿ”’ Security

    • ๐Ÿ›  Fix re-sending of e-mail confirmation not being rate limited (Gargron)

    โฌ†๏ธ Upgrade notes

    โฌ†๏ธ > 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:

    • โฌ†๏ธ The recommended Ruby version has been bumped to 2.6.6. You can upgrade, or you can continue using the old version by overwriting the .ruby-version file with e.g. 2.6.5 or 2.6.1 which were recommended previously
    • Install dependencies: bundle install and yarn install

    ๐Ÿณ Both Docker and non-Docker:

    1. Run database migrations:
      • Non-Docker: RAILS_ENV=production bundle exec rails db:migrate
      • Docker: docker-compose run --rm 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
    2. Restart all Mastodon processes
  • v3.1.2

    February 27, 2020

    Mastodon

    ๐Ÿ”„ Changelog

    โž• Added

    • โž• Add --reset-password option to tootctl accounts modify (ThibG)
    • โž• Add source-mapped stacktrace to error message in web UI (ThibG)

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fix dismissing an announcement twice raising an obscure error (ThibG)
    • ๐Ÿ›  Fix misleading error when attempting to re-send a pending follow request (ThibG)
    • ๐Ÿ›  Fix backups failing when files are missing from media attachments (ThibG)
    • ๐Ÿ›  Fix duplicate accounts being created when fetching an account for its key only (ThibG)
    • ๐Ÿ›  Fix /web redirecting to /web/web in web UI (ThibG)
    • ๐Ÿ›  Fix previously OStatus-based accounts not being detected as ActivityPub (ThibG)
    • ๐Ÿ›  Fix account JSON/RSS not being cacheable due to wrong mime type comparison (ThibG)
    • ๐Ÿ›  Fix old browsers crashing because of missing finally polyfill in web UI (ThibG)
    • ๐Ÿ›  Fix account's bio not being shown if there are no proofs/fields in admin UI (ThibG)
    • ๐Ÿ›  Fix sign-ups without checked user agreement being accepted through the web form (ThibG)
    • ๐Ÿ›  Fix non-x64 architectures not being able to build Docker image because of hardcoded Node.js architecture (SaraSmiseth)
    • ๐Ÿ›  Fix invite request input not being shown on sign-up error if left empty (ThibG)
    • ๐Ÿ›  Fix some migration hints mentioning GitLab instead of Mastodon (saper)

    ๐Ÿ”’ Security

    • ๐Ÿ›  Fix leak of arbitrary statuses through unfavourite action in REST API (Gargron)

    โฌ†๏ธ Upgrade notes

    ๐Ÿณ 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
      1. Restart all Mastodon processes
  • v3.1.1

    February 10, 2020

    Mastodon

    ๐Ÿ”„ Changelog

    ๐Ÿš€ This release fixes an issue during the bundle install step that appeared in v3.1.0 due to a dependency being yanked from the package repository. For all other notes, please see v3.1.0

  • v3.1.0

    February 09, 2020

    Mastodon

    ๐Ÿ”„ Changelog

    โž• Added

    • โž• Add bookmarks (ThibG, Gargron, Gomasy)
    • โž• Add announcements (Gargron, Gargron, Gargron, Gargron, Gargron, Gargron, Gargron, Gargron, Gargron, Gargron, ThibG, ThibG, Gargron, ThibG, ThibG)
    • โž• Add number animations in web UI (Gargron, Gargron)
    • โž• Add kab, is, kn, mr, ur to available locales (Gargron, BoFFire, Gargron)
    • โž• Add profile filter category (ThibG)
    • โž• Add ability to add oneself to lists (ThibG)
    • โž• Add hint how to contribute translations to preferences page (Sasha-Sorokin)
    • โž• Add signatures to statuses in archive takeout (noellabo)
    • โž• Add support for magnet: and xmpp links (ThibG, ThibG)
    • โž• Add follow_request notification type (ThibG)
    • โž• Add ability to filter reports by account domain in admin UI (ThibG)
    • โž• Add link to search for users connected from the same IP address to admin UI (ThibG)
    • โž• Add link to reports targeting a specific domain in admin view (ThibG)
    • โž• Add support for EventSource streaming in web UI (BenLubar)
    • โž• Add hotkey for opening media attachments in web UI (ThibG, Kjwon15)
    • โž• Add relationship-based options to status dropdowns in web UI (Gargron, ThibG, Gargron)
    • โž• Add support for submitting media description with ctrl+enter in web UI (ThibG)
    • โž• Add download button to audio and video players in web UI (NimaBoscarino)
    • โž• Add setting for whether to crop images in timelines in web UI (duxovni)
    • โž• Add support for Event activities (tcitworld)
    • โž• Add basic support for Group actors (noellabo)
    • Add S3_OVERRIDE_PATH_STYLE environment variable (Gargron)
    • Add S3_OPEN_TIMEOUT environment variable (tateisu)
    • โž• Add LDAP_MAIL environment variable (madmath03)
    • Add LDAP_UID_CONVERSION_ENABLED environment variable (madmath03)
    • โž• Add --remote-only option to tootctl emoji purge (ThibG)
    • โž• Add tootctl media remove-orphans (Gargron, Gargron)
    • โž• Add tootctl media lookup command (irlcatgirl)
    • โž• Add cache for OEmbed endpoints to avoid extra HTTP requests (Gargron)
    • โž• Add support for KaiOS arrow navigation to public pages (nolanlawson)
    • โž• Add discoverable to accounts in REST API (trwnh)
    • โž• Add admin setting to disable default follows (ArisuOngaku)
    • โž• Add support for LDAP and PAM in the OAuth password grant strategy (ntl-purism, Gargron)
    • ๐Ÿ‘ Allow support for Accept/Reject activities with a non-embedded object (puckipedia)
    • โž• Add "Show thread" button to public profiles (Sasha-Sorokin)

    ๐Ÿ”„ Changed

    • Change last_status_at to be a date, not datetime in REST API (ThibG)
    • ๐Ÿ”„ Change followers page to relationships page in admin UI (Gargron, Gargron)
    • ๐Ÿ”„ Change reported media attachments to always be hidden in admin UI (Gargron, ThibG)
    • ๐Ÿ”„ Change string from "Disable" to "Disable login" in admin UI (nileshkumar)
    • ๐Ÿ”„ Change report page structure in admin UI (Sasha-Sorokin)
    • ๐Ÿ”„ Change swipe sensitivity to be lower on small screens in web UI (umonaca)
    • ๐Ÿ”„ Change audio/video playback to stop playback when out of view in web UI (Gargron)
    • ๐Ÿ”„ Change media description label based on upload type in web UI (ThibG)
    • ๐Ÿ”„ Change large numbers to render without decimal units in web UI (noellabo)
    • ๐Ÿ”„ Change "Add a choice" button to be disabled rather than hidden when poll limit reached in web UI (ThibG, hinaloe)
    • ๐Ÿ”„ Change tootctl statuses remove to keep statuses favourited or bookmarked by local users (ThibG, Gomasy)
    • โšก๏ธ Change domain block behavior to update user records (fast) before deleting data (slower) (ThibG)
    • ๐Ÿ“‡ Change behaviour to strip audio metadata on uploads (hugogameiro)
    • ๐Ÿ”„ Change accepted length of remote media descriptions from 420 to 1,500 characters (ThibG)
    • ๐Ÿ”„ Change preferences pages structure (Sasha-Sorokin, mayaeh, Sasha-Sorokin, Sasha-Sorokin, Sasha-Sorokin, Sasha-Sorokin)
    • ๐Ÿ”„ Change format of titles in RSS (devkral)
    • ๐Ÿ”„ Change favourite icon animation from spring-based motion to CSS animation in web UI (ThibG)
    • ๐Ÿ”„ Change minimum required Node.js version to 10, and default to 12 (Shleeble, mkody, Shleeble)
    • ๐Ÿ”„ Change spam check to exempt server staff (ThibG)
    • ๐Ÿ”„ Change to fallback to to Create audience when object has no defined audience (ThibG)
    • ๐Ÿ”„ Change Twemoji library to 12.1.3 in web UI (koyuawsmbrtn)
    • ๐Ÿ”„ Change blocked users to be hidden from following/followers lists (ThibG)
    • ๐Ÿ”„ Change signature verification to ignore signatures with invalid host (Gargron)

    โœ‚ Removed

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fix some translatable strings being used wrongly (Sasha-Sorokin, Sasha-Sorokin, Sasha-Sorokin, mayaeh)
    • ๐Ÿ›  Fix headline of public timeline page when set to local-only (ykzts)
    • ๐Ÿ›  Fix space between tabs not being spread evenly in web UI (Sasha-Sorokin, Sasha-Sorokin, Sasha-Sorokin)
    • ๐Ÿ›  Fix interactive delays in database migrations with no TTY (Gargron)
    • ๐Ÿ›  Fix status overflowing in report dialog in web UI (ThibG)
    • ๐Ÿ›  Fix unlocalized dropdown button title in web UI (Sasha-Sorokin)
    • ๐Ÿ›  Fix media attachments without file being uploadable (Gargron)
    • ๐Ÿ›  Fix unfollow confirmations in profile directory in web UI (ThibG)
    • ๐Ÿ›  Fix duplicate description meta tag on accounts public pages (ThibG)
    • ๐Ÿ›  Fix slow query of federated timeline (notozeki)
    • ๐Ÿ›  Fix not all of account's active IPs showing up in admin UI (Gargron, Gargron)
    • ๐Ÿ›  Fix search by IP not using alternative browser sessions in admin UI (Gargron)
    • ๐Ÿ›  Fix โ€œX new itemsโ€ not showing up for slow mode on empty timelines in web UI (ThibG)
    • ๐Ÿ›  Fix OEmbed endpoint being inaccessible in secure mode (Gargron)
    • ๐Ÿ›  Fix proofs API being inaccessible in secure mode (Gargron)
    • ๐Ÿ›  Fix Ruby 2.7 incompatibilities (ThibG, ThibG, Shleeble, zunda)
    • ๐Ÿ›  Fix invalid poll votes being accepted in REST API (ThibG)
    • ๐Ÿ›  Fix old migrations failing because of strong migrations update (ThibG, ThibG)
    • ๐Ÿ›  Fix reuse of detailed status components in web UI (ThibG)
    • ๐Ÿ›  Fix base64-encoded file uploads not being possible in REST API (Gargron, Gargron)
    • ๐Ÿ›  Fix error due to missing authentication call in filters controller (Gargron)
    • ๐Ÿ›  Fix uncaught unknown format error in host meta controller (Gargron)
    • ๐Ÿ›  Fix URL search not returning private toots user has access to (ThibG, ThibG)
    • ๐Ÿ›  Fix cache digesting log noise on status embeds (Gargron)
    • ๐Ÿ›  Fix slowness due to layout thrashing when reloading a large set of statuses in web UI (panarom, panarom, Gargron)
    • ๐Ÿ›  Fix error when fetching followers/following from REST API when user has network hidden (Gargron)
    • ๐Ÿ›  Fix IDN mentions not being processed, IDN domains not being rendered (Gargron, Gargron, Gargron)
    • ๐Ÿ›  Fix error when searching for empty phrase (Gargron)
    • ๐Ÿ›  Fix backups stopping due to read timeouts (chr-1x)
    • ๐Ÿ›  Fix batch actions on non-pending tags in admin UI (ThibG)
    • Fix sample SAML_ACS_URL, SAML_ISSUER (orlea)
    • ๐Ÿ›  Fix manual scrolling issue on Firefox/Windows in web UI (ThibG)
    • ๐Ÿ›  Fix archive takeout failing if total dump size exceeds 2GB (scd31, Gargron)
    • ๐Ÿ›  Fix custom emoji category creation silently erroring out on duplicate category (ThibG)
    • ๐Ÿ›  Fix link crawler not specifying preferred content type (ThibG)
    • ๐Ÿ›  Fix featured hashtag setting page erroring out instead of rejecting invalid tags (ThibG)
    • ๐Ÿ›  Fix tooltip messages of single/multiple-choice polls switcher being reversed in web UI (acid-chicken)
    • ๐Ÿ›  Fix typo in help text of tootctl statuses remove (trwnh)
    • ๐Ÿ›  Fix generic HTTP 500 error on duplicate records (Gargron)
    • ๐Ÿ›  Fix old migration failing with new status default scope (ThibG)
    • ๐Ÿ›  Fix errors when using search API with no query (Gargron, trwnh)
    • ๐Ÿ›  Fix poll options not being selectable via keyboard in web UI (ThibG)
    • ๐Ÿ›  Fix conversations not having an unread indicator in web UI (Gargron)
    • ๐Ÿ›  Fix lost focus when modals open/close in web UI (ThibG)
    • ๐Ÿ›  Fix pending upload count not being decremented on error in web UI (ThibG)
    • ๐Ÿ›  Fix empty poll options not being removed on remote poll update (ThibG)
    • ๐Ÿ›  Fix OCR with delete & redraft in web UI (ThibG)
    • ๐Ÿ›  Fix blur behind closed registration message (ThibG)
    • ๐Ÿ›  Fix OEmbed discovery not handling different URL variants in query (Gargron)
    • ๐Ÿ›  Fix link crawler crashing on <a> tags without href (ThibG)
    • ๐Ÿ›  Fix whitelisted subdomains being ignored in whitelist mode (noiob)
    • ๐Ÿ›  Fix broken audit log in whitelist mode in admin UI (ThibG)
    • ๐Ÿ›  Fix unread indicator not honoring "Only media" option in local and federated timelines in web UI (ThibG)
    • ๐Ÿ›  Fix error when rebuilding home feeds (dariusk)
    • ๐Ÿ›  Fix relationship caches being broken as result of a follow request (ThibG)
    • ๐Ÿ›  Fix more items than the limit being uploadable in web UI (ThibG)
    • ๐Ÿ›  Fix various issues with account migration (ThibG)
    • ๐Ÿ›  Fix filtered out items being counted as pending items in slow mode in web UI (ThibG)
    • ๐Ÿ›  Fix notification filters not applying to poll options (ThibG)
    • ๐Ÿ›  Fix notification message for user's own poll saying it's a poll they voted on in web UI (ykzts)
    • ๐Ÿ›  Fix polls with an expiration not showing up as expired in web UI (noellabo)
    • ๐Ÿ›  Fix volume slider having an offset between cursor and slider in Chromium in web UI (ThibG)
    • ๐Ÿ›  Fix Vagrant image not accepting connections (shrft)
    • ๐Ÿ›  Fix batch actions being hidden on small screens in admin UI (ThibG)
    • ๐Ÿ›  Fix incoming federation not working in whitelist mode (ThibG)
    • ๐Ÿ›  Fix error when passing empty source param to PUT /api/v1/accounts/update_credentials (jglauche)
    • ๐Ÿ›  Fix HTTP-based streaming API being cacheable by proxies (BenLubar)
    • ๐Ÿ›  Fix users being able to register while tootctl self-destruct is in progress (Kjwon15)
    • ๐Ÿ›  Fix microformats detection in link crawler not ignoring h-card links (nightpool)
    • ๐Ÿ›  Fix outline on full-screen video in web UI (hinaloe)
    • ๐Ÿ›  Fix TLD domain blocks not being editable (ThibG)
    • ๐Ÿ›  Fix Nanobox deploy hooks (danhunsaker)
    • ๐Ÿ›  Fix needlessly complicated SQL query when performing account search amongst followings (ThibG)
    • ๐Ÿ›  Fix favourites count not updating when unfavouriting in web UI (NimaBoscarino)
    • ๐Ÿ›  Fix occasional crash on scroll in Chromium in web UI (hinaloe)
    • ๐Ÿ›  Fix intersection observer not working in single-column mode web UI (panarom)
    • ๐Ÿ›  Fix voting issue with remote polls that contain trailing spaces (ThibG)
    • ๐Ÿ›  Fix dynamic elements not working in pgHero due to CSP rules (ykzts)
    • ๐Ÿ›  Fix overly verbose backtraces when delivering ActivityPub payloads (zunda)
    • ๐Ÿ›  Fix rendering <a> without href when scheme unsupported (Gargron)
    • ๐Ÿ›  Fix unfiltered params error when generating ActivityPub tag pagination (Gargron)
    • ๐Ÿ›  Fix malformed HTML causing uncaught error (Gargron)
    • ๐Ÿ›  Fix native share button not being displayed for unlisted toots (ThibG)
    • ๐Ÿ›  Fix remote convertible media attachments (e.g. GIFs) not being saved (Gargron)
    • ๐Ÿ›  Fix account query not using faster index (abcang)
    • ๐Ÿ›  Fix error when sending moderation notification (renatolond)

    ๐Ÿ”’ Security

    • ๐Ÿ›  Fix OEmbed leaking information about existence of non-public statuses (Gargron)
    • ๐Ÿ›  Fix password change/reset not immediately invalidating other sessions (Gargron)
    • ๐Ÿ›  Fix settings pages being cacheable by the browser (Gargron)

    โฌ†๏ธ Upgrade notes

    โฌ†๏ธ > 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:

    • โฌ†๏ธ The minimum supported Node.js version has been bumped from 8 to 10. To upgrade Node.js, run curl -sL https://deb.nodesource.com/setup_10.x | bash - and then apt install nodejs
    • Install dependencies: bundle install and yarn install

    ๐Ÿณ Both Docker and non-Docker:

    1. Run database migrations:
      • Non-Docker: RAILS_ENV=production bundle exec rails db:migrate
      • Docker: docker-compose run --rm 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
    2. Restart all Mastodon processes

    Troubleshooting

    โฌ†๏ธ If you have problems accessing the Sidekiq dashboard after upgrading, log out and log back in.

    Translators

    • Sveinn รญ Felli (Icelandic)
    • taicv (Vietnamese)
    • Daniele Lira Mereb (Portuguese, Brazilian)
    • แฆแแŽขแŽตแซ (Spanish, Argentina)
    • Michal Stanke (Czech)
    • Miguel Mayol (Spanish; Catalan)
    • Imre Kristoffer Eilertsen (Norwegian)
    • Peterandre (Norwegian Nynorsk; Norwegian)
    • Danial Behzadi (Persian)
    • Ivรกns (Galician)
    • enolp (Asturian)
    • ButterflyOfFire (Kabyle; Arabic; French)
    • arshat (Kazakh)
    • Ramdziana F Y (Indonesian)
    • tolstoevsky (Russian)
    • Sasha Sorokin (Russian; Vietnamese; Swedish; French; Danish; German; Korean; Ukrainian)
    • YubaWissin (Kabyle)
    • OฤŸuz Ersen (Turkish)
    • Xosรฉ M. (Galician; Spanish)
    • Emanuel Pina (Portuguese)
    • Thai Localization (Thai)
    • Evert Prants (Estonian)
    • Jeong Arm (Korean; Esperanto; Japanese)
    • ๅ”ๅฎ—ๅ‹› (Chinese Simplified)
    • vishnuvaratharajan (Tamil)
    • Geoflly Adonias (Portuguese, Brazilian)
    • spla (Catalan; Spanish)
    • Masoud Abkenar (Persian)
    • Taloran (Norwegian Nynorsk)
    • Akarshan Biswas (Bengali)
    • Alessandro Levati (Italian)
    • Emyn Nant Nefydd (Welsh)
    • Marek ฤฝach (Slovak)
    • ThibG (French; Icelandic)
    • Bertil Hedkvist (Swedish)
    • Roby Thomas (Malayalam)
    • Bharat Kumar (Hindi)
    • lamnatos (Greek)
    • christalleras (Norwegian Nynorsk)
    • ariasuni (Esperanto; French)
    • Osoitz (Basque)
    • Mathias B. Vagnes (Norwegian)
    • dashersyed (Urdu)
    • Acolyte (Ukrainian)
    • Jeroen (Dutch)
    • Conight Wang (Chinese Simplified)
    • Damjan Dimitrioski (Macedonian)
    • Diluns (Occitan)
    • jaranta (Finnish)
    • Isis (Swedish)
    • Aditoo17 (Czech)
    • borys_sh (Ukrainian)
    • Jess Rafn (Danish)
    • Tiago Epifรขnio (Portuguese)
    • norayr (Armenian)
    • jmontane (Catalan)
    • Alix Rossi (Corsican)
    • Arunmozhi (Tamil)
    • Balรกzs Meskรณ (Hungarian)
    • PPNplus (Thai)
    • FรฉdiQuรฉbec (French)
    • ๐Ÿ’… Marcin Mikoล‚ajczak (Polish)
    • marzuquccen (Kabyle)
    • koyu (German)
    • Zoltรกn Gera (Hungarian)
    • cybergene (Japanese)
    • ๐Ÿ’… Laura (Polish)
    • andruhov (Ukrainian; Russian)
    • Sam Tux (Bengali)
    • ๆฃฎใฎๅญใƒชใ‚นใฎใƒŸใƒผใ‚ณใฎๅคงๅ†’้™บ (Japanese)
    • Kinshuk Sunil (Hindi)
    • Ullas Joseph (Malayalam)
    • Roboron (Spanish)
    • ๐Ÿ’… Stasiek Michalski (Polish)
    • Yu-Pai Liu (Chinese Traditional)
    • Amarin Cemthong (Thai)
    • Rikard Linde (Swedish)
    • Tagomago (Spanish; French)
    • Ryo (Korean)
    • carolinagiorno (Portuguese, Brazilian)
    • Rajarshi Guha (Bengali)
    • Yi-Jyun Pan (Chinese Traditional)
    • EPEMA (German)
    • Dewi (Breton; French)
    • Parthan S Ramanujam (Tamil)
    • Maya Minatsuki (Japanese)
    • Kasper Nymand (Danish)
    • Saederup92 (Danish)
    • d5Ziif3K (Ukrainian)
    • Ram varma (Tamil)
    • Hrach Mkrtchyan (Armenian)
    • kekkepikkuni (Tamil)
    • oorsutri (Tamil)
    • Nithin V (Tamil)
    • Guillaume Turchini (French)
    • Ganesh D (Marathi)
    • arethsu (Swedish)
    • Sokratis Alichanidis (Greek)
    • Pedro Henrique (Portuguese, Brazilian)
    • Tejas Harad (Marathi)
    • ฯ‰๏ญโ„“โ„“๏ญฮฑ (Spanish)
    • Vasanthan (Tamil)
    • Goudarz Jafari (Persian)
    • manukp (Malayalam)
    • earth dweller (Marathi)
    • meijerivoi (Finnish)
    • essaar (Tamil)
    • ใ‚‹ใ„ใƒผใญ (Japanese)
    • valarivan (Tamil)
    • Miro Rauhala (Finnish)
    • Ivan T. (Chinese Traditional, Hong Kong)
    • ๐Ÿ’… Karol Kosek (Polish)
    • Bottle (Tamil)
    • Cutls (Japanese)
    • serubeena (Swedish)
    • gowthamanb (Tamil)
    • Arttu Ylhรคvuori (Finnish)
    • Ali DemirtaลŸ (Turkish)
    • SKELET (Danish)
    • enipra (Armenian)
    • Balรกzs Meskรณ (Hungarian)
    • diazepan (Spanish, Argentina)
    • ybardapurkar (Marathi)
    • rasheedgm (Kannada)
    • Navjot Singh (Hindi)
    • Ozai (German)
    • ALEM FARID (Kabyle)
    • se7entime (Indonesian)
    • Siddhartha Sarathi Basu (Bengali)
    • Steven Tappert (German)
    • Rhys Harrison (Esperanto)
    • turtle836 (German)
    • Guru Prasath Anandapadmanaban (Tamil)
    • Daniel Dimitrov (Bulgarian)
    • GatoOscuro (Spanish)
    • Lamin (Japanese)
    • Feruz Oripov (Russian)
    • frumble (German)
    • tykayn (French)
    • hg6 (Hindi)
    • Malik Mann (German)
    • padulafacundo (Spanish)
    • Belkacem Mohammed (Kabyle)
    • cenegd (Chinese Simplified)
    • Gargron (German; Galician)
    • Hinaloe (Japanese)
    • Muha Aliss (Turkish)
    • AmazighNM (Kabyle)
    • parnikkapore (Thai)
    • Jothipazhani Nagarajan (Tamil)
    • sabri (Spanish; Spanish, Argentina)
    • hallomaurits (Dutch)
    • mynameismonkey (Welsh)
    • liffon (Swedish)
    • Vanege (Esperanto)
    • Daniel M. (Catalan)
    • Swati Sani
    • ็กซ้…ธ้ถ (Japanese)
    • Jaz-Michael King (Welsh)
    • Kk (Kannada)
    • Shrinivasan T (Tamil)
    • Ray (Spanish)
    • Zinkokooo (Basque)
    • SusVersiva (Catalan)
    • Vikatakavi (Kannada)
    • Sahak Petrosyan (Armenian)
    • tsundoker (Malayalam)
    • Selyan Slimane AMIRI (Kabyle)
    • prabhjot (Hindi)
    • Livingston Samuel (Tamil)
    • Ricardo Colin (Spanish)
    • ralozkolya (Georgian)
    • Anoop (Malayalam)
    • Aymeric (French)
    • Samir Tighzert (Kabyle)
    • Trond Boksasp (Norwegian)
    • koppe-pan (Japanese)
    • Miquel Sabatรฉ Solร  (Catalan)
    • Sais Lakshmanan (Tamil)
    • Matias Lavik (Norwegian Nynorsk)
    • Mohammad Adnan Mahmood (Arabic)
    • Amith Raj Shetty (Kannada)
    • smedvedev (Russian)
    • mikel (Spanish)
  • v3.1.0.rc2

    January 28, 2020

    Mastodon

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

    ๐Ÿ”„ Changelog

    ๐Ÿš€ This release candidate fixes an issue during the bundle install step that sneaked into v3.1.0rc1. For all other notes, please see v3.1.0rc1

  • v3.1.0.rc1

    January 28, 2020

    Mastodon

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

    ๐Ÿ”„ Changelog

    โž• Added

    • โž• Add bookmarks (ThibG, Gargron, Gomasy)
    • โž• Add announcements (Gargron, Gargron, Gargron, Gargron, Gargron, Gargron, Gargron, Gargron, Gargron, Gargron, ThibG, ThibG, Gargron, ThibG, ThibG)
    • โž• Add number animations in web UI (Gargron, Gargron)
    • โž• Add kab, is, kn, mr, ur to available locales (Gargron, BoFFire, Gargron)
    • โž• Add profile filter category (ThibG)
    • โž• Add ability to add oneself to lists (ThibG)
    • โž• Add hint how to contribute translations to preferences page (Sasha-Sorokin)
    • โž• Add signatures to statuses in archive takeout (noellabo)
    • โž• Add support for magnet: and xmpp links (ThibG, ThibG)
    • โž• Add follow_request notification type (ThibG)
    • โž• Add ability to filter reports by account domain in admin UI (ThibG)
    • โž• Add link to search for users connected from the same IP address to admin UI (ThibG)
    • โž• Add link to reports targeting a specific domain in admin view (ThibG)
    • โž• Add support for EventSource streaming in web UI (BenLubar)
    • โž• Add hotkey for opening media attachments in web UI (ThibG, Kjwon15)
    • โž• Add relationship-based options to status dropdowns in web UI (Gargron, ThibG, Gargron)
    • โž• Add support for submitting media description with ctrl+enter in web UI (ThibG)
    • โž• Add download button to audio and video players in web UI (NimaBoscarino)
    • โž• Add setting for whether to crop images in timelines in web UI (duxovni)
    • โž• Add support for Event activities (tcitworld)
    • โž• Add basic support for Group actors (noellabo)
    • Add S3_OVERRIDE_PATH_STYLE environment variable (Gargron)
    • Add S3_OPEN_TIMEOUT environment variable (tateisu)
    • โž• Add LDAP_MAIL environment variable (madmath03)
    • Add LDAP_UID_CONVERSION_ENABLED environment variable (madmath03)
    • โž• Add --remote-only option to tootctl emoji purge (ThibG)
    • โž• Add tootctl media remove-orphans (Gargron, Gargron)
    • โž• Add tootctl media lookup command (irlcatgirl)
    • โž• Add cache for OEmbed endpoints to avoid extra HTTP requests (Gargron)
    • โž• Add support for KaiOS arrow navigation to public pages (nolanlawson)
    • โž• Add discoverable to accounts in REST API (trwnh)
    • โž• Add admin setting to disable default follows (ArisuOngaku)
    • โž• Add support for LDAP and PAM in the OAuth password grant strategy (ntl-purism)
    • ๐Ÿ‘ Allow support for Accept/Reject activities with a non-embedded object (puckipedia)

    ๐Ÿ”„ Changed

    • Change last_status_at to be a date, not datetime in REST API (ThibG)
    • ๐Ÿ”„ Change followers page to relationships page in admin UI (Gargron, Gargron)
    • ๐Ÿ”„ Change reported media attachments to always be hidden in admin UI (Gargron, ThibG)
    • ๐Ÿ”„ Change string from "Disable" to "Disable login" in admin UI (nileshkumar)
    • ๐Ÿ”„ Change report page structure in admin UI (Sasha-Sorokin)
    • ๐Ÿ”„ Change swipe sensitivity to be lower on small screens in web UI (umonaca)
    • ๐Ÿ”„ Change audio/video playback to stop playback when out of view in web UI (Gargron)
    • ๐Ÿ”„ Change media description label based on upload type in web UI (ThibG)
    • ๐Ÿ”„ Change large numbers to render without decimal units in web UI (noellabo)
    • ๐Ÿ”„ Change "Add a choice" button to be disabled rather than hidden when poll limit reached in web UI (ThibG, hinaloe)
    • ๐Ÿ”„ Change tootctl statuses remove to keep statuses favourited or bookmarked by local users (ThibG, Gomasy)
    • โšก๏ธ Change domain block behavior to update user records (fast) before deleting data (slower) (ThibG)
    • ๐Ÿ“‡ Change behaviour to strip audio metadata on uploads (hugogameiro)
    • ๐Ÿ”„ Change accepted length of remote media descriptions from 420 to 1,500 characters (ThibG)
    • ๐Ÿ”„ Change preferences pages structure (Sasha-Sorokin, mayaeh, Sasha-Sorokin, Sasha-Sorokin, Sasha-Sorokin, Sasha-Sorokin)
    • ๐Ÿ”„ Change format of titles in RSS (devkral)
    • ๐Ÿ”„ Change favourite icon animation from spring-based motion to CSS animation in web UI (ThibG)
    • ๐Ÿ”„ Change minimum required Node.js version to 10, and default to 12 (Shleeble, mkody, Shleeble)
    • ๐Ÿ”„ Change spam check to exempt server staff (ThibG)
    • ๐Ÿ”„ Change to fallback to to Create audience when object has no defined audience (ThibG)
    • ๐Ÿ”„ Change Twemoji library to 12.1.3 in web UI (koyuawsmbrtn)
    • ๐Ÿ”„ Change blocked users to be hidden from following/followers lists (ThibG)

    โœ‚ Removed

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fix some translatable strings being used wrongly (Sasha-Sorokin, Sasha-Sorokin, Sasha-Sorokin, mayaeh)
    • ๐Ÿ›  Fix headline of public timeline page when set to local-only (ykzts)
    • ๐Ÿ›  Fix space between tabs not being spread evenly in web UI (Sasha-Sorokin, Sasha-Sorokin, Sasha-Sorokin)
    • ๐Ÿ›  Fix interactive delays in database migrations with no TTY (Gargron)
    • ๐Ÿ›  Fix status overflowing in report dialog in web UI (ThibG)
    • ๐Ÿ›  Fix unlocalized dropdown button title in web UI (Sasha-Sorokin)
    • ๐Ÿ›  Fix media attachments without file being uploadable (Gargron)
    • ๐Ÿ›  Fix unfollow confirmations in profile directory in web UI (ThibG)
    • ๐Ÿ›  Fix duplicate description meta tag on accounts public pages (ThibG)
    • ๐Ÿ›  Fix slow query of federated timeline (notozeki)
    • ๐Ÿ›  Fix not all of account's active IPs showing up in admin UI (Gargron, Gargron)
    • ๐Ÿ›  Fix search by IP not using alternative browser sessions in admin UI (Gargron)
    • ๐Ÿ›  Fix โ€œX new itemsโ€ not showing up for slow mode on empty timelines in web UI (ThibG)
    • ๐Ÿ›  Fix OEmbed endpoint being inaccessible in secure mode (Gargron)
    • ๐Ÿ›  Fix proofs API being inaccessible in secure mode (Gargron)
    • ๐Ÿ›  Fix Ruby 2.7 incompatibilities (ThibG, ThibG, Shleeble, zunda)
    • ๐Ÿ›  Fix invalid poll votes being accepted in REST API (ThibG)
    • ๐Ÿ›  Fix old migrations failing because of strong migrations update (ThibG, ThibG)
    • ๐Ÿ›  Fix reuse of detailed status components in web UI (ThibG)
    • ๐Ÿ›  Fix base64-encoded file uploads not being possible in REST API (Gargron, Gargron)
    • Fix resource_owner_from_credentials in Doorkeeper initializer (Gargron)
    • ๐Ÿ›  Fix error due to missing authentication call in filters controller (Gargron)
    • ๐Ÿ›  Fix uncaught unknown format error in host meta controller (Gargron)
    • ๐Ÿ›  Fix URL search not returning private toots user has access to (ThibG, ThibG)
    • ๐Ÿ›  Fix cache digesting log noise on status embeds (Gargron)
    • ๐Ÿ›  Fix slowness due to layout thrashing when reloading a large set of statuses in web UI (panarom, panarom, Gargron)
    • ๐Ÿ›  Fix error when fetching followers/following from REST API when user has network hidden (Gargron)
    • ๐Ÿ›  Fix IDN mentions not being processed, IDN domains not being rendered (Gargron)
    • ๐Ÿ›  Fix error when searching for empty phrase (Gargron)
    • ๐Ÿ›  Fix backups stopping due to read timeouts (chr-1x)
    • ๐Ÿ›  Fix batch actions on non-pending tags in admin UI (ThibG)
    • Fix sample SAML_ACS_URL, SAML_ISSUER (orlea)
    • ๐Ÿ›  Fix manual scrolling issue on Firefox/Windows in web UI (ThibG)
    • ๐Ÿ›  Fix archive takeout failing if total dump size exceeds 2GB (scd31, Gargron)
    • ๐Ÿ›  Fix custom emoji category creation silently erroring out on duplicate category (ThibG)
    • ๐Ÿ›  Fix link crawler not specifying preferred content type (ThibG)
    • ๐Ÿ›  Fix featured hashtag setting page erroring out instead of rejecting invalid tags (ThibG)
    • ๐Ÿ›  Fix tooltip messages of single/multiple-choice polls switcher being reversed in web UI (acid-chicken)
    • ๐Ÿ›  Fix typo in help text of tootctl statuses remove (trwnh)
    • ๐Ÿ›  Fix generic HTTP 500 error on duplicate records (Gargron)
    • ๐Ÿ›  Fix old migration failing with new status default scope (ThibG)
    • ๐Ÿ›  Fix errors when using search API with no query (Gargron, trwnh)
    • ๐Ÿ›  Fix poll options not being selectable via keyboard in web UI (ThibG)
    • ๐Ÿ›  Fix conversations not having an unread indicator in web UI (Gargron)
    • ๐Ÿ›  Fix lost focus when modals open/close in web UI (ThibG)
    • ๐Ÿ›  Fix pending upload count not being decremented on error in web UI (ThibG)
    • ๐Ÿ›  Fix empty poll options not being removed on remote poll update (ThibG)
    • ๐Ÿ›  Fix OCR with delete & redraft in web UI (ThibG)
    • ๐Ÿ›  Fix blur behind closed registration message (ThibG)
    • ๐Ÿ›  Fix OEmbed discovery not handling different URL variants in query (Gargron)
    • ๐Ÿ›  Fix link crawler crashing on <a> tags without href (ThibG)
    • ๐Ÿ›  Fix whitelisted subdomains being ignored in whitelist mode (noiob)
    • ๐Ÿ›  Fix broken audit log in whitelist mode in admin UI (ThibG)
    • ๐Ÿ›  Fix unread indicator not honoring "Only media" option in local and federated timelines in web UI (ThibG)
    • ๐Ÿ›  Fix error when rebuilding home feeds (dariusk)
    • ๐Ÿ›  Fix relationship caches being broken as result of a follow request (ThibG)
    • ๐Ÿ›  Fix more items than the limit being uploadable in web UI (ThibG)
    • ๐Ÿ›  Fix various issues with account migration (ThibG)
    • ๐Ÿ›  Fix filtered out items being counted as pending items in slow mode in web UI (ThibG)
    • ๐Ÿ›  Fix notification filters not applying to poll options (ThibG)
    • ๐Ÿ›  Fix notification message for user's own poll saying it's a poll they voted on in web UI (ykzts)
    • ๐Ÿ›  Fix polls with an expiration not showing up as expired in web UI (noellabo)
    • ๐Ÿ›  Fix volume slider having an offset between cursor and slider in Chromium in web UI (ThibG)
    • ๐Ÿ›  Fix Vagrant image not accepting connections (shrft)
    • ๐Ÿ›  Fix batch actions being hidden on small screens in admin UI (ThibG)
    • ๐Ÿ›  Fix incoming federation not working in whitelist mode (ThibG)
    • ๐Ÿ›  Fix error when passing empty source param to PUT /api/v1/accounts/update_credentials (jglauche)
    • ๐Ÿ›  Fix HTTP-based streaming API being cacheable by proxies (BenLubar)
    • ๐Ÿ›  Fix users being able to register while tootctl self-destruct is in progress (Kjwon15)
    • ๐Ÿ›  Fix microformats detection in link crawler not ignoring h-card links (nightpool)
    • ๐Ÿ›  Fix outline on full-screen video in web UI (hinaloe)
    • ๐Ÿ›  Fix TLD domain blocks not being editable (ThibG)
    • ๐Ÿ›  Fix Nanobox deploy hooks (danhunsaker)
    • ๐Ÿ›  Fix needlessly complicated SQL query when performing account search amongst followings (ThibG)
    • ๐Ÿ›  Fix favourites count not updating when unfavouriting in web UI (NimaBoscarino)
    • ๐Ÿ›  Fix occasional crash on scroll in Chromium in web UI (hinaloe)
    • ๐Ÿ›  Fix intersection observer not working in single-column mode web UI (panarom)
    • ๐Ÿ›  Fix voting issue with remote polls that contain trailing spaces (ThibG)
    • ๐Ÿ›  Fix dynamic elements not working in pgHero due to CSP rules (ykzts)
    • ๐Ÿ›  Fix overly verbose backtraces when delivering ActivityPub payloads (zunda)

    ๐Ÿ”’ Security

    • ๐Ÿ›  Fix OEmbed leaking information about existence of non-public statuses (Gargron)
    • ๐Ÿ›  Fix password change/reset not immediately invalidating other sessions (Gargron)
    • ๐Ÿ›  Fix settings pages being cacheable by the browser (Gargron)

    โฌ†๏ธ Upgrade notes

    โฌ†๏ธ > 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:

    • โฌ†๏ธ The minimum supported Node.js version has been bumped from 8 to 10. To upgrade Node.js, run curl -sL https://deb.nodesource.com/setup_10.x | bash - and then apt install nodejs
    • Install dependencies: bundle install and yarn install

    ๐Ÿณ Both Docker and non-Docker:

    1. Run database migrations:
      • Non-Docker: RAILS_ENV=production bundle exec rails db:migrate
      • Docker: docker-compose run --rm 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
    2. Restart all Mastodon processes

    Translators

    TBA

  • v3.0.2

    February 27, 2020

    Mastodon

    ๐Ÿ”„ Changelog

    ๐Ÿ”’ Security

    • ๐Ÿ›  Fix leak of arbitrary statuses through unfavourite action in REST API (Gargron)

    โฌ†๏ธ Upgrade notes

    Because this is a backport, it is not available with git pull. Use git fetch && git checkout v3.0.2

    ๐Ÿณ Both Docker and non-Docker:

    1. Restart all Mastodon processes
  • v3.0.1

    October 09, 2019

    Mastodon

    ๐Ÿ”„ Changelog

    โž• Added

    • โž• Add tootctl media usage command (Gargron)
    • โž• Add admin setting to auto-approve trending hashtags (Gargron, Gargron)

    ๐Ÿ”„ Changed

    • ๐Ÿ”„ Change tootctl media refresh to skip already downloaded attachments (Gargron)

    โœ‚ Removed

    • โœ‚ Remove auto-silence behaviour from spam check (Gargron)
    • โœ‚ Remove HTML lang attribute from individual statuses in web UI (Gargron)
    • โœ‚ Remove fallback to long description on sidebar and meta description (Gargron)

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fix preloaded JSON-LD context for identity not being used (Gargron)
    • ๐Ÿ›  Fix media editing modal changing dimensions once the image loads (Gargron)
    • ๐Ÿ›  Fix not showing whether a custom emoji has a local counterpart in admin UI (Gargron)
    • ๐Ÿ›  Fix attachment not being re-downloaded even if file is not stored (Gargron)
    • ๐Ÿ›  Fix old migration trying to use new column due to default status scope (Gargron)
    • ๐Ÿ›  Fix column back button missing for not found accounts (trwnh)
    • ๐Ÿ›  Fix issues with tootctl's parallelization and progress reporting (Gargron, Gargron)
    • ๐Ÿ›  Fix existing user records with now-renamed pt locale (Gargron)
    • ๐Ÿ›  Fix hashtag timeline REST API accepting too many hashtags (Gargron)
    • ๐Ÿ›  Fix GET /api/v1/instance REST APIs being unavailable in secure mode (Gargron)
    • ๐Ÿ›  Fix performance of home feed regeneration and merging (Gargron)
    • ๐Ÿ›  Fix ffmpeg performance issues due to stdout buffer overflow (hugogameiro)
    • ๐Ÿ›  Fix S3 adapter retrying failing uploads with exponential backoff (Gargron)
    • ๐Ÿ›  Fix tootctl accounts cull advertising unused option flag (Kjwon15)

    โฌ†๏ธ Upgrade notes

    โฌ†๏ธ > 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. Run the database migrations:
      • Non-Docker: RAILS_ENV=production bundle exec rails db:migrate
      • Docker: docker-compose run --rm 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
    2. Restart all Mastodon processes

    Translators

    • oษนส‡uสž (Spanish, Argentina)
    • Ramdziana F Y (Indonesian)
    • Oguz Ersen (Turkish)
    • koyu (German)
    • Osoitz (Basque)
    • ButterflyOfFire (Arabic; French)
    • ฯ‰ฮนโ„“โ„“ฮนฮฑะผโฟ (Spanish)
    • lamnatos (Greek)
    • christalleras (Norwegian Nynorsk)
    • Aditoo17 (Czech)
    • cybergene (Japanese)
    • Berrahed (Swedish)
    • Xosรฉ M. (Galician)
    • ๐Ÿ’… Stasiek Michalski (Polish)
    • Cutls (Japanese)
    • Maya Minatsuki (Japanese)
    • Jeong Arm (Esperanto; Korean; Japanese)
    • Zoltรกn Gera (Hungarian)
    • Thai Localization (Thai)
    • Masoud Abkenar (Persian)
    • FรฉdiQuรฉbec (French)
    • Sasha Sorokin (Russian)
    • borys_sh (Ukrainian)
    • Marek ฤฝach (Slovak)
    • ThibG (French)
    • Jeroen (Dutch)
    • Sokratis Alichanidis (Greek)
    • spla (Catalan)
    • Alix Rossi (Corsican)
    • Malik Mann (German)
    • Saederup92 (Danish)
    • Diluns (Occitan)
    • frumble (German)
    • Roboron (Spanish)
    • liffon (Swedish)
    • PifyZ (French)
    • ็กซ้…ธ้ถ (Japanese)
    • Rikard Linde (Swedish)
    • Tagomago (Spanish)
  • v3.0.0

    October 03, 2019

    Mastodon

    ๐Ÿ’ฅ Breaking changes

    • โœ‚ Remove OStatus support
      • Please use ActivityPub instead
    • โœ‚ Remove deprecated REST API GET /api/v1/search API
      • Please use GET /api/v2/search instead
    • โœ‚ Remove deprecated REST API GET /api/v1/statuses/:id/card
      • Please use the card attribute on statuses instead
    • โœ‚ Remove deprecated REST API POST /api/v1/notifications/dismiss?id=:id
      • Please use POST /api/v1/notifications/:id/dismiss instead
    • โœ‚ Remove deprecated REST API GET /api/v1/timelines/direct
      • Please use GET /api/v1/conversations instead

    ๐Ÿ”„ Changelog

    โž• Added

    • โž• Add "not available" label to unloaded media attachments in web UI (Gargron, Gargron)
    • โž• Add profile directory to web UI (Gargron, mayaeh)
      • Add profile directory opt-in federation
      • Add profile directory REST API
    • โž• Add special alert for throttled requests in web UI (ThibG)
    • โž• Add confirmation modal when logging out from the web UI (ThibG)
    • โž• Add audio player in web UI (Gargron, Gargron, Gargron, ThibG, Gargron)
    • โž• Add autosuggestions for hashtags in web UI (Gargron, ThibG, Gargron, Gargron, Gargron)
    • โž• Add media editing modal with OCR tool in web UI (Gargron, Gargron, ThibG, ThibG, Gargron, Gargron, Gargron)
    • โž• Add indicator of unread notifications to window title when web UI is out of focus (Gargron, Gargron)
    • โž• Add indicator for which options you voted for in a poll in web UI (ThibG)
    • โž• Add search results pagination to web UI (Gargron, ThibG)
    • โž• Add option to disable real-time updates in web UI ("slow mode") (Gargron, ykzts, ThibG, Gargron, ThibG)
    • โž• Add option to disable blurhash previews in web UI (ThibG)
    • โž• Add native smooth scrolling when supported in web UI (ThibG)
    • โž• Add scrolling to the search bar on focus in web UI (Kjwon15)
    • โž• Add refresh button to list of rebloggers/favouriters in web UI (Gargron)
    • โž• Add error description and button to copy stack trace to web UI (Gargron)
    • โž• Add search and sort functions to hashtag admin UI (mayaeh, Gargron, mayaeh)
    • โž• Add setting for default search engine indexing in admin UI (brortao)
    • โž• Add account bio to account view in admin UI (ThibG)
    • โž• Add option to include reported statuses in warning e-mail from admin UI (Gargron, Gargron, Gargron, Gargron, mayaeh)
    • โž• Add number of pending accounts and pending hashtags to dashboard in admin UI (Gargron)
    • โž• Add account migration UI (Gargron, noellabo, noellabo, noellabo, noellabo)
    • โž• Add table of contents to about page (Gargron, ykzts, ykzts, Kjwon15)
    • โž• Add password challenge to 2FA settings, e-mail notifications (Gargron)
    • โž• Add optional public list of domain blocks with comments (ThibG, ThibG, Gargron)
    • โž• Add an RSS feed for featured hashtags (noellabo)
    • โž• Add explanations to featured hashtags UI and profile (Gargron)
    • โž• Add hashtag trends with admin and user settings (Gargron, Gargron, Gargron, Gargron, Gargron, mayaeh, Gargron, Gargron, Gargron, Gargron, Gargron, Gargron, ThibG, Sasha-Sorokin, Gargron, Gargron)
      • Add hashtag usage breakdown to admin UI
      • Add batch actions for hashtags to admin UI
      • Add trends to web UI
      • Add trends to public pages
      • Add user preference to hide trends
      • Add admin setting to disable trends
    • โž• Add categories for custom emojis (Gargron, Gargron, Gargron, highemerly)
      • Add custom emoji categories to emoji picker in web UI
      • Add category to custom emojis in REST API
      • Add batch actions for custom emojis in admin UI
    • โž• Add max image dimensions to error message (raboof)
    • โž• Add aac, m4a, 3gp, amr, wma to allowed audio formats (Gargron, umonaca)
    • โž• Add search syntax for operators and phrases (Gargron)
    • โž• Add REST API for managing featured hashtags (noellabo)
    • โž• Add REST API for managing timeline read markers (Gargron)
    • โž• Add exclude_unreviewed param to GET /api/v2/search REST API (Gargron)
    • โž• Add reason param to POST /api/v1/accounts REST API (Gargron)
    • โž• Add ActivityPub secure mode (Gargron, ThibG, ThibG)
    • โž• Add HTTP signatures to all outgoing ActivityPub GET requests (Gargron, ThibG)
    • โž• Add support for ActivityPub Audio activities (ThibG)
    • โž• Add ActivityPub actor representing the entire server (ThibG, rtucker, ThibG, Gargron)
    • โž• Add whitelist mode (Gargron, mayaeh)
    • โž• Add config of multipart threshold for S3 (ykzts, ykzts)
    • โž• Add health check endpoint for web (ykzts, ykzts)
    • โž• Add HTTP signature keyId to request log (Gargron)
    • Add SMTP_REPLY_TO environment variable (hugogameiro)
    • โž• Add tootctl preview_cards remove command (mayaeh)
    • โž• Add tootctl media refresh command (Gargron)
    • โž• Add tootctl cache recount command (Gargron)
    • โž• Add option to exclude suspended domains from tootctl domains crawl (dariusk)
    • โž• Add parallelization to tootctl search deploy (noellabo)
    • โž• Add soft delete for statuses for instant deletes through API (Gargron, Gargron)
    • โž• Add rails-level JSON caching (Gargron, Gargron)
    • โž• Add request pool to improve delivery performance (Gargron, ykzts)
    • โž• Add concurrent connection attempts to resolved IP addresses (ThibG)
    • โž• Add index for remember_token to improve login performance (abcang)
    • โž• Add more accurate hashtag search (Gargron, Gargron, Gargron)
    • โž• Add more accurate account search (Gargron, Gargron)
    • โž• Add a spam check (Gargron, Gargron, ThibG)
    • โž• Add new languages (Gargron)
      • Breton
      • Spanish (Argentina)
      • Estonian
      • Macedonian
      • New Norwegian
    • โž• Add NodeInfo endpoint (Gargron, Gargron)

    ๐Ÿ”„ Changed

    • ๐Ÿ”„ Change conversations UI (Gargron)
    • ๐Ÿ”„ Change dashboard to short number notation (noellabo, noellabo)
    • ๐Ÿ”„ Change REST API GET /api/v1/timelines/public to require authentication when public preview is off (ThibG)
    • ๐Ÿ”„ Change REST API POST /api/v1/follow_requests/:id/(approve|reject) to return relationship (ThibG)
    • ๐Ÿ”„ Change rate limit for media proxy (ykzts)
    • ๐Ÿ”„ Change unlisted custom emoji to not appear in autosuggestions (Gargron)
    • ๐Ÿ”„ Change max length of media descriptions from 420 to 1500 characters (Gargron, ThibG)
    • ๐Ÿ”„ Change deletes to preserve soft-deleted statuses in unresolved reports (Gargron)
    • ๐Ÿ”„ Change tootctl to use inline parallelization instead of Sidekiq (Gargron)
    • ๐Ÿ”„ Change account deletion page to have better explanations (Gargron, Gargron)
    • ๐Ÿ”„ Change hashtag component in web UI to show numbers for 2 last days (Gargron, Gargron, Gargron)
    • ๐Ÿ”„ Change OpenGraph description on sign-up page to reflect invite (Gargron)
    • ๐Ÿ”„ Change layout of public profile directory to be the same as in web UI (Gargron)
    • ๐Ÿ”„ Change detailed status child ordering to sort self-replies on top (ThibG)
    • ๐Ÿ”„ Change window resize handler to switch to/from mobile layout as soon as needed (ThibG)
    • ๐Ÿ’… Change icon button styles to make hover/focus states more obvious (ThibG)
    • ๐Ÿ”„ Change contrast of status links that are not mentions or hashtags (ThibG)
    • ๐Ÿ”„ Change hashtags to preserve first-used casing (Gargron, Gargron, Gargron, Gargron, Gargron)
    • ๐Ÿ”„ Change unconfirmed user login behaviour (Gargron, ThibG, Gargron)
    • ๐Ÿ”„ Change single-column mode to scroll the whole page (Gargron, Gargron, Gargron, ThibG, Gargron, Gargron, ThibG, Gargron)
    • ๐Ÿ”„ Change tootctl accounts follow to only work with local accounts (angristan)
    • ๐Ÿ”„ Change Dockerfile (Shleeble, ykzts, Shleeble)
    • ๐Ÿ”„ Change supported Node versions to include v12 (abcang)
    • ๐Ÿ”„ Change Portuguese language from pt to pt-PT (Gargron)
    • ๐Ÿ”„ Change domain block silence to always require approval on follow (ThibG)
    • ๐Ÿ”„ Change link preview fetcher to not perform a HEAD request first (Gargron)
    • ๐Ÿ”„ Change tootctl domains purge to accept multiple domains at once (Gargron)

    โœ‚ Removed

    • โœ‚ Remove OStatus support (Gargron, Gargron, Gargron, ThibG, ThibG)
    • โœ‚ Remove Atom feeds and old URLs in the form of GET /:username/updates/:id (Gargron)
    • โœ‚ Remove WebP support (angristan)
    • โœ‚ Remove deprecated config options from Heroku and Scalingo (ykzts)
    • โœ‚ Remove deprecated REST API GET /api/v1/search API (Gargron)
    • โœ‚ Remove deprecated REST API GET /api/v1/statuses/:id/card (Gargron)
    • โœ‚ Remove deprecated REST API POST /api/v1/notifications/dismiss?id=:id (Gargron)
    • โœ‚ Remove deprecated REST API GET /api/v1/timelines/direct (Gargron)

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fix manifest warning (ykzts)
    • ๐Ÿ›  Fix admin UI for custom emoji not respecting GIF autoplay preference (ThibG)
    • ๐Ÿ›  Fix page body not being scrollable in admin/settings layout (Gargron)
    • ๐Ÿ›  Fix placeholder colors for inputs not being explicitly defined (Gargron)
    • ๐Ÿ›  Fix incorrect enclosure length in RSS (tsia)
    • ๐Ÿ›  Fix TOTP codes not being filtered from logs during enabling/disabling (Gargron)
    • ๐Ÿ›  Fix webfinger response not returning 410 when account is suspended (Gargron)
    • ๐Ÿ›  Fix ActivityPub Move handler queuing jobs that will fail if account is suspended (Gargron)
    • ๐Ÿ›  Fix SSO login not using existing account when e-mail is verified (Gargron)
    • ๐Ÿ›  Fix web UI allowing uploads past status limit via drag & drop (Gargron)
    • ๐Ÿ›  Fix expiring polls not being displayed as such in web UI (ThibG)
    • ๐Ÿ›  Fix 2FA challenge and password challenge for non-database users (Gargron, Gargron)
    • ๐Ÿ›  Fix profile fields overflowing page width in web UI (Gargron)
    • ๐Ÿ›  Fix web push subscriptions being deleted on rate limit or timeout (Gargron)
    • ๐Ÿ›  Fix display of long poll options in web UI (ThibG, ThibG)
    • ๐Ÿ›  Fix search API not resolving URL when type is given (Gargron)
    • ๐Ÿ›  Fix hashtags being split by ZWNJ character (Gargron)
    • ๐Ÿ›  Fix scroll position resetting when opening media modals in web UI (Gargron)
    • ๐Ÿ›  Fix duplicate HTML IDs on about page (ThibG)
    • ๐Ÿ›  Fix admin UI showing superfluous reject media/reports on suspended domain blocks (ThibG)
    • ๐Ÿ›  Fix ActivityPub context not being dynamically computed (ThibG)
    • ๐Ÿ›  Fix Mastodon logo style on hover on public pages' footer (ThibG)
    • ๐Ÿ›  Fix height of dashboard counters (ThibG)
    • ๐Ÿ›  Fix custom emoji animation on hover in web UI directory bios (ThibG)
    • ๐Ÿ›  Fix non-numbers being passed to Redis and causing an error (Gargron)
    • ๐Ÿ›  Fix error in REST API for an account's statuses (Gargron)
    • ๐Ÿ›  Fix uncaught error when resource param is missing in Webfinger request (Gargron)
    • ๐Ÿ›  Fix uncaught domain normalization error in remote follow (Gargron)
    • ๐Ÿ›  Fix uncaught 422 and 500 errors (Gargron, Gargron)
    • ๐Ÿ›  Fix uncaught parameter missing exceptions and missing error templates (Gargron)
    • ๐Ÿ›  Fix encoding error when checking e-mail MX records (Gargron)
    • ๐Ÿ›  Fix items in StatusContent render list not all having a key (ThibG)
    • ๐Ÿ›  Fix remote and staff-removed statuses leaving media behind for a day (Gargron)
    • ๐Ÿ›  Fix CSP needlessly allowing blob URLs in script-src (ThibG)
    • ๐Ÿ›  Fix ignoring whole status because of one invalid hashtag (Gargron)
    • ๐Ÿ›  Fix hidden statuses losing focus (ThibG)
    • ๐Ÿ›  Fix loading bar being obscured by other elements in web UI (Gargron)
    • ๐Ÿ›  Fix multiple issues with replies collection for pages further than self-replies (ThibG)
    • ๐Ÿ›  Fix blurhash and autoplay not working on public pages (Gargron)
    • ๐Ÿ›  Fix 422 being returned instead of 404 when POSTing to unmatched routes (Gargron, Gargron)
    • ๐Ÿ›  Fix client-side resizing of image uploads (ThibG)
    • ๐Ÿ›  Fix short number formatting for numbers above million in web UI (Gargron)
    • ๐Ÿ›  Fix ActivityPub and REST API queries setting cookies and preventing caching (ThibG, ThibG, ThibG, ThibG)
    • ๐Ÿ›  Fix some emojis in profile metadata labels are not emojified. (kedamaDQ)
    • ๐Ÿ›  Fix account search always returning exact match on paginated results (Gargron)
    • ๐Ÿ›  Fix acct URIs with IDN domains not being resolved (Gargron)
    • ๐Ÿ›  Fix admin dashboard missing latest features (Gargron)
    • ๐Ÿ›  Fix jumping of toot date when clicking spoiler button (ariasuni)
    • ๐Ÿ›  Fix boost to original audience not working on mobile in web UI (ThibG)
    • ๐Ÿ›  Fix handling of webfinger redirects in ResolveAccountService (ThibG)
    • ๐Ÿ›  Fix URLs appearing twice in errors of ActivityPub::DeliveryWorker (Gargron)
    • ๐Ÿ›  Fix support for HTTP proxies (ThibG)
    • ๐Ÿ›  Fix HTTP requests to IPv6 hosts (ThibG)
    • ๐Ÿ›  Fix error in ElasticSearch index import (mayaeh)
    • ๐Ÿ›  Fix duplicate account error when seeding development database (ysksn)
    • ๐Ÿ›  Fix performance of session clean-up scheduler (abcang)
    • ๐Ÿ›  Fix older migrations not running (zunda)
    • ๐Ÿ›  Fix URLs counting towards RTL detection (ahangarha)
    • ๐Ÿ›  Fix unnecessary status re-rendering in web UI (ThibG)
    • ๐Ÿ›  Fix http_parser.rb gem not being compiled when no network available (petabyteboy)
    • ๐Ÿ›  Fix muted text color not applying to all text (trwnh)
    • ๐Ÿ›  Fix follower/following lists resetting on back-navigation in web UI (Gargron)
    • ๐Ÿ›  Fix n+1 query when approving multiple follow requests (abcang)
    • ๐Ÿ›  Fix records not being indexed into ElasticSearch sometimes (Gargron)
    • ๐Ÿ›  Fix needlessly indexing unsearchable statuses into ElasticSearch (Gargron)
    • ๐Ÿ›  Fix new user bootstrapping crashing when to-be-followed accounts are invalid (ThibG)
    • ๐Ÿ›  Fix featured hashtag URL being interpreted as media or replies tab (Gargron)
    • ๐Ÿ›  Fix account counters being overwritten by parallel writes (Gargron)

    ๐Ÿ”’ Security

    • ๐Ÿ›  Fix performance of GIF re-encoding and always strip EXIF data from videos (Gargron)

    โฌ†๏ธ Upgrade notes

    โฌ†๏ธ > 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:

    • โฌ†๏ธ The recommended Ruby version has been bumped to 2.6.5. You can upgrade, or you can continue using the old version by overwriting the .ruby-version file with e.g. 2.6.1 or 2.5.3 which were recommended previously
    • Install dependencies: bundle install and yarn install

    ๐Ÿณ Both Docker and non-Docker:

    ๐Ÿš€ 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
      1. Restart all Mastodon processes
      2. Clear cache:
    • Non-Docker: RAILS_ENV=production bin/tootctl cache clear
    • Docker: docker-compose run --rm web bin/tootctl cache clear ๐Ÿš€ 5. 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
      1. Restart all Mastodon processes
      2. If you are using ElasticSearch, there are new indices to be deployed ( this step is likely to take a considerable amount of time , so running it through screen or tmux is advisable):
    • Non-Docker: RAILS_ENV=production bin/tootctl search deploy
    • Docker: docker-compose run --rm web bin/tootctl search deploy

    Translators

    • Zoltรกn Gera (Hungarian)
    • Kristijan Tkalec (Slovenian)
    • Evert Prants (Estonian)
    • borys_sh (Ukrainian)
    • Muha Aliss (Turkish)
    • ๅ”ๅฎ—ๅ‹› (Chinese Simplified)
    • oษนส‡uสž (Spanish, Argentina)
    • Jeong Arm (Korean; Esperanto; Japanese)
    • ButterflyOfFire (French; Arabic)
    • Roboron (Spanish)
    • Osoitz (Basque)
    • Ramdziana F Y (Indonesian)
    • Alix Rossi (Corsican; French)
    • Aditoo17 (Czech)
    • Masoud Abkenar (Persian)
    • koyu (German)
    • spla (Catalan)
    • Maya Minatsuki (Japanese)
    • Oguz Ersen (Turkish)
    • Xosรฉ M. (Galician)
    • Jeroen (Dutch)
    • ๐Ÿ’… Marek ฤฝach (Slovak; Polish)
    • d5Ziif3K (Ukrainian)
    • Thai Localization (Thai)
    • lamnatos (Greek)
    • Diluns (Occitan)
    • atarashiako (Chinese Simplified)
    • ๐Ÿ’… 101010 (Polish)
    • Yi-Jyun Pan (Chinese Traditional)
    • silkevicious (Italian)
    • FรฉdiQuรฉbec (French)
    • Jaz-Michael King (Welsh)
    • tykayn(French)
    • Alessandro Levati (Italian)
    • carolinagiorno (Portuguese, Brazilian)
    • taoxvx (Danish)
    • shioko (Chinese Simplified)
    • Emyn Nant Nefydd (Welsh)
    • Sasha Sorokin (Russian)
    • Tiago Epifรขnio (Portuguese)
    • dxwc (Bengali)
    • liffon (Swedish)
    • Evgeny Petrov (Russian)
    • Vanege (Esperanto)
    • Johan Schiff (Swedish)
    • kat (Ukrainian; Russian)
    • oti4500 (Hungarian; Ukrainian)
    • Juan Josรฉ Salvador Piedra (Spanish)
    • diazepan (Spanish)
    • SHeija (Finnish)
    • christalleras (Norwegian Nynorsk)
    • Jack R (Spanish)
    • Saederup92 (Danish)
    • sabri (Spanish)
    • ๐Ÿ’… Stasiek Michalski (Polish)
    • Dewi (Breton; French)
    • ariasuni (French; Esperanto)
    • AW Unad (Indonesian)
    • cybergene (Japanese)
    • Andrea Lo Iacono (Italian)
    • Ray (Spanish)
    • Unmual (Spanish)
    • Ryo (Korean)
    • juanda097 (Spanish)
    • Anunnakey (Macedonian)
    • Cutls (Japanese)
    • ruine (Japanese)
    • MadeInSteak (Finnish)
    • Sokratis Alichanidis (Greek)
    • dragnucs2 (Arabic)
    • frumble (German)
    • erikstl (Esperanto)
    • Rikard Linde (Swedish)
    • PPNplus (Thai)
    • EPEMA YT (German)
    • Rhys Harrison (Esperanto)
    • KEINOS (Japanese)
    • JzshAC (Chinese Simplified)
    • Rintan1 (Japanese)
    • hiphipvargas (Portuguese)
    • Ch. (Korean)
    • tctovsli (Norwegian Nynorsk)
    • ๐Ÿ’… vjasiegd (Polish)
    • SamitiMed (Thai)
    • umelard (Hebrew)
    • ็กซ้…ธ้ถ (Japanese)
    • Adriรกn Lattes (Spanish)
    • Hinaloe (Japanese)
    • Renato "Lond" Cerqueira (Portuguese, Brazilian)
    • ๐Ÿ’… Marcin Mikoล‚ajczak (Polish)
    • filippodb (Italian)
    • ๆฃฎใฎๅญใƒชใ‚นใฎใƒŸใƒผใ‚ณใฎๅคงๅ†’้™บ (Japanese)
    • Sahak Petrosyan (Armenian)
    • Marcepanek_ (Polish)
    • Daniel Dimitrov (Bulgarian)
    • Hugh Liu (Chinese Simplified)
    • Rakino (Chinese Simplified)
    • hussama (Portuguese, Brazilian)
    • eichkat3r (German)
    • SnDer (Dutch)
    • ๐Ÿ’… Karol Kosek (Polish)
    • Akarshan Biswas (Bengali)
    • Tradjincal (French)
    • sergioaraujo1 (Portuguese, Brazilian)
    • mmokhi (Persian)
    • skaaarrr (German)
    • Lukas Fรผlling (German)
    • JackXu (Chinese Simplified)
    • Zoรฉ Bล‘le (German)
    • Dremski (Bulgarian)
    • OpenAlgeria (Arabic)
    • waweic (German)
    • Benjamin Cobb (German)
    • ใ•ใฃใ‹ใ‚Šใ‚“ใซใƒผใ•ใ‚“ (Japanese)
    • Abijeet Patro (Basque)