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
- Stop GoToSocial.
- 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
. - Download and untar the new release, including the web assets and html templates.
- Edit your config.yaml file if necessary (see below).
- Start GoToSocial.
- 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!
- Enjoy your updated instance.
Docker
- Stop GoToSocial.
- 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
. - Pull the new docker container (
superseriousbusiness/gotosocial:0.17.4
orsuperseriousbusiness/gotosocial:latest
) - Edit your config.yaml file or environment variables if necessary (see below).
- Start GoToSocial.
- 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!
- 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)