tag:github.com,2008:https://github.com/glitch-soc/mastodon/releasesRelease notes from mastodon2024-12-03T14:17:19Ztag:github.com,2008:Repository/88913859/v4.3.22024-12-03T15:34:35Zv4.3.2<h2>Changelog</h2>
<h3>Added</h3>
<ul>
<li>Add <code>tootctl feeds vacuum</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2689920472" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/33065" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/33065/hovercard" href="https://github.com/mastodon/mastodon/pull/33065">mastodon#33065</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Add error message when user tries to follow their own account (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2525522525" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31910" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31910/hovercard" href="https://github.com/mastodon/mastodon/pull/31910">mastodon#31910</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lenikadali/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lenikadali">@lenikadali</a>)</li>
<li>Add client_secret_expires_at to OAuth Applications (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2298917415" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30317" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30317/hovercard" href="https://github.com/mastodon/mastodon/pull/30317">mastodon#30317</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsMissEm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsMissEm">@ThisIsMissEm</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Change design of Content Warnings and filters (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2591926672" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32543" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32543/hovercard" href="https://github.com/mastodon/mastodon/pull/32543">mastodon#32543</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fix processing incoming post edits with mentions to unresolvable accounts (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2711110670" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/33129" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/33129/hovercard" href="https://github.com/mastodon/mastodon/pull/33129">mastodon#33129</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix error when including multiple instances of <code>embed.js</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2705211114" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/33107" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/33107/hovercard" href="https://github.com/mastodon/mastodon/pull/33107">mastodon#33107</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/YKWeyer/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/YKWeyer">@YKWeyer</a>)</li>
<li>Fix inactive users' timelines being backfilled on follow and unsuspend (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2702805466" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/33094" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/33094/hovercard" href="https://github.com/mastodon/mastodon/pull/33094">mastodon#33094</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix direct inbox delivery pushing posts into inactive followers' timelines (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2690687275" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/33067" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/33067/hovercard" href="https://github.com/mastodon/mastodon/pull/33067">mastodon#33067</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix <code>TagFollow</code> records not being correctly handled in account operations (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2689644497" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/33063" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/33063/hovercard" href="https://github.com/mastodon/mastodon/pull/33063">mastodon#33063</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix pushing hashtag-followed posts to feeds of inactive users (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2681261012" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/33018" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/33018/hovercard" href="https://github.com/mastodon/mastodon/pull/33018">mastodon#33018</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</li>
<li>Fix duplicate notifications in notification groups when using slow mode (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2678922840" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/33014" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/33014/hovercard" href="https://github.com/mastodon/mastodon/pull/33014">mastodon#33014</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix posts made in the future being allowed to trend (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2675484672" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32996" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32996/hovercard" href="https://github.com/mastodon/mastodon/pull/32996">mastodon#32996</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix uploading higher-than-wide GIF profile picture with libvips enabled (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2662289700" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32911" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32911/hovercard" href="https://github.com/mastodon/mastodon/pull/32911">mastodon#32911</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix domain attribution field having autocorrect and autocapitalize enabled (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2661618495" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32903" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32903/hovercard" href="https://github.com/mastodon/mastodon/pull/32903">mastodon#32903</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix titles being escaped twice (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2658612098" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32889" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32889/hovercard" href="https://github.com/mastodon/mastodon/pull/32889">mastodon#32889</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix list creation limit check (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2654919614" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32869" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32869/hovercard" href="https://github.com/mastodon/mastodon/pull/32869">mastodon#32869</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix error in <code>tootctl email_domain_blocks</code> when supplying <code>--with-dns-records</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2653217179" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32863" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32863/hovercard" href="https://github.com/mastodon/mastodon/pull/32863">mastodon#32863</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjankowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjankowski">@mjankowski</a>)</li>
<li>Fix <code>min_id</code> and <code>max_id</code> causing error in search API (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2652676279" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32857" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32857/hovercard" href="https://github.com/mastodon/mastodon/pull/32857">mastodon#32857</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</li>
<li>Fix inefficiencies when processing removal of posts that use featured tags (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2637626549" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32787" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32787/hovercard" href="https://github.com/mastodon/mastodon/pull/32787">mastodon#32787</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix alt-text pop-in not using the translated description (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2632406108" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32766" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32766/hovercard" href="https://github.com/mastodon/mastodon/pull/32766">mastodon#32766</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix preview cards with long titles erroneously causing layout changes (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2618224486" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32678" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32678/hovercard" href="https://github.com/mastodon/mastodon/pull/32678">mastodon#32678</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix embed modal layout on mobile (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2608880392" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32641" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32641/hovercard" href="https://github.com/mastodon/mastodon/pull/32641">mastodon#32641</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/DismalShadowX/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/DismalShadowX">@DismalShadowX</a>)</li>
<li>Fix and improve batch attachment deletion handling when using OpenStack Swift (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2608279061" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32637" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32637/hovercard" href="https://github.com/mastodon/mastodon/pull/32637">mastodon#32637</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hugogameiro/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hugogameiro">@hugogameiro</a>)</li>
<li>Fix blocks not being applied on link timeline (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2605189923" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32625" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32625/hovercard" href="https://github.com/mastodon/mastodon/pull/32625">mastodon#32625</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tribela/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tribela">@tribela</a>)</li>
<li>Fix follow counters being incorrectly changed (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2604815212" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32622" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32622/hovercard" href="https://github.com/mastodon/mastodon/pull/32622">mastodon#32622</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oneiros/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oneiros">@oneiros</a>)</li>
<li>Fix 'unknown' media attachment type rendering (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2603269837" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32613" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32613/hovercard" href="https://github.com/mastodon/mastodon/pull/32613">mastodon#32613</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2626286778" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32713" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32713/hovercard" href="https://github.com/mastodon/mastodon/pull/32713">mastodon#32713</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsMissEm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsMissEm">@ThisIsMissEm</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renatolond/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renatolond">@renatolond</a>)</li>
<li>Fix tl language native name (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2601813102" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32606" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32606/hovercard" href="https://github.com/mastodon/mastodon/pull/32606">mastodon#32606</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/seav/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/seav">@seav</a>)</li>
</ul>
<h3>Security</h3>
<ul>
<li>Update dependencies</li>
</ul>
<h2>Upgrade notes</h2>
<p>To get the code for v4.3.2, use <code>git fetch && git checkout v4.3.2</code>.</p>
<div class="markdown-alert markdown-alert-note"><p class="markdown-alert-title"><svg class="octicon octicon-info mr-2" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path></svg>Note</p><p>As always, <strong>make sure you have backups of the database before performing any upgrades</strong>. If you are using docker-compose, this is how a backup command might look: <code>docker exec mastodon_db_1 pg_dump -Fc -U postgres postgres > name_of_the_backup.dump</code></p>
</div>
<h3>Dependencies</h3>
<p>External dependencies have not changed since v4.3.0, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:</p>
<ul>
<li>Ruby: 3.1 or newer</li>
<li>PostgreSQL: 12 or newer. PostgreSQL versions 14.0 to 14.3 are not supported as they contain a critical data-corruption bug (see <a href="https://github.com/mastodon/mastodon/releases/tag/v4.3.0">v4.3.0 release notes</a>)</li>
<li>Elasticsearch (recommended, for full-text search): 7.x (OpenSearch should also work)</li>
<li>LibreTranslate (optional, for translations): 1.3.3 or newer</li>
<li>Redis: 4 or newer</li>
<li>Node: 18 or newer</li>
<li>ImageMagick (optional if using libvips): 6.9.7-7 or newer</li>
<li>libvips (optional, instead of ImageMagick): 8.13 or newer</li>
</ul>
<h3>Update steps</h3>
<p>The following instructions are for updating from 4.3.1.</p>
<p>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. In particular, <strong>please read the <a href="https://github.com/mastodon/mastodon/releases/tag/v4.3.0">v4.3.0 release notes</a></strong>, as there have been multiple important changes.</p>
<h3>Non-docker</h3>
<div class="markdown-alert markdown-alert-tip"><p class="markdown-alert-title"><svg class="octicon octicon-light-bulb mr-2" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 0 1-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 0 0-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.751.751 0 0 1-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75ZM5.75 12h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM6 15.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z"></path></svg>Tip</p><p>The <code>charlock_holmes</code> gem may fail to build on some systems with recent versions of <code>gcc</code>.<br>
If you run into such an issue, try <code>BUNDLE_BUILD__CHARLOCK_HOLMES="--with-cxxflags=-std=c++17" bundle install</code>.</p>
</div>
<ol>
<li>Install dependencies with <code>bundle install</code> and <code>yarn install --immutable</code></li>
<li>Precompile the assets: <code>RAILS_ENV=production bundle exec rails assets:precompile</code></li>
<li>Restart all Mastodon processes.</li>
</ol>
<h3>When using docker</h3>
<ol>
<li>Restart all Mastodon processes.</li>
</ol>ClearlyClairetag:github.com,2008:Repository/88913859/v4.3.12024-10-21T09:14:08Zv4.3.1<h2>Changelog</h2>
<h3>Added</h3>
<ul>
<li>Add more explicit explanations about author attribution and <code>fediverse:creator</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2578243679" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32383" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32383/hovercard" href="https://github.com/mastodon/mastodon/pull/32383">mastodon#32383</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Add ability to group follow notifications in WebUI, can be disabled in the column settings (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2589351696" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32520" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32520/hovercard" href="https://github.com/mastodon/mastodon/pull/32520">mastodon#32520</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renchap/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renchap">@renchap</a>)</li>
<li>Add back a 6 hours mute duration option (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2589642937" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32522" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32522/hovercard" href="https://github.com/mastodon/mastodon/pull/32522">mastodon#32522</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renchap/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renchap">@renchap</a>)</li>
<li>Add note about not changing ActiveRecord encryption secrets once they are set (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2580792490" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32413" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32413/hovercard" href="https://github.com/mastodon/mastodon/pull/32413">mastodon#32413</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2585936642" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32476" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32476/hovercard" href="https://github.com/mastodon/mastodon/pull/32476">mastodon#32476</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2588737740" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32512" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32512/hovercard" href="https://github.com/mastodon/mastodon/pull/32512">mastodon#32512</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2591058242" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32537" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32537/hovercard" href="https://github.com/mastodon/mastodon/pull/32537">mastodon#32537</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjankowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjankowski">@mjankowski</a>)</li>
</ul>
<h3>Changed</h3>
<ul>
<li>Change translation feature to translate to selected regional variant (e.g. pt-BR) if available (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2581955184" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32428" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32428/hovercard" href="https://github.com/mastodon/mastodon/pull/32428">mastodon#32428</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/c960657/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/c960657">@c960657</a>)</li>
</ul>
<h3>Removed</h3>
<ul>
<li>Remove ability to get embed code for remote posts (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2596879141" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32578" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32578/hovercard" href="https://github.com/mastodon/mastodon/pull/32578">mastodon#32578</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)<br>
Getting the embed code is only reliable for local posts.<br>
It never worked for non-Mastodon servers, and stopped working correctly with the changes made in 4.3.0.<br>
We have therefore decided to remove the menu entry while we investigate solutions.</li>
</ul>
<h3>Fixed</h3>
<ul>
<li>Fix follow recommendation moderation page default language when using regional variant (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2597053357" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32580" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32580/hovercard" href="https://github.com/mastodon/mastodon/pull/32580">mastodon#32580</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix column-settings spacing in local timeline in advanced view (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2595672462" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32567" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32567/hovercard" href="https://github.com/mastodon/mastodon/pull/32567">mastodon#32567</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lindwurm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lindwurm">@lindwurm</a>)</li>
<li>Fix broken i18n in text welcome mailer tags area (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2595815734" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32571" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32571/hovercard" href="https://github.com/mastodon/mastodon/pull/32571">mastodon#32571</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjankowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjankowski">@mjankowski</a>)</li>
<li>Fix missing or incorrect cache-control headers for Streaming server (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2593155192" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32551" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32551/hovercard" href="https://github.com/mastodon/mastodon/pull/32551">mastodon#32551</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsMissEm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsMissEm">@ThisIsMissEm</a>)</li>
<li>Fix only the first paragraph being displayed in some notifications (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2575430605" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32348" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32348/hovercard" href="https://github.com/mastodon/mastodon/pull/32348">mastodon#32348</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix reblog icons on account media view (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2588151364" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32506" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32506/hovercard" href="https://github.com/mastodon/mastodon/pull/32506">mastodon#32506</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tribela/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tribela">@tribela</a>)</li>
<li>Fix Content-Security-Policy not allowing OpenStack SWIFT object storage URI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2582372739" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32439" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32439/hovercard" href="https://github.com/mastodon/mastodon/pull/32439">mastodon#32439</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kenkiku1021/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kenkiku1021">@kenkiku1021</a>)</li>
<li>Fix back arrow pointing to the incorrect direction in RTL languages (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2586565789" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32485" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32485/hovercard" href="https://github.com/mastodon/mastodon/pull/32485">mastodon#32485</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renchap/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renchap">@renchap</a>)</li>
<li>Fix streaming server using <code>REDIS_USERNAME</code> instead of <code>REDIS_USER</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2586665118" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32493" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32493/hovercard" href="https://github.com/mastodon/mastodon/pull/32493">mastodon#32493</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsMissEm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsMissEm">@ThisIsMissEm</a>)</li>
<li>Fix follow recommendation carrousel scrolling on RTL layouts (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2585381884" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32462" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32462/hovercard" href="https://github.com/mastodon/mastodon/pull/32462">mastodon#32462</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2588135690" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32505" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32505/hovercard" href="https://github.com/mastodon/mastodon/pull/32505">mastodon#32505</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix follow recommendation suppressions not applying immediately (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2578878784" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32392" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32392/hovercard" href="https://github.com/mastodon/mastodon/pull/32392">mastodon#32392</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix language of push notifications (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2580943297" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32415" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32415/hovercard" href="https://github.com/mastodon/mastodon/pull/32415">mastodon#32415</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix mute duration not being shown in list of muted accounts in web UI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2578786434" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32388" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32388/hovercard" href="https://github.com/mastodon/mastodon/pull/32388">mastodon#32388</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix “Mark every notification as read” not updating the read marker if scrolled down (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2578623549" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32385" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32385/hovercard" href="https://github.com/mastodon/mastodon/pull/32385">mastodon#32385</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix “Mention” appearing for otherwise filtered posts (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2575862614" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32356" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32356/hovercard" href="https://github.com/mastodon/mastodon/pull/32356">mastodon#32356</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix notification requests from suspended accounts still being listed (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2575750622" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32354" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32354/hovercard" href="https://github.com/mastodon/mastodon/pull/32354">mastodon#32354</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix list edition modal styling (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2576018273" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32358" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32358/hovercard" href="https://github.com/mastodon/mastodon/pull/32358">mastodon#32358</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2576768047" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32367" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32367/hovercard" href="https://github.com/mastodon/mastodon/pull/32367">mastodon#32367</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vmstan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vmstan">@vmstan</a>)</li>
<li>Fix 4 columns barely not fitting on 1920px screen (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2576232915" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32361" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32361/hovercard" href="https://github.com/mastodon/mastodon/pull/32361">mastodon#32361</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix icon alignment in applications list (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2571215112" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32293" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32293/hovercard" href="https://github.com/mastodon/mastodon/pull/32293">mastodon#32293</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjankowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjankowski">@mjankowski</a>)</li>
</ul>
<h2>Upgrade notes</h2>
<p>To get the code for v4.3.1, use <code>git fetch && git checkout v4.3.1</code>.</p>
<div class="markdown-alert markdown-alert-note"><p class="markdown-alert-title"><svg class="octicon octicon-info mr-2" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path></svg>Note</p><p>As always, <strong>make sure you have backups of the database before performing any upgrades</strong>. If you are using docker-compose, this is how a backup command might look: <code>docker exec mastodon_db_1 pg_dump -Fc -U postgres postgres > name_of_the_backup.dump</code></p>
</div>
<h3>Dependencies</h3>
<p>External dependencies have not changed since v4.3.0, the compatible Ruby, PostgreSQL, Node, Elasticsearch and Redis versions are the same, that is:</p>
<ul>
<li>Ruby: 3.1 or newer</li>
<li>PostgreSQL: 12 or newer. PostgreSQL versions 14.0 to 14.3 are not supported as they contain a critical data-corruption bug (see <a href="https://github.com/mastodon/mastodon/releases/tag/v4.3.0">v4.3.0 release notes</a>)</li>
<li>Elasticsearch (recommended, for full-text search): 7.x (OpenSearch should also work)</li>
<li>LibreTranslate (optional, for translations): 1.3.3 or newer</li>
<li>Redis: 4 or newer</li>
<li>Node: 18 or newer</li>
<li>ImageMagick (optional if using libvips): 6.9.7-7 or newer</li>
<li>libvips (optional, instead of ImageMagick): 8.13 or newer</li>
</ul>
<h3>Update steps</h3>
<p>The following instructions are for updating from 4.3.0.</p>
<p>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. In particular, <strong>please read the <a href="https://github.com/mastodon/mastodon/releases/tag/v4.3.0">v4.3.0 release notes</a></strong>, as there have been multiple important changes.</p>
<h3>Non-docker</h3>
<div class="markdown-alert markdown-alert-tip"><p class="markdown-alert-title"><svg class="octicon octicon-light-bulb mr-2" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 0 1-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 0 0-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.751.751 0 0 1-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75ZM5.75 12h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM6 15.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z"></path></svg>Tip</p><p>The <code>charlock_holmes</code> gem may fail to build on some systems with recent versions of <code>gcc</code>.<br>
If you run into such an issue, try <code>BUNDLE_BUILD__CHARLOCK_HOLMES="--with-cxxflags=-std=c++17" bundle install</code>.</p>
</div>
<ol>
<li>Install dependencies with <code>bundle install</code> and <code>yarn install --immutable</code></li>
<li>Precompile the assets: <code>RAILS_ENV=production bundle exec rails assets:precompile</code></li>
<li>Restart all Mastodon processes.</li>
</ol>
<h3>When using docker</h3>
<ol>
<li>Restart all Mastodon processes.</li>
</ol>ClearlyClairetag:github.com,2008:Repository/88913859/v4.3.02024-10-11T08:29:26Zv4.3.0<p>This is the first tagged glitch-soc release, corresponding to Mastodon's v4.3.0, which release notes are reproduced below.</p>
<h2>Upgrade overview</h2>
<p>This release contains upgrade notes that deviate from the norm:</p>
<p><g-emoji class="g-emoji" alias="bangbang">‼️</g-emoji> Requires new encryption secrets environment variables<br>
<g-emoji class="g-emoji" alias="warning">⚠️</g-emoji> The minimal supported version for PostgreSQL has been bumped to 12, and PostgreSQL versions 14.0 to 14.3 are not supported as they contain a critical data-corruption bug<br>
<g-emoji class="g-emoji" alias="warning">⚠️</g-emoji> The minimal supported version for Ruby has been bumped to 3.1<br>
<g-emoji class="g-emoji" alias="warning">⚠️</g-emoji> The minimal supported version for Node.js has been bumped to 18<br>
<g-emoji class="g-emoji" alias="warning">⚠️</g-emoji> Requires rebuilding Elasticsearch accounts index<br>
<g-emoji class="g-emoji" alias="warning">⚠️</g-emoji> We switched from yarn 1 to yarn 4, and recommend using corepack<br>
<g-emoji class="g-emoji" alias="warning">⚠️</g-emoji> The Docker image has been split in two separate images<br>
<g-emoji class="g-emoji" alias="warning">⚠️</g-emoji> Rolling updates from versions earlier than Mastodon 4.2 are not supported<br>
<g-emoji class="g-emoji" alias="warning">⚠️</g-emoji> StatsD integration has been removed, replaced by OpenTelemetry integration<br>
<g-emoji class="g-emoji" alias="warning">⚠️</g-emoji> ImageMagick is being deprecated and may be removed in a future version<br>
ℹ️ Requires streaming API restart<br>
ℹ️ Requires database migrations<br>
ℹ️ The logging format of the streaming server has changed</p>
<p>For more information, scroll down to the upgrade instructions section.</p>
<h2>Changelog</h2>
<p>The following changelog entries focus on changes visible to users, administrators, client developers or federated software developers, but there has also been a lot of code modernization, refactoring, and tooling work, in particular by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjankowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjankowski">@mjankowski</a>.</p>
<h3>Security</h3>
<ul>
<li><strong>Add confirmation interstitial instead of silently redirecting logged-out visitors to remote resources</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1985793970" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27792" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27792/hovercard" href="https://github.com/mastodon/mastodon/pull/27792">mastodon#27792</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2100077864" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28902" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28902/hovercard" href="https://github.com/mastodon/mastodon/pull/28902">mastodon#28902</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2346665659" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30651" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30651/hovercard" href="https://github.com/mastodon/mastodon/pull/30651">mastodon#30651</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)<br>
This fixes a longstanding open redirect in Mastodon, at the cost of added friction when local links to remote resources are shared.</li>
<li>Fix ReDoS vulnerability on some Ruby versions (<a href="https://github.com/mastodon/mastodon/security/advisories/GHSA-jpxp-r43f-rhvx">GHSA-jpxp-r43f-rhvx</a>)</li>
<li>Change <code>form-action</code> Content-Security-Policy directive to be more restrictive (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1892045277" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/26897" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/26897/hovercard" href="https://github.com/mastodon/mastodon/pull/26897">mastodon#26897</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2564464937" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32241" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32241/hovercard" href="https://github.com/mastodon/mastodon/pull/32241">mastodon#32241</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Update dependencies</li>
</ul>
<h3>Added</h3>
<ul>
<li>
<p><strong>Add server-side notification grouping</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2235274745" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29889" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29889/hovercard" href="https://github.com/mastodon/mastodon/pull/29889">mastodon#29889</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2338179924" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30576" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30576/hovercard" href="https://github.com/mastodon/mastodon/pull/30576">mastodon#30576</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2351021192" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30685" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30685/hovercard" href="https://github.com/mastodon/mastodon/pull/30685">mastodon#30685</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2351209402" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30688" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30688/hovercard" href="https://github.com/mastodon/mastodon/pull/30688">mastodon#30688</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2353039590" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30707" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30707/hovercard" href="https://github.com/mastodon/mastodon/pull/30707">mastodon#30707</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2363992635" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30776" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30776/hovercard" href="https://github.com/mastodon/mastodon/pull/30776">mastodon#30776</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2364335095" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30779" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30779/hovercard" href="https://github.com/mastodon/mastodon/pull/30779">mastodon#30779</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2364746719" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30781" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30781/hovercard" href="https://github.com/mastodon/mastodon/pull/30781">mastodon#30781</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2317947135" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30440" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30440/hovercard" href="https://github.com/mastodon/mastodon/pull/30440">mastodon#30440</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2416695732" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31062" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31062/hovercard" href="https://github.com/mastodon/mastodon/pull/31062">mastodon#31062</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2422144792" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31098" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31098/hovercard" href="https://github.com/mastodon/mastodon/pull/31098">mastodon#31098</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2418545886" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31076" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31076/hovercard" href="https://github.com/mastodon/mastodon/pull/31076">mastodon#31076</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2424763646" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31111" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31111/hovercard" href="https://github.com/mastodon/mastodon/pull/31111">mastodon#31111</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2427715605" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31123" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31123/hovercard" href="https://github.com/mastodon/mastodon/pull/31123">mastodon#31123</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2439670591" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31223" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31223/hovercard" href="https://github.com/mastodon/mastodon/pull/31223">mastodon#31223</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2438312825" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31214" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31214/hovercard" href="https://github.com/mastodon/mastodon/pull/31214">mastodon#31214</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2440033394" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31224" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31224/hovercard" href="https://github.com/mastodon/mastodon/pull/31224">mastodon#31224</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2448614849" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31299" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31299/hovercard" href="https://github.com/mastodon/mastodon/pull/31299">mastodon#31299</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2453001057" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31325" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31325/hovercard" href="https://github.com/mastodon/mastodon/pull/31325">mastodon#31325</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2456184832" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31347" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31347/hovercard" href="https://github.com/mastodon/mastodon/pull/31347">mastodon#31347</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2449486914" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31304" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31304/hovercard" href="https://github.com/mastodon/mastodon/pull/31304">mastodon#31304</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2453326649" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31326" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31326/hovercard" href="https://github.com/mastodon/mastodon/pull/31326">mastodon#31326</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2460478106" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31384" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31384/hovercard" href="https://github.com/mastodon/mastodon/pull/31384">mastodon#31384</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2463712532" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31403" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31403/hovercard" href="https://github.com/mastodon/mastodon/pull/31403">mastodon#31403</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2466252929" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31433" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31433/hovercard" href="https://github.com/mastodon/mastodon/pull/31433">mastodon#31433</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2475589178" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31509" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31509/hovercard" href="https://github.com/mastodon/mastodon/pull/31509">mastodon#31509</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2471997084" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31486" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31486/hovercard" href="https://github.com/mastodon/mastodon/pull/31486">mastodon#31486</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2475800870" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31513" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31513/hovercard" href="https://github.com/mastodon/mastodon/pull/31513">mastodon#31513</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2486511051" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31592" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31592/hovercard" href="https://github.com/mastodon/mastodon/pull/31592">mastodon#31592</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2486789821" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31594" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31594/hovercard" href="https://github.com/mastodon/mastodon/pull/31594">mastodon#31594</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2492657725" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31638" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31638/hovercard" href="https://github.com/mastodon/mastodon/pull/31638">mastodon#31638</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2505225297" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31746" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31746/hovercard" href="https://github.com/mastodon/mastodon/pull/31746">mastodon#31746</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2494759815" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31652" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31652/hovercard" href="https://github.com/mastodon/mastodon/pull/31652">mastodon#31652</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2501492331" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31709" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31709/hovercard" href="https://github.com/mastodon/mastodon/pull/31709">mastodon#31709</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2502853680" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31725" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31725/hovercard" href="https://github.com/mastodon/mastodon/pull/31725">mastodon#31725</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2505198461" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31745" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31745/hovercard" href="https://github.com/mastodon/mastodon/pull/31745">mastodon#31745</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2489368960" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31613" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31613/hovercard" href="https://github.com/mastodon/mastodon/pull/31613">mastodon#31613</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2496538368" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31657" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31657/hovercard" href="https://github.com/mastodon/mastodon/pull/31657">mastodon#31657</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2516446963" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31840" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31840/hovercard" href="https://github.com/mastodon/mastodon/pull/31840">mastodon#31840</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2488728854" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31610" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31610/hovercard" href="https://github.com/mastodon/mastodon/pull/31610">mastodon#31610</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2528019352" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31929" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31929/hovercard" href="https://github.com/mastodon/mastodon/pull/31929">mastodon#31929</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2548196317" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32089" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32089/hovercard" href="https://github.com/mastodon/mastodon/pull/32089">mastodon#32089</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2547565152" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32085" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32085/hovercard" href="https://github.com/mastodon/mastodon/pull/32085">mastodon#32085</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2564561937" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32243" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32243/hovercard" href="https://github.com/mastodon/mastodon/pull/32243">mastodon#32243</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2556849117" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32179" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32179/hovercard" href="https://github.com/mastodon/mastodon/pull/32179">mastodon#32179</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2566393679" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32254" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32254/hovercard" href="https://github.com/mastodon/mastodon/pull/32254">mastodon#32254</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mgmn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mgmn">@mgmn</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renchap/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renchap">@renchap</a>)<br>
Group notifications of the same type for the same target, so that your notifications no longer get cluttered by boost and favorite notifications as soon as a couple of your posts get traction.<br>
This is done server-side so that clients can efficiently get relevant groups without having to go through numerous pages of individual notifications.<br>
As part of this, the visual design of the entire notifications feature has been revamped.<br>
The API consists of:</p>
<ul>
<li>a new <code>group_key</code> attribute to <code>Notification</code> entities</li>
<li><code>GET /api/v2/notifications</code>: <a href="https://docs.joinmastodon.org/methods/grouped_notifications/#get-grouped" rel="nofollow">https://docs.joinmastodon.org/methods/grouped_notifications/#get-grouped</a></li>
<li><code>GET /api/v2/notifications/:group_key</code>: <a href="https://docs.joinmastodon.org/methods/grouped_notifications/#get-notification-group" rel="nofollow">https://docs.joinmastodon.org/methods/grouped_notifications/#get-notification-group</a></li>
<li><code>GET /api/v2/notifications/:group_key/accounts</code>: <a href="https://docs.joinmastodon.org/methods/grouped_notifications/#get-group-accounts" rel="nofollow">https://docs.joinmastodon.org/methods/grouped_notifications/#get-group-accounts</a></li>
<li><code>POST /api/v2/notifications/:group_key/dimsiss</code>: <a href="https://docs.joinmastodon.org/methods/grouped_notifications/#dismiss-group" rel="nofollow">https://docs.joinmastodon.org/methods/grouped_notifications/#dismiss-group</a></li>
<li><code>GET /api/v2/notifications/:unread_count</code>: <a href="https://docs.joinmastodon.org/methods/grouped_notifications/#unread-group-count" rel="nofollow">https://docs.joinmastodon.org/methods/grouped_notifications/#unread-group-count</a></li>
</ul>
</li>
<li>
<p><strong>Add notification policies, filtered notifications and notification requests</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2149850033" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29366" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29366/hovercard" href="https://github.com/mastodon/mastodon/pull/29366">mastodon#29366</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2175360429" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29529" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29529/hovercard" href="https://github.com/mastodon/mastodon/pull/29529">mastodon#29529</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2158353010" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29433" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29433/hovercard" href="https://github.com/mastodon/mastodon/pull/29433">mastodon#29433</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2183544909" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29565" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29565/hovercard" href="https://github.com/mastodon/mastodon/pull/29565">mastodon#29565</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2183636385" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29567" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29567/hovercard" href="https://github.com/mastodon/mastodon/pull/29567">mastodon#29567</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2184220050" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29572" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29572/hovercard" href="https://github.com/mastodon/mastodon/pull/29572">mastodon#29572</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2184441500" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29575" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29575/hovercard" href="https://github.com/mastodon/mastodon/pull/29575">mastodon#29575</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2185851384" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29588" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29588/hovercard" href="https://github.com/mastodon/mastodon/pull/29588">mastodon#29588</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2194912012" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29646" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29646/hovercard" href="https://github.com/mastodon/mastodon/pull/29646">mastodon#29646</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2195142815" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29652" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29652/hovercard" href="https://github.com/mastodon/mastodon/pull/29652">mastodon#29652</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2196977038" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29658" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29658/hovercard" href="https://github.com/mastodon/mastodon/pull/29658">mastodon#29658</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2198000513" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29666" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29666/hovercard" href="https://github.com/mastodon/mastodon/pull/29666">mastodon#29666</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2200055171" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29693" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29693/hovercard" href="https://github.com/mastodon/mastodon/pull/29693">mastodon#29693</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2200571661" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29699" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29699/hovercard" href="https://github.com/mastodon/mastodon/pull/29699">mastodon#29699</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2204331594" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29737" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29737/hovercard" href="https://github.com/mastodon/mastodon/pull/29737">mastodon#29737</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2201268997" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29706" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29706/hovercard" href="https://github.com/mastodon/mastodon/pull/29706">mastodon#29706</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2184107714" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29570" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29570/hovercard" href="https://github.com/mastodon/mastodon/pull/29570">mastodon#29570</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2206381912" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29752" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29752/hovercard" href="https://github.com/mastodon/mastodon/pull/29752">mastodon#29752</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2216032080" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29810" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29810/hovercard" href="https://github.com/mastodon/mastodon/pull/29810">mastodon#29810</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2220467658" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29826" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29826/hovercard" href="https://github.com/mastodon/mastodon/pull/29826">mastodon#29826</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2268916507" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30114" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30114/hovercard" href="https://github.com/mastodon/mastodon/pull/30114">mastodon#30114</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2290292136" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30251" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30251/hovercard" href="https://github.com/mastodon/mastodon/pull/30251">mastodon#30251</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2335500630" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30559" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30559/hovercard" href="https://github.com/mastodon/mastodon/pull/30559">mastodon#30559</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2229337147" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29868" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29868/hovercard" href="https://github.com/mastodon/mastodon/pull/29868">mastodon#29868</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2405034232" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31008" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31008/hovercard" href="https://github.com/mastodon/mastodon/pull/31008">mastodon#31008</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2405679573" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31011" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31011/hovercard" href="https://github.com/mastodon/mastodon/pull/31011">mastodon#31011</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2402779708" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30996" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30996/hovercard" href="https://github.com/mastodon/mastodon/pull/30996">mastodon#30996</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2430263694" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31149" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31149/hovercard" href="https://github.com/mastodon/mastodon/pull/31149">mastodon#31149</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2439327919" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31220" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31220/hovercard" href="https://github.com/mastodon/mastodon/pull/31220">mastodon#31220</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2439543555" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31222" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31222/hovercard" href="https://github.com/mastodon/mastodon/pull/31222">mastodon#31222</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2440244812" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31225" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31225/hovercard" href="https://github.com/mastodon/mastodon/pull/31225">mastodon#31225</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2442154211" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31242" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31242/hovercard" href="https://github.com/mastodon/mastodon/pull/31242">mastodon#31242</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2444657026" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31262" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31262/hovercard" href="https://github.com/mastodon/mastodon/pull/31262">mastodon#31262</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2443089702" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31250" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31250/hovercard" href="https://github.com/mastodon/mastodon/pull/31250">mastodon#31250</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2445628879" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31273" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31273/hovercard" href="https://github.com/mastodon/mastodon/pull/31273">mastodon#31273</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2450386135" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31310" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31310/hovercard" href="https://github.com/mastodon/mastodon/pull/31310">mastodon#31310</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2450890520" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31316" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31316/hovercard" href="https://github.com/mastodon/mastodon/pull/31316">mastodon#31316</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2452731801" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31322" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31322/hovercard" href="https://github.com/mastodon/mastodon/pull/31322">mastodon#31322</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2453587042" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31329" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31329/hovercard" href="https://github.com/mastodon/mastodon/pull/31329">mastodon#31329</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2452820825" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31324" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31324/hovercard" href="https://github.com/mastodon/mastodon/pull/31324">mastodon#31324</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2453927831" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31331" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31331/hovercard" href="https://github.com/mastodon/mastodon/pull/31331">mastodon#31331</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2455643069" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31343" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31343/hovercard" href="https://github.com/mastodon/mastodon/pull/31343">mastodon#31343</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2455560672" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31342" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31342/hovercard" href="https://github.com/mastodon/mastodon/pull/31342">mastodon#31342</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2450352093" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31309" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31309/hovercard" href="https://github.com/mastodon/mastodon/pull/31309">mastodon#31309</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2458278987" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31358" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31358/hovercard" href="https://github.com/mastodon/mastodon/pull/31358">mastodon#31358</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2459747815" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31378" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31378/hovercard" href="https://github.com/mastodon/mastodon/pull/31378">mastodon#31378</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2464002135" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31406" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31406/hovercard" href="https://github.com/mastodon/mastodon/pull/31406">mastodon#31406</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2443405646" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31256" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31256/hovercard" href="https://github.com/mastodon/mastodon/pull/31256">mastodon#31256</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2470539444" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31456" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31456/hovercard" href="https://github.com/mastodon/mastodon/pull/31456">mastodon#31456</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2465375029" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31419" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31419/hovercard" href="https://github.com/mastodon/mastodon/pull/31419">mastodon#31419</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2470586458" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31457" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31457/hovercard" href="https://github.com/mastodon/mastodon/pull/31457">mastodon#31457</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2475475032" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31508" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31508/hovercard" href="https://github.com/mastodon/mastodon/pull/31508">mastodon#31508</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2480316576" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31540" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31540/hovercard" href="https://github.com/mastodon/mastodon/pull/31540">mastodon#31540</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2480322672" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31541" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31541/hovercard" href="https://github.com/mastodon/mastodon/pull/31541">mastodon#31541</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2502470383" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31723" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31723/hovercard" href="https://github.com/mastodon/mastodon/pull/31723">mastodon#31723</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2545569755" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32062" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32062/hovercard" href="https://github.com/mastodon/mastodon/pull/32062">mastodon#32062</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2569588260" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32281" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32281/hovercard" href="https://github.com/mastodon/mastodon/pull/32281">mastodon#32281</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TheEssem/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TheEssem">@TheEssem</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mgmn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mgmn">@mgmn</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oneiros/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oneiros">@oneiros</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renchap/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renchap">@renchap</a>)<br>
The old “Block notifications from non-followers”, “Block notifications from people you don't follow” and “Block direct messages from people you don't follow” notification settings have been replaced by a new set of settings found directly in the notification column.<br>
You can now separately filter or drop notifications from people you don't follow, people who don't follow you, accounts created within the past 30 days, as well as unsolicited private mentions, and accounts limited by the moderation.<br>
Instead of being outright dropped, notifications that you chose to filter are put in a separate “Filtered notifications” box that you can review separately without it clogging your main notifications.<br>
This adds the following REST API endpoints:</p>
<ul>
<li><code>GET /api/v2/notifications/policy</code>: <a href="https://docs.joinmastodon.org/methods/notifications/#get-policy" rel="nofollow">https://docs.joinmastodon.org/methods/notifications/#get-policy</a></li>
<li><code>PATCH /api/v2/notifications/policy</code>: <a href="https://docs.joinmastodon.org/methods/notifications/#update-the-filtering-policy-for-notifications" rel="nofollow">https://docs.joinmastodon.org/methods/notifications/#update-the-filtering-policy-for-notifications</a></li>
<li><code>GET /api/v1/notifications/requests</code>: <a href="https://docs.joinmastodon.org/methods/notifications/#get-requests" rel="nofollow">https://docs.joinmastodon.org/methods/notifications/#get-requests</a></li>
<li><code>GET /api/v1/notifications/requests/:id</code>: <a href="https://docs.joinmastodon.org/methods/notifications/#get-one-request" rel="nofollow">https://docs.joinmastodon.org/methods/notifications/#get-one-request</a></li>
<li><code>POST /api/v1/notifications/requests/:id/accept</code>: <a href="https://docs.joinmastodon.org/methods/notifications/#accept-request" rel="nofollow">https://docs.joinmastodon.org/methods/notifications/#accept-request</a></li>
<li><code>POST /api/v1/notifications/requests/:id/dismiss</code>: <a href="https://docs.joinmastodon.org/methods/notifications/#dismiss-request" rel="nofollow">https://docs.joinmastodon.org/methods/notifications/#dismiss-request</a></li>
<li><code>POST /api/v1/notifications/requests/accept</code>: <a href="https://docs.joinmastodon.org/methods/notifications/#accept-multiple-requests" rel="nofollow">https://docs.joinmastodon.org/methods/notifications/#accept-multiple-requests</a></li>
<li><code>POST /api/v1/notifications/requests/dismiss</code>: <a href="https://docs.joinmastodon.org/methods/notifications/#dismiss-multiple-requests" rel="nofollow">https://docs.joinmastodon.org/methods/notifications/#dismiss-multiple-requests</a></li>
<li><code>GET /api/v1/notifications/requests/merged</code>: <a href="https://docs.joinmastodon.org/methods/notifications/#requests-merged" rel="nofollow">https://docs.joinmastodon.org/methods/notifications/#requests-merged</a></li>
</ul>
<p>In addition, accepting one or more notification requests generates a new streaming event:</p>
<ul>
<li><code>notifications_merged</code>: an event of this type indicates accepted notification requests have finished merging, and the notifications list should be refreshed</li>
</ul>
</li>
<li>
<p><strong>Add notifications of severed relationships</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1957039307" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27511" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27511/hovercard" href="https://github.com/mastodon/mastodon/pull/27511">mastodon#27511</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2197904969" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29665" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29665/hovercard" href="https://github.com/mastodon/mastodon/pull/29665">mastodon#29665</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2198035580" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29668" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29668/hovercard" href="https://github.com/mastodon/mastodon/pull/29668">mastodon#29668</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2198082003" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29670" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29670/hovercard" href="https://github.com/mastodon/mastodon/pull/29670">mastodon#29670</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2200619101" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29700" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29700/hovercard" href="https://github.com/mastodon/mastodon/pull/29700">mastodon#29700</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2202481995" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29714" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29714/hovercard" href="https://github.com/mastodon/mastodon/pull/29714">mastodon#29714</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2202431820" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29712" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29712/hovercard" href="https://github.com/mastodon/mastodon/pull/29712">mastodon#29712</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2204109707" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29731" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29731/hovercard" href="https://github.com/mastodon/mastodon/pull/29731">mastodon#29731</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)<br>
Notify local users when they lose relationships as a result of a local moderator blocking a remote account or server, allowing the affected user to retrieve the list of broken relationships.<br>
Note that this does not notify remote users.<br>
This adds the <code>severed_relationships</code> notification type to the REST API and streaming, with a new <a href="https://docs.joinmastodon.org/entities/Notification/#relationship_severance_event" rel="nofollow"><code>relationship_severance_event</code> attribute</a>.</p>
</li>
<li>
<p><strong>Add hover cards in web UI</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2360206918" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30754" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30754/hovercard" href="https://github.com/mastodon/mastodon/pull/30754">mastodon#30754</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2379063173" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30864" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30864/hovercard" href="https://github.com/mastodon/mastodon/pull/30864">mastodon#30864</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2376382712" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30850" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30850/hovercard" href="https://github.com/mastodon/mastodon/pull/30850">mastodon#30850</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2382064609" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30879" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30879/hovercard" href="https://github.com/mastodon/mastodon/pull/30879">mastodon#30879</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2392329211" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30928" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30928/hovercard" href="https://github.com/mastodon/mastodon/pull/30928">mastodon#30928</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2393978060" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30949" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30949/hovercard" href="https://github.com/mastodon/mastodon/pull/30949">mastodon#30949</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2393975547" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30948" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30948/hovercard" href="https://github.com/mastodon/mastodon/pull/30948">mastodon#30948</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2392544640" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30931" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30931/hovercard" href="https://github.com/mastodon/mastodon/pull/30931">mastodon#30931</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2448891250" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31300" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31300/hovercard" href="https://github.com/mastodon/mastodon/pull/31300">mastodon#31300</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renchap/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renchap">@renchap</a>)<br>
Hovering over an avatar or username will now display a hover card with the first two lines of the user's description and their first two profile fields.<br>
This can be disabled in the “Animations and accessibility” section of the preferences.</p>
</li>
<li>
<p><strong>Add "system" theme setting (light/dark theme depending on user system preference)</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2205635790" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29748" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29748/hovercard" href="https://github.com/mastodon/mastodon/pull/29748">mastodon#29748</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2180517625" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29553" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29553/hovercard" href="https://github.com/mastodon/mastodon/pull/29553">mastodon#29553</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2214278081" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29795" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29795/hovercard" href="https://github.com/mastodon/mastodon/pull/29795">mastodon#29795</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2238697672" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29918" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29918/hovercard" href="https://github.com/mastodon/mastodon/pull/29918">mastodon#29918</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2373708179" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30839" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30839/hovercard" href="https://github.com/mastodon/mastodon/pull/30839">mastodon#30839</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2378615612" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30861" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30861/hovercard" href="https://github.com/mastodon/mastodon/pull/30861">mastodon#30861</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nshki/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nshki">@nshki</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ErikUden/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ErikUden">@ErikUden</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjankowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjankowski">@mjankowski</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renchap/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renchap">@renchap</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vmstan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vmstan">@vmstan</a>)<br>
Add a “system” theme that automatically switch between default dark and light themes depending on the user's system preferences.<br>
Also changes the default server theme to this new “system” theme so that automatic theme selection happens even when logged out.</p>
</li>
<li>
<p><strong>Add timeline of public posts about a trending link</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2306909629" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30381" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30381/hovercard" href="https://github.com/mastodon/mastodon/pull/30381">mastodon#30381</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2373849246" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30840" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30840/hovercard" href="https://github.com/mastodon/mastodon/pull/30840">mastodon#30840</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)<br>
You can now see public posts mentioning currently-trending articles from people who have opted into discovery features.<br>
This adds a new REST API endpoint:</p>
<ul>
<li><code>GET /api/v1/timelines/link?url=:url</code>: <a href="https://docs.joinmastodon.org/methods/timelines/#link" rel="nofollow">https://docs.joinmastodon.org/methods/timelines/#link</a></li>
</ul>
</li>
<li>
<p><strong>Add author highlight for news articles whose authors are on the fediverse</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2311135243" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30398" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30398/hovercard" href="https://github.com/mastodon/mastodon/pull/30398">mastodon#30398</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2348701034" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30670" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30670/hovercard" href="https://github.com/mastodon/mastodon/pull/30670">mastodon#30670</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2329474263" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30521" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30521/hovercard" href="https://github.com/mastodon/mastodon/pull/30521">mastodon#30521</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2375741538" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30846" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30846/hovercard" href="https://github.com/mastodon/mastodon/pull/30846">mastodon#30846</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2513055695" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31819" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31819/hovercard" href="https://github.com/mastodon/mastodon/pull/31819">mastodon#31819</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2524599773" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31900" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31900/hovercard" href="https://github.com/mastodon/mastodon/pull/31900">mastodon#31900</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2557638873" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32188" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32188/hovercard" href="https://github.com/mastodon/mastodon/pull/32188">mastodon#32188</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjankowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjankowski">@mjankowski</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oneiros/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oneiros">@oneiros</a>)<br>
This adds a mechanism to <a href="https://blog.joinmastodon.org/2024/07/highlighting-journalism-on-mastodon/" rel="nofollow">highlight the author of news articles</a> shared on Mastodon.<br>
Articles hosted outside the fediverse can indicate a fediverse author with a meta tag:</p>
<div class="highlight highlight-text-html-basic notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="<meta name="fediverse:creator" content="username@domain" />"><pre><span class="pl-kos"><</span><span class="pl-ent">meta</span> <span class="pl-c1">name</span>="<span class="pl-s">fediverse:creator</span>" <span class="pl-c1">content</span>="<span class="pl-s">username@domain</span>" <span class="pl-kos">/></span></pre></div>
<p>On the API side, this is represented by a new <code>authors</code> attribute to the <code>PreviewCard</code> entity: <a href="https://docs.joinmastodon.org/entities/PreviewCard/#authors%5C" rel="nofollow">https://docs.joinmastodon.org/entities/PreviewCard/#authors\</a><br>
Users can allow arbitrary domains to use <code>fediverse:creator</code> to credit them by visiting <code>/settings/verification</code>.<br>
This is federated as a new <code>attributionDomains</code> property in the <code>http://joinmastodon.org/ns</code> namespace, containing an array of domain names: <a href="https://docs.joinmastodon.org/spec/activitypub/#properties-used-1" rel="nofollow">https://docs.joinmastodon.org/spec/activitypub/#properties-used-1</a></p>
</li>
<li>
<p><strong>Add in-app notifications for moderation actions and warnings</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2263670421" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30065" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30065/hovercard" href="https://github.com/mastodon/mastodon/pull/30065">mastodon#30065</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2265651708" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30082" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30082/hovercard" href="https://github.com/mastodon/mastodon/pull/30082">mastodon#30082</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2265619320" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30081" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30081/hovercard" href="https://github.com/mastodon/mastodon/pull/30081">mastodon#30081</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)<br>
In addition to email notifications, also notify users of moderation actions or warnings against them directly within the app, so they are less likely to miss important communication from their moderators.<br>
This adds the <code>moderation_warning</code> notification type to the REST API and streaming, with a new <a href="https://docs.joinmastodon.org/entities/Notification/#moderation_warning" rel="nofollow"><code>moderation_warning</code> attribute</a>.</p>
</li>
<li>
<p><strong>Add domain information to profiles in web UI</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2187308196" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29602" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29602/hovercard" href="https://github.com/mastodon/mastodon/pull/29602">mastodon#29602</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)<br>
Clicking the domain of a user in their profile will now open a tooltip with a short explanation about servers and federation.</p>
</li>
<li>
<p><strong>Add support for Redis sentinel</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2500873229" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31694" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31694/hovercard" href="https://github.com/mastodon/mastodon/pull/31694">mastodon#31694</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2490321607" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31623" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31623/hovercard" href="https://github.com/mastodon/mastodon/pull/31623">mastodon#31623</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2505150978" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31744" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31744/hovercard" href="https://github.com/mastodon/mastodon/pull/31744">mastodon#31744</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2507161040" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31767" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31767/hovercard" href="https://github.com/mastodon/mastodon/pull/31767">mastodon#31767</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2507797026" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31768" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31768/hovercard" href="https://github.com/mastodon/mastodon/pull/31768">mastodon#31768</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsMissEm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsMissEm">@ThisIsMissEm</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oneiros/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oneiros">@oneiros</a>)<br>
See <a href="https://docs.joinmastodon.org/admin/scaling/#redis-sentinel" rel="nofollow">https://docs.joinmastodon.org/admin/scaling/#redis-sentinel</a></p>
</li>
<li>
<p><strong>Add ability to reorder uploaded media before posting in web UI</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2052370334" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28456" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28456/hovercard" href="https://github.com/mastodon/mastodon/pull/28456">mastodon#28456</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2548441021" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32093" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32093/hovercard" href="https://github.com/mastodon/mastodon/pull/32093">mastodon#32093</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</p>
</li>
<li>
<p>Add “A Mastodon update is available.” message on admin dashboard for non-bugfix updates (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2550744132" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32106" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32106/hovercard" href="https://github.com/mastodon/mastodon/pull/32106">mastodon#32106</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</p>
</li>
<li>
<p>Add ability to view alt text by clicking the ALT badge in web UI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2545343192" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32058" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32058/hovercard" href="https://github.com/mastodon/mastodon/pull/32058">mastodon#32058</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</p>
</li>
<li>
<p>Add preview of followers removed in domain block modal in web UI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2542364366" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32032" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32032/hovercard" href="https://github.com/mastodon/mastodon/pull/32032">mastodon#32032</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2549865898" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32105" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32105/hovercard" href="https://github.com/mastodon/mastodon/pull/32105">mastodon#32105</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</p>
</li>
<li>
<p>Add reblogs and favourites counts to statuses in ActivityPub (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2539306853" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32007" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32007/hovercard" href="https://github.com/mastodon/mastodon/pull/32007">mastodon#32007</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</p>
</li>
<li>
<p>Add moderation interface for searching hashtags (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2382449700" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30880" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30880/hovercard" href="https://github.com/mastodon/mastodon/pull/30880">mastodon#30880</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsMissEm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsMissEm">@ThisIsMissEm</a>)</p>
</li>
<li>
<p>Add ability for admins to configure instance favicon and logo (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2259429733" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30040" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30040/hovercard" href="https://github.com/mastodon/mastodon/pull/30040">mastodon#30040</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2283509033" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30208" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30208/hovercard" href="https://github.com/mastodon/mastodon/pull/30208">mastodon#30208</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2291050887" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30259" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30259/hovercard" href="https://github.com/mastodon/mastodon/pull/30259">mastodon#30259</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2306233374" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30375" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30375/hovercard" href="https://github.com/mastodon/mastodon/pull/30375">mastodon#30375</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2355972423" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30734" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30734/hovercard" href="https://github.com/mastodon/mastodon/pull/30734">mastodon#30734</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2406370692" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31016" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31016/hovercard" href="https://github.com/mastodon/mastodon/pull/31016">mastodon#31016</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2282776517" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30205" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30205/hovercard" href="https://github.com/mastodon/mastodon/pull/30205">mastodon#30205</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/FawazFarid/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/FawazFarid">@FawazFarid</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JasonPunyon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JasonPunyon">@JasonPunyon</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mgmn/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mgmn">@mgmn</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renchap/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renchap">@renchap</a>)<br>
This is also exposed through the REST API: <a href="https://docs.joinmastodon.org/entities/Instance/#icon" rel="nofollow">https://docs.joinmastodon.org/entities/Instance/#icon</a></p>
</li>
<li>
<p>Add <code>api_versions</code> to <code>/api/v2/instance</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2457843377" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31354" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31354/hovercard" href="https://github.com/mastodon/mastodon/pull/31354">mastodon#31354</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)<br>
Add API version number to make it easier for clients to detect compatible features going forward.<br>
See API documentation at <a href="https://docs.joinmastodon.org/entities/Instance/#api-versions" rel="nofollow">https://docs.joinmastodon.org/entities/Instance/#api-versions</a></p>
</li>
<li>
<p>Add quick links to Administration and Moderation Reports from Web UI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1695397649" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/24838" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/24838/hovercard" href="https://github.com/mastodon/mastodon/pull/24838">mastodon#24838</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsMissEm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsMissEm">@ThisIsMissEm</a>)</p>
</li>
<li>
<p>Add link to <code>/admin/roles</code> in moderation interface when changing someone's role (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2510744755" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31791" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31791/hovercard" href="https://github.com/mastodon/mastodon/pull/31791">mastodon#31791</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</p>
</li>
<li>
<p>Add recent audit log entries in federation moderation interface (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1940770872" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27386" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27386/hovercard" href="https://github.com/mastodon/mastodon/pull/27386">mastodon#27386</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsMissEm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsMissEm">@ThisIsMissEm</a>)</p>
</li>
<li>
<p>Add profile setup to onboarding in web UI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1989615632" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27829" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27829/hovercard" href="https://github.com/mastodon/mastodon/pull/27829">mastodon#27829</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1995632590" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27876" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27876/hovercard" href="https://github.com/mastodon/mastodon/pull/27876">mastodon#27876</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2051943707" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28453" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28453/hovercard" href="https://github.com/mastodon/mastodon/pull/28453">mastodon#28453</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</p>
</li>
<li>
<p>Add prominent share/copy button on profiles in web UI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1993900563" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27865" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27865/hovercard" href="https://github.com/mastodon/mastodon/pull/27865">mastodon#27865</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1996690842" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27889" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27889/hovercard" href="https://github.com/mastodon/mastodon/pull/27889">mastodon#27889</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</p>
</li>
<li>
<p>Add optional hints for server rules (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2177715702" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29539" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29539/hovercard" href="https://github.com/mastodon/mastodon/pull/29539">mastodon#29539</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2208302458" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29758" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29758/hovercard" href="https://github.com/mastodon/mastodon/pull/29758">mastodon#29758</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)<br>
Server rules can now be broken into a short rule name and a longer explanation of the rule.<br>
This adds a new <a href="https://docs.joinmastodon.org/entities/Rule/#hint" rel="nofollow"><code>hint</code> attribute</a> to <code>Rule</code> entities in the REST API.</p>
</li>
<li>
<p>Add support for PKCE in OAuth flow (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2428374980" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31129" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31129/hovercard" href="https://github.com/mastodon/mastodon/pull/31129">mastodon#31129</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsMissEm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsMissEm">@ThisIsMissEm</a>)</p>
</li>
<li>
<p>Add CDN cache busting on media deletion (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2457430182" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31353" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31353/hovercard" href="https://github.com/mastodon/mastodon/pull/31353">mastodon#31353</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2465101018" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31414" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31414/hovercard" href="https://github.com/mastodon/mastodon/pull/31414">mastodon#31414</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tribela/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tribela">@tribela</a>)</p>
</li>
<li>
<p>Add the OAuth application used in local reports (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2332082656" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30539" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30539/hovercard" href="https://github.com/mastodon/mastodon/pull/30539">mastodon#30539</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsMissEm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsMissEm">@ThisIsMissEm</a>)</p>
</li>
<li>
<p>Add hint to user that other remote statuses may be missing (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1894930146" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/26910" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/26910/hovercard" href="https://github.com/mastodon/mastodon/pull/26910">mastodon#26910</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2461505338" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31387" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31387/hovercard" href="https://github.com/mastodon/mastodon/pull/31387">mastodon#31387</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2476619670" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31516" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31516/hovercard" href="https://github.com/mastodon/mastodon/pull/31516">mastodon#31516</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/audiodude/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/audiodude">@audiodude</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renchap/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renchap">@renchap</a>)</p>
</li>
<li>
<p>Add lang attribute on preview card title (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2449169565" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31303" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31303/hovercard" href="https://github.com/mastodon/mastodon/pull/31303">mastodon#31303</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/c960657/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/c960657">@c960657</a>)</p>
</li>
<li>
<p>Add check for <code>Content-Length</code> in <code>ResponseWithLimitAdapter</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2447143412" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31285" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31285/hovercard" href="https://github.com/mastodon/mastodon/pull/31285">mastodon#31285</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/c960657/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/c960657">@c960657</a>)</p>
</li>
<li>
<p>Add <code>Accept-Language</code> header to fetch preview cards in the server's default language (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2440930221" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31232" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31232/hovercard" href="https://github.com/mastodon/mastodon/pull/31232">mastodon#31232</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/c960657/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/c960657">@c960657</a>)</p>
</li>
<li>
<p>Add support for PKCE Extension in OmniAuth OIDC through the <code>OIDC_USE_PKCE</code> environment variable (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2428470005" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31131" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31131/hovercard" href="https://github.com/mastodon/mastodon/pull/31131">mastodon#31131</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsMissEm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsMissEm">@ThisIsMissEm</a>)</p>
</li>
<li>
<p>Add API endpoints for unread notifications count (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2435380723" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31191" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31191/hovercard" href="https://github.com/mastodon/mastodon/pull/31191">mastodon#31191</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)<br>
This adds the following REST API endpoints:</p>
<ul>
<li><code>GET /api/v1/notifications/unread_count</code>: <a href="https://docs.joinmastodon.org/methods/notifications/#unread-count" rel="nofollow">https://docs.joinmastodon.org/methods/notifications/#unread-count</a></li>
</ul>
</li>
<li>
<p>Add <code>/</code> keyboard shortcut to focus the search field (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2239366340" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29921" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29921/hovercard" href="https://github.com/mastodon/mastodon/pull/29921">mastodon#29921</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</p>
</li>
<li>
<p>Add button to view the Hashtag on the instance from Hashtags in Moderation UI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2479291881" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31533" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31533/hovercard" href="https://github.com/mastodon/mastodon/pull/31533">mastodon#31533</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsMissEm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsMissEm">@ThisIsMissEm</a>)</p>
</li>
<li>
<p>Add list of pending releases directly in mail notifications for version updates (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2159168525" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29436" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29436/hovercard" href="https://github.com/mastodon/mastodon/pull/29436">mastodon#29436</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2258409561" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30035" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30035/hovercard" href="https://github.com/mastodon/mastodon/pull/30035">mastodon#30035</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</p>
</li>
<li>
<p>Add “Appeals” link under “Moderation” navigation category in moderation interface (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2417610053" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31071" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31071/hovercard" href="https://github.com/mastodon/mastodon/pull/31071">mastodon#31071</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsMissEm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsMissEm">@ThisIsMissEm</a>)</p>
</li>
<li>
<p>Add badge on account card in report moderation interface when account is already suspended (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2186568985" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29592" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29592/hovercard" href="https://github.com/mastodon/mastodon/pull/29592">mastodon#29592</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</p>
</li>
<li>
<p>Add admin comments directly to the <code>admin/instances</code> page (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2138234981" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29240" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29240/hovercard" href="https://github.com/mastodon/mastodon/pull/29240">mastodon#29240</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tribela/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tribela">@tribela</a>)</p>
</li>
<li>
<p>Add ability to require approval when users sign up using specific email domains (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2053692706" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28468" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28468/hovercard" href="https://github.com/mastodon/mastodon/pull/28468">mastodon#28468</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2081610592" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28732" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28732/hovercard" href="https://github.com/mastodon/mastodon/pull/28732">mastodon#28732</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2067118654" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28607" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28607/hovercard" href="https://github.com/mastodon/mastodon/pull/28607">mastodon#28607</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2067184427" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28608" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28608/hovercard" href="https://github.com/mastodon/mastodon/pull/28608">mastodon#28608</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</p>
</li>
<li>
<p>Add banner for forwarded reports made by remote users about remote content (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1960907835" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27549" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27549/hovercard" href="https://github.com/mastodon/mastodon/pull/27549">mastodon#27549</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</p>
</li>
<li>
<p>Add support HTML ruby tags in remote posts for east-asian languages (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2386725482" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30897" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30897/hovercard" href="https://github.com/mastodon/mastodon/pull/30897">mastodon#30897</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsMissEm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsMissEm">@ThisIsMissEm</a>)</p>
</li>
<li>
<p>Add link to manage warning presets in admin navigation (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1822932155" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/26199" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/26199/hovercard" href="https://github.com/mastodon/mastodon/pull/26199">mastodon#26199</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vmstan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vmstan">@vmstan</a>)</p>
</li>
<li>
<p>Add volume saving/reuse to video player (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1955073677" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27488" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27488/hovercard" href="https://github.com/mastodon/mastodon/pull/27488">mastodon#27488</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/thehydrogen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/thehydrogen">@thehydrogen</a>)</p>
</li>
<li>
<p>Add Elasticsearch index size, ffmpeg and ImageMagick versions to the admin dashboard (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1929092906" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27301" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27301/hovercard" href="https://github.com/mastodon/mastodon/pull/27301">mastodon#27301</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2353533175" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30710" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30710/hovercard" href="https://github.com/mastodon/mastodon/pull/30710">mastodon#30710</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2428375124" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31130" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31130/hovercard" href="https://github.com/mastodon/mastodon/pull/31130">mastodon#31130</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2375693042" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30845" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30845/hovercard" href="https://github.com/mastodon/mastodon/pull/30845">mastodon#30845</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vmstan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vmstan">@vmstan</a>)</p>
</li>
<li>
<p>Add <code>MASTODON_SIDEKIQ_READY_FILENAME</code> environment variable to use a file for Sidekiq to signal it is ready to process jobs (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2397799207" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30971" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30971/hovercard" href="https://github.com/mastodon/mastodon/pull/30971">mastodon#30971</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2400662015" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30988" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30988/hovercard" href="https://github.com/mastodon/mastodon/pull/30988">mastodon#30988</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renchap/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renchap">@renchap</a>)<br>
In the official Docker image, this is set to <code>sidekiq_process_has_started_and_will_begin_processing_jobs</code> so that Sidekiq will touch <code>tmp/sidekiq_process_has_started_and_will_begin_processing_jobs</code> to signal readiness.</p>
</li>
<li>
<p>Add <code>S3_RETRY_LIMIT</code> environment variable to make S3 retries configurable (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1553051678" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/23215" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/23215/hovercard" href="https://github.com/mastodon/mastodon/pull/23215">mastodon#23215</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/smiba/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/smiba">@smiba</a>)</p>
</li>
<li>
<p>Add <code>S3_KEY_PREFIX</code> environment variable (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2279713012" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30181" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30181/hovercard" href="https://github.com/mastodon/mastodon/pull/30181">mastodon#30181</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/S0yKaf/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/S0yKaf">@S0yKaf</a>)</p>
</li>
<li>
<p>Add support for multiple <code>redirect_uris</code> when creating OAuth 2.0 Applications (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2133136591" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29192" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29192/hovercard" href="https://github.com/mastodon/mastodon/pull/29192">mastodon#29192</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsMissEm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsMissEm">@ThisIsMissEm</a>)</p>
</li>
<li>
<p>Add Interlingue and Interlingua to interface languages (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2068635940" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28630" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28630/hovercard" href="https://github.com/mastodon/mastodon/pull/28630">mastodon#28630</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2372756831" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30828" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30828/hovercard" href="https://github.com/mastodon/mastodon/pull/30828">mastodon#30828</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Dhghomon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Dhghomon">@Dhghomon</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renchap/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renchap">@renchap</a>)</p>
</li>
<li>
<p>Add Kashubian, Pennsylvania Dutch, Vai, Jawi Malay, Mohawk and Low German to posting languages (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1807202549" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/26024" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/26024/hovercard" href="https://github.com/mastodon/mastodon/pull/26024">mastodon#26024</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1864877463" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/26634" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/26634/hovercard" href="https://github.com/mastodon/mastodon/pull/26634">mastodon#26634</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1912042732" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27136" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27136/hovercard" href="https://github.com/mastodon/mastodon/pull/27136">mastodon#27136</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2118954075" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29098" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29098/hovercard" href="https://github.com/mastodon/mastodon/pull/29098">mastodon#29098</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1910867400" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27115" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27115/hovercard" href="https://github.com/mastodon/mastodon/pull/27115">mastodon#27115</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1945532702" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27434" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27434/hovercard" href="https://github.com/mastodon/mastodon/pull/27434">mastodon#27434</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/EngineerDali/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/EngineerDali">@EngineerDali</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/HelgeKrueger/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/HelgeKrueger">@HelgeKrueger</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gunchleoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gunchleoc">@gunchleoc</a>)</p>
</li>
<li>
<p>Add option to use native Ruby driver for Redis through <code>REDIS_DRIVER=ruby</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2354004001" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30717" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30717/hovercard" href="https://github.com/mastodon/mastodon/pull/30717">mastodon#30717</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vmstan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vmstan">@vmstan</a>)</p>
</li>
<li>
<p>Add support for libvips in addition to ImageMagick (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2266195070" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30090" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30090/hovercard" href="https://github.com/mastodon/mastodon/pull/30090">mastodon#30090</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2339928452" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30590" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30590/hovercard" href="https://github.com/mastodon/mastodon/pull/30590">mastodon#30590</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2340666027" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30597" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30597/hovercard" href="https://github.com/mastodon/mastodon/pull/30597">mastodon#30597</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2343391698" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30632" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30632/hovercard" href="https://github.com/mastodon/mastodon/pull/30632">mastodon#30632</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2378428704" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30857" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30857/hovercard" href="https://github.com/mastodon/mastodon/pull/30857">mastodon#30857</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2380562839" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30869" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30869/hovercard" href="https://github.com/mastodon/mastodon/pull/30869">mastodon#30869</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2378465455" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30858" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30858/hovercard" href="https://github.com/mastodon/mastodon/pull/30858">mastodon#30858</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2549749512" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32104" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32104/hovercard" href="https://github.com/mastodon/mastodon/pull/32104">mastodon#32104</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjankowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjankowski">@mjankowski</a>)<br>
Server admins can now use libvips as a faster and lighter alternative to ImageMagick for processing user-uploaded images.<br>
This requires libvips 8.13 or newer, and needs to be enabled with <code>MASTODON_USE_LIBVIPS=true</code>.<br>
This is enabled by default in the official Docker images, and is intended to completely replace ImageMagick in the future.</p>
</li>
<li>
<p>Add validations to <code>Web::PushSubscription</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2332213520" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30540" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30540/hovercard" href="https://github.com/mastodon/mastodon/pull/30540">mastodon#30540</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2332260822" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30542" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30542/hovercard" href="https://github.com/mastodon/mastodon/pull/30542">mastodon#30542</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsMissEm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsMissEm">@ThisIsMissEm</a>)</p>
</li>
<li>
<p>Add anchors to each authorized application in <code>/oauth/authorized_applications</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2499236883" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31677" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31677/hovercard" href="https://github.com/mastodon/mastodon/pull/31677">mastodon#31677</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fowl2/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fowl2">@fowl2</a>)</p>
</li>
<li>
<p>Add active animation to header settings button (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2286245854" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30221" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30221/hovercard" href="https://github.com/mastodon/mastodon/pull/30221">mastodon#30221</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2298050896" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30307" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30307/hovercard" href="https://github.com/mastodon/mastodon/pull/30307">mastodon#30307</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2308366792" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30388" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30388/hovercard" href="https://github.com/mastodon/mastodon/pull/30388">mastodon#30388</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/daudix/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/daudix">@daudix</a>)</p>
</li>
<li>
<p>Add OpenTelemetry instrumentation (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2270994344" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30130" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30130/hovercard" href="https://github.com/mastodon/mastodon/pull/30130">mastodon#30130</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2299822061" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30322" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30322/hovercard" href="https://github.com/mastodon/mastodon/pull/30322">mastodon#30322</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2303482659" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30353" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30353/hovercard" href="https://github.com/mastodon/mastodon/pull/30353">mastodon#30353</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2303297671" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30350" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30350/hovercard" href="https://github.com/mastodon/mastodon/pull/30350">mastodon#30350</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2538948933" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31998" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31998/hovercard" href="https://github.com/mastodon/mastodon/pull/31998">mastodon#31998</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/julianocosta89/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/julianocosta89">@julianocosta89</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renchap/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renchap">@renchap</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/robbkidd/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/robbkidd">@robbkidd</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/timetinytim/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/timetinytim">@timetinytim</a>)<br>
See <a href="https://docs.joinmastodon.org/admin/config/#otel" rel="nofollow">https://docs.joinmastodon.org/admin/config/#otel</a> for documentation</p>
</li>
<li>
<p>Add API to get multiple accounts and statuses (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1995094566" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27871" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27871/hovercard" href="https://github.com/mastodon/mastodon/pull/27871">mastodon#27871</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2322761824" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30465" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30465/hovercard" href="https://github.com/mastodon/mastodon/pull/30465">mastodon#30465</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)<br>
This adds <code>GET /api/v1/accounts</code> and <code>GET /api/v1/statuses</code> to the REST API, see <a href="https://docs.joinmastodon.org/methods/accounts/#index" rel="nofollow">https://docs.joinmastodon.org/methods/accounts/#index</a> and <a href="https://docs.joinmastodon.org/methods/statuses/#index" rel="nofollow">https://docs.joinmastodon.org/methods/statuses/#index</a></p>
</li>
<li>
<p>Add support for CORS to <code>POST /oauth/revoke</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2504907013" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31743" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31743/hovercard" href="https://github.com/mastodon/mastodon/pull/31743">mastodon#31743</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</p>
</li>
<li>
<p>Add redirection back to previous page after site upload deletion (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2273590010" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30141" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30141/hovercard" href="https://github.com/mastodon/mastodon/pull/30141">mastodon#30141</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/FawazFarid/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/FawazFarid">@FawazFarid</a>)</p>
</li>
<li>
<p>Add RFC8414 OAuth 2.0 server metadata (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2132983005" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29191" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29191/hovercard" href="https://github.com/mastodon/mastodon/pull/29191">mastodon#29191</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsMissEm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsMissEm">@ThisIsMissEm</a>)</p>
</li>
<li>
<p>Add loading indicator and empty result message to advanced interface search (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2265887661" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30085" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30085/hovercard" href="https://github.com/mastodon/mastodon/pull/30085">mastodon#30085</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</p>
</li>
<li>
<p>Add <code>profile</code> OAuth 2.0 scope, allowing more limited access to user data (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2117287073" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29087" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29087/hovercard" href="https://github.com/mastodon/mastodon/pull/29087">mastodon#29087</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2303686046" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30357" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30357/hovercard" href="https://github.com/mastodon/mastodon/pull/30357">mastodon#30357</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsMissEm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsMissEm">@ThisIsMissEm</a>)</p>
</li>
<li>
<p>Add the role ID to the badge component (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2201300705" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29707" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29707/hovercard" href="https://github.com/mastodon/mastodon/pull/29707">mastodon#29707</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renchap/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renchap">@renchap</a>)</p>
</li>
<li>
<p>Add diagnostic message for failure during CLI search deploy (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2161922756" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29462" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29462/hovercard" href="https://github.com/mastodon/mastodon/pull/29462">mastodon#29462</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjankowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjankowski">@mjankowski</a>)</p>
</li>
<li>
<p>Add pagination <code>Link</code> headers on API accounts/statuses when pinned true (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2159826132" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29442" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29442/hovercard" href="https://github.com/mastodon/mastodon/pull/29442">mastodon#29442</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjankowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjankowski">@mjankowski</a>)</p>
</li>
<li>
<p>Add support for specifying custom CA cert for Elasticsearch through <code>ES_CA_FILE</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2122557844" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29122" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29122/hovercard" href="https://github.com/mastodon/mastodon/pull/29122">mastodon#29122</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2124859140" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29147" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29147/hovercard" href="https://github.com/mastodon/mastodon/pull/29147">mastodon#29147</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</p>
</li>
<li>
<p>Add groundwork for annual reports for accounts (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2075808246" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28693" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28693/hovercard" href="https://github.com/mastodon/mastodon/pull/28693">mastodon#28693</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)<br>
This lays the groundwork for a “year-in-review”/“wrapped” style report for local users, but is currently not in use.</p>
</li>
<li>
<p>Add notification email on invalid second authenticator (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2090930941" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28822" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28822/hovercard" href="https://github.com/mastodon/mastodon/pull/28822">mastodon#28822</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</p>
</li>
<li>
<p>Add date of account deletion in list of accounts in the admin interface (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1781118372" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/25640" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/25640/hovercard" href="https://github.com/mastodon/mastodon/pull/25640">mastodon#25640</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tribela/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tribela">@tribela</a>)</p>
</li>
<li>
<p>Add new emojis from <code>jdecked/twemoji</code> 15.0 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2044982384" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28404" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28404/hovercard" href="https://github.com/mastodon/mastodon/pull/28404">mastodon#28404</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TheEssem/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TheEssem">@TheEssem</a>)</p>
</li>
<li>
<p>Add configurable error handling in attachment batch deletion (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2021722381" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28184" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28184/hovercard" href="https://github.com/mastodon/mastodon/pull/28184">mastodon#28184</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vmstan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vmstan">@vmstan</a>)<br>
This makes the S3 batch size configurable through the <code>S3_BATCH_DELETE_LIMIT</code> environment variable (defaults to 1000), and adds some retry logic, configurable through the <code>S3_BATCH_DELETE_RETRY</code> environment variable (defaults to 3).</p>
</li>
<li>
<p>Add VAPID public key to instance serializer (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2002794984" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28006" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28006/hovercard" href="https://github.com/mastodon/mastodon/pull/28006">mastodon#28006</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsMissEm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsMissEm">@ThisIsMissEm</a>)</p>
</li>
<li>
<p>Add support for serving JRD <code>/.well-known/host-meta.json</code> in addition to XRD host-meta (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2559800693" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32206" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32206/hovercard" href="https://github.com/mastodon/mastodon/pull/32206">mastodon#32206</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/c960657/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/c960657">@c960657</a>)</p>
</li>
<li>
<p>Add <code>nodeName</code> and <code>nodeDescription</code> to nodeinfo <code>metadata</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2011452734" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28079" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28079/hovercard" href="https://github.com/mastodon/mastodon/pull/28079">mastodon#28079</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/6543/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/6543">@6543</a>)</p>
</li>
<li>
<p>Add Thai diacritics and tone marks in <code>HASHTAG_INVALID_CHARS_RE</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1859545886" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/26576" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/26576/hovercard" href="https://github.com/mastodon/mastodon/pull/26576">mastodon#26576</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ppnplus/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ppnplus">@ppnplus</a>)</p>
</li>
<li>
<p>Add variable delay before link verification of remote account links (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1983910367" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27774" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27774/hovercard" href="https://github.com/mastodon/mastodon/pull/27774">mastodon#27774</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</p>
</li>
<li>
<p>Add support for invite codes in the registration API (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1987535612" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27805" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27805/hovercard" href="https://github.com/mastodon/mastodon/pull/27805">mastodon#27805</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</p>
</li>
<li>
<p>Add HTML lang attribute to preview card descriptions (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1956122228" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27503" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27503/hovercard" href="https://github.com/mastodon/mastodon/pull/27503">mastodon#27503</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/srapilly/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/srapilly">@srapilly</a>)</p>
</li>
<li>
<p>Add display of relevant account warnings to report action logs (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1945175698" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27425" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27425/hovercard" href="https://github.com/mastodon/mastodon/pull/27425">mastodon#27425</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</p>
</li>
<li>
<p>Add validation of allowed schemes on preview card URLs (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1954501355" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27485" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27485/hovercard" href="https://github.com/mastodon/mastodon/pull/27485">mastodon#27485</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjankowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjankowski">@mjankowski</a>)</p>
</li>
<li>
<p>Add token introspection without read scope to <code>/api/v1/apps/verify_credentials</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1912435358" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27142" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27142/hovercard" href="https://github.com/mastodon/mastodon/pull/27142">mastodon#27142</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsMissEm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsMissEm">@ThisIsMissEm</a>)</p>
</li>
<li>
<p>Add support for cross-origin request to <code>/nodeinfo/2.0</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1943980335" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27413" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27413/hovercard" href="https://github.com/mastodon/mastodon/pull/27413">mastodon#27413</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/palant/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/palant">@palant</a>)</p>
</li>
<li>
<p>Add variable delay before link verification of remote account links (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1934965856" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27351" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27351/hovercard" href="https://github.com/mastodon/mastodon/pull/27351">mastodon#27351</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</p>
</li>
<li>
<p>Add PWA shortcut to <code>/explore</code> page (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1920886544" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27235" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27235/hovercard" href="https://github.com/mastodon/mastodon/pull/27235">mastodon#27235</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jake-anto/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jake-anto">@jake-anto</a>)</p>
</li>
</ul>
<h3>Changed</h3>
<ul>
<li><strong>Change icons throughout the web interface</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1940730783" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27385" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27385/hovercard" href="https://github.com/mastodon/mastodon/pull/27385">mastodon#27385</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1960022359" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27539" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27539/hovercard" href="https://github.com/mastodon/mastodon/pull/27539">mastodon#27539</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1961344739" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27555" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27555/hovercard" href="https://github.com/mastodon/mastodon/pull/27555">mastodon#27555</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1964322406" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27579" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27579/hovercard" href="https://github.com/mastodon/mastodon/pull/27579">mastodon#27579</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1977577560" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27700" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27700/hovercard" href="https://github.com/mastodon/mastodon/pull/27700">mastodon#27700</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1988915825" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27817" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27817/hovercard" href="https://github.com/mastodon/mastodon/pull/27817">mastodon#27817</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2058974065" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28519" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28519/hovercard" href="https://github.com/mastodon/mastodon/pull/28519">mastodon#28519</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2078447861" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28709" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28709/hovercard" href="https://github.com/mastodon/mastodon/pull/28709">mastodon#28709</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2009757627" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28064" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28064/hovercard" href="https://github.com/mastodon/mastodon/pull/28064">mastodon#28064</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2085865279" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28775" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28775/hovercard" href="https://github.com/mastodon/mastodon/pull/28775">mastodon#28775</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2086463655" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28780" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28780/hovercard" href="https://github.com/mastodon/mastodon/pull/28780">mastodon#28780</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1999278243" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27924" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27924/hovercard" href="https://github.com/mastodon/mastodon/pull/27924">mastodon#27924</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2143322180" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29294" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29294/hovercard" href="https://github.com/mastodon/mastodon/pull/29294">mastodon#29294</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2152782703" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29395" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29395/hovercard" href="https://github.com/mastodon/mastodon/pull/29395">mastodon#29395</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2177669037" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29537" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29537/hovercard" href="https://github.com/mastodon/mastodon/pull/29537">mastodon#29537</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2183815338" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29569" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29569/hovercard" href="https://github.com/mastodon/mastodon/pull/29569">mastodon#29569</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2188971218" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29610" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29610/hovercard" href="https://github.com/mastodon/mastodon/pull/29610">mastodon#29610</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2189100178" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29612" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29612/hovercard" href="https://github.com/mastodon/mastodon/pull/29612">mastodon#29612</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2195078593" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29649" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29649/hovercard" href="https://github.com/mastodon/mastodon/pull/29649">mastodon#29649</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2223871241" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29844" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29844/hovercard" href="https://github.com/mastodon/mastodon/pull/29844">mastodon#29844</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1984178895" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27780" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27780/hovercard" href="https://github.com/mastodon/mastodon/pull/27780">mastodon#27780</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2398237972" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30974" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30974/hovercard" href="https://github.com/mastodon/mastodon/pull/30974">mastodon#30974</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2396558526" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30963" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30963/hovercard" href="https://github.com/mastodon/mastodon/pull/30963">mastodon#30963</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2396513342" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30962" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30962/hovercard" href="https://github.com/mastodon/mastodon/pull/30962">mastodon#30962</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2396411221" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30961" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30961/hovercard" href="https://github.com/mastodon/mastodon/pull/30961">mastodon#30961</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2458522986" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31362" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31362/hovercard" href="https://github.com/mastodon/mastodon/pull/31362">mastodon#31362</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2458548562" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31363" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31363/hovercard" href="https://github.com/mastodon/mastodon/pull/31363">mastodon#31363</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2458310965" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31359" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31359/hovercard" href="https://github.com/mastodon/mastodon/pull/31359">mastodon#31359</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2459128213" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31371" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31371/hovercard" href="https://github.com/mastodon/mastodon/pull/31371">mastodon#31371</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2458465221" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31360" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31360/hovercard" href="https://github.com/mastodon/mastodon/pull/31360">mastodon#31360</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2475754897" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31512" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31512/hovercard" href="https://github.com/mastodon/mastodon/pull/31512">mastodon#31512</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2475749710" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31511" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31511/hovercard" href="https://github.com/mastodon/mastodon/pull/31511">mastodon#31511</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2478265330" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31525" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31525/hovercard" href="https://github.com/mastodon/mastodon/pull/31525">mastodon#31525</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2554556527" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32153" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32153/hovercard" href="https://github.com/mastodon/mastodon/pull/32153">mastodon#32153</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2559286800" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32201" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32201/hovercard" href="https://github.com/mastodon/mastodon/pull/32201">mastodon#32201</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/arbolitoloco1/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/arbolitoloco1">@arbolitoloco1</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjankowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjankowski">@mjankowski</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nclm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nclm">@nclm</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renchap/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renchap">@renchap</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ronilaukkarinen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ronilaukkarinen">@ronilaukkarinen</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zunda/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zunda">@zunda</a>)<br>
This changes all the interface icons from FontAwesome to Material Symbols for a more modern look, consistent with the official Mastodon Android app.<br>
In addition, better care is given to pixel alignment, and icon variants are used to better highlight active/inactive state.</li>
<li><strong>Change design of compose form in web UI</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2015435901" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28119" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28119/hovercard" href="https://github.com/mastodon/mastodon/pull/28119">mastodon#28119</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2114091983" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29059" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29059/hovercard" href="https://github.com/mastodon/mastodon/pull/29059">mastodon#29059</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2138910881" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29248" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29248/hovercard" href="https://github.com/mastodon/mastodon/pull/29248">mastodon#29248</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2150732764" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29372" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29372/hovercard" href="https://github.com/mastodon/mastodon/pull/29372">mastodon#29372</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2152242761" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29384" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29384/hovercard" href="https://github.com/mastodon/mastodon/pull/29384">mastodon#29384</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2155012749" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29417" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29417/hovercard" href="https://github.com/mastodon/mastodon/pull/29417">mastodon#29417</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2160938273" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29456" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29456/hovercard" href="https://github.com/mastodon/mastodon/pull/29456">mastodon#29456</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2154039337" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29406" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29406/hovercard" href="https://github.com/mastodon/mastodon/pull/29406">mastodon#29406</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2195103258" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29651" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29651/hovercard" href="https://github.com/mastodon/mastodon/pull/29651">mastodon#29651</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2197259532" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29659" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29659/hovercard" href="https://github.com/mastodon/mastodon/pull/29659">mastodon#29659</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2522601297" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31889" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31889/hovercard" href="https://github.com/mastodon/mastodon/pull/31889">mastodon#31889</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2542466188" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32033" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32033/hovercard" href="https://github.com/mastodon/mastodon/pull/32033">mastodon#32033</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/eai04191/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/eai04191">@eai04191</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hinaloe/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hinaloe">@hinaloe</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ronilaukkarinen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ronilaukkarinen">@ronilaukkarinen</a>)<br>
The compose form has been completely redesigned for a more modern and consistent look, as well as spelling out the chosen privacy setting and language name at all times.<br>
As part of this, the “Unlisted” privacy setting has been renamed to “Quiet public”.</li>
<li><strong>Change design of modals in the web UI</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2184739215" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29576" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29576/hovercard" href="https://github.com/mastodon/mastodon/pull/29576">mastodon#29576</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2189170778" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29614" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29614/hovercard" href="https://github.com/mastodon/mastodon/pull/29614">mastodon#29614</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2193888094" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29640" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29640/hovercard" href="https://github.com/mastodon/mastodon/pull/29640">mastodon#29640</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2194485195" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29644" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29644/hovercard" href="https://github.com/mastodon/mastodon/pull/29644">mastodon#29644</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2271569992" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30131" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30131/hovercard" href="https://github.com/mastodon/mastodon/pull/30131">mastodon#30131</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2382815721" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30884" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30884/hovercard" href="https://github.com/mastodon/mastodon/pull/30884">mastodon#30884</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2462933693" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31399" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31399/hovercard" href="https://github.com/mastodon/mastodon/pull/31399">mastodon#31399</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2481711045" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31555" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31555/hovercard" href="https://github.com/mastodon/mastodon/pull/31555">mastodon#31555</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2505910866" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31752" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31752/hovercard" href="https://github.com/mastodon/mastodon/pull/31752">mastodon#31752</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2511474997" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31801" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31801/hovercard" href="https://github.com/mastodon/mastodon/pull/31801">mastodon#31801</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2522220559" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31883" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31883/hovercard" href="https://github.com/mastodon/mastodon/pull/31883">mastodon#31883</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2516726879" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31844" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31844/hovercard" href="https://github.com/mastodon/mastodon/pull/31844">mastodon#31844</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2519776043" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31864" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31864/hovercard" href="https://github.com/mastodon/mastodon/pull/31864">mastodon#31864</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2529140785" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31943" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31943/hovercard" href="https://github.com/mastodon/mastodon/pull/31943">mastodon#31943</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tribela/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tribela">@tribela</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vmstan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vmstan">@vmstan</a>)<br>
The mute, block, and domain block confirmation modals have been completely redesigned to be clearer and include more detailed information on the action to be performed.<br>
They also have a more modern and consistent design, along with other confirmation modals in the application.</li>
<li><strong>Change colors throughout the web UI</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2174352694" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29522" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29522/hovercard" href="https://github.com/mastodon/mastodon/pull/29522">mastodon#29522</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2184944868" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29584" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29584/hovercard" href="https://github.com/mastodon/mastodon/pull/29584">mastodon#29584</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2195242666" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29653" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29653/hovercard" href="https://github.com/mastodon/mastodon/pull/29653">mastodon#29653</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2211203133" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29779" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29779/hovercard" href="https://github.com/mastodon/mastodon/pull/29779">mastodon#29779</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2215666776" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29803" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29803/hovercard" href="https://github.com/mastodon/mastodon/pull/29803">mastodon#29803</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2215889962" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29809" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29809/hovercard" href="https://github.com/mastodon/mastodon/pull/29809">mastodon#29809</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2215868393" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29808" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29808/hovercard" href="https://github.com/mastodon/mastodon/pull/29808">mastodon#29808</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2220775947" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29828" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29828/hovercard" href="https://github.com/mastodon/mastodon/pull/29828">mastodon#29828</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2409476784" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31034" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31034/hovercard" href="https://github.com/mastodon/mastodon/pull/31034">mastodon#31034</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2433150458" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31168" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31168/hovercard" href="https://github.com/mastodon/mastodon/pull/31168">mastodon#31168</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2444999355" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31266" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31266/hovercard" href="https://github.com/mastodon/mastodon/pull/31266">mastodon#31266</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2456398111" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31348" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31348/hovercard" href="https://github.com/mastodon/mastodon/pull/31348">mastodon#31348</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2456647692" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31349" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31349/hovercard" href="https://github.com/mastodon/mastodon/pull/31349">mastodon#31349</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2458517923" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31361" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31361/hovercard" href="https://github.com/mastodon/mastodon/pull/31361">mastodon#31361</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2475671693" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31510" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31510/hovercard" href="https://github.com/mastodon/mastodon/pull/31510">mastodon#31510</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2553122363" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32128" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32128/hovercard" href="https://github.com/mastodon/mastodon/pull/32128">mastodon#32128</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjankowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjankowski">@mjankowski</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renchap/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renchap">@renchap</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vmstan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vmstan">@vmstan</a>)</li>
<li><strong>Change onboarding prompt to follow suggestions carousel in web UI</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2097865855" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28878" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28878/hovercard" href="https://github.com/mastodon/mastodon/pull/28878">mastodon#28878</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2141203455" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29272" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29272/hovercard" href="https://github.com/mastodon/mastodon/pull/29272">mastodon#29272</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2526162203" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31912" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31912/hovercard" href="https://github.com/mastodon/mastodon/pull/31912">mastodon#31912</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</li>
<li><strong>Change email templates</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2046869666" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28416" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28416/hovercard" href="https://github.com/mastodon/mastodon/pull/28416">mastodon#28416</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2083602989" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28755" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28755/hovercard" href="https://github.com/mastodon/mastodon/pull/28755">mastodon#28755</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2090036514" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28814" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28814/hovercard" href="https://github.com/mastodon/mastodon/pull/28814">mastodon#28814</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2114938734" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29064" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29064/hovercard" href="https://github.com/mastodon/mastodon/pull/29064">mastodon#29064</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2098462738" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28883" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28883/hovercard" href="https://github.com/mastodon/mastodon/pull/28883">mastodon#28883</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2163317498" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29470" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29470/hovercard" href="https://github.com/mastodon/mastodon/pull/29470">mastodon#29470</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2188639403" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29607" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29607/hovercard" href="https://github.com/mastodon/mastodon/pull/29607">mastodon#29607</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2208399735" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29761" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29761/hovercard" href="https://github.com/mastodon/mastodon/pull/29761">mastodon#29761</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2208378011" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29760" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29760/hovercard" href="https://github.com/mastodon/mastodon/pull/29760">mastodon#29760</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2230650189" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29879" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29879/hovercard" href="https://github.com/mastodon/mastodon/pull/29879">mastodon#29879</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2545916340" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32073" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32073/hovercard" href="https://github.com/mastodon/mastodon/pull/32073">mastodon#32073</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2553523359" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32132" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32132/hovercard" href="https://github.com/mastodon/mastodon/pull/32132">mastodon#32132</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/c960657/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/c960657">@c960657</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/hteumeuleu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/hteumeuleu">@hteumeuleu</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjankowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjankowski">@mjankowski</a>)<br>
All emails to end-users have been completely redesigned with a fresh new look, providing more information while making them easier to read and keeping maximum compatibility across mail clients.</li>
<li><strong>Change follow recommendations algorithm</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2034977636" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28314" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28314/hovercard" href="https://github.com/mastodon/mastodon/pull/28314">mastodon#28314</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2048777769" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28433" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28433/hovercard" href="https://github.com/mastodon/mastodon/pull/28433">mastodon#28433</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2107866925" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29017" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29017/hovercard" href="https://github.com/mastodon/mastodon/pull/29017">mastodon#29017</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2120675355" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29108" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29108/hovercard" href="https://github.com/mastodon/mastodon/pull/29108">mastodon#29108</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2144892051" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29306" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29306/hovercard" href="https://github.com/mastodon/mastodon/pull/29306">mastodon#29306</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2179834722" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29550" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29550/hovercard" href="https://github.com/mastodon/mastodon/pull/29550">mastodon#29550</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2189338385" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29619" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29619/hovercard" href="https://github.com/mastodon/mastodon/pull/29619">mastodon#29619</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2471622869" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31474" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31474/hovercard" href="https://github.com/mastodon/mastodon/pull/31474">mastodon#31474</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kernal053/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kernal053">@kernal053</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjankowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjankowski">@mjankowski</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/wheatear-dev/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/wheatear-dev">@wheatear-dev</a>)<br>
This replaces the “past interactions” recommendation algorithm with a “friends of friends” algorithm that suggests accounts followed by people you follow, and a “similar profiles” algorithm that suggests accounts with a profile similar to your most recent follows.<br>
In addition, the implementation has been significantly reworked, and all follow recommendations are now dismissable.<br>
This change deprecates the <code>source</code> attribute in <code>Suggestion</code> entities in the REST API, and replaces it with the new <a href="https://docs.joinmastodon.org/entities/Suggestion/#sources" rel="nofollow"><code>sources</code> attribute</a>.</li>
<li>Change account search algorithm (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2367292175" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30803" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30803/hovercard" href="https://github.com/mastodon/mastodon/pull/30803">mastodon#30803</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</li>
<li><strong>Change streaming server to use its own dependencies and its own docker image</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1687766927" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/24702" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/24702/hovercard" href="https://github.com/mastodon/mastodon/pull/24702">mastodon#24702</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2000353140" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27967" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27967/hovercard" href="https://github.com/mastodon/mastodon/pull/27967">mastodon#27967</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1886857680" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/26850" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/26850/hovercard" href="https://github.com/mastodon/mastodon/pull/26850">mastodon#26850</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2015113907" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28112" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28112/hovercard" href="https://github.com/mastodon/mastodon/pull/28112">mastodon#28112</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2015328161" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28115" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28115/hovercard" href="https://github.com/mastodon/mastodon/pull/28115">mastodon#28115</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2018849402" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28137" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28137/hovercard" href="https://github.com/mastodon/mastodon/pull/28137">mastodon#28137</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2018882160" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28138" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28138/hovercard" href="https://github.com/mastodon/mastodon/pull/28138">mastodon#28138</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2055686108" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28497" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28497/hovercard" href="https://github.com/mastodon/mastodon/pull/28497">mastodon#28497</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2061660708" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28548" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28548/hovercard" href="https://github.com/mastodon/mastodon/pull/28548">mastodon#28548</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2366806985" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30795" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30795/hovercard" href="https://github.com/mastodon/mastodon/pull/30795">mastodon#30795</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2489102159" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31612" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31612/hovercard" href="https://github.com/mastodon/mastodon/pull/31612">mastodon#31612</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2489754331" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31615" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31615/hovercard" href="https://github.com/mastodon/mastodon/pull/31615">mastodon#31615</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/TheEssem/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/TheEssem">@TheEssem</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsMissEm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsMissEm">@ThisIsMissEm</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jippi/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jippi">@jippi</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renchap/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renchap">@renchap</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/timetinytim/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/timetinytim">@timetinytim</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vmstan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vmstan">@vmstan</a>)<br>
In order to reduce the amount of runtime dependencies, the streaming server has been moved into a separate package and Docker image.<br>
The <code>mastodon</code> image does not contain the streaming server anymore, as it has been moved to its own <code>mastodon-streaming</code> image.<br>
Administrators may need to update their setup accordingly.</li>
<li>Change how content warnings and filters are displayed in web UI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2458684211" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31365" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31365/hovercard" href="https://github.com/mastodon/mastodon/pull/31365">mastodon#31365</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2506291806" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31761" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31761/hovercard" href="https://github.com/mastodon/mastodon/pull/31761">mastodon#31761</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</li>
<li>Change preview card processing to ignore <code>undefined</code> as canonical url (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2522062741" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31882" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31882/hovercard" href="https://github.com/mastodon/mastodon/pull/31882">mastodon#31882</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oneiros/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oneiros">@oneiros</a>)</li>
<li>Change embedded posts to use web UI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2507025339" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31766" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31766/hovercard" href="https://github.com/mastodon/mastodon/pull/31766">mastodon#31766</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2553603958" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32135" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32135/hovercard" href="https://github.com/mastodon/mastodon/pull/32135">mastodon#32135</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2568262143" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32271" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32271/hovercard" href="https://github.com/mastodon/mastodon/pull/32271">mastodon#32271</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</li>
<li>Change inner borders in media galleries in web UI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2517983837" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31852" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31852/hovercard" href="https://github.com/mastodon/mastodon/pull/31852">mastodon#31852</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</li>
<li>Change design of media attachments and profile media tab in web UI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2512206653" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31807" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31807/hovercard" href="https://github.com/mastodon/mastodon/pull/31807">mastodon#31807</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2543179663" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32048" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32048/hovercard" href="https://github.com/mastodon/mastodon/pull/32048">mastodon#32048</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2534198467" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31967" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31967/hovercard" href="https://github.com/mastodon/mastodon/pull/31967">mastodon#31967</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2560999633" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32217" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32217/hovercard" href="https://github.com/mastodon/mastodon/pull/32217">mastodon#32217</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2562018741" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32224" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32224/hovercard" href="https://github.com/mastodon/mastodon/pull/32224">mastodon#32224</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2566559181" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32257" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32257/hovercard" href="https://github.com/mastodon/mastodon/pull/32257">mastodon#32257</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</li>
<li>Change labels on thread indicators in web UI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2512100921" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31806" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31806/hovercard" href="https://github.com/mastodon/mastodon/pull/31806">mastodon#31806</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</li>
<li>Change label of "Data export" menu item in settings interface (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2548840175" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32099" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32099/hovercard" href="https://github.com/mastodon/mastodon/pull/32099">mastodon#32099</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/c960657/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/c960657">@c960657</a>)</li>
<li>Change responsive break points on navigation panel in web UI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2542544168" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32034" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32034/hovercard" href="https://github.com/mastodon/mastodon/pull/32034">mastodon#32034</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</li>
<li>Change cursor to <code>not-allowed</code> on disabled buttons (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2546437247" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32076" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32076/hovercard" href="https://github.com/mastodon/mastodon/pull/32076">mastodon#32076</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjankowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjankowski">@mjankowski</a>)</li>
<li>Change OAuth authorization prompt to not refer to apps as “third-party” (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2539132117" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32005" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32005/hovercard" href="https://github.com/mastodon/mastodon/pull/32005">mastodon#32005</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</li>
<li>Change Mastodon to issue correct HTTP signatures by default (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2538335860" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31994" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31994/hovercard" href="https://github.com/mastodon/mastodon/pull/31994">mastodon#31994</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Change zoom icon in web UI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2199001941" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29683" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29683/hovercard" href="https://github.com/mastodon/mastodon/pull/29683">mastodon#29683</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</li>
<li>Change directory page to use URL query strings for options (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2536566848" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31980" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31980/hovercard" href="https://github.com/mastodon/mastodon/pull/31980">mastodon#31980</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2535822056" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31977" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31977/hovercard" href="https://github.com/mastodon/mastodon/pull/31977">mastodon#31977</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2536744763" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31984" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31984/hovercard" href="https://github.com/mastodon/mastodon/pull/31984">mastodon#31984</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renchap/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renchap">@renchap</a>)</li>
<li>Change report action buttons to be disabled when action has already been taken (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2508324745" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31773" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31773/hovercard" href="https://github.com/mastodon/mastodon/pull/31773">mastodon#31773</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2513657419" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31822" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31822/hovercard" href="https://github.com/mastodon/mastodon/pull/31822">mastodon#31822</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2524050078" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31899" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31899/hovercard" href="https://github.com/mastodon/mastodon/pull/31899">mastodon#31899</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsMissEm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsMissEm">@ThisIsMissEm</a>)</li>
<li>Change width of columns in advanced web UI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2506415819" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31762" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31762/hovercard" href="https://github.com/mastodon/mastodon/pull/31762">mastodon#31762</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</li>
<li>Change design of unread conversations in web UI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2506422871" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31763" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31763/hovercard" href="https://github.com/mastodon/mastodon/pull/31763">mastodon#31763</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</li>
<li>Change Web UI to allow viewing and severing relationships with suspended accounts (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1976035155" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27667" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27667/hovercard" href="https://github.com/mastodon/mastodon/pull/27667">mastodon#27667</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)<br>
This also adds a <code>with_suspended</code> parameter to <code>GET /api/v1/accounts/relationships</code> in the REST API.</li>
<li>Change preview card image size limit from 2MB to 8MB when using libvips (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2524916589" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31904" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31904/hovercard" href="https://github.com/mastodon/mastodon/pull/31904">mastodon#31904</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Change avatars border radius (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2461555388" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31390" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31390/hovercard" href="https://github.com/mastodon/mastodon/pull/31390">mastodon#31390</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renchap/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renchap">@renchap</a>)</li>
<li>Change counters to be displayed on profile timelines in web UI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2329865153" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30525" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30525/hovercard" href="https://github.com/mastodon/mastodon/pull/30525">mastodon#30525</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</li>
<li>Change disabled buttons color in light mode to make the difference more visible (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2403127685" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30998" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30998/hovercard" href="https://github.com/mastodon/mastodon/pull/30998">mastodon#30998</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renchap/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renchap">@renchap</a>)</li>
<li>Change design of people tab on explore in web UI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2262291326" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30059" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30059/hovercard" href="https://github.com/mastodon/mastodon/pull/30059">mastodon#30059</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</li>
<li>Change sidebar text in web UI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2351597133" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30696" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30696/hovercard" href="https://github.com/mastodon/mastodon/pull/30696">mastodon#30696</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</li>
<li>Change "Follow" to "Follow back" and "Mutual" when appropriate in web UI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2051921668" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28452" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28452/hovercard" href="https://github.com/mastodon/mastodon/pull/28452">mastodon#28452</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2053005476" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28465" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28465/hovercard" href="https://github.com/mastodon/mastodon/pull/28465">mastodon#28465</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2528433403" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31934" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31934/hovercard" href="https://github.com/mastodon/mastodon/pull/31934">mastodon#31934</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renchap/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renchap">@renchap</a>)</li>
<li>Change media to be hidden/blurred by default in report modal (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2060234230" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28522" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28522/hovercard" href="https://github.com/mastodon/mastodon/pull/28522">mastodon#28522</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Change order of the "muting" and "blocking" list options in “Data Exports” (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1813048599" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/26088" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/26088/hovercard" href="https://github.com/mastodon/mastodon/pull/26088">mastodon#26088</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/fixermark/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/fixermark">@fixermark</a>)</li>
<li>Change admin and moderation notes character limit from 500 to 2000 characters (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2293943337" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30288" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30288/hovercard" href="https://github.com/mastodon/mastodon/pull/30288">mastodon#30288</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsMissEm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsMissEm">@ThisIsMissEm</a>)</li>
<li>Change mute options to be in dropdown on muted users list in web UI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2260188069" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30049" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30049/hovercard" href="https://github.com/mastodon/mastodon/pull/30049">mastodon#30049</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2450888110" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31315" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31315/hovercard" href="https://github.com/mastodon/mastodon/pull/31315">mastodon#31315</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</li>
<li>Change out-of-band hashtags design in web UI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2204152807" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29732" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29732/hovercard" href="https://github.com/mastodon/mastodon/pull/29732">mastodon#29732</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</li>
<li>Change design of metadata underneath detailed posts in web UI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2184944933" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29585" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29585/hovercard" href="https://github.com/mastodon/mastodon/pull/29585">mastodon#29585</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2188143968" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29605" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29605/hovercard" href="https://github.com/mastodon/mastodon/pull/29605">mastodon#29605</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2194957087" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29648" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29648/hovercard" href="https://github.com/mastodon/mastodon/pull/29648">mastodon#29648</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</li>
<li>Change action button to be last on profiles in web UI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2176202441" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29533" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29533/hovercard" href="https://github.com/mastodon/mastodon/pull/29533">mastodon#29533</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2239420022" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29923" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29923/hovercard" href="https://github.com/mastodon/mastodon/pull/29923">mastodon#29923</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</li>
<li>Change confirmation prompts in trending moderation interface to be more specific (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1431213644" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/19626" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/19626/hovercard" href="https://github.com/mastodon/mastodon/pull/19626">mastodon#19626</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tribela/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tribela">@tribela</a>)</li>
<li>Change “Trends” moderation menu to “Recommendations & Trends” and move follow recommendations there (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2447302595" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31292" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31292/hovercard" href="https://github.com/mastodon/mastodon/pull/31292">mastodon#31292</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsMissEm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsMissEm">@ThisIsMissEm</a>)</li>
<li>Change irrelevant fields in account cleanup settings to be disabled unless automatic cleanup is enabled (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1858181815" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/26562" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/26562/hovercard" href="https://github.com/mastodon/mastodon/pull/26562">mastodon#26562</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/c960657/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/c960657">@c960657</a>)</li>
<li>Change dropdown menu icon to not be replaced by close icon when open in web UI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2176184578" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29532" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29532/hovercard" href="https://github.com/mastodon/mastodon/pull/29532">mastodon#29532</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</li>
<li>Change back button to always appear in advanced web UI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2180156212" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29551" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29551/hovercard" href="https://github.com/mastodon/mastodon/pull/29551">mastodon#29551</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2198076427" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29669" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29669/hovercard" href="https://github.com/mastodon/mastodon/pull/29669">mastodon#29669</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</li>
<li>Change border of active compose field search inputs (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2221383386" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29832" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29832/hovercard" href="https://github.com/mastodon/mastodon/pull/29832">mastodon#29832</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2223337281" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29839" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29839/hovercard" href="https://github.com/mastodon/mastodon/pull/29839">mastodon#29839</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vmstan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vmstan">@vmstan</a>)</li>
<li>Change instances of Nokogiri HTML4 parsing to HTML5 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2512512936" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31812" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31812/hovercard" href="https://github.com/mastodon/mastodon/pull/31812">mastodon#31812</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2512515779" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31815" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31815/hovercard" href="https://github.com/mastodon/mastodon/pull/31815">mastodon#31815</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2512513958" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31813" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31813/hovercard" href="https://github.com/mastodon/mastodon/pull/31813">mastodon#31813</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2512515071" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31814" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31814/hovercard" href="https://github.com/mastodon/mastodon/pull/31814">mastodon#31814</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/flavorjones/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/flavorjones">@flavorjones</a>)</li>
<li>Change link detection to allow <code>@</code> at the end of an URL (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2427907024" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31124" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31124/hovercard" href="https://github.com/mastodon/mastodon/pull/31124">mastodon#31124</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adamniedzielski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adamniedzielski">@adamniedzielski</a>)</li>
<li>Change User-Agent to use Mastodon as the product, and http.rb as platform details (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2435642516" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31192" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31192/hovercard" href="https://github.com/mastodon/mastodon/pull/31192">mastodon#31192</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Change layout and wording of the Content Retention server settings page (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1979614555" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27733" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27733/hovercard" href="https://github.com/mastodon/mastodon/pull/27733">mastodon#27733</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vmstan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vmstan">@vmstan</a>)</li>
<li>Change unconfirmed users to be kept for one week instead of two days (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2293872798" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30285" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30285/hovercard" href="https://github.com/mastodon/mastodon/pull/30285">mastodon#30285</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renchap/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renchap">@renchap</a>)</li>
<li>Change maximum page size for Admin Domain Management APIs from 200 to 500 (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2443316649" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31253" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31253/hovercard" href="https://github.com/mastodon/mastodon/pull/31253">mastodon#31253</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsMissEm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsMissEm">@ThisIsMissEm</a>)</li>
<li>Change database pool size to default to Sidekiq concurrency settings in Sidekiq processes (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1850108894" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/26488" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/26488/hovercard" href="https://github.com/mastodon/mastodon/pull/26488">mastodon#26488</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/sinoru/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/sinoru">@sinoru</a>)</li>
<li>Change alt text to empty string for avatars (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1469161656" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/21875" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/21875/hovercard" href="https://github.com/mastodon/mastodon/pull/21875">mastodon#21875</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jasminjohal/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jasminjohal">@jasminjohal</a>)</li>
<li>Change Docker images to use custom-built libvips and ffmpeg (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2336800453" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30571" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30571/hovercard" href="https://github.com/mastodon/mastodon/pull/30571">mastodon#30571</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2336692248" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30569" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30569/hovercard" href="https://github.com/mastodon/mastodon/pull/30569">mastodon#30569</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2473939878" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31498" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31498/hovercard" href="https://github.com/mastodon/mastodon/pull/31498">mastodon#31498</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vmstan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vmstan">@vmstan</a>)</li>
<li>Change external links in the admin audit log to plain text or local administration pages (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1912292609" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27139" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27139/hovercard" href="https://github.com/mastodon/mastodon/pull/27139">mastodon#27139</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1913111915" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27150" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27150/hovercard" href="https://github.com/mastodon/mastodon/pull/27150">mastodon#27150</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsMissEm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsMissEm">@ThisIsMissEm</a>)</li>
<li>Change YJIT to be enabled when available (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2298361918" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30310" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30310/hovercard" href="https://github.com/mastodon/mastodon/pull/30310">mastodon#30310</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1927956583" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27283" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27283/hovercard" href="https://github.com/mastodon/mastodon/pull/27283">mastodon#27283</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjankowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjankowski">@mjankowski</a>)<br>
Enable Ruby's built-in just-in-time compiler. This improves performances substantially, at the cost of a slightly increased memory usage.</li>
<li>Change <code>.env</code> file loading from deprecated <code>dotenv-rails</code> gem to <code>dotenv</code> gem (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2130942364" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29173" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29173/hovercard" href="https://github.com/mastodon/mastodon/pull/29173">mastodon#29173</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2269372587" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30121" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30121/hovercard" href="https://github.com/mastodon/mastodon/pull/30121">mastodon#30121</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjankowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjankowski">@mjankowski</a>)<br>
This should have no effect except in the unlikely case an environment variable included a newline.</li>
<li>Change “Panjabi” language name to the more common spelling “Punjabi” (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1910914194" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27117" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27117/hovercard" href="https://github.com/mastodon/mastodon/pull/27117">mastodon#27117</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gunchleoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gunchleoc">@gunchleoc</a>)</li>
<li>Change encryption of OTP secrets to use ActiveRecord Encryption (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2220983849" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29831" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29831/hovercard" href="https://github.com/mastodon/mastodon/pull/29831">mastodon#29831</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2036121773" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28325" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28325/hovercard" href="https://github.com/mastodon/mastodon/pull/28325">mastodon#28325</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2275789195" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30151" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30151/hovercard" href="https://github.com/mastodon/mastodon/pull/30151">mastodon#30151</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2282607060" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30202" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30202/hovercard" href="https://github.com/mastodon/mastodon/pull/30202">mastodon#30202</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2302074904" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30340" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30340/hovercard" href="https://github.com/mastodon/mastodon/pull/30340">mastodon#30340</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2302777433" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30344" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30344/hovercard" href="https://github.com/mastodon/mastodon/pull/30344">mastodon#30344</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjankowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjankowski">@mjankowski</a>)<br>
This requires a manual step from administrators of existing servers. Indeed, they need to generate new secrets, which can be done using <code>bundle exec rails db:encryption:init</code>.<br>
Furthermore, there is a risk that the introduced migration fails if the server was misconfigured in the past. If that happens, the migration error will include the relevant information.</li>
<li>Change <code>/api/v1/announcements</code> to return regular <code>Status</code> entities (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1875173513" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/26736" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/26736/hovercard" href="https://github.com/mastodon/mastodon/pull/26736">mastodon#26736</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Change imports to convert case-insensitive fields to lowercase (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2204490177" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29739" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29739/hovercard" href="https://github.com/mastodon/mastodon/pull/29739">mastodon#29739</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2204493062" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29740" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29740/hovercard" href="https://github.com/mastodon/mastodon/pull/29740">mastodon#29740</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsMissEm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsMissEm">@ThisIsMissEm</a>)</li>
<li>Change stats in the admin interface to be inclusive of the full selected range, from beginning of day to end of day (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2155005897" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29416" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29416/hovercard" href="https://github.com/mastodon/mastodon/pull/29416">mastodon#29416</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2223700671" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29841" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29841/hovercard" href="https://github.com/mastodon/mastodon/pull/29841">mastodon#29841</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjankowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjankowski">@mjankowski</a>)</li>
<li>Change materialized views to be refreshed concurrently to avoid locks (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2107818088" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29015" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29015/hovercard" href="https://github.com/mastodon/mastodon/pull/29015">mastodon#29015</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</li>
<li>Change compose form to use server-provided post character and poll options limits (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2102176830" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28928" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28928/hovercard" href="https://github.com/mastodon/mastodon/pull/28928">mastodon#28928</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2164738773" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29490" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29490/hovercard" href="https://github.com/mastodon/mastodon/pull/29490">mastodon#29490</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renchap/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renchap">@renchap</a>)</li>
<li>Change streaming server logging from <code>npmlog</code> to <code>pino</code> and <code>pino-http</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1989554550" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27828" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27828/hovercard" href="https://github.com/mastodon/mastodon/pull/27828">mastodon#27828</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsMissEm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsMissEm">@ThisIsMissEm</a>)<br>
This changes the Mastodon streaming server log format, so this might be considered a breaking change if you were parsing the logs.</li>
<li>Change media “ALT” label to use a specific CSS class (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2086314486" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28777" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28777/hovercard" href="https://github.com/mastodon/mastodon/pull/28777">mastodon#28777</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Change streaming API host to not be overridden to localhost in development mode (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2062195384" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28557" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28557/hovercard" href="https://github.com/mastodon/mastodon/pull/28557">mastodon#28557</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Change cookie rotator to use SHA1 digest for new cookies (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1941763430" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27392" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27392/hovercard" href="https://github.com/mastodon/mastodon/pull/27392">mastodon#27392</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)<br>
Note that this requires that no pre-4.2.0 Mastodon web server is running when this code is deployed, as those would not understand the new cookies.<br>
Therefore, zero-downtime updates are only supported if you're coming from 4.2.0 or newer. If you want to skip Mastodon 4.2, you will need to completely stop Mastodon services before updating.</li>
<li>Change preview card deletes to be done using batch method (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2021691479" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28183" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28183/hovercard" href="https://github.com/mastodon/mastodon/pull/28183">mastodon#28183</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vmstan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vmstan">@vmstan</a>)</li>
<li>Change <code>img-src</code> and <code>media-src</code> CSP directives to not include <code>https:</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2004625596" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28025" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28025/hovercard" href="https://github.com/mastodon/mastodon/pull/28025">mastodon#28025</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2062648892" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28561" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28561/hovercard" href="https://github.com/mastodon/mastodon/pull/28561">mastodon#28561</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Change self-destruct procedure (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1845199621" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/26439" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/26439/hovercard" href="https://github.com/mastodon/mastodon/pull/26439">mastodon#26439</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2113524085" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29049" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29049/hovercard" href="https://github.com/mastodon/mastodon/pull/29049">mastodon#29049</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2155253922" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29420" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29420/hovercard" href="https://github.com/mastodon/mastodon/pull/29420">mastodon#29420</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/zunda/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/zunda">@zunda</a>)<br>
Instead of enqueuing deletion jobs immediately, <code>tootctl self-destruct</code> now outputs a value for the <code>SELF_DESTRUCT</code> environment variable, which puts a server in self-destruct mode, processing deletions in the background, while giving users access to their export archives.</li>
</ul>
<h3>Removed</h3>
<ul>
<li>Remove unused E2EE messaging code and related <code>crypto</code> OAuth scope (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2435804866" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31193" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31193/hovercard" href="https://github.com/mastodon/mastodon/pull/31193">mastodon#31193</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2529288086" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31945" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31945/hovercard" href="https://github.com/mastodon/mastodon/pull/31945">mastodon#31945</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2533952728" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31963" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31963/hovercard" href="https://github.com/mastodon/mastodon/pull/31963">mastodon#31963</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2533980303" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31964" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31964/hovercard" href="https://github.com/mastodon/mastodon/pull/31964">mastodon#31964</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjankowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjankowski">@mjankowski</a>)</li>
<li>Remove StatsD integration (replaced by OpenTelemetry) (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2289829199" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30240" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30240/hovercard" href="https://github.com/mastodon/mastodon/pull/30240">mastodon#30240</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjankowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjankowski">@mjankowski</a>)</li>
<li>Remove <code>CacheBuster</code> default options (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2354073780" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30718" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30718/hovercard" href="https://github.com/mastodon/mastodon/pull/30718">mastodon#30718</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjankowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjankowski">@mjankowski</a>)</li>
<li>Remove home marker updates from the Web UI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1510130732" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/22721" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/22721/hovercard" href="https://github.com/mastodon/mastodon/pull/22721">mastodon#22721</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/davbeck/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/davbeck">@davbeck</a>)<br>
The web interface was unconditionally updating the home marker to the most recent received post, discarding any value set by other clients, thus making the feature unreliable.</li>
<li>Remove support for Ruby 3.0 (reaching EOL) (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2200779700" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29702" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29702/hovercard" href="https://github.com/mastodon/mastodon/pull/29702">mastodon#29702</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjankowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjankowski">@mjankowski</a>)</li>
<li>Remove setting for unfollow confirmation modal (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2150842684" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29373" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29373/hovercard" href="https://github.com/mastodon/mastodon/pull/29373">mastodon#29373</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)<br>
Instead, the unfollow confirmation modal will always be displayed.</li>
<li>Remove support for Capistrano (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1928950510" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27295" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27295/hovercard" href="https://github.com/mastodon/mastodon/pull/27295">mastodon#27295</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2253954791" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30009" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30009/hovercard" href="https://github.com/mastodon/mastodon/pull/30009">mastodon#30009</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjankowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjankowski">@mjankowski</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renchap/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renchap">@renchap</a>)</li>
</ul>
<h3>Fixed</h3>
<ul>
<li><strong>Fix link preview cards not always preserving the original URL from the status</strong> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1930795298" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27312" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27312/hovercard" href="https://github.com/mastodon/mastodon/pull/27312">mastodon#27312</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</li>
<li>Fix log out from user menu not working on Safari (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2463669072" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31402" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31402/hovercard" href="https://github.com/mastodon/mastodon/pull/31402">mastodon#31402</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renchap/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renchap">@renchap</a>)</li>
<li>Fix various issues when in link preview card generation (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2082866935" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28748" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28748/hovercard" href="https://github.com/mastodon/mastodon/pull/28748">mastodon#28748</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2254776779" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30017" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30017/hovercard" href="https://github.com/mastodon/mastodon/pull/30017">mastodon#30017</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2304362228" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30362" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30362/hovercard" href="https://github.com/mastodon/mastodon/pull/30362">mastodon#30362</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2279247517" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30173" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30173/hovercard" href="https://github.com/mastodon/mastodon/pull/30173">mastodon#30173</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2377718796" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30853" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30853/hovercard" href="https://github.com/mastodon/mastodon/pull/30853">mastodon#30853</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2392404569" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30929" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30929/hovercard" href="https://github.com/mastodon/mastodon/pull/30929">mastodon#30929</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2392599551" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30933" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30933/hovercard" href="https://github.com/mastodon/mastodon/pull/30933">mastodon#30933</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2395947255" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30957" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30957/hovercard" href="https://github.com/mastodon/mastodon/pull/30957">mastodon#30957</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2400563331" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30987" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30987/hovercard" href="https://github.com/mastodon/mastodon/pull/30987">mastodon#30987</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2429748810" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31144" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31144/hovercard" href="https://github.com/mastodon/mastodon/pull/31144">mastodon#31144</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adamniedzielski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adamniedzielski">@adamniedzielski</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oneiros/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oneiros">@oneiros</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/phocks/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/phocks">@phocks</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/timothyjrogers/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/timothyjrogers">@timothyjrogers</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tribela/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tribela">@tribela</a>)</li>
<li>Fix handling of missing links in Webfinger responses (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2409054185" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31030" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31030/hovercard" href="https://github.com/mastodon/mastodon/pull/31030">mastodon#31030</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/adamniedzielski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/adamniedzielski">@adamniedzielski</a>)</li>
<li>Fix error when accepting an appeal for sensitive posts deleted in the meantime (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2542870003" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32037" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32037/hovercard" href="https://github.com/mastodon/mastodon/pull/32037">mastodon#32037</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix error when encountering reblog of deleted post in feed rebuild (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2538988306" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32001" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32001/hovercard" href="https://github.com/mastodon/mastodon/pull/32001">mastodon#32001</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix Safari browser glitch related to horizontal scrolling (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2533300626" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31960" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31960/hovercard" href="https://github.com/mastodon/mastodon/pull/31960">mastodon#31960</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</li>
<li>Fix unresolvable mentions sometimes preventing processing incoming posts (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2135668197" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29215" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29215/hovercard" href="https://github.com/mastodon/mastodon/pull/29215">mastodon#29215</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tribela/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tribela">@tribela</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix too many requests caused by relationship look-ups in web UI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2543081426" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32042" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32042/hovercard" href="https://github.com/mastodon/mastodon/pull/32042">mastodon#32042</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</li>
<li>Fix links for reblogs in moderation interface (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2536543213" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31979" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31979/hovercard" href="https://github.com/mastodon/mastodon/pull/31979">mastodon#31979</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix the appearance of avatars when they do not load (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2534149919" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31966" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31966/hovercard" href="https://github.com/mastodon/mastodon/pull/31966">mastodon#31966</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2568259334" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32270" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32270/hovercard" href="https://github.com/mastodon/mastodon/pull/32270">mastodon#32270</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renchap/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renchap">@renchap</a>)</li>
<li>Fix spurious error notifications for aborted requests in web UI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2531745349" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31952" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31952/hovercard" href="https://github.com/mastodon/mastodon/pull/31952">mastodon#31952</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/c960657/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/c960657">@c960657</a>)</li>
<li>Fix HTTP 500 error in <code>/api/v1/polls/:id/votes</code> when required <code>choices</code> parameter is missing (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1775556283" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/25598" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/25598/hovercard" href="https://github.com/mastodon/mastodon/pull/25598">mastodon#25598</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/danielmbrasil/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/danielmbrasil">@danielmbrasil</a>)</li>
<li>Fix security context sometimes not being added in LD-Signed activities (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2520436200" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31871" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31871/hovercard" href="https://github.com/mastodon/mastodon/pull/31871">mastodon#31871</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix cross-origin loading of <code>inert.css</code> polyfill (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2351159289" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30687" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30687/hovercard" href="https://github.com/mastodon/mastodon/pull/30687">mastodon#30687</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/louis77/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/louis77">@louis77</a>)</li>
<li>Fix wrapping in dashboard quick access buttons (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2543082203" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32043" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32043/hovercard" href="https://github.com/mastodon/mastodon/pull/32043">mastodon#32043</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renchap/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renchap">@renchap</a>)</li>
<li>Fix recently used tags hint being displayed in profile edition page when there is none (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2551593550" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32120" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32120/hovercard" href="https://github.com/mastodon/mastodon/pull/32120">mastodon#32120</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjankowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjankowski">@mjankowski</a>)</li>
<li>Fix checkbox lists on narrow screens in the settings interface (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2551220015" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32112" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32112/hovercard" href="https://github.com/mastodon/mastodon/pull/32112">mastodon#32112</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjankowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjankowski">@mjankowski</a>)</li>
<li>Fix the position of status action buttons being affected by interaction counters (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2547387393" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32084" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32084/hovercard" href="https://github.com/mastodon/mastodon/pull/32084">mastodon#32084</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renchap/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renchap">@renchap</a>)</li>
<li>Fix the summary of converted ActivityPub object types to be treated as HTML (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2068510500" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28629" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28629/hovercard" href="https://github.com/mastodon/mastodon/pull/28629">mastodon#28629</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Menrath/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Menrath">@Menrath</a>)</li>
<li>Fix cutoff of instance name in sign-up form (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2340680933" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30598" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30598/hovercard" href="https://github.com/mastodon/mastodon/pull/30598">mastodon#30598</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/oneiros/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/oneiros">@oneiros</a>)</li>
<li>Fix invalid date searches returning 503 errors (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2478483697" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31526" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31526/hovercard" href="https://github.com/mastodon/mastodon/pull/31526">mastodon#31526</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/notchairmk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/notchairmk">@notchairmk</a>)</li>
<li>Fix invalid <code>visibility</code> values in <code>POST /api/v1/statuses</code> returning 500 errors (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2484035689" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31571" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31571/hovercard" href="https://github.com/mastodon/mastodon/pull/31571">mastodon#31571</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/c960657/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/c960657">@c960657</a>)</li>
<li>Fix some components re-rendering spuriously in web UI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2521331534" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31879" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31879/hovercard" href="https://github.com/mastodon/mastodon/pull/31879">mastodon#31879</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2521739304" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31881" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31881/hovercard" href="https://github.com/mastodon/mastodon/pull/31881">mastodon#31881</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</li>
<li>Fix sort order of moderation notes on Reports and Accounts (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2478997122" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31528" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31528/hovercard" href="https://github.com/mastodon/mastodon/pull/31528">mastodon#31528</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsMissEm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsMissEm">@ThisIsMissEm</a>)</li>
<li>Fix email language when recipient has no selected locale (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2505628232" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31747" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31747/hovercard" href="https://github.com/mastodon/mastodon/pull/31747">mastodon#31747</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix frequently-used languages not correctly updating in the web UI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2461427341" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31386" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31386/hovercard" href="https://github.com/mastodon/mastodon/pull/31386">mastodon#31386</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/c960657/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/c960657">@c960657</a>)</li>
<li>Fix <code>POST /api/v1/statuses</code> silently ignoring invalid <code>media_ids</code> parameter (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2499624657" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31681" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31681/hovercard" href="https://github.com/mastodon/mastodon/pull/31681">mastodon#31681</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/c960657/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/c960657">@c960657</a>)</li>
<li>Fix handling of the <code>BIND</code> environment variable in the streaming server (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2490443054" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31624" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31624/hovercard" href="https://github.com/mastodon/mastodon/pull/31624">mastodon#31624</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsMissEm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsMissEm">@ThisIsMissEm</a>)</li>
<li>Fix empty <code>aria-hidden</code> attribute value in logo resources area (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2336700937" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30570" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30570/hovercard" href="https://github.com/mastodon/mastodon/pull/30570">mastodon#30570</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjankowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjankowski">@mjankowski</a>)</li>
<li>Fix “Redirect URI” field not being marked as required in “New application” form (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2298410322" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30311" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30311/hovercard" href="https://github.com/mastodon/mastodon/pull/30311">mastodon#30311</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsMissEm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsMissEm">@ThisIsMissEm</a>)</li>
<li>Fix right-to-left text in preview cards (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2392457456" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30930" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30930/hovercard" href="https://github.com/mastodon/mastodon/pull/30930">mastodon#30930</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix rack attack <code>match_type</code> value typo in logging config (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2328549203" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30514" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30514/hovercard" href="https://github.com/mastodon/mastodon/pull/30514">mastodon#30514</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjankowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjankowski">@mjankowski</a>)</li>
<li>Fix various cases of duplicate, missing, or inconsistent borders or scrollbar styles (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2417504669" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31068" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31068/hovercard" href="https://github.com/mastodon/mastodon/pull/31068">mastodon#31068</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2447145883" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31286" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31286/hovercard" href="https://github.com/mastodon/mastodon/pull/31286">mastodon#31286</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2445048418" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31268" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31268/hovercard" href="https://github.com/mastodon/mastodon/pull/31268">mastodon#31268</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2445916464" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31275" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31275/hovercard" href="https://github.com/mastodon/mastodon/pull/31275">mastodon#31275</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2447117486" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31284" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31284/hovercard" href="https://github.com/mastodon/mastodon/pull/31284">mastodon#31284</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2449750240" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31305" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31305/hovercard" href="https://github.com/mastodon/mastodon/pull/31305">mastodon#31305</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2456120604" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31346" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31346/hovercard" href="https://github.com/mastodon/mastodon/pull/31346">mastodon#31346</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2459134760" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31372" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31372/hovercard" href="https://github.com/mastodon/mastodon/pull/31372">mastodon#31372</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2459193347" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31373" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31373/hovercard" href="https://github.com/mastodon/mastodon/pull/31373">mastodon#31373</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2461552633" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31389" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31389/hovercard" href="https://github.com/mastodon/mastodon/pull/31389">mastodon#31389</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2466240724" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31432" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31432/hovercard" href="https://github.com/mastodon/mastodon/pull/31432">mastodon#31432</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2461776976" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31391" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31391/hovercard" href="https://github.com/mastodon/mastodon/pull/31391">mastodon#31391</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2468790489" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31445" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31445/hovercard" href="https://github.com/mastodon/mastodon/pull/31445">mastodon#31445</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2548301952" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32091" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32091/hovercard" href="https://github.com/mastodon/mastodon/pull/32091">mastodon#32091</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2554457909" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32147" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32147/hovercard" href="https://github.com/mastodon/mastodon/pull/32147">mastodon#32147</a> and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2553724473" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32137" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32137/hovercard" href="https://github.com/mastodon/mastodon/pull/32137">mastodon#32137</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjankowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjankowski">@mjankowski</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/valtlai/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/valtlai">@valtlai</a> and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vmstan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vmstan">@vmstan</a>)</li>
<li>Fix editing description of media uploads with custom thumbnails (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2561405599" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32221" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32221/hovercard" href="https://github.com/mastodon/mastodon/pull/32221">mastodon#32221</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix race condition in <code>POST /api/v1/push/subscription</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2277821880" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30166" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30166/hovercard" href="https://github.com/mastodon/mastodon/pull/30166">mastodon#30166</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix post deletion not being delayed when those are part of an account warning (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2277588925" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30163" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30163/hovercard" href="https://github.com/mastodon/mastodon/pull/30163">mastodon#30163</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix rendering error on <code>/start</code> when not logged in (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2255268538" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30023" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30023/hovercard" href="https://github.com/mastodon/mastodon/pull/30023">mastodon#30023</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/timothyjrogers/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/timothyjrogers">@timothyjrogers</a>)</li>
<li>Fix unneeded requests to blocked domains when receiving relayed signed activities from them (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2432276178" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31161" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31161/hovercard" href="https://github.com/mastodon/mastodon/pull/31161">mastodon#31161</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix logo pushing header buttons out of view on certain conditions in mobile layout (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2212751930" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29787" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29787/hovercard" href="https://github.com/mastodon/mastodon/pull/29787">mastodon#29787</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix notification-related records not being reattributed when merging accounts (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2200062727" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29694" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29694/hovercard" href="https://github.com/mastodon/mastodon/pull/29694">mastodon#29694</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix results/query in <code>api/v1/featured_tags/suggestions</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2186969408" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29597" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29597/hovercard" href="https://github.com/mastodon/mastodon/pull/29597">mastodon#29597</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjankowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjankowski">@mjankowski</a>)</li>
<li>Fix distracting and confusing always-showing scrollbar track in boost confirmation modal (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2477627541" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31524" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31524/hovercard" href="https://github.com/mastodon/mastodon/pull/31524">mastodon#31524</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix being able to upload more than 4 media attachments in some cases (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2131775666" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29183" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29183/hovercard" href="https://github.com/mastodon/mastodon/pull/29183">mastodon#29183</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mashirozx/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mashirozx">@mashirozx</a>)</li>
<li>Fix preview card player getting embedded when clicking on the external link button (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2161057113" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29457" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29457/hovercard" href="https://github.com/mastodon/mastodon/pull/29457">mastodon#29457</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix full date display not respecting the locale 12/24h format (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2159931410" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29448" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29448/hovercard" href="https://github.com/mastodon/mastodon/pull/29448">mastodon#29448</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renchap/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renchap">@renchap</a>)</li>
<li>Fix filters title and keywords overflow (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2152800722" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29396" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29396/hovercard" href="https://github.com/mastodon/mastodon/pull/29396">mastodon#29396</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/GeopJr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/GeopJr">@GeopJr</a>)</li>
<li>Fix incorrect date format in “Follows and followers” (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2152535046" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29390" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29390/hovercard" href="https://github.com/mastodon/mastodon/pull/29390">mastodon#29390</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/JasonPunyon/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/JasonPunyon">@JasonPunyon</a>)</li>
<li>Fix navigation item active highlight for some paths (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2555140654" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/32159" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/32159/hovercard" href="https://github.com/mastodon/mastodon/pull/32159">mastodon#32159</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjankowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjankowski">@mjankowski</a>)</li>
<li>Fix “Edit media” modal sizing and layout when space-constrained (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1909995734" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27095" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27095/hovercard" href="https://github.com/mastodon/mastodon/pull/27095">mastodon#27095</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ronilaukkarinen/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ronilaukkarinen">@ronilaukkarinen</a>)</li>
<li>Fix modal container bounds (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2132211297" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29185" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29185/hovercard" href="https://github.com/mastodon/mastodon/pull/29185">mastodon#29185</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/nico3333fr/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/nico3333fr">@nico3333fr</a>)</li>
<li>Fix inefficient HTTP signature parsing using regexps and <code>StringScanner</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2123479226" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29133" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29133/hovercard" href="https://github.com/mastodon/mastodon/pull/29133">mastodon#29133</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix moderation report updates through <code>PUT /api/v1/admin/reports/:id</code> not being logged in the audit log (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2112778009" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29044" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29044/hovercard" href="https://github.com/mastodon/mastodon/pull/29044">mastodon#29044</a>, <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2302160366" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/30342" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/30342/hovercard" href="https://github.com/mastodon/mastodon/pull/30342">mastodon#30342</a>, and <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2409419730" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31033" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31033/hovercard" href="https://github.com/mastodon/mastodon/pull/31033">mastodon#31033</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/mjankowski/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/mjankowski">@mjankowski</a>, <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/tribela/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/tribela">@tribela</a>, and <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vmstan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vmstan">@vmstan</a>)</li>
<li>Fix moderation interface allowing to select rule violation when there are no server rules (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2470668182" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31458" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31458/hovercard" href="https://github.com/mastodon/mastodon/pull/31458">mastodon#31458</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsMissEm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsMissEm">@ThisIsMissEm</a>)</li>
<li>Fix redirection from paths with url-encoded <code>@</code> to their decoded form (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2434103764" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31184" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31184/hovercard" href="https://github.com/mastodon/mastodon/pull/31184">mastodon#31184</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/timothyjrogers/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/timothyjrogers">@timothyjrogers</a>)</li>
<li>Fix Trending Tags pending review having an unstable sort order (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2471622866" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31473" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31473/hovercard" href="https://github.com/mastodon/mastodon/pull/31473">mastodon#31473</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsMissEm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsMissEm">@ThisIsMissEm</a>)</li>
<li>Fix the emoji dropdown button always opening the dropdown instead of behaving like a toggle (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2106796667" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/29012" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/29012/hovercard" href="https://github.com/mastodon/mastodon/pull/29012">mastodon#29012</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/jh97uk/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/jh97uk">@jh97uk</a>)</li>
<li>Fix processing of incoming posts with bearcaps (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1854939634" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/26527" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/26527/hovercard" href="https://github.com/mastodon/mastodon/pull/26527">mastodon#26527</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/kmycode/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/kmycode">@kmycode</a>)</li>
<li>Fix support for IPv6 redis connections in streaming (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2440514964" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/31229" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/31229/hovercard" href="https://github.com/mastodon/mastodon/pull/31229">mastodon#31229</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ThisIsMissEm/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ThisIsMissEm">@ThisIsMissEm</a>)</li>
<li>Fix search form re-rendering spuriously in web UI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2097421133" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28876" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28876/hovercard" href="https://github.com/mastodon/mastodon/pull/28876">mastodon#28876</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</li>
<li>Fix <code>RedownloadMediaWorker</code> not being called on transient S3 failure (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2078767507" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28714" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28714/hovercard" href="https://github.com/mastodon/mastodon/pull/28714">mastodon#28714</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix ISO code for Canadian French from incorrect <code>fr-QC</code> to <code>fr-CA</code> (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1806714143" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/26015" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/26015/hovercard" href="https://github.com/mastodon/mastodon/pull/26015">mastodon#26015</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gunchleoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gunchleoc">@gunchleoc</a>)</li>
<li>Fix <code>.opus</code> file uploads being misidentified by Paperclip (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2064377428" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28580" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28580/hovercard" href="https://github.com/mastodon/mastodon/pull/28580">mastodon#28580</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/vmstan/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/vmstan">@vmstan</a>)</li>
<li>Fix loading local accounts with extraneous domain part in WebUI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2062277793" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28559" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28559/hovercard" href="https://github.com/mastodon/mastodon/pull/28559">mastodon#28559</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix destructive actions in dropdowns not using error color in light theme (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2054865766" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28484" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28484/hovercard" href="https://github.com/mastodon/mastodon/pull/28484">mastodon#28484</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/logicalmoody/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/logicalmoody">@logicalmoody</a>)</li>
<li>Fix call to inefficient <code>delete_matched</code> cache method in domain blocks (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2043261868" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28374" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28374/hovercard" href="https://github.com/mastodon/mastodon/pull/28374">mastodon#28374</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix status edits not always being streamed to mentioned users (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2036063623" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28324" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28324/hovercard" href="https://github.com/mastodon/mastodon/pull/28324">mastodon#28324</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix onboarding step descriptions being truncated on narrow screens (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2004551225" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/28021" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/28021/hovercard" href="https://github.com/mastodon/mastodon/pull/28021">mastodon#28021</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix duplicate IDs in relationships and familiar_followers APIs (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="2001032140" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27982" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27982/hovercard" href="https://github.com/mastodon/mastodon/pull/27982">mastodon#27982</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/KevinBongart/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/KevinBongart">@KevinBongart</a>)</li>
<li>Fix modal content not being selectable (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1988531143" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27813" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27813/hovercard" href="https://github.com/mastodon/mastodon/pull/27813">mastodon#27813</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/pajowu/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/pajowu">@pajowu</a>)</li>
<li>Fix Web UI not displaying appropriate explanation when a user hides their follows/followers (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1985364643" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27791" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27791/hovercard" href="https://github.com/mastodon/mastodon/pull/27791">mastodon#27791</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix format-dependent redirects being cached regardless of requested format (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1970505026" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27632" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27632/hovercard" href="https://github.com/mastodon/mastodon/pull/27632">mastodon#27632</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix confusing screen when visiting a confirmation link for an already-confirmed email (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1937554658" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27368" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27368/hovercard" href="https://github.com/mastodon/mastodon/pull/27368">mastodon#27368</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ClearlyClaire/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ClearlyClaire">@ClearlyClaire</a>)</li>
<li>Fix explore page reloading when you navigate back to it in web UI (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1955285454" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27489" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27489/hovercard" href="https://github.com/mastodon/mastodon/pull/27489">mastodon#27489</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Gargron/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Gargron">@Gargron</a>)</li>
<li>Fix missing redirection from <code>/home</code> to <code>/deck/home</code> in the advanced interface (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1939583403" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27378" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27378/hovercard" href="https://github.com/mastodon/mastodon/pull/27378">mastodon#27378</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/Signez/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/Signez">@Signez</a>)</li>
<li>Fix empty environment variables not using default nil value (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1942229029" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27400" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27400/hovercard" href="https://github.com/mastodon/mastodon/pull/27400">mastodon#27400</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/renchap/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/renchap">@renchap</a>)</li>
<li>Fix language sorting in settings (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1914009692" data-permission-text="Title is private" data-url="https://github.com/mastodon/mastodon/issues/27158" data-hovercard-type="pull_request" data-hovercard-url="/mastodon/mastodon/pull/27158/hovercard" href="https://github.com/mastodon/mastodon/pull/27158">mastodon#27158</a> by <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gunchleoc/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gunchleoc">@gunchleoc</a>)</li>
</ul>
<h2>Upgrade notes</h2>
<p>To get the code for v4.3.0, use <code>git fetch && git checkout v4.3.0</code>.</p>
<div class="markdown-alert markdown-alert-note"><p class="markdown-alert-title"><svg class="octicon octicon-info mr-2" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="M0 8a8 8 0 1 1 16 0A8 8 0 0 1 0 8Zm8-6.5a6.5 6.5 0 1 0 0 13 6.5 6.5 0 0 0 0-13ZM6.5 7.75A.75.75 0 0 1 7.25 7h1a.75.75 0 0 1 .75.75v2.75h.25a.75.75 0 0 1 0 1.5h-2a.75.75 0 0 1 0-1.5h.25v-2h-.25a.75.75 0 0 1-.75-.75ZM8 6a1 1 0 1 1 0-2 1 1 0 0 1 0 2Z"></path></svg>Note</p><p>As always, <strong>make sure you have backups of the database before performing any upgrades</strong>. If you are using docker-compose, this is how a backup command might look: <code>docker exec mastodon_db_1 pg_dump -Fc -U postgres postgres > name_of_the_backup.dump</code></p>
</div>
<h3>Dependencies</h3>
<p>External dependencies have changed since v4.2.12, with the Ruby, PostgreSQL and Node.js minimum version being higher. In addition, an optional dependency on <code>libvips</code> has been introduced to replace ImageMagick.</p>
<ul>
<li>Ruby: 3.1 or newer</li>
<li>PostgreSQL: 12 or newer. PostgreSQL versions 14.0 to 14.3 are not supported as they contain a critical data-corruption bug (see below)</li>
<li>Elasticsearch (recommended, for full-text search): 7.x (OpenSearch should also work)</li>
<li>LibreTranslate (optional, for translations): 1.3.3 or newer</li>
<li>Redis: 4 or newer</li>
<li>Node: 18 or newer</li>
<li>ImageMagick (optional if using libvips): 6.9.7-7 or newer</li>
<li>libvips (optional, instead of ImageMagick): 8.13 or newer</li>
</ul>
<h4>PostgreSQL 14.0 to 14.3 bug</h4>
<p>PostgreSQL versions 14.0 to 14.3 are not supported as they contain a critical data-corruption bug.</p>
<p>If you run one of those versions, please upgrade to the latest PostgreSQL 14 minor version (14.13 at the time of the release) before upgrading Mastodon. Upgrading a PostgreSQL without bumping the major version should only a require a restart of your database after your packages/containers have been updated, not any data migration.</p>
<p>If you are using Docker Compose to run PostgreSQL, please ensure that the <code>image</code> field does not specify the patch version (for example, it can be <code>14</code>, or <code>14-alpine</code>, to tell Docker to use the latest image with this tag), then:</p>
<ul>
<li>stop the database service: <code>docker compose down db</code></li>
<li>pull the latest version for this tag: <code>docker compose pull db</code></li>
<li>restart the service: <code>docker compose up -d</code></li>
</ul>
<p>If you want to use this opportunity to upgrade to a later PostgreSQL major version, then you will need to migrate your PostgreSQL data directory. You can find more informations about this process in <a href="https://www.postgresql.org/docs/17/upgrading.html" rel="nofollow">the official documentation</a>.</p>
<h3>Active Record encryption secrets configuration</h3>
<p>Mastodon now requires new environment variables for secret keys to be set.<br>
Generate new secrets and set <code>ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY</code>, <code>ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT</code>, and <code>ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY</code> accordingly before restarting Mastodon.</p>
<p>All Mastodon processes need to have access to them, so if you use multiple <code>puma</code> (<code>mastodon-web</code>) and <code>sidekiq</code> (<code>mastodon-sidekiq</code>) nodes, make sure to copy the secrets to all of them. Do not change them once they are set.</p>
<p>Such secrets can be generated by running <code>bin/rails db:encryption:init</code>.</p>
<h3>Docker image split</h3>
<p>The official Docker image has now been split in two smaller images:</p>
<ul>
<li><code>ghcr.io/mastodon/mastodon</code>, which does not contain the streaming server anymore</li>
<li><code>ghcr.io/mastodon/mastodon-streaming</code>, which contains only the streaming server</li>
</ul>
<p>The <code>docker-compose.yml</code> file shipped with Mastodon has been updated accordingly. If you use something else, you will need to update your configuration.</p>
<h3>Cookies and rolling updates</h3>
<p>Cookies issued by Mastodon are now using SHA256 digests. To ensure you are not losing user sessions, do not perform a rolling update from versions of Mastodon earlier than v4.2.0.</p>
<p>That is, either completely stop Mastodon before updating it, or update to the latest v4.2 <em>then</em> update to v4.3.</p>
<h3>Yarn 4 and corepack</h3>
<p>We have switched from Yarn 1 to the more modern and more efficient Yarn 4.</p>
<p>The recommended way is to use <code>corepack</code>, which is normally distributed with NodeJS. To do so, do <code>corepack enable</code>, then, in Mastodon's directory, once you have checked out v4.3.0, <code>corepack prepare</code>.</p>
<p>You can also install yarn 4 directly if you don't want to or can't use corepack.</p>
<h3>ImageMagick deprecation and libvips replacement</h3>
<p>ImageMagick support in Mastodon is being deprecated in favor of libvips, a more efficient library to process image attachments.</p>
<p>To use libvips instead of ImageMagick, install libvips 8.13 or newer, and set the <code>MASTODON_USE_LIBVIPS</code> environment variable to <code>true</code>.</p>
<p>The official Mastodon docker images use libvips instead of ImageMagick, and we recommend you do the same, but ImageMagick is still supported in this version for older distributions that do not include a recent enough version of libvips.</p>
<h3>StatsD removal and OpenTelemetry integration</h3>
<p>StatsD support has been removed, after being deprecated in 4.2.0.</p>
<p>If you want to have metrics for your Sidekiq queues (queue size, latency…), you can use <a href="https://github.com/Strech/sidekiq-prometheus-exporter">https://github.com/Strech/sidekiq-prometheus-exporter</a></p>
<p>Mastodon now also supports exporting tracing data using OpenTelemetry. This can be used to get detailed performance data, as well as monitoring for backend errors. More informations on how to configure it in our docs (<a href="https://docs.joinmastodon.org/admin/config/#otel" rel="nofollow">https://docs.joinmastodon.org/admin/config/#otel</a>)</p>
<h3>Update steps</h3>
<p>The following instructions are for updating from 4.2.12.</p>
<p>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. If you are upgrading from a pre-4.2 version, please check the “Cookies and rolling updates” section above.</p>
<p>If you are updating from 4.3.0-beta.1, 4.3.0-beta.2 or 4.3.0-rc.1, only a few of these steps are relevant, see the next section.</p>
<h3>Non-docker</h3>
<div class="markdown-alert markdown-alert-tip"><p class="markdown-alert-title"><svg class="octicon octicon-light-bulb mr-2" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 0 1-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 0 0-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.751.751 0 0 1-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75ZM5.75 12h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM6 15.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z"></path></svg>Tip</p><p>The <code>charlock_holmes</code> gem may fail to build on some systems with recent versions of <code>gcc</code>.<br>
If you run into such an issue, try <code>BUNDLE_BUILD__CHARLOCK_HOLMES="--with-cxxflags=-std=c++17" bundle install</code>.</p>
</div>
<ol>
<li>If you are using <code>rbenv</code>, <a href="https://github.com/rbenv/ruby-build/wiki#updating-ruby-build">update the list of available versions</a> and install the proper Ruby version by doing <code>RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install</code> in the Mastodon install directory (e.g. <code>/home/mastodon/live</code>)</li>
<li>Install yarn 4 (if you use <code>corepack</code>, just do <code>corepack prepare</code>). See the “Yarn 4 and corepack” section for more information.</li>
<li>Install dependencies with <code>bundle install</code> and <code>yarn install --immutable</code></li>
<li>Generate secrets by running <code>RAILS_ENV=production bin/rails db:encryption:init</code>, then copy them to your <code>.env.production</code> (copy it across all your nodes if you use multiple ones)</li>
<li>Precompile the assets: <code>RAILS_ENV=production bundle exec rails assets:precompile</code></li>
<li>Run the <em>pre-deployment</em> database migrations by specifying the <code>SKIP_POST_DEPLOYMENT_MIGRATIONS=true</code> environment variable: <code>SKIP_POST_DEPLOYMENT_MIGRATIONS=true RAILS_ENV=production bundle exec rails db:migrate</code></li>
<li>Restart all Mastodon processes. If you are updating directly from a Mastodon version earlier than 4.2.0, see the “Cookies and rolling updates” section.</li>
<li>Run the <em>post-deployment</em> database migrations: <code>RAILS_ENV=production bundle exec rails db:migrate</code></li>
<li>If you use Elasticsearch or OpenSearch, rebuild the account search index with <code>RAILS_ENV=production bin/tootctl search deploy --only=accounts</code></li>
</ol>
<h3>When using docker</h3>
<ol>
<li>Generate secrets by running <code>docker-compose run --rm web bin/rails db:encryption:init</code>, then copy them to your <code>.env.production</code> (make sure to copy them across all your Mastodon nodes as they will all need access to these secrets)</li>
<li>Run the <em>pre-deployment</em> database migrations by specifying the <code>SKIP_POST_DEPLOYMENT_MIGRATIONS=true</code> environment variable: <code>docker-compose run --rm -e SKIP_POST_DEPLOYMENT_MIGRATIONS=true web bundle exec rails db:migrate</code></li>
<li>Make sure your Docker configuration has been updated to take the Docker image split into account (See the “Docker image split” section above)</li>
<li>Restart all Mastodon processes. If you are updating directly from a Mastodon version earlier than 4.2.0, see the “Cookies and rolling updates” section.</li>
<li>Run the <em>post-deployment</em> database migrations: <code>docker-compose run --rm web bundle exec rails db:migrate</code></li>
<li>If you use Elasticsearch or OpenSearch, rebuild the account search index with <code>docker-compose run --rm web bin/tootctl search deploy --only=accounts</code></li>
</ol>
<h3>Update steps from 4.3.0-beta.1, 4.3.0-beta.2 or 4.3.0-rc.1</h3>
<p>The following instructions are for updating from 4.3.0-beta.1, 4.3.0-beta.2 or 4.3.0-rc.1, see the section above if you are updating from an older version.</p>
<h3>Non-docker</h3>
<div class="markdown-alert markdown-alert-tip"><p class="markdown-alert-title"><svg class="octicon octicon-light-bulb mr-2" viewBox="0 0 16 16" version="1.1" width="16" height="16" aria-hidden="true"><path d="M8 1.5c-2.363 0-4 1.69-4 3.75 0 .984.424 1.625.984 2.304l.214.253c.223.264.47.556.673.848.284.411.537.896.621 1.49a.75.75 0 0 1-1.484.211c-.04-.282-.163-.547-.37-.847a8.456 8.456 0 0 0-.542-.68c-.084-.1-.173-.205-.268-.32C3.201 7.75 2.5 6.766 2.5 5.25 2.5 2.31 4.863 0 8 0s5.5 2.31 5.5 5.25c0 1.516-.701 2.5-1.328 3.259-.095.115-.184.22-.268.319-.207.245-.383.453-.541.681-.208.3-.33.565-.37.847a.751.751 0 0 1-1.485-.212c.084-.593.337-1.078.621-1.489.203-.292.45-.584.673-.848.075-.088.147-.173.213-.253.561-.679.985-1.32.985-2.304 0-2.06-1.637-3.75-4-3.75ZM5.75 12h4.5a.75.75 0 0 1 0 1.5h-4.5a.75.75 0 0 1 0-1.5ZM6 15.25a.75.75 0 0 1 .75-.75h2.5a.75.75 0 0 1 0 1.5h-2.5a.75.75 0 0 1-.75-.75Z"></path></svg>Tip</p><p>The <code>charlock_holmes</code> gem may fail to build on some systems with recent versions of <code>gcc</code>.<br>
If you run into such an issue, try <code>BUNDLE_BUILD__CHARLOCK_HOLMES="--with-cxxflags=-std=c++17" bundle install</code>.</p>
</div>
<ol>
<li>If you are using <code>rbenv</code>, <a href="https://github.com/rbenv/ruby-build/wiki#updating-ruby-build">update the list of available versions</a> and install the proper Ruby version by doing <code>RUBY_CONFIGURE_OPTS=--with-jemalloc rbenv install</code> in the Mastodon install directory (e.g. <code>/home/mastodon/live</code>)</li>
<li>Install dependencies with <code>bundle install</code> and <code>yarn install --immutable</code></li>
<li>Precompile the assets: <code>RAILS_ENV=production bundle exec rails assets:precompile</code></li>
<li>Run the <em>pre-deployment</em> database migrations by specifying the <code>SKIP_POST_DEPLOYMENT_MIGRATIONS=true</code> environment variable: <code>SKIP_POST_DEPLOYMENT_MIGRATIONS=true RAILS_ENV=production bundle exec rails db:migrate</code></li>
<li>Restart all Mastodon processes. If you are updating directly from a Mastodon version earlier than 4.2.0, see the “Cookies and rolling updates” section.</li>
<li>Run the <em>post-deployment</em> database migrations: <code>RAILS_ENV=production bundle exec rails db:migrate</code></li>
</ol>
<h3>When using docker</h3>
<ol>
<li>Run the <em>pre-deployment</em> database migrations by specifying the <code>SKIP_POST_DEPLOYMENT_MIGRATIONS=true</code> environment variable: <code>docker-compose run --rm -e SKIP_POST_DEPLOYMENT_MIGRATIONS=true web bundle exec rails db:migrate</code></li>
<li>Restart all Mastodon processes. If you are updating directly from a Mastodon version earlier than 4.2.0, see the “Cookies and rolling updates” section.</li>
<li>Run the <em>post-deployment</em> database migrations: <code>docker-compose run --rm web bundle exec rails db:migrate</code></li>
</ol>ClearlyClairetag:github.com,2008:Repository/88913859/v4.3.0-rc.12024-09-30T11:31:08Zv4.3.0-rc.1<p>This a release candidate, corresponding to upstream's: <a href="https://github.com/mastodon/mastodon/releases/tag/v4.3.0-rc.1">https://github.com/mastodon/mastodon/releases/tag/v4.3.0-rc.1</a></p>ClearlyClairetag:github.com,2008:Repository/88913859/v4.3.0-beta.22024-09-17T16:35:25Zv4.3.0-beta.2<p>This beta release corresponds to upstream's beta: <a href="https://github.com/mastodon/mastodon/releases/tag/v4.3.0-beta.2">https://github.com/mastodon/mastodon/releases/tag/v4.3.0-beta.2</a></p>ClearlyClairetag:github.com,2008:Repository/88913859/v4.3.0-beta.12024-08-24T10:49:48Zv4.3.0-beta.1<p>Let's try and see if making glitch-soc releases works better than having only a rolling-release.</p>
<p>This beta release corresponds to upstream's beta: <a href="https://github.com/mastodon/mastodon/releases/tag/v4.3.0-beta.1">https://github.com/mastodon/mastodon/releases/tag/v4.3.0-beta.1</a></p>ClearlyClairetag:github.com,2008:Repository/88913859/v1.2.22017-04-19T21:21:00Zv1.2.2: Fix #2108 - Fix gif uploads (#2171)<ul>
<li>
<p>Fix <a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1580898499" data-permission-text="Title is private" data-url="https://github.com/glitch-soc/mastodon/issues/2108" data-hovercard-type="issue" data-hovercard-url="/glitch-soc/mastodon/issues/2108/hovercard" href="https://github.com/glitch-soc/mastodon/issues/2108">#2108</a> - Fix gif uploads<br>
Add specs for media attachment gifv conversion</p>
</li>
<li>
<p>Add ffmpeg to travis</p>
</li>
<li>
<p>Make travis install ffmpeg, not libav</p>
</li>
<li>
<p>Switch travis to trusty</p>
</li>
</ul>Gargrontag:github.com,2008:Repository/88913859/v1.2.12017-04-19T17:21:44Zv1.2.1<p>Fixed hungarian translation (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1651115430" data-permission-text="Title is private" data-url="https://github.com/glitch-soc/mastodon/issues/2158" data-hovercard-type="pull_request" data-hovercard-url="/glitch-soc/mastodon/pull/2158/hovercard" href="https://github.com/glitch-soc/mastodon/pull/2158">#2158</a>)</p>reedcourtytag:github.com,2008:Repository/88913859/v1.22017-04-16T21:15:58Zv1.2<p>Do not display "reset password" in admin UI for remote accounts (<a class="issue-link js-issue-link" data-error-text="Failed to load title" data-id="1457069235" data-permission-text="Title is private" data-url="https://github.com/glitch-soc/mastodon/issues/1960" data-hovercard-type="issue" data-hovercard-url="/glitch-soc/mastodon/issues/1960/hovercard" href="https://github.com/glitch-soc/mastodon/issues/1960">#1960</a>)</p>Gargrontag:github.com,2008:Repository/88913859/v1.1.22017-04-13T20:26:54Zv1.1.2<p>Merge branch 'matteoaquila-master'</p>Gargron