Skip to content

@Gargron Gargron released this Apr 10, 2019





  • Change design of landing page (Gargron, Gargron, ThibG, ThibG, koyuawsmbrtn, Gargron)
  • Change design of profile column in web UI (Gargron, Aditoo17, ThibG, mayaeh, ThibG)
  • Change language detector threshold from 140 characters to 4 words (Gargron)
  • Change language detector to always kick in for non-latin alphabets (Gargron)
  • Change icons of features on admin dashboard (Gargron)
  • Change DNS timeouts from 1s to 5s (ThibG)
  • Change Docker image to use Ubuntu with jemalloc (Sir-Boops, BenLubar)
  • Change public pages to be cacheable by proxies (BenLubar)
  • Change the 410 gone response for suspended accounts to be cacheable by proxies (ThibG)
  • Change web UI to not not empty timeline of blocked users on block (ThibG)
  • Change JSON serializer to remove unused @context values (Gargron)
  • Change GIFV file size limit to be the same as for other videos (rinsuki)
  • Change Webpack to not use @babel/preset-env to compile node_modules (ykzts)
  • Change web UI to use new Web Share Target API (gol-cha)
  • Change ActivityPub reports to have persistent URIs (ThibG)
  • Change tootctl accounts cull --dry-run to list accounts that would be deleted (BenLubar)
  • Change format of CSV exports of follows and mutes to include extra settings (ThibG, ThibG)
  • Change ActivityPub collections to be cacheable by proxies (ThibG)
  • Change REST API and public profiles to not return follows/followers for users that have blocked you (Gargron)
  • Change the groupings of menu items in settings navigation (Gargron)


  • Remove zopfli compression to speed up Webpack from 6min to 1min (nolanlawson)
  • Remove stats.json generation to speed up Webpack (nolanlawson)


  • Fix public timelines being broken by new toots when they are not mounted in web UI (Gargron)
  • Fix quick filter settings not being saved when selecting a different filter in web UI (ThibG)
  • Fix remote interaction dialogs being indexed by search engines (Gargron)
  • Fix maxed-out invites not showing up as expired in UI (Gargron)
  • Fix scrollbar styles on compose textarea (Gargron)
  • Fix timeline merge workers being queued for remote users (Gargron)
  • Fix alternative relay support regression (Gargron)
  • Fix trying to fetch keys of unknown accounts on a self-delete from them (ThibG)
  • Fix CAS :service_validate_url option (enewhuis)
  • Fix race conditions when creating backups (ThibG)
  • Fix whitespace not being stripped out of username before validation (aurelien-reeves)
  • Fix n+1 query when deleting status (Gargron)
  • Fix exiting follows not being rejected when suspending a remote account (ThibG)
  • Fix the underlying button element in a disabled icon button not being disabled (ThibG)
  • Fix race condition when streaming out deleted statuses (ThibG)
  • Fix performance of admin federation UI by caching account counts (Gargron)
  • Fix JS error on pages that don't define a CSRF token (hinaloe)
  • Fix tootctl accounts cull sometimes removing accounts that are temporarily unreachable (BenLubar)

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.1. You can upgrade, or you can continue using the old version by overwriting the .ruby-version file with e.g. 2.6.0 or 2.5.3 which were recommended previously
  • Update rubygems: gem update --system
  • Install dependencies: bundle install and yarn install

Both Docker and non-Docker:

  1. 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
  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


Contributors to this release: Aditoo17, armandfardeau, aurelien-reeves, BenLubar enewhuis, Gargron, hinaloe, jeroenpraat, Kjwon15, koyuawsmbrtn, m4sk1n, mabkenar, marek-lach, mayaeh, noellabo, nolanlawson, palindromordnilap, Quenty31, renatolond, rinsuki, salvadorpla, sascha-sl, Shleeble, Slaynash, slice, ThibG, xgess, yagizhan49, ykzts, ysksn

Translators for this release: Aditoo, Albakham, Alessandro Levati, Ali Demirtas, Alix D. R., Amrz0, Andrew Zyabin, Angeles Broullón, Antonis, arshat, Austin Jones, Becci Cat, Besnik Bleta, Burekz Finezt, ButterflyOfFire, dxwc, Einhjeriar, Eirworks, Evgeny Petrov, goofy-mdn, Hinaloe, Ivan Pleva, Jaz-Michael King, Jeong Arm, jeroenpraat, Joseph Nuthalapati, João Pinheiro, Kaitian Xie, Kevin Houlihan, koyu, Kristijan Tkalec, Kumasun Morino, Leia, lilo, Maigonis, Marcin Mikołajczak, Marek Ľach, martialarts, Masoud Abkenar, Max Winkler, mayaeh, Mikko Poussu, Mélanie Chauvel, Osoitz, Owain Rhys Lewis, pan93412, parnikkapore, Peter, Quenti2, Quentí, Rasmus Sæderup, Renato "Lond" Cerqueira, Sarunas Medeikis, Sergio Soriano, spla, Thai Localization, Vanege, Xose M., Павел Гастелло, 森の子リスのミーコの大冒険

Assets 2