Mastodon v3.1.0 Release Notes

Release Date: 2020-02-09 // about 4 years ago
  • Mastodon

    ๐Ÿ”„ Changelog

    โž• Added

    • โž• Add bookmarks (ThibG, Gargron, Gomasy)
    • โž• Add announcements (Gargron, Gargron, Gargron, Gargron, Gargron, Gargron, Gargron, Gargron, Gargron, Gargron, ThibG, ThibG, Gargron, ThibG, ThibG)
    • โž• Add number animations in web UI (Gargron, Gargron)
    • โž• Add kab, is, kn, mr, ur to available locales (Gargron, BoFFire, Gargron)
    • โž• Add profile filter category (ThibG)
    • โž• Add ability to add oneself to lists (ThibG)
    • โž• Add hint how to contribute translations to preferences page (Sasha-Sorokin)
    • โž• Add signatures to statuses in archive takeout (noellabo)
    • โž• Add support for magnet: and xmpp links (ThibG, ThibG)
    • โž• Add follow_request notification type (ThibG)
    • โž• Add ability to filter reports by account domain in admin UI (ThibG)
    • โž• Add link to search for users connected from the same IP address to admin UI (ThibG)
    • โž• Add link to reports targeting a specific domain in admin view (ThibG)
    • โž• Add support for EventSource streaming in web UI (BenLubar)
    • โž• Add hotkey for opening media attachments in web UI (ThibG, Kjwon15)
    • โž• Add relationship-based options to status dropdowns in web UI (Gargron, ThibG, Gargron)
    • โž• Add support for submitting media description with ctrl+enter in web UI (ThibG)
    • โž• Add download button to audio and video players in web UI (NimaBoscarino)
    • โž• Add setting for whether to crop images in timelines in web UI (duxovni)
    • โž• Add support for Event activities (tcitworld)
    • โž• Add basic support for Group actors (noellabo)
    • Add S3_OVERRIDE_PATH_STYLE environment variable (Gargron)
    • Add S3_OPEN_TIMEOUT environment variable (tateisu)
    • โž• Add LDAP_MAIL environment variable (madmath03)
    • Add LDAP_UID_CONVERSION_ENABLED environment variable (madmath03)
    • โž• Add --remote-only option to tootctl emoji purge (ThibG)
    • โž• Add tootctl media remove-orphans (Gargron, Gargron)
    • โž• Add tootctl media lookup command (irlcatgirl)
    • โž• Add cache for OEmbed endpoints to avoid extra HTTP requests (Gargron)
    • โž• Add support for KaiOS arrow navigation to public pages (nolanlawson)
    • โž• Add discoverable to accounts in REST API (trwnh)
    • โž• Add admin setting to disable default follows (ArisuOngaku)
    • โž• Add support for LDAP and PAM in the OAuth password grant strategy (ntl-purism, Gargron)
    • ๐Ÿ‘ Allow support for Accept/Reject activities with a non-embedded object (puckipedia)
    • โž• Add "Show thread" button to public profiles (Sasha-Sorokin)

    ๐Ÿ”„ Changed

    • Change last_status_at to be a date, not datetime in REST API (ThibG)
    • ๐Ÿ”„ Change followers page to relationships page in admin UI (Gargron, Gargron)
    • ๐Ÿ”„ Change reported media attachments to always be hidden in admin UI (Gargron, ThibG)
    • ๐Ÿ”„ Change string from "Disable" to "Disable login" in admin UI (nileshkumar)
    • ๐Ÿ”„ Change report page structure in admin UI (Sasha-Sorokin)
    • ๐Ÿ”„ Change swipe sensitivity to be lower on small screens in web UI (umonaca)
    • ๐Ÿ”„ Change audio/video playback to stop playback when out of view in web UI (Gargron)
    • ๐Ÿ”„ Change media description label based on upload type in web UI (ThibG)
    • ๐Ÿ”„ Change large numbers to render without decimal units in web UI (noellabo)
    • ๐Ÿ”„ Change "Add a choice" button to be disabled rather than hidden when poll limit reached in web UI (ThibG, hinaloe)
    • ๐Ÿ”„ Change tootctl statuses remove to keep statuses favourited or bookmarked by local users (ThibG, Gomasy)
    • โšก๏ธ Change domain block behavior to update user records (fast) before deleting data (slower) (ThibG)
    • ๐Ÿ“‡ Change behaviour to strip audio metadata on uploads (hugogameiro)
    • ๐Ÿ”„ Change accepted length of remote media descriptions from 420 to 1,500 characters (ThibG)
    • ๐Ÿ”„ Change preferences pages structure (Sasha-Sorokin, mayaeh, Sasha-Sorokin, Sasha-Sorokin, Sasha-Sorokin, Sasha-Sorokin)
    • ๐Ÿ”„ Change format of titles in RSS (devkral)
    • ๐Ÿ”„ Change favourite icon animation from spring-based motion to CSS animation in web UI (ThibG)
    • ๐Ÿ”„ Change minimum required Node.js version to 10, and default to 12 (Shleeble, mkody, Shleeble)
    • ๐Ÿ”„ Change spam check to exempt server staff (ThibG)
    • ๐Ÿ”„ Change to fallback to to Create audience when object has no defined audience (ThibG)
    • ๐Ÿ”„ Change Twemoji library to 12.1.3 in web UI (koyuawsmbrtn)
    • ๐Ÿ”„ Change blocked users to be hidden from following/followers lists (ThibG)
    • ๐Ÿ”„ Change signature verification to ignore signatures with invalid host (Gargron)

    โœ‚ Removed

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fix some translatable strings being used wrongly (Sasha-Sorokin, Sasha-Sorokin, Sasha-Sorokin, mayaeh)
    • ๐Ÿ›  Fix headline of public timeline page when set to local-only (ykzts)
    • ๐Ÿ›  Fix space between tabs not being spread evenly in web UI (Sasha-Sorokin, Sasha-Sorokin, Sasha-Sorokin)
    • ๐Ÿ›  Fix interactive delays in database migrations with no TTY (Gargron)
    • ๐Ÿ›  Fix status overflowing in report dialog in web UI (ThibG)
    • ๐Ÿ›  Fix unlocalized dropdown button title in web UI (Sasha-Sorokin)
    • ๐Ÿ›  Fix media attachments without file being uploadable (Gargron)
    • ๐Ÿ›  Fix unfollow confirmations in profile directory in web UI (ThibG)
    • ๐Ÿ›  Fix duplicate description meta tag on accounts public pages (ThibG)
    • ๐Ÿ›  Fix slow query of federated timeline (notozeki)
    • ๐Ÿ›  Fix not all of account's active IPs showing up in admin UI (Gargron, Gargron)
    • ๐Ÿ›  Fix search by IP not using alternative browser sessions in admin UI (Gargron)
    • ๐Ÿ›  Fix โ€œX new itemsโ€ not showing up for slow mode on empty timelines in web UI (ThibG)
    • ๐Ÿ›  Fix OEmbed endpoint being inaccessible in secure mode (Gargron)
    • ๐Ÿ›  Fix proofs API being inaccessible in secure mode (Gargron)
    • ๐Ÿ›  Fix Ruby 2.7 incompatibilities (ThibG, ThibG, Shleeble, zunda)
    • ๐Ÿ›  Fix invalid poll votes being accepted in REST API (ThibG)
    • ๐Ÿ›  Fix old migrations failing because of strong migrations update (ThibG, ThibG)
    • ๐Ÿ›  Fix reuse of detailed status components in web UI (ThibG)
    • ๐Ÿ›  Fix base64-encoded file uploads not being possible in REST API (Gargron, Gargron)
    • ๐Ÿ›  Fix error due to missing authentication call in filters controller (Gargron)
    • ๐Ÿ›  Fix uncaught unknown format error in host meta controller (Gargron)
    • ๐Ÿ›  Fix URL search not returning private toots user has access to (ThibG, ThibG)
    • ๐Ÿ›  Fix cache digesting log noise on status embeds (Gargron)
    • ๐Ÿ›  Fix slowness due to layout thrashing when reloading a large set of statuses in web UI (panarom, panarom, Gargron)
    • ๐Ÿ›  Fix error when fetching followers/following from REST API when user has network hidden (Gargron)
    • ๐Ÿ›  Fix IDN mentions not being processed, IDN domains not being rendered (Gargron, Gargron, Gargron)
    • ๐Ÿ›  Fix error when searching for empty phrase (Gargron)
    • ๐Ÿ›  Fix backups stopping due to read timeouts (chr-1x)
    • ๐Ÿ›  Fix batch actions on non-pending tags in admin UI (ThibG)
    • Fix sample SAML_ACS_URL, SAML_ISSUER (orlea)
    • ๐Ÿ›  Fix manual scrolling issue on Firefox/Windows in web UI (ThibG)
    • ๐Ÿ›  Fix archive takeout failing if total dump size exceeds 2GB (scd31, Gargron)
    • ๐Ÿ›  Fix custom emoji category creation silently erroring out on duplicate category (ThibG)
    • ๐Ÿ›  Fix link crawler not specifying preferred content type (ThibG)
    • ๐Ÿ›  Fix featured hashtag setting page erroring out instead of rejecting invalid tags (ThibG)
    • ๐Ÿ›  Fix tooltip messages of single/multiple-choice polls switcher being reversed in web UI (acid-chicken)
    • ๐Ÿ›  Fix typo in help text of tootctl statuses remove (trwnh)
    • ๐Ÿ›  Fix generic HTTP 500 error on duplicate records (Gargron)
    • ๐Ÿ›  Fix old migration failing with new status default scope (ThibG)
    • ๐Ÿ›  Fix errors when using search API with no query (Gargron, trwnh)
    • ๐Ÿ›  Fix poll options not being selectable via keyboard in web UI (ThibG)
    • ๐Ÿ›  Fix conversations not having an unread indicator in web UI (Gargron)
    • ๐Ÿ›  Fix lost focus when modals open/close in web UI (ThibG)
    • ๐Ÿ›  Fix pending upload count not being decremented on error in web UI (ThibG)
    • ๐Ÿ›  Fix empty poll options not being removed on remote poll update (ThibG)
    • ๐Ÿ›  Fix OCR with delete & redraft in web UI (ThibG)
    • ๐Ÿ›  Fix blur behind closed registration message (ThibG)
    • ๐Ÿ›  Fix OEmbed discovery not handling different URL variants in query (Gargron)
    • ๐Ÿ›  Fix link crawler crashing on <a> tags without href (ThibG)
    • ๐Ÿ›  Fix whitelisted subdomains being ignored in whitelist mode (noiob)
    • ๐Ÿ›  Fix broken audit log in whitelist mode in admin UI (ThibG)
    • ๐Ÿ›  Fix unread indicator not honoring "Only media" option in local and federated timelines in web UI (ThibG)
    • ๐Ÿ›  Fix error when rebuilding home feeds (dariusk)
    • ๐Ÿ›  Fix relationship caches being broken as result of a follow request (ThibG)
    • ๐Ÿ›  Fix more items than the limit being uploadable in web UI (ThibG)
    • ๐Ÿ›  Fix various issues with account migration (ThibG)
    • ๐Ÿ›  Fix filtered out items being counted as pending items in slow mode in web UI (ThibG)
    • ๐Ÿ›  Fix notification filters not applying to poll options (ThibG)
    • ๐Ÿ›  Fix notification message for user's own poll saying it's a poll they voted on in web UI (ykzts)
    • ๐Ÿ›  Fix polls with an expiration not showing up as expired in web UI (noellabo)
    • ๐Ÿ›  Fix volume slider having an offset between cursor and slider in Chromium in web UI (ThibG)
    • ๐Ÿ›  Fix Vagrant image not accepting connections (shrft)
    • ๐Ÿ›  Fix batch actions being hidden on small screens in admin UI (ThibG)
    • ๐Ÿ›  Fix incoming federation not working in whitelist mode (ThibG)
    • ๐Ÿ›  Fix error when passing empty source param to PUT /api/v1/accounts/update_credentials (jglauche)
    • ๐Ÿ›  Fix HTTP-based streaming API being cacheable by proxies (BenLubar)
    • ๐Ÿ›  Fix users being able to register while tootctl self-destruct is in progress (Kjwon15)
    • ๐Ÿ›  Fix microformats detection in link crawler not ignoring h-card links (nightpool)
    • ๐Ÿ›  Fix outline on full-screen video in web UI (hinaloe)
    • ๐Ÿ›  Fix TLD domain blocks not being editable (ThibG)
    • ๐Ÿ›  Fix Nanobox deploy hooks (danhunsaker)
    • ๐Ÿ›  Fix needlessly complicated SQL query when performing account search amongst followings (ThibG)
    • ๐Ÿ›  Fix favourites count not updating when unfavouriting in web UI (NimaBoscarino)
    • ๐Ÿ›  Fix occasional crash on scroll in Chromium in web UI (hinaloe)
    • ๐Ÿ›  Fix intersection observer not working in single-column mode web UI (panarom)
    • ๐Ÿ›  Fix voting issue with remote polls that contain trailing spaces (ThibG)
    • ๐Ÿ›  Fix dynamic elements not working in pgHero due to CSP rules (ykzts)
    • ๐Ÿ›  Fix overly verbose backtraces when delivering ActivityPub payloads (zunda)
    • ๐Ÿ›  Fix rendering <a> without href when scheme unsupported (Gargron)
    • ๐Ÿ›  Fix unfiltered params error when generating ActivityPub tag pagination (Gargron)
    • ๐Ÿ›  Fix malformed HTML causing uncaught error (Gargron)
    • ๐Ÿ›  Fix native share button not being displayed for unlisted toots (ThibG)
    • ๐Ÿ›  Fix remote convertible media attachments (e.g. GIFs) not being saved (Gargron)
    • ๐Ÿ›  Fix account query not using faster index (abcang)
    • ๐Ÿ›  Fix error when sending moderation notification (renatolond)

    ๐Ÿ”’ Security

    • ๐Ÿ›  Fix OEmbed leaking information about existence of non-public statuses (Gargron)
    • ๐Ÿ›  Fix password change/reset not immediately invalidating other sessions (Gargron)
    • ๐Ÿ›  Fix settings pages being cacheable by the browser (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 minimum supported Node.js version has been bumped from 8 to 10. To upgrade Node.js, run curl -sL https://deb.nodesource.com/setup_10.x | bash - and then apt install nodejs
    • Install dependencies: bundle install and yarn install

    ๐Ÿณ Both Docker and non-Docker:

    1. Run database migrations:
      • 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
    2. Restart all Mastodon processes

    Troubleshooting

    โฌ†๏ธ If you have problems accessing the Sidekiq dashboard after upgrading, log out and log back in.

    Translators

    • Sveinn รญ Felli (Icelandic)
    • taicv (Vietnamese)
    • Daniele Lira Mereb (Portuguese, Brazilian)
    • แฆแแŽขแŽตแซ (Spanish, Argentina)
    • Michal Stanke (Czech)
    • Miguel Mayol (Spanish; Catalan)
    • Imre Kristoffer Eilertsen (Norwegian)
    • Peterandre (Norwegian Nynorsk; Norwegian)
    • Danial Behzadi (Persian)
    • Ivรกns (Galician)
    • enolp (Asturian)
    • ButterflyOfFire (Kabyle; Arabic; French)
    • arshat (Kazakh)
    • Ramdziana F Y (Indonesian)
    • tolstoevsky (Russian)
    • Sasha Sorokin (Russian; Vietnamese; Swedish; French; Danish; German; Korean; Ukrainian)
    • YubaWissin (Kabyle)
    • OฤŸuz Ersen (Turkish)
    • Xosรฉ M. (Galician; Spanish)
    • Emanuel Pina (Portuguese)
    • Thai Localization (Thai)
    • Evert Prants (Estonian)
    • Jeong Arm (Korean; Esperanto; Japanese)
    • ๅ”ๅฎ—ๅ‹› (Chinese Simplified)
    • vishnuvaratharajan (Tamil)
    • Geoflly Adonias (Portuguese, Brazilian)
    • spla (Catalan; Spanish)
    • Masoud Abkenar (Persian)
    • Taloran (Norwegian Nynorsk)
    • Akarshan Biswas (Bengali)
    • Alessandro Levati (Italian)
    • Emyn Nant Nefydd (Welsh)
    • Marek ฤฝach (Slovak)
    • ThibG (French; Icelandic)
    • Bertil Hedkvist (Swedish)
    • Roby Thomas (Malayalam)
    • Bharat Kumar (Hindi)
    • lamnatos (Greek)
    • christalleras (Norwegian Nynorsk)
    • ariasuni (Esperanto; French)
    • Osoitz (Basque)
    • Mathias B. Vagnes (Norwegian)
    • dashersyed (Urdu)
    • Acolyte (Ukrainian)
    • Jeroen (Dutch)
    • Conight Wang (Chinese Simplified)
    • Damjan Dimitrioski (Macedonian)
    • Diluns (Occitan)
    • jaranta (Finnish)
    • Isis (Swedish)
    • Aditoo17 (Czech)
    • borys_sh (Ukrainian)
    • Jess Rafn (Danish)
    • Tiago Epifรขnio (Portuguese)
    • norayr (Armenian)
    • jmontane (Catalan)
    • Alix Rossi (Corsican)
    • Arunmozhi (Tamil)
    • Balรกzs Meskรณ (Hungarian)
    • PPNplus (Thai)
    • FรฉdiQuรฉbec (French)
    • ๐Ÿ’… Marcin Mikoล‚ajczak (Polish)
    • marzuquccen (Kabyle)
    • koyu (German)
    • Zoltรกn Gera (Hungarian)
    • cybergene (Japanese)
    • ๐Ÿ’… Laura (Polish)
    • andruhov (Ukrainian; Russian)
    • Sam Tux (Bengali)
    • ๆฃฎใฎๅญใƒชใ‚นใฎใƒŸใƒผใ‚ณใฎๅคงๅ†’้™บ (Japanese)
    • Kinshuk Sunil (Hindi)
    • Ullas Joseph (Malayalam)
    • Roboron (Spanish)
    • ๐Ÿ’… Stasiek Michalski (Polish)
    • Yu-Pai Liu (Chinese Traditional)
    • Amarin Cemthong (Thai)
    • Rikard Linde (Swedish)
    • Tagomago (Spanish; French)
    • Ryo (Korean)
    • carolinagiorno (Portuguese, Brazilian)
    • Rajarshi Guha (Bengali)
    • Yi-Jyun Pan (Chinese Traditional)
    • EPEMA (German)
    • Dewi (Breton; French)
    • Parthan S Ramanujam (Tamil)
    • Maya Minatsuki (Japanese)
    • Kasper Nymand (Danish)
    • Saederup92 (Danish)
    • d5Ziif3K (Ukrainian)
    • Ram varma (Tamil)
    • Hrach Mkrtchyan (Armenian)
    • kekkepikkuni (Tamil)
    • oorsutri (Tamil)
    • Nithin V (Tamil)
    • Guillaume Turchini (French)
    • Ganesh D (Marathi)
    • arethsu (Swedish)
    • Sokratis Alichanidis (Greek)
    • Pedro Henrique (Portuguese, Brazilian)
    • Tejas Harad (Marathi)
    • ฯ‰๏ญโ„“โ„“๏ญฮฑ (Spanish)
    • Vasanthan (Tamil)
    • Goudarz Jafari (Persian)
    • manukp (Malayalam)
    • earth dweller (Marathi)
    • meijerivoi (Finnish)
    • essaar (Tamil)
    • ใ‚‹ใ„ใƒผใญ (Japanese)
    • valarivan (Tamil)
    • Miro Rauhala (Finnish)
    • Ivan T. (Chinese Traditional, Hong Kong)
    • ๐Ÿ’… Karol Kosek (Polish)
    • Bottle (Tamil)
    • Cutls (Japanese)
    • serubeena (Swedish)
    • gowthamanb (Tamil)
    • Arttu Ylhรคvuori (Finnish)
    • Ali DemirtaลŸ (Turkish)
    • SKELET (Danish)
    • enipra (Armenian)
    • Balรกzs Meskรณ (Hungarian)
    • diazepan (Spanish, Argentina)
    • ybardapurkar (Marathi)
    • rasheedgm (Kannada)
    • Navjot Singh (Hindi)
    • Ozai (German)
    • ALEM FARID (Kabyle)
    • se7entime (Indonesian)
    • Siddhartha Sarathi Basu (Bengali)
    • Steven Tappert (German)
    • Rhys Harrison (Esperanto)
    • turtle836 (German)
    • Guru Prasath Anandapadmanaban (Tamil)
    • Daniel Dimitrov (Bulgarian)
    • GatoOscuro (Spanish)
    • Lamin (Japanese)
    • Feruz Oripov (Russian)
    • frumble (German)
    • tykayn (French)
    • hg6 (Hindi)
    • Malik Mann (German)
    • padulafacundo (Spanish)
    • Belkacem Mohammed (Kabyle)
    • cenegd (Chinese Simplified)
    • Gargron (German; Galician)
    • Hinaloe (Japanese)
    • Muha Aliss (Turkish)
    • AmazighNM (Kabyle)
    • parnikkapore (Thai)
    • Jothipazhani Nagarajan (Tamil)
    • sabri (Spanish; Spanish, Argentina)
    • hallomaurits (Dutch)
    • mynameismonkey (Welsh)
    • liffon (Swedish)
    • Vanege (Esperanto)
    • Daniel M. (Catalan)
    • Swati Sani
    • ็กซ้…ธ้ถ (Japanese)
    • Jaz-Michael King (Welsh)
    • Kk (Kannada)
    • Shrinivasan T (Tamil)
    • Ray (Spanish)
    • Zinkokooo (Basque)
    • SusVersiva (Catalan)
    • Vikatakavi (Kannada)
    • Sahak Petrosyan (Armenian)
    • tsundoker (Malayalam)
    • Selyan Slimane AMIRI (Kabyle)
    • prabhjot (Hindi)
    • Livingston Samuel (Tamil)
    • Ricardo Colin (Spanish)
    • ralozkolya (Georgian)
    • Anoop (Malayalam)
    • Aymeric (French)
    • Samir Tighzert (Kabyle)
    • Trond Boksasp (Norwegian)
    • koppe-pan (Japanese)
    • Miquel Sabatรฉ Solร  (Catalan)
    • Sais Lakshmanan (Tamil)
    • Matias Lavik (Norwegian Nynorsk)
    • Mohammad Adnan Mahmood (Arabic)
    • Amith Raj Shetty (Kannada)
    • smedvedev (Russian)
    • mikel (Spanish)