Skip to content

v4.2.4

Compare
Choose a tag to compare
@ClearlyClaire ClearlyClaire released this 24 Jan 14:43
· 22 commits to stable-4.2 since this release

Mastodon

This is a bugfix release for the 4.2.0 version, if you're installing from an earlier version, please check the 4.2.0 release notes as they contain important information on how to update.

Upgrade overview

This release contains upgrade notes that deviate from the norm:

ℹ️ The recommended Ruby version has changed from 3.2.2 to 3.2.3

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

Changelog

Fixed

  • Fix error when processing remote files with unusually long names (ClearlyClaire)
  • Fix processing of compacted single-item JSON-LD collections (ClearlyClaire)
  • Retry 401 errors on replies fetching (ShadowJonathan)
  • Fix RecordNotUnique errors in LinkCrawlWorker (tribela)
  • Fix Mastodon not correctly processing HTTP Signatures with query strings (ClearlyClaire, ClearlyClaire)
  • Fix potential redirection loop of streaming endpoint (ClearlyClaire)
  • Fix streaming API redirection ignoring the port of streaming_api_base_url (ClearlyClaire)
  • Fix error when processing link preview with an array as inLanguage (ClearlyClaire)
  • Fix unsupported time zone or locale preventing sign-up (Gargron)
  • Fix "Hide these posts from home" list setting not refreshing when switching lists (brianholley)
  • Fix missing background behind dismissable banner in web UI (Gargron)
  • Fix line wrapping of language selection button with long locale codes (gunchleoc, ClearlyClaire)
  • Fix Undo Announce activity not being sent to non-follower authors (MitarashiDango)
  • Fix N+1s because of association preloaders not actually getting called (ClearlyClaire)
  • Fix empty column explainer getting cropped under certain conditions (ClearlyClaire)
  • Fix LinkCrawlWorker error when encountering empty OEmbed response (ClearlyClaire)
  • Fix call to inefficient delete_matched cache method in domain blocks (ClearlyClaire)

Security

  • Add rate-limit of TOTP authentication attempts at controller level (ClearlyClaire)

Upgrade notes

To get the code for v4.2.4, use git fetch && git checkout v4.2.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

With the exception of Ruby's recommended version, external dependencies have not changed since v4.2.0, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:

  • Ruby: 3.0 to 3.2
  • PostgreSQL: 10 or newer
  • Elasticsearch (recommended, for full-text search): 7.x (OpenSearch should also work)
  • LibreTranslate (optional, for translations): 1.3.3 or newer
  • Redis: 4 or newer
  • Node: 16 or newer
  • ImageMagick: 6.9.7-7 or newer

If your uploaded images are broken after the upgrade, it means your installed ImageMagick version is older than the new minimum version (6.9.7-7), for example if you are running Ubuntu 18.04. If this happens, you can find more information and ways to fix it on this page.

Update steps

The following instructions are for updating from 4.2.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:

  1. If you are using rbenv, update the list of available versions and install Ruby 3.2.3 by doing RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install in the Mastodon install directory (e.g. /home/mastodon/live)
  2. Install dependencies: bundle install and yarn install --frozen-lockfile
  3. Precompile the assets: RAILS_ENV=production bundle exec rails assets:precompile
  4. Restart all Mastodon processes

Using Docker:

  1. Restart all Mastodon processes