Mastodon v3.0.0.rc3 Release Notes

Release Date: 2019-10-03 // about 2 months ago
  • Mastodon

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

    🔄 Changelog

    ➕ Added

    • ➕ 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 parallelization to tootctl search deploy (noellabo)
    • ➕ Add new languages (Gargron)
      • Breton
      • Spanish (Argentina)
      • Estonian
      • Macedonian
      • New Norwegian
    • ➕ Add NodeInfo endpoint (Gargron, Gargron)

    🔄 Changed

    • 🔄 Change link preview fetcher to not perform a HEAD request first (Gargron)
    • 🔄 Change tootctl domains purge to accept multiple domains at once (Gargron)

    🛠 Fixed

    • 🛠 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 accouns are invalid (ThibG)
    • 🛠 Fix featured hashtag URL being interpreted as media or with_replies (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.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
      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)
    • 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)