Skip to content

@Gargron Gargron released this Sep 29, 2019 · 94 commits to master since this release


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



  • Add exclude_unreviewed param to GET /api/v2/search REST API (Gargron)


  • Change domain block silence to always require approval on follow (ThibG)


  • Fix muted text color not applying to all text (trwnh)
  • Fix follower/following lists resetting on back-navigation in web UI (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.4. 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
  3. Restart all Mastodon processes
  4. 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
  6. Restart all Mastodon processes
  7. 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


  • Zoltán Gera (Hungarian)
  • Kristijan Tkalec (Slovenian)
  • Evert Prants (Estonian)
  • borys_sh (Ukrainian)
  • Muha Aliss (Turkish)
  • 唐宗勛 (Chinese Simplified)
  • Jeong Arm (Korean; Esperanto; Japanese)
  • Roboron (Spanish)
  • Osoitz (Basque)
  • ButterflyOfFire (French; Arabic)
  • Alix Rossi (Corsican; French)
  • Aditoo17 (Czech)
  • Masoud Abkenar (Persian)
  • Xosé M. (Galician)
  • Koyu Berteon (German)
  • Maya Minatsuki (Japanese)
  • d5Ziif3K (Ukrainian)
  • Thai Localization (Thai)
  • Marek Ľach (Slovak; Polish)
  • lamnatos (Greek)
  • atarashiako (Chinese Simplified)
  • 101010 (Polish)
  • Jeroen (Dutch)
  • silkevicious (Italian)
  • Diluns (Occitan)
  • Jaz-Michael King (Welsh)
  • spla (Catalan)
  • FédiQuébec (French)
  • tykayn (French)
  • carolinagiorno (Portuguese, Brazilian)
  • Alessandro Levati (Italian)
  • taoxvx (Danish)
  • shioko (Chinese Simplified)
  • Yi-Jyun Pan (Chinese Traditional)
  • Emyn Nant Nefydd (Welsh)
  • Sasha Sorokin (Russian)
  • Tiago Epifânio (Portuguese)
  • dxwc (Bengali)
  • liffon (Swedish)
  • Vanege (Esperanto)
  • kat (Ukrainian; Russian)
  • oti4500 (Hungarian; Ukrainian)
  • Juan José Salvador Piedra (Spanish)
  • diazepan (Spanish)
  • christalleras (Norwegian Nynorsk)
  • Saederup92 (Danish)
  • sabri (Spanish)
  • Stasiek Michalski (Polish)
  • Dewi (Breton; French)
  • oɹʇuʞ (Spanish, Argentina)
  • ariasuni (French)
  • AW Unad (Indonesian)
  • Ray (Spanish)
  • Unmual (Spanish)
  • Ryo (Korean)
  • juanda097 (Spanish)
  • ruine (Japanese)
  • MadeInSteak (Finnish)
  • frumble (German)
  • dragnucs2 (Arabic)
  • erikstl (Esperanto)
  • PPNplus (Thai)
  • EPEMA YT (German)
  • Rhys Harrison (Esperanto)
  • KEINOS (Japanese)
  • JzshAC (Chinese Simplified)
  • Rintan1 (Japanese)
  • hiphipvargas (Portuguese)
  • tctovsli (Norwegian Nynorsk)
  • SamitiMed (Thai)
  • vjasiegd (Polish)
  • Adrián Lattes (Spanish)
  • Renato "Lond" Cerqueira (Portuguese, Brazilian)
  • filippodb (Italian)
  • Marcin Mikołajczak (Polish)
  • 森の子リスのミーコの大冒険 (Japanese)
  • Hinaloe (Japanese)
  • Sahak Petrosyan (Armenian)
  • Daniel Dimitrov (Bulgarian)
  • Hugh Liu (Chinese Simplified)
  • Rakino (Chinese Simplified)
  • SnDer (Dutch)
  • eichkat3r (German)
  • Karol Kosek (Polish)
  • Akarshan Biswas (Bengali)
  • Tradjincal (French)
  • sergioaraujo1 (Portuguese, Brazilian)
  • mmokhi (Persian)
  • Evgeny Petrov (Russian)
  • JackXu (Chinese Simplified)
  • Zoé Bőle (German)
  • Lukas Fülling (German)
  • Dremski (Bulgarian)
  • cybergene (Japanese)
  • OpenAlgeria (Arabic)
  • 硫酸鶏 (Japanese)
  • Cutls (Japanese)
  • Ch. (Korean)
  • skaaarrr (German)
  • djoerd (Dutch)
  • さっかりんにーさん (Japanese)
  • Abijeet Patro (Basque)
Assets 2
You can’t perform that action at this time.