Skip to content

automation: Update mastodon Docker tag to v4.1.2

botaniker requested to merge renovate/mastodon-4.x into main

This MR contains the following updates:

Package Update Change
mastodon minor 4.0.2 -> 4.1.2

Release Notes

mastodon/mastodon

v4.1.2

Compare Source

Fixed
  • Fix crash in tootctl commands making use of parallelization when Elasticsearch is enabled (ClearlyClaire, ClearlyClaire)
  • Fix crash in db:setup when Elasticsearch is enabled (rrgeorge)
  • Fix user archive takeout when using OpenStack Swift or S3 providers with no ACL support (ClearlyClaire)
  • Fix invalid/expired invites being processed on sign-up (ClearlyClaire)
Security
  • Update Ruby to 3.0.6 due to ReDoS vulnerabilities (saizai)
  • Fix unescaped user input in LDAP query (ClearlyClaire)

v4.1.1

Compare Source

Added
  • Add redirection from paths with url-encoded @ to their decoded form (thijskh)
  • Add lang attribute to native language names in language picker in Web UI (ClearlyClaire)
  • Add headers to outgoing mails to avoid auto-replies (ClearlyClaire)
  • Add support for refreshing many accounts at once with tootctl accounts refresh (9p4)
  • Add confirmation modal when clicking to edit a post with a non-empty compose form (PauloVilarinho)
  • Add support for the HAproxy MROXY protocol through the MROXY_MROTO_V1 environment variable (CSDUMMI)
  • Add SENDFILE_HEADER environment variable (Gargron)
  • Add cache headers to static files served through Rails (Gargron)
Changed
  • Increase contrast of upload progress bar background (toolmantim)
  • Change post auto-deletion throttling constants to better scale with server size (ClearlyClaire)
  • Change order of bookmark and favourite sidebar entries in single-column UI for consistency (TerryGarcia)
  • Change ActivityPub::DeliveryWorker retries to be spread out more (ClearlyClaire)
Fixed
  • Fix “Remove all followers from the selected domains” also removing follows and notifications (ClearlyClaire)
  • Fix streaming metrics format (emilweth, emilweth)
  • Fix case-sensitive check for previously used hashtags in hashtag autocompletion (deanveloper)
  • Fix focus point of already-attached media not saving after edit (ClearlyClaire)
  • Fix sidebar behavior in settings/admin UI on mobile (wxt2005)
  • Fix inefficiency when searching accounts per username in admin interface (ClearlyClaire)
  • Fix duplicate “Publish” button on mobile (ClearlyClaire)
  • Fix server error when failing to follow back followers from /relationships (ClearlyClaire)
  • Fix server error when attempting to display the edit history of a trendable post in the admin interface (ClearlyClaire)
  • Fix tootctl accounts migrate crashing because of a typo (ClearlyClaire)
  • Fix original account being unfollowed on migration before the follow request to the new account could be sent (ClearlyClaire)
  • Fix the “Back” button in column headers sometimes leaving Mastodon (c960657)
  • Fix pgBouncer resetting application name on every transaction (Gargron)
  • Fix unconfirmed accounts being counted as active users (ClearlyClaire)
  • Fix /api/v1/streaming sub-paths not being redirected (ClearlyClaire)
  • Fix drag'n'drop upload area text that spans multiple lines not being centered (vintprox)
  • Fix sidekiq jobs not triggering Elasticsearch index updates (ClearlyClaire)
  • Fix tags being unnecessarily stripped from plain-text short site description (c960657)
  • Fix HTML entities not being un-escaped in extracted plain-text from remote posts (c960657)
  • Fix dashboard crash on ElasticSearch server error (ClearlyClaire)
  • Fix incorrect post links in strikes when the account is remote (ClearlyClaire)
  • Fix misleading error code when receiving invalid WebAuthn credentials (ClearlyClaire)
  • Fix duplicate mails being sent when the SMTP server is too slow to close the connection (ClearlyClaire)
Security
  • Change user backups to use expiring URLs for download when possible (Gargron)
  • Add warning for object storage misconfiguration (ClearlyClaire)

v4.1.0

Compare Source

Added
  • Add support for importing/exporting server-wide domain blocks (enbylenore, ClearlyClaire, dariusk, ClearlyClaire)
  • Add listing of followed hashtags (connorshea)
  • Add support for editing media description and focus point of already-sent posts (ClearlyClaire)
    • Previously, you could add and remove attachments, but not edit media description of already-attached media
    • REST API changes:
      • PUT /api/v1/statuses/:id now takes an extra media_attributes[] array parameter with the id of the updated media and their updated description, focus, and thumbnail
  • Add follow request banner on account header (ClearlyClaire)
    • REST API changes:
      • Relationship entities have an extra requested_by boolean attribute representing whether the represented user has requested to follow you
  • Add confirmation screen when handling reports (ClearlyClaire, Gargron, tribela)
  • Add option to make the landing page be /about even when trends are enabled (ClearlyClaire)
  • Add noindex setting back to the admin interface (prplecake)
  • Add instance peers API endpoint toggle back to the admin interface (dariusk)
  • Add instance activity API endpoint toggle back to the admin interface (dariusk)
  • Add setting for status page URL (Gargron, ClearlyClaire)
    • REST API changes:
      • Add configuration.urls.status attribute to the object returned by GET /api/v1/instance
  • Add account.approved webhook (Saiv46)
  • Add 12 hours option to polls (Pleclown)
  • Add dropdown menu item to open admin interface for remote domains (ClearlyClaire)
  • Add --remove-headers, --prune-profiles and --include-follows flags to tootctl media remove (evanphilip)
  • Add --email and --dry-run options to tootctl accounts delete (ClearlyClaire)
  • Add tootctl accounts migrate (ClearlyClaire)
  • Add tootctl accounts prune (tribela)
  • Add tootctl domains purge (ClearlyClaire)
  • Add SIDEKIQ_CONCURRENCY environment variable (muffinista)
  • Add DB_POOL environment variable support for streaming server (Gargron)
  • Add MIN_THREADS environment variable to set minimum Puma threads (jimeh)
  • Add explanation text to log-in page (ClearlyClaire)
  • Add user profile OpenGraph tag on post pages (bramus)
  • Add maskable icon support for Android (workeffortwaste)
  • Add Belarusian to supported languages (Mixaill)
  • Add Western Frisian to supported languages (ykzts)
  • Add Montenegrin to the language picker (ayefries)
  • Add Southern Sami and Lule Sami to the language picker (Jullan-M)
  • Add logging for Rails cache timeouts (ClearlyClaire)
  • Add color highlight for active hashtag “follow” button (MFTabriz)
  • Add brotli compression to assets:precompile (Izorkin)
  • Add “disabled” account filter to the /admin/accounts UI (tribela)
  • Add transparency to modal background for accessibility (edent)
  • Add lang attribute to image description textarea and poll option field (c960657)
  • Add spellcheck attribute to Content Warning and poll option input fields (c960657)
  • Add title attribute to video elements in media attachments (bramus)
  • Add left and right margins to emojis (dsblank)
  • Add roles attribute to Account entities in REST API (ClearlyClaire, tribela)
  • Add reading:autoplay:gifs to /api/v1/preferences (j-f1)
  • Add hide_collections parameter to /api/v1/accounts/credentials (CarlSchwan)
  • Add policy attribute to web push subscription objects in REST API at /api/v1/push/subscriptions (ClearlyClaire)
  • Add metrics endpoint to streaming API (Gargron, Gargron)
  • Add more specific error messages to HTTP signature verification (ClearlyClaire)
  • Add Storj DCS to cloud object storage options in the mastodon:setup rake task (jtolio)
  • Add checkmark symbol in the checkbox for sensitive media (sidp)
  • Add missing accessibility attributes to logout link in modals (kytta)
  • Add missing accessibility attributes to “Hide image” button in MediaGallery (hs4man21)
  • Add missing accessibility attributes to hide content warning field when disabled (hs4man21)
  • Add aria-hidden to footer circle dividers to improve accessibility (hs4man21)
  • Add lang attribute to compose form inputs (ClearlyClaire)
Changed
  • Ensure exact match is the first result in hashtag searches (ClearlyClaire)
  • Change account search to return followed accounts first (dariusk)
  • Change batch account suspension to create a strike (ClearlyClaire)
  • Change default reply language to match the default language when replying to a translated post (ClearlyClaire)
  • Change misleading wording about waitlists (ClearlyClaire)
  • Increase width of the unread notification border (connorshea)
  • Change new post notification button on profiles to make it more apparent when it is enabled (tribela)
  • Change trending tags admin interface to always show batch action controls (ClearlyClaire)
  • Change wording of some OAuth scope descriptions (ClearlyClaire)
  • Change wording of admin report handling actions (ClearlyClaire)
  • Change confirm prompts for relationships management (tribela)
  • Change language surrounding disability in prompts for media descriptions (hs4man21)
  • Change confusing wording in the sign in banner (ClearlyClaire)
  • Change POST /settings/applications/:id to regenerate token on scopes change (ClearlyClaire)
  • Change account moderation notes to make links clickable (ClearlyClaire)
  • Change link previews for statuses to never use avatar as fallback (Gargron)
  • Change email address input to be read-only for logged-in users when requesting a new confirmation e-mail (ClearlyClaire)
  • Change notifications per page from 15 to 40 in REST API (Gargron)
  • Change number of stored items in home feed from 400 to 800 (Gargron)
  • Change API rate limits from 300/5min per user to 1500/5min per user, 300/5min per app (Gargron)
  • Save avatar or header correctly even if the other one fails (tribela)
  • Change referrer-policy to same-origin application-wide (ClearlyClaire, ClearlyClaire)
  • Add 'private' to Cache-Control, match Rails expectations (daxtens)
  • Make the button that expands the compose form differentiable from the button that publishes a post (Tak)
  • Change automatic post deletion configuration to be accessible to moved users (ClearlyClaire)
  • Make tag following idempotent (trwnh, ClearlyClaire)
  • Use buildx functions for faster builds (inductor)
  • Split off Dockerfile components for faster builds (moritzheiber, ineffyble, BtbN)
  • Change last occurrence of “silence” to “limit” in UI text (cincodenada)
  • Change “hide toot” to “hide post” (seanthegeek)
  • Don't allow URLs that contain non-normalized paths to be verified (dgl)
  • Change the “Trending now” header to be a link to the Explore page (connorshea)
  • Change PostgreSQL connection timeout from 2 minutes to 15 seconds (ClearlyClaire)
  • Make handle more easily selectable on profile page (cadars)
  • Allow admins to refresh remotely-suspended accounts (ClearlyClaire)
  • Change dropdown menu to contain “Copy link to post” even for non-public posts (ClearlyClaire)
  • Allow adding relays in secure mode and limited federation mode (ineffyble)
  • Change timestamps to be displayed using the user's timezone throughout the moderation interface (FrancisMurillo, ClearlyClaire)
  • Change CSP directives on API to be tight and concise (ClearlyClaire)
  • Change web UI to not autofocus the compose form (raboof, Akkiesoft)
  • Change idempotency key handling for posting when database access is slow (lambda)
  • Change remote media files to be downloaded outside of transactions (ClearlyClaire)
  • Improve contrast of charts in “poll has ended” notifications (j-f1)
  • Change OEmbed detection and validation to be somewhat more lenient (ineffyble)
  • Widen ElasticSearch version detection to not display a warning for OpenSearch (VyrCossont, ClearlyClaire)
  • Change link verification to allow pages larger than 1MB as long as the link is in the first 1MB (untitaker)
  • Update default Node.js version to Node.js 16 (ineffyble, ClearlyClaire)
Removed
  • Officially remove support for Ruby 2.6 (ClearlyClaire)
  • Remove object-fit polyfill used for old versions of Microsoft Edge (shuuji3)
  • Remove intersection-observer polyfill for old Safari support (shuuji3)
  • Remove empty title tag from mailer layout (nametoolong)
  • Remove post count and last posts from ActivityPub representation of hashtag collections (ClearlyClaire)
Fixed
  • Fix changing domain block severity not undoing individual account effects (ClearlyClaire)
  • Fix suspension worker crashing on S3-compatible setups without ACL support (ClearlyClaire)
  • Fix possible race conditions when suspending/unsuspending accounts (ClearlyClaire)
  • Fix being stuck in edit mode when deleting the edited posts (ClearlyClaire)
  • Fix attached media uploads not being cleared when replying to a post (ClearlyClaire)
  • Fix filters not being applied to some notification types (ClearlyClaire)
  • Fix incorrect link in push notifications for some event types (elizabeth-dev)
  • Fix some performance issues with /admin/instances (ClearlyClaire)
  • Fix some pre-4.0 admin audit logs (ClearlyClaire)
  • Fix moderation audit log items for warnings having incorrect links (ClearlyClaire)
  • Fix account activation being sometimes triggered before email confirmation (ClearlyClaire)
  • Fix missing OAuth scopes for admin APIs (trwnh, trwnh)
  • Fix voter count not being cleared when a poll is reset (afontenot)
  • Fix attachments of edited posts not being fetched (ClearlyClaire)
  • Fix irreversible and whole_word parameters handling in /api/v1/filters (ClearlyClaire)
  • Fix 500 error when marking posts as sensitive while some of them are deleted (ClearlyClaire)
  • Fix expanded posts not always being scrolled into view (ClearlyClaire)
  • Fix not being able to scroll the remote interaction modal on small screens (xendke)
  • Fix not being able to scroll in post history modal (cadars)
  • Fix audio player volume control on Safari (minacle)
  • Fix disappearing “Explore” tabs on Safari (nyura, ykzts)
  • Fix wrong padding in RTL layout (Gargron)
  • Fix drag & drop upload area display in single-column mode (ClearlyClaire)
  • Fix being unable to get a single EmailDomainBlock from the admin API (trwnh)
  • Fix admin-set follow recommandations being case-sensitive (ClearlyClaire)
  • Fix unserialized role on account entities in admin API (Gargron)
  • Fix pagination of followed tags (trwnh)
  • Fix dropdown menu positions when scrolling (sidp, ClearlyClaire)
  • Fix email with empty domain name labels passing validation (ClearlyClaire)
  • Fix mysterious registration failure when “Require a reason to join” is set with open registrations (ClearlyClaire)
  • Fix attachment rendering of edited posts in OpenGraph (ClearlyClaire)
  • Fix invalid/empty RSS feed link on account pages (ClearlyClaire)
  • Fix error in VerifyLinkService when processing links with no href (joshuap)
  • Fix error in VerifyLinkService when processing links with invalid URLs (untitaker)
  • Fix media uploads with FFmpeg 5 (dead10ck)
  • Fix sensitive flag not being set when replying to a post with a content warning under certain conditions (kedamaDQ)
  • Fix misleading message briefly showing up when loading follow requests under some conditions (c960657)
  • Fix “Share @​:user's profile” profile menu item not working (ClearlyClaire)
  • Fix crash and incorrect behavior in tootctl domains crawl (ClearlyClaire)
  • Fix autoplay on iOS (jamesadney)
  • Fix user clean-up scheduler crash when an unconfirmed account has a moderation note (ClearlyClaire)
  • Fix spaces not being stripped in admin account search (ClearlyClaire)
  • Fix spaces not being stripped when adding relays (ClearlyClaire)
  • Fix infinite loading spinner instead of soft 404 for non-existing remote accounts (ClearlyClaire)
  • Fix minor visual issue with the top border of verified account fields (j-f1)
  • Fix pending account approval and rejection not being recorded in the admin audit log (FrancisMurillo)
  • Fix “Sign up” button with closed registrations not opening modal on mobile (ClearlyClaire)
  • Fix UI header overflowing on mobile (ClearlyClaire)
  • Fix 500 error when trying to migrate to an invalid address (ClearlyClaire)
  • Fix crash when trying to fetch unobtainable avatar of user using external authentication (lochiiconnectivity)
  • Fix processing error on incoming malformed JSON-LD under some situations (ClearlyClaire)
  • Fix potential duplicate posts in Explore tab (ClearlyClaire)
  • Fix deprecation warning in tootctl accounts rotate (ClearlyClaire)
  • Fix styling of featured tags in light theme (ClearlyClaire)
  • Fix missing style in warning and strike cards (AtelierSnek, ClearlyClaire)
  • Fix wasteful request to /api/v1/custom_emojis when not logged in (ClearlyClaire)
  • Fix replies sometimes being delivered to user-blocked domains (tribela)
  • Fix admin dashboard crash when using some ElasticSearch replacements (cortices)
  • Fix profile avatar being slightly offset into left border (RiedleroD)
  • Fix N+1 queries in NotificationsController (nametoolong)
  • Fix being unable to react to announcements with the keycap number sign emoji (kescherCode)
  • Fix height computation of post embeds (hodgesmr)
  • Fix accessibility issue of the search bar due to hidden placeholder (alexstine)
  • Fix layout change handler not being removed due to a typo (nschonni)
  • Fix typo in the default S3_HOSTNAME used in the mastodon:setup rake task (danp)
  • Fix the top action bar appearing in the multi-column layout (ClearlyClaire)
  • Fix inability to use local LibreTranslate without setting ALLOWED_MRIVATE_ADDRESSES (ClearlyClaire)
  • Fix punycoded local domains not being prettified in initial state (Tritlo)
  • Fix CSP violation warning by removing inline CSS from SVG logo (luxiaba)
  • Fix margin for search field on medium window size (minacle)
  • Fix search popout scrolling with the page in single-column mode (rgroothuijsen)
  • Fix minor post cache hydration discrepancy (ClearlyClaire)
  • Fix detection in hashtags (parthoghosh24)
  • Fix hashtag follows bypassing user blocks (tribela)
  • Fix moved accounts being incorrectly redirected to account settings when trying to view a remote profile (ClearlyClaire)
  • Fix site upload validations (ClearlyClaire)
  • Fix “Add new domain block” button using last submitted search value instead of the current one (ClearlyClaire)
  • Fix misleading hashtag warning when posting with “Followers only” or “Mentioned people only” visibility (n0toose)
  • Fix embedded posts with videos grabbing focus (Akkiesoft)
  • Fix $ not being escaped in .env.production files generated by the mastodon:setup rake task (ClearlyClaire, ClearlyClaire)
  • Fix sanitizer parsing link text as HTML when stripping unsupported links (ClearlyClaire)
  • Fix scheduled_at input not using datetime-local when editing announcements (ClearlyClaire)
  • Fix REST API serializer for Account not including moved when the moved account has itself moved (ClearlyClaire)
  • Fix /api/v1/admin/trends/tags using wrong serializer (ClearlyClaire)
  • Fix situations in which instance actor can be set to a Mastodon-incompatible name (ClearlyClaire)
Security

v4.0.4

Compare Source

Mastodon

This is a backport for the 4.0.x branch.

Upgrade overview

This release contains upgrade notes that deviate from the norm:

️ The recommended Ruby version has been updated

For more information, scroll down to the upgrade instructions section.

Changelog

Fixed
  • Fix crash in tootctl commands making use of parallelization when Elasticsearch is enabled (ClearlyClaire, ClearlyClaire)
  • Fix crash in db:setup when Elasticsearch is enabled (rrgeorge)
  • Fix user archive takeout when using OpenStack Swift or S3 providers with no ACL support (ClearlyClaire)
  • Fix invalid/expired invites being processed on sign-up (ClearlyClaire)
Security
  • Update Ruby to 3.0.6 due to ReDoS vulnerabilities (saizai)
  • Fix unescaped user input in LDAP query (ClearlyClaire)

Upgrade notes

To get the code for v4.0.4, use git fetch && git checkout v4.0.4.

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

Dependencies

External dependencies have not changed compared to v4.0.3, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:

  • Ruby: 2.7 to 3.0
  • PostgreSQL: 9.5 or newer
  • Elasticsearch (optional, for full-text search): 7.x
  • Redis: 4 or newer
  • Node: 14 or higher

However, the recommended Ruby version has changed from 3.0.4 to 3.0.6.

Update steps

The following instructions are for updating from 4.0.3.

If you are upgrading directly from an earlier release, please carefully read the upgrade notes for the skipped releases as well, as they often require extra steps such as database migrations.

Non-Docker only:

  • The recommended Ruby version has been bumped to 3.0.6. If you are using rbenv, you will be require to install it with RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install 3.0.6. You may need to update rbenv itself with git -C /home/mastodon/.rbenv/plugins/ruby-build pull.
  • Install dependencies: bundle install and yarn install

Both Docker and non-Docker:

  1. Restart all Mastodon processes

v4.0.3

Compare Source

Mastodon

This is a backport for the 4.0.x branch.

Changelog

Added
  • Add redirection from paths with url-encoded @ to their decoded form (thijskh)
  • Add lang attribute to native language names in language picker in Web UI (ClearlyClaire)
  • Add headers to outgoing mails to avoid auto-replies (ClearlyClaire)
Fixed
  • Fix “Remove all followers from the selected domains” being more destructive than it claims (ClearlyClaire)
  • Fix case-sensitive check for previously used hashtags in hashtag autocompletion (deanveloper)
  • Fix sidebar behavior in settings/admin UI on mobile (wxt2005)
  • Fix inefficiency when searching accounts per username in admin interface (ClearlyClaire)
  • Fix server error when failing to follow back followers from /relationships (ClearlyClaire)
  • Fix server error when attempting to display the edit history of a trendable post in the admin interface (ClearlyClaire)
  • Fix original account being unfollowed on migration before the follow request to the new account could be sent (ClearlyClaire)
  • Fix pgBouncer resetting application name on every transaction (Gargron)
  • Fix unconfirmed accounts being counted as active users (ClearlyClaire)
  • Fix /api/v1/streaming sub-paths not being redirected (ClearlyClaire)
  • Fix drag'n'drop upload area text that spans multiple lines not being centered (vintprox)
  • Fix sidekiq jobs not triggering Elasticsearch index updates (ClearlyClaire)
  • Fix tags being unnecessarily stripped from plain-text short site description (c960657)
  • Fix HTML entities not being un-escaped in extracted plain-text from remote posts (c960657)
  • Fix dashboard crash on ElasticSearch server error (ClearlyClaire)
  • Fix incorrect post links in strikes when the account is remote (ClearlyClaire)
  • Fix misleading error code when receiving invalid WebAuthn credentials (ClearlyClaire)
Security
  • Change user backups to use expiring URLs for download when possible (Gargron)
  • Add warning for object storage misconfiguration (ClearlyClaire)

Upgrade notes

To get the code for v4.0.3, use git fetch && git checkout v4.0.3.

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

Dependencies

External dependencies have not changed compared to v4.0.2, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:

  • Ruby: 2.7 to 3.0
  • PostgreSQL: 9.5 or newer
  • Elasticsearch (optional, for full-text search): 7.x
  • Redis: 4 or newer
  • Node: 14 or higher
Update steps

The following instructions are for updating from 4.0.2.

If you are upgrading directly from an earlier release, please carefully read the upgrade notes for the skipped releases as well, as they often require extra steps such as database migrations.

Non-Docker only:

  • Install dependencies: bundle install and yarn install

Both Docker and non-Docker:

  1. 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

Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, check this box

This MR has been generated by Renovate Bot.

Edited by botaniker

Merge request reports