Mastodon v3.0.0.rc3 Release Notes
Release Date: 2019-10-03 // over 4 years ago-
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
or2.5.3
which were recommended previously - Install dependencies:
bundle install
andyarn 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
- Restart all Mastodon processes
- 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
- Restart all Mastodon processes
- 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
ortmux
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)