github superseriousbusiness/gotosocial v0.17.4
v0.17.4 The Most Selective Sloth You've Ever Seen

latest release: v0.18.0-rc2
one day ago

Here's version 0.17.4 of GoToSocial. This is a very important security bugfix release that addresses a dereferencing bug which, when triggered under a specific set of circumstances, can cause loss of account data on affected instances.

We recommend everyone on v0.17.3 or below updates to this version as soon as possible.

If updating to this version from 0.16.0 or below, please follow the instructions for v0.17.0, replacing 0.17.0 with 0.17.3 throughout. ⚠️ Be aware that updating to this version from 0.16.0 or below will involve some serious database migrations. Check the 0.17.0 release notes carefully for more details on this. ⚠️

If updating to this version from 0.17.x, follow the instructions below.

Migration notes

Upgrading

To upgrade to v0.17.4 from a previous release:

Binary/tar

  1. Stop GoToSocial.
  2. Back up your database! If you're running on SQLite, this is as simple as copying your sqlite.db file, eg., cp sqlite.db sqlite.db.backup.
  3. Download and untar the new release, including the web assets and html templates.
  4. Edit your config.yaml file if necessary (see below).
  5. Start GoToSocial.
  6. Wait patiently for any migrations to run, do not interrupt migrations or you could leave your db in a broken state and will have to restore from backup!
  7. Enjoy your updated instance.

Docker

  1. Stop GoToSocial.
  2. Back up your database! If you're running on SQLite, this is as simple as copying your sqlite.db file, eg., cp sqlite.db sqlite.db.backup.
  3. Pull the new docker container (superseriousbusiness/gotosocial:0.17.4 or superseriousbusiness/gotosocial:latest)
  4. Edit your config.yaml file or environment variables if necessary (see below).
  5. Start GoToSocial.
  6. Wait patiently for any migrations to run, do not interrupt migrations or you could leave your db in a broken state and will have to restore from backup!
  7. Enjoy your updated instance.

config.yaml

No changes since v0.17.3.

Database Migrations

No migrations since v0.17.3.

Which release archive/container should I use?

Tl;dr: Regardless of whether you're using SQLite or Postgres as your DB driver, you most likely you want the regular version without moderncsqlite in the name.

However, if you're on FreeBSD, 32-bit Linux or 32-bit ARM, we recommend using the moderncsqlite version instead.

You may need to change some configuration options too. See the table below:

OS Architecture Support level Binary archive Docker
Linux x86-64/AMD64 (64-bit) 🟢 Full linux_amd64.tar.gz superseriousbusiness/gotosocial:0.17.4
Linux Armv8/ARM64 (64-bit) 🟢 Full linux_arm64.tar.gz superseriousbusiness/gotosocial:0.17.4
FreeBSD x86-64/AMD64 (64-bit) 🟢 Full1 freebsd_amd64_moderncsqlite.tar.gz None provided
Linux x86-32/i386 (32-bit) 🟡 Partial2 linux_386_moderncsqlite.tar.gz superseriousbusiness/gotosocial:0.17.4-moderncsqlite
Linux Armv7/ARM32 (32-bit) 🟡 Partial2 linux_armv7_moderncsqlite.tar.gz superseriousbusiness/gotosocial:0.17.4-moderncsqlite
Linux Armv6/ARM32 (32-bit) 🟡 Partial2 linux_armv6_moderncsqlite.tar.gz superseriousbusiness/gotosocial:0.17.4-moderncsqlite

FreeBSD

moderncsqlite version currently recommended, though you might have success with the regular WASM SQLite version.

If running with regular WASM SQLite and having instability or memory issues, the following settings may help:

db-max-open-conns-multiplier: 0
db-sqlite-journal-mode: "TRUNCATE"
db-sqlite-synchronous: "FULL"

32-bit

moderncsqlite version is needed, as performance with regular WASM SQLite is not guaranteed when running on 32-bit.

Remote media processing will likely not work with reasonable performance, so you should set the following config variables to prevent download of remote media onto your instance:

media-remote-max-size: 0
media-emoji-remote-max-size: 0

Changelog

Bug fixes

  • aebb846: [bugfix] harden checks for remotes masquerading as local, and return correct local account redirects early (#3706) (@NyaaaWhatsUpDoc)

Don't miss a new gotosocial release

NewReleases is sending notifications on new releases.