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
nameproperty instead ofsummaryfor alt text (for now anyway), due to compatibility issues with *oma, *key, and Iceshrimp. - Stub
authorize_interactionto 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
- Stop GoToSocial.
- Back up your database! If you're running on SQLite, this is as simple as copying your
sqlite.dbfile, eg.,cp sqlite.db sqlite.db.backup. On Postgres you can do this with pg_dump. - Download and untar the new release, including the web assets and html templates, not just the binary.
- 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.dbfile, eg.,cp sqlite.db sqlite.db.backup. On Postgres you can do this with pg_dump. - Pull the new docker container with
docker pull docker.io/superseriousbusiness/gotosocial:0.20.2ordocker pull docker.io/superseriousbusiness/gotosocial:latestif this is a stable release and not a release candidate. - 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
The configuration file has changed since the previous release.
- Added
cache.s3-object-infofor 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_interactionroute (#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
namefor 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)