Mastodon v3.1.0.rc1 Release Notes

Release Date: 2020-01-28 // about 4 years ago
  • Mastodon

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

    πŸ”„ 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)
    • πŸ‘ Allow support for Accept/Reject activities with a non-embedded object (puckipedia)

    πŸ”„ 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)

    βœ‚ 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 resource_owner_from_credentials in Doorkeeper initializer (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)
    • πŸ›  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)

    πŸ”’ 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

    Translators

    TBA