codeberg superseriousbusiness/gotosocial v0.20.2
v0.20.2 Even More Sinister Sloth 😈😈😈

10 hours ago

Here's version 0.20.2 of GoToSocial; it's a bugfix release!

If you're updating to this version from v0.20.0 or v0.20.1, it's a very easy update with no db migrations.

If you're updating to this version from a version before v0.20.0, please follow the update instructions from v0.20.0, but replace 0.20.0 with 0.20.2 throughout. Be aware that the update to 0.20.x contains some potentially very long migrations. Please do read the notes carefully!

Release highlights

  • Roll back to using name property instead of summary for alt text (for now anyway), due to compatibility issues with *oma, *key, and Iceshrimp.
  • Stub authorize_interaction to avoid surprising 404 when trying to do a remote interaction.
  • Fix issue that was causing emojis not to download properly.
  • Add optional build tags for reduced binary size.
  • Fix some swagger docs issues.
  • Various other fixes + performance tweaks.
  • Dependency bumps.

Migration notes

Upgrading

To upgrade to v0.20.2 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. On Postgres you can do this with pg_dump.
  3. Download and untar the new release, including the web assets and html templates, not just the binary.
  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. On Postgres you can do this with pg_dump.
  3. Pull the new docker container with docker pull docker.io/superseriousbusiness/gotosocial:0.20.2 or docker pull docker.io/superseriousbusiness/gotosocial:latest if this is a stable release and not a release candidate.
  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

The configuration file has changed since the previous release.

  • Added cache.s3-object-info for caching of S3 info during cleanup etc. Defaults to 0.

You can see a diff of the config file here: https://codeberg.org/superseriousbusiness/gotosocial/compare/v0.20.1...v0.20.2#diff-c071e03510b2c57e193a44503fd9528a785f0f411497cc75841a9f8d0b1ac622

Database Migrations

No migrations since v0.20.1.

Which release archive/container should I use?

GoToSocial releases binary builds for 64-bit Linux, FreeBSD, and NetBSD operating systems. We also release Docker builds for 64-bit Linux.

OS Architecture Support level Binary archive Docker
Linux x86-64/AMD64 (64-bit) 🟢 Full linux_amd64.tar.gz docker.io/superseriousbusiness/gotosocial:0.20.2
Linux Armv8/ARM64 (64-bit) 🟢 Full linux_arm64.tar.gz docker.io/superseriousbusiness/gotosocial:0.20.2
FreeBSD x86-64/AMD64 (64-bit) 🟢 Full freebsd_amd64.tar.gz Not provided
FreeBSD Armv8/ARM64 (64-bit) 🟢 Full freebsd_arm64.tar.gz Not provided
NetBSD x86-64/AMD64 (64-bit) 🟢 Full netbsd_amd64.tar.gz Not provided
NetBSD Armv8/ARM64 (64-bit) 🟢 Full netbsd_arm64.tar.gz Not provided

nowasm

For your convenience, we also provide UNSUPPORTED, EXPERIMENTAL BUILDS, created using the nowasm tag, in the downloads list below. There is no Docker build for nowasm.

GoToSocial releases built with nowasm use the Go-native, modernc version of SQLite instead of the WASM one, and will use on-system ffmpeg and ffprobe binaries for media processing.

Using a nowasm build is currently the only way to run GoToSocial on a 32-bit system.

For more information on running a nowasm build, see the nowasm documentation page.

Changelog

Features and performance

  • bc7ff907077b523f33b6bf8cb406d55d7c873628: [feature] Implement stub authorize_interaction route (#4557) (@kegi)
  • c61b89fd413b3a8f3782981509d21186bef82a1f: [performance] remove hard reliance on .Cached field to indicate whether media / emoji is cached (#4545) (@gruf)
  • ac877bde815827f7aa1eeb3a6f0513d4c7503ad0: [performance] add optional S3 object info caching (#4546) (@gruf)
  • ddf887d95c1cef95746f9881dc4180d983e7a351: [performance] when transforming media, perform read operations of large files using mmap (#4541) (@gruf)
  • 14bf8e62f81d7eac637f2097a88b4c3c32a8a7b5: [performance] reduce account stats database calls (#4496) (@gruf)
  • a041f9f31d7341618d4e139be701b1e798fe94c7: [performance] pull in latest httpsig with performance enhancements and bugfixes (#4500) (@gruf)
  • d1812357b3882409ac5b6cb987881547c8370619: [performance] handle emoji refreshes asynchronously when fetched as part of account|status dereferences (#4486) (@gruf)

Bug fixes

  • 280265a0c0ba613340c644f3941f0b0a33eb40f7: [bugfix] Add Swagger docs for the user:notification stream (#4555) (@vyr)
  • 4a71d92bb37d3f1bdd214750fa78aec2f7cdf9fa: [bugfix] Fix async-emoji-loading (#4553) (@gruf)
  • a87b70eedc053b17cf2170beee0fad28b1eab448: [bugfix] Add Swagger docs for blur filter action (#4551) (@vyr)
  • 842ab65c193dd187a8a1b9157098db674730d79d: [bugfix] update go-mmap to macOS-compatible version (#4550) (@vyr)
  • 29547ce8aba63454e84d277b0597fb2764e8cb23: [bugfix] more RSS validation issues (#4517) (@gruf)
  • e52b314f65e661b7e832a65d884b2425f8a1afcf: [bugfix] Fix invalid period parameter when generating the TOTP URL (#4536) (@TwizzyDizzy)
  • d0b1901a06d113840327d8cac70c5e5eab6a54e3: [bugfix] recheck for just-processed-emoji within mutex lock before starting processing (#4505) (@gruf)

Chores & version bumps

  • 3cf4383e5d86c3f666175c2fd6c319210e8f9003: [chore] Go back to using name for attachment alt text for now, add note in docs (#4559) (@kipvandenbos)
  • 0c7b069c4a09f01a3a6c59bd7b66f096f8dcec40: [chore] Apply schema for OpenAPI errors (#4511) (@vyr)
  • 6a3b09a507aca0498845d9118a21a82bb5054301: [chore] update dependencies (#4547) (@gruf)
  • d0c551acb5ab79efafd325f5b19c76a3de835356: [chore] update dependencies (#4542) (@gruf)
  • 81e3cdda44a2aed1ad0805fa738429c891b6209d: [chore] update dependencies (#4539) (@gruf)
  • f7c99758be31f659403ee17dd6c74ba100100c85: [chore] add a 'nos3' build tag to support compiling without S3 storage support (#4522) (@gruf)
  • 195a207cf04e94f285e02890254827b32eb5fccf: [chore] add a 'nosqlite' and 'nopostgres' build tags to support compiling without certain database support (#4523) (@gruf)
  • 580252dc4893d42c8c8b90fe6751a57b7cce1fc8: [chore] reduce binary size (#4519) (@gruf)
  • 1d830bbfaa82bf716d12d5f9ade62546dce10f2c: [chore/frontend] Use autocomplete="one-time-code" for 2fa input (#4516) (@kipvandenbos)
  • a5048910f3ce28d85941788b17c125feedb3d2fa: [chore] fix typo in web push notification title (#4514) (@mkljczk)
  • f714b06fec5b93cf076d0f92eeb8aa7c32cfb531: [chore] update dependencies (#4507) (@gruf)

Don't miss a new gotosocial release

NewReleases is sending notifications on new releases.