GoToSocial<p>Lads lads lads lads!</p><p>Here's the first <strong>release candidate</strong> for v0.20.0 of <a href="https://gts.superseriousbusiness.org/tags/gotosocial" class="mention hashtag" rel="nofollow noopener" target="_blank">#<span>GoToSocial</span></a>! If you're feeling bold, you can try this release candidate and help us find any lingering bugs before we release v0.20.0 proper!</p><p><a href="https://codeberg.org/superseriousbusiness/gotosocial/releases/tag/v0.20.0-rc1" rel="nofollow noopener" target="_blank">https://codeberg.org/superseriousbusiness/gotosocial/releases/tag/v0.20.0-rc1</a></p><p>Please read the migration notes carefully for instructions on how to upgrade to this version.</p><p><strong>The migrations in this release are quite long (can take several hours, even!)</strong>, as we had to rethread the entire statuses table to handle the new way we cache status threads (and to improve timeline performance). Please plan downtime accordingly, and most importantly <em>hang in there</em> and don't be tempted to interrupt the migration process!</p><p>Please also pay particular attention to the metrics changes, as <strong>we've significantly changed the way that metrics exposure is configured</strong>, so you will likely have to adjust your setup if you use GtS Prometheus metrics. For more information on the new way of doing things, look through this document: <a href="https://docs.gotosocial.org/en/latest/advanced/metrics/" rel="nofollow noopener" target="_blank">https://docs.gotosocial.org/en/latest/advanced/metrics/</a></p><p><strong>Release highlights</strong></p><ul><li>Big refactor of timeline code to use less memory and be (hopefully!) more responsive and less error prone.</li><li>Support for <strong>scheduled statuses</strong>!</li><li>Support for the <strong>focal point</strong> property on the frontend + over federation, so you can set focal point on your media and have it work properly!</li><li>Notifications when a status you've interacted with has been edited.</li><li><strong>ListenBrainz widget</strong> on the frontend, so you can show off the music you've been listening to (<a href="https://docs.gotosocial.org/en/latest/user_guide/settings/#profile-fields" rel="nofollow noopener" target="_blank">https://docs.gotosocial.org/en/latest/user_guide/settings/#profile-fields</a>)</li><li><strong>Instance info panel</strong> in the settings, so that non-admins on the instance can see which domains are blocked and explicitly allowed, and the reason why.</li><li>Bunch of <strong>new themes</strong> for profile views!</li><li>Config option to <strong>expose emoji endpoints without authentication</strong> -- useful for compatibility with some clients. Default value still requires authentication.</li><li><strong>Footnotes</strong> in markdown!</li><li>Configurable thumbnail dimensions.</li><li>Federation of <strong>avatar + header image descriptions</strong> is handled now, both in + out of GtS.</li><li>The new <code>hidesToPublicFromUnauthedWeb</code> and <code>hidesCcPublicFromUnauthedWeb</code> are federated in and out now, allowing your instance and other instances that support these properties to transmit + respect preferences for the visibility of posts to render on the unauthenticated (public) web view of threads.</li><li>Support for <strong>avif</strong> file format.</li><li>JSON logging format, for easier log ingestion.</li><li><strong>Atom and JSON feed support</strong> for RSS (not just xml).</li><li><strong>Reworked metrics</strong> format, more + better metrics, and an importable example grafana dashboard.</li><li><strong>Domain permission subscription retractions</strong> are now handled properly.</li><li>Probably a lot more! See below!</li></ul><p>Thanks for reading!</p>