github superseriousbusiness/gotosocial v0.17.0-rc5

pre-release11 hours ago

Here's version 0.17.0-rc5 of GoToSocial.

We fixed a couple bugs! And changed some deployment stuff! And updated some library versions!

Please read the migration notes carefully for instructions on how to upgrade to this version!

Migration notes

Upgrading

To upgrade to v0.17.0-rc5 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.0-rc5 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 configuration file changes in this release candidate compared to 0.17.0-rc4.

However, there are configuration file changes between this version and 0.16.0. Read the release notes of 0.17.0-rc1 for more information.

Database Migrations

⚠️⚠️⚠️

No database migrations in this release candidate compared to 0.17.0-rc4.

However, there are some very long database migrations between this version and 0.16.0. Read the release notes of 0.17.0-rc1 for more information.

⚠️⚠️⚠️

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.0-rc5
Linux Armv8/ARM64 (64-bit) 🟢 Full linux_arm64.tar.gz superseriousbusiness/gotosocial:0.17.0-rc5
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.0-rc5-moderncsqlite
Linux Armv7/ARM32 (32-bit) 🟡 Partial2 linux_armv7_moderncsqlite.tar.gz superseriousbusiness/gotosocial:0.17.0-rc5-moderncsqlite
Linux Armv6/ARM32 (32-bit) 🟡 Partial2 linux_armv6_moderncsqlite.tar.gz superseriousbusiness/gotosocial:0.17.0-rc5-moderncsqlite
Linux x86-32/i386 (32-bit) 🟡 Partial2 linux_386_moderncsqlite.tar.gz superseriousbusiness/gotosocial:0.17.0-rc5-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

What's Changed

  • [bugfix] Account.last_status_at is a date, not datetime by @untitaker in #3419
  • [chore] Update goreleaser, add release notes template by @tsmethurst in #3421
  • [chore] goreleaser - use custom previous tag by @tsmethurst in #3422
  • [chore/bugfix] goreleaser make previous_tag cmd busybox-compatible by @tsmethurst in #3423
  • [chore] Ensure current tag not set as GORELEASER_PREVIOUS_TAG by @tsmethurst in #3424
  • [docs] fix httpsig repo typo by @cy7sh in #3426
  • [chore/docs] Add /gotosocial/.cache to Docker container, document GTS_WAZERO_COMPILATION_CACHE by @tsmethurst in #3425
  • [feature] for an sqlite database with journal mode != WAL, use maximum of 1 open connection by @NyaaaWhatsUpDoc in #3428
  • [chore] Clarify supported platforms, add notes + docs by @tsmethurst in #3427
  • [chore]: Bump github.com/yuin/goldmark from 1.7.4 to 1.7.6 by @dependabot in #3430
  • [chore]: Bump github.com/minio/minio-go/v7 from 7.0.77 to 7.0.78 by @dependabot in #3431
  • [feature/OFFICIALLY UNSUPPORTED] add nowasm build tag to disable building with WebAssembly by @NyaaaWhatsUpDoc in #3429
  • [docs] Document experimental, unsupported nowasm tag by @tsmethurst in #3436

Full Changelog: v0.17.0-rc4...v0.17.0-rc5

Don't miss a new gotosocial release

NewReleases is sending notifications on new releases.