v2.8.0
Changelog
Added
- Add polls (Gargron, ThibG, Gargron, ThibG, Gargron, ThibG, ThibG, Gargron, Gargron, Gargron, Gargron,Gargron, Gargron, Gargron, ThibG, Gargron, Gargron, Gargron, Gargron, Gargron, Gargron, Gargron, ThibG, rinsuki, Gargron, Gargron, Gargron, Gargron, ThibG, Gargron, ThibG, ThibG, ThibG, ThibG, ThibG, ThibG, ThibG, ThibG, Gargron, Gargron, ThibG, ThibG, Gargron, ThibG, ThibG)
- Add follows & followers managing UI (Gargron, Gargron, Gargron, Gargron)
- Add identity proof integration with Keybase (Gargron, xgess, Gargron, Gargron, Gargron)
- Add option to overwrite imported data instead of merging (Gargron)
- Add featured hashtags to profiles (Gargron, Gargron, Gargron, ThibG)
- Add admission-based registrations mode (Gargron, ThibG, Gargron, ThibG, Gargron, Gargron)
- Add support for WebP uploads (acid-chicken)
- Add "copy link" item to status action bars in web UI (Gargron)
- Add list title editing in web UI (ThibG)
- Add a "Block & Report" button to the block confirmation dialog in web UI (ThibG)
- Add disappointed elephant when the page crashes in web UI (Gargron)
- Add ability to upload multiple files at once in web UI (tmm576)
- Add indication when you are not allowed to follow an account in web UI (Gargron, Gargron)
- Add validations to admin settings to catch common mistakes (Gargron, ThibG)
- Add
type
,limit
,offset
,min_id
,max_id
,account_id
to search API (Gargron) - Add a preferences API so apps can share basic behaviours (Gargron)
- Add
visibility
param to reblog REST API (Gargron, ThibG) - Add
allowfullscreen
attribute to OEmbed iframe (rinsuki) - Add
blocked_by
relationship to the REST API (Gargron) - Add
tootctl statuses remove
to sweep unreferenced statuses (Gargron) - Add
tootctl search deploy
to avoid ugly rake task syntax (Gargron) - Add
tootctl self-destruct
to shut down server gracefully (Gargron) - Add option to hide application used to toot (ThibG, rinsuki, hinaloe)
- Add
DB_SSLMODE
configuration variable (sascha-sl) - Add click-to-copy UI to invites page (Gargron)
- Add self-replies fetching (ThibG, ThibG, ThibG, ThibG)
- Add rate limit for media proxy requests (Gargron)
- Add
tootctl emoji purge
(Gargron) - Add
tootctl accounts approve
(Gargron) - Add
tootctl accounts reset-relationships
(noellabo)
Changed
- 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)
Removed
- Remove zopfli compression to speed up Webpack from 6min to 1min (nolanlawson)
- Remove stats.json generation to speed up Webpack (nolanlawson)
Fixed
- 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
or2.5.3
which were recommended previously - Update rubygems:
gem update --system
- Install dependencies:
bundle install
andyarn install
Both Docker and non-Docker:
- 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
- Non-Docker:
- Precompile the assets:
- Non-Docker:
RAILS_ENV=production bundle exec rails assets:precompile
- Docker: The assets are already precompiled during the build step
- Non-Docker:
- Restart all Mastodon processes
Credits
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., Павел Гастелло, 森の子リスのミーコの大冒険