Mastodon v3.2.0.rc1 Release Notes

Release Date: 2020-07-15 // almost 4 years ago
  • Mastodon

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

    ๐Ÿ”„ Changelog

    โž• Added

    • โž• Add SMTP_SSL environment variable (OmmyZhang)
    • โž• Add hotkey for toggling content warning input in web UI (ThibG)
    • โž• Add e-mail-based sign in challenge for users with disabled 2FA (Gargron)
      • If user tries signing in after:
      • Being inactive for a while
      • With a previously unknown IP
      • Without 2FA being enabled
      • Require to enter a token sent via e-mail before sigining in
    • โž• Add limit param to RSS feeds (noellabo)
    • โž• Add visibility param to share page (noellabo)
    • โž• Add blurhash to link previews (ThibG, ThibG, ThibG, Sasha-Sorokin, Sasha-Sorokin, ThibG, ThibG, ThibG)
      • In web UI, toots cannot be marked as sensitive unless there is media attached
      • However, it's possible to do via API or ActivityPub
      • Thumnails of link previews of such posts now use blurhash in web UI
      • The Card entity in REST API has a new blurhash attribute
    • โž• Add support for summary field for media description in ActivityPub (ThibG)
    • โž• Add hints about incomplete remote content to web UI (Gargron, noellabo)
    • โž• Add personal notes for accounts (ThibG, Gargron, Sasha-Sorokin)
      • To clarify, these are notes only you can see, to help you remember details
      • Notes can be viewed and edited from profiles in web UI
      • New REST API: POST /api/v1/accounts/:id/note with comment param
      • The Relationship entity in REST API has a new note attribute
    • โž• Add Helm chart (dunn, dunn, dunn)
    • โž• Add customizable thumbnails for audio and video attachments (Gargron, Gargron, Gargron, Gargron, ThibG, ThibG)
      • Metadata (album, artist, etc) is no longer stripped from audio files
      • Album art is automatically extracted from audio files
      • Thumbnail can be manually uploaded for both audio and video attachments
      • Media upload APIs now support thumbnail param
      • On POST /api/v1/media and POST /api/v2/media
      • And on PUT /api/v1/media/:id
      • ActivityPub representation of media attachments represents custom thumbnails with an icon attribute
    • โž• Add color extraction for thumbnails (Gargron, ThibG)
      • The meta attribute on the Media Attachment entity in REST API can now have a colors attribute which in turn contains three hex colors: background, foreground, and accent
      • The background color is chosen from the most dominant color around the edges of the thumbnail
      • The foreground and accent colors are chosen from the colors that are the most different from the background color using the CIEDE2000 algorithm
      • The most satured color of the two is designated as the accent color
      • The one with the highest W3C contrast is designated as the foreground color
      • If there are not enough colors in the thumbnail, new ones are generated using a monochrome pattern
    • โž• Add a visibility indicator to toots in web UI (noellabo, highemerly)
    • Add tootctl email_domain_blocks (tateisu, Gargron)
    • โž• Add "Add new domain block" to header of federation page in admin UI (ariasuni)
    • โž• Add ability to keep emoji picker open with ctrl+click in web UI (bclindner, noellabo)

    ๐Ÿ”„ Changed

    • ๐Ÿ”„ Change .env.production.sample to be leaner and cleaner (Gargron)
      • It was overloaded as de-facto documentation and getting quite crowded
      • Defer to the actual documentation while still giving a minimal example
    • ๐Ÿš€ Change tootctl search deploy to work faster and display progress (Gargron)
    • ๐Ÿ”„ Change User-Agent of link preview fetching service to include "Bot" (Gargron)
      • Some websites may not render OpenGraph tags into HTML if that's not the case
    • ๐Ÿ”„ Change behaviour to carry blocks over when someone migrates their followers (ThibG)
    • ๐Ÿ”„ Change volume control and download buttons in web UI (Gargron)
    • ๐Ÿ”„ Change design of audio players in web UI (Gargron, ThibG, Gargron, ThibG, Gargron)
    • ๐Ÿ”„ Change reply filter to never filter own toots in web UI (ThibG)
    • ๐Ÿ”„ Change boost button to no longer serve as visibility indicator in web UI (noellabo)
    • ๐Ÿ”„ Change contrast of flash messages (cchoi12)
    • ๐Ÿ”„ Change wording from "Hide media" to "Hide image/images" in web UI (ariasuni)
    • ๐Ÿ”„ Change appearence of settings pages to be more consistent (ariasuni)
    • ๐Ÿ”„ Change "Add media" tooltip to not include long list of formats in web UI (ariasuni)
    • ๐Ÿ”„ Change how badly contrasting emoji are rendered in web UI (leo60228, ThibG, mfmfuyu, ThibG)
    • ๐Ÿ”„ Change structure of unavailable content section on about page (ariasuni)
    • ๐Ÿ”„ Change behaviour to accept ActivityPub activities relayed through group actor (noellabo)

    โœ‚ Removed

    • โœ‚ Remove the terms "blacklist" and "whitelist" from UX (Gargron, mayaeh)
      • Environment variables changed (old versions continue to work):
      • WHITELIST_MODE โ†’ LIMITED_FEDERATION_MODE
      • EMAIL_DOMAIN_BLACKLIST โ†’ EMAIL_DOMAIN_DENYLIST
      • EMAIL_DOMAIN_WHITELIST โ†’ EMAIL_DOMAIN_ALLOWLIST
      • CLI option changed:
      • tootctl domains purge --whitelist-mode โ†’ tootctl domains purge --limited-federation-mode
    • โœ‚ Remove some unnecessary database indices (lfuelling, noellabo)
    • โœ‚ Remove unnecessary Node.js version upper bound (ykzts)

    ๐Ÿ›  Fixed

    • ๐Ÿ›  Fix large shortened numbers (like 1.2K) using incorrect pluralization (Sasha-Sorokin)
    • ๐Ÿ›  Fix streaming server trying to use empty password to connect to Redis when REDIS_PASSWORD is given but blank (ThibG)
    • ๐Ÿ›  Fix being unable to unboost posts when blocked by their author (ThibG)
    • ๐Ÿ›  Fix account domain block not properly unfollowing accounts from domain (Gargron)
    • ๐Ÿ›  Fix removing a domain allow wiping known accounts in open federation mode (ThibG)
    • ๐Ÿ›  Fix blocks and mutes pagination in web UI (ThibG)
    • ๐Ÿ›  Fix new posts pushing down origin of opened dropdown in web UI (ThibG)
    • ๐Ÿ›  Fix timeline markers not being saved sometimes (ThibG, ThibG, ThibG)
    • ๐Ÿ›  Fix CSV uploads being rejected (noellabo)
    • ๐Ÿ›  Fix incompatibility with ElasticSearch 7.x (noellabo)
    • ๐Ÿ›  Fix being able to search posts where you're in the target audience but not actively mentioned (noellabo)
    • ๐Ÿ›  Fix non-local posts appearing on local-only hashtag timelines in web UI (noellabo)
    • ๐Ÿ›  Fix tootctl media remove-orphans choking on unknown files in storage (Gargron)
    • ๐Ÿ›  Fix tootctl upgrade storage-schema misbehaving (Gargron, angristan)
      • Fix it marking records as upgraded even though no files were moved
      • Fix it not working with S3 storage
      • Fix it not working with custom emojis
    • ๐Ÿ›  Fix GIF reader raising incorrect exceptions (ThibG)
    • ๐Ÿ›  Fix hashtag search performing account search as well (ThibG)
    • ๐Ÿ›  Fix Webfinger returning wrong status code on malformed or missing param (ThibG)
    • ๐Ÿ›  Fix rake mastodon:setup error when some environment variables are set (ThibG)
    • ๐Ÿ›  Fix admin page crashing when trying to block an invalid domain name in admin UI (ThibG)
    • ๐Ÿ›  Fix unsent toot confirmation dialog not popping up in single column mode in web UI (ThibG)
    • ๐Ÿ›  Fix performance of follow import (noellabo)
      • Reduce timeout of Webfinger requests to that of other requests
      • Use circuit breakers to stop hitting unresponsive servers
      • Avoid hitting servers that are already known to be generally unavailable
    • ๐Ÿ›  Fix filters ignoring media descriptions (BenLubar)
    • ๐Ÿ›  Fix soem actions on custom emojis leading to cryptic errors in admin UI (ThibG)
    • ๐Ÿ›  Fix ActivityPub serialization of replies when some of them are URIs (ThibG)
    • ๐Ÿ›  Fix rake mastodon:setup choking on environment variables containing % (ThibG)
    • ๐Ÿ›  Fix account redirect confirmation message talking about moved followers (ThibG)
    • ๐Ÿ›  Fix avatars having the wrong size on public detailed status pages (ThibG)
    • ๐Ÿ›  Fix various issues around OpenGraph representation of media (Gargron)
      • Pages containing audio no longer say "Attached: 1 image" in description
      • Audio attachments now represented as OpenGraph og:audio
      • The twitter:player page now uses Mastodon's proper audio/video player
      • Audio/video buffered bars now display correctly in audio/video player
      • Volume and progress bars now respond to movement/move smoother
    • ๐Ÿ›  Fix audio/video/images/cards not reacting to window resizes in web UI (Gargron)
    • ๐Ÿ›  Fix very wide media attachments resulting in too thin a thumbnail in web UI (ThibG)
    • ๐Ÿ›  Fix crash when merging posts into home feed after following someone (ThibG)
    • ๐Ÿ›  Fix unique username constraint for local users not being enforced in database (ThibG)
    • ๐Ÿ›  Fix unnecessary gap under video modal in web UI (mfmfuyu)
    • ๐Ÿ›  Fix 2FA and sign in token pages not respecting user locale (mfmfuyu)
    • Fix unapproved users being able to view profiles when in limited-federation mode and requiring approval for sign-ups (ThibG)
    • ๐Ÿ›  Fix initial audio volume not corresponding to what's displayed in audio player in web UI (ThibG)
    • ๐Ÿ›  Fix timelines sometimes jumping when closing modals in web UI (ThibG)
    • ๐Ÿ›  Fix memory usage of downloading remote files (Gargron, Gargron)
      • Don't read entire file (up to 40 MB) into memory
      • Read and write it to temp file in small chunks
    • ๐Ÿ›  Fix inconsistent account header padding in web UI (trwnh)
    • ๐Ÿ›  Fix Thai being skipped from language detection (Sasha-Sorokin)
      • Since Thai has its own alphabet, it can be detected more reliably
    • ๐Ÿ›  Fix broken hashtag column options styling in web UI (ThibG)
    • ๐Ÿ›  Fix pointer cursor being shown on toots that are not clickable in web UI (arielrodrigues)
    • ๐Ÿ›  Fix lock icon not being shown when locking account in profile settings (ThibG)
    • ๐Ÿ›  Fix domain blocks doing work the wrong way around (ThibG)
      • Instead of suspending accounts one by one, mark all as suspended first (quick)
      • Only then proceed to start removing their data (slow)
      • Clear out media attachments in a separate worker (slow)

    โฌ†๏ธ 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:

    • 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