Releases: superseriousbusiness/gotosocial
v0.18.2 Least Scroingly Sloth
Here's version 0.18.2 of GoToSocial, hopefully the last bugfix release of 0.18.x :)
Mostly bug fixes and version bumps in this one, though it's possible if you were seeing very poor performance on v0.18.0 or v0.18.1 then the small wasm/wazero tweak we made in this release might improve things for you.
If you're updating to this version from v0.18.0 or v0.18.1, it's a very easy update with no db migrations or config file changes :)
If you're updating to this version from a version before v0.18.0, please follow the update instructions from v0.18.0, but replace 0.18.0
with 0.18.2
throughout. Be aware that the update to 0.18.x contains some very long migrations. Please do read the notes carefully.
Migration notes
Upgrading
To upgrade to v0.18.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.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.18.2
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.18.0.
Database Migrations
None since v0.18.0.
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 | superseriousbusiness/gotosocial:0.18.2 |
Linux | Armv8/ARM64 (64-bit) | π’ Full | linux_arm64.tar.gz | superseriousbusiness/gotosocial:0.18.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
Bug fixes
- f5967d0: [bugfix] fix refreshed additional media info being ignored (#3867) (@NyaaaWhatsUpDoc)
- d0ae8f6: [bugfix] Return useful err on
server start
failure (#3879) (@tsmethurst) - edfbbff: [bugfix] Fix
length for type varchar must be at least 1
on Postgres (#3885) (@tsmethurst) - 8beeeb9: [bugfix] Fix panic when opening instance actor in web view (#3898) (@tsmethurst)
Chores & version bumps
- a372ee9: [chore] Fix typo in common.tsx (#3834) (@PrivacyDragon)
- d8c027f: [chore]: Bump github.com/tetratelabs/wazero from 1.8.2 to 1.9.0 (#3827) (@dependabot[bot])
- f1af6a5: [chore]: Bump github.com/google/go-cmp from 0.6.0 to 0.7.0 (#3826) (@dependabot[bot])
- a935993: [chore]: Bump golang.org/x/crypto from 0.33.0 to 0.34.0 (#3824) (@dependabot[bot])
- 6631c82: [chore] Update KimMachineGun/automemlimit (#3841) (@tsmethurst)
- 12e3f4c: [chore] Remove duplicate swagger docs build in Dockerfile (#3842) (@tsmethurst)
- 4819a33: [chore]: Bump github.com/go-jose/go-jose/v4 from 4.0.2 to 4.0.5 (#3831) (@dependabot[bot])
- 97adf00: [chore]: Bump github.com/ncruces/go-sqlite3 from 0.23.0 to 0.24.0 (#3862) (@dependabot[bot])
- 310319d: [chore] fixed email template to align with the new "Log in" button + separate page (#3871) (@wolfyjade)
- 10ad4b2: [chore] update links in CONTRIBUTING.md (#3881) (@cdn0x12)
- 0a8d218: [chore]: Bump golang.org/x/crypto from 0.35.0 to 0.36.0 (#3887) (@dependabot[bot])
- d0cbd54: [chore] add warning message when wazero compiler not supported (#3894) (@NyaaaWhatsUpDoc)
- 602d235: [chore] vendoring (@tsmethurst)
- 12d4d36: bumps our uptrace/bun dependencies to v1.2.10 (#3865) (@NyaaaWhatsUpDoc)
- 3cc2b93: bumps go-ffmpreg to v0.6.6 (#3866) (@NyaaaWhatsUpDoc)
- 120be69: bumps our uptrace/bun dependencies to v1.2.11 (#3895) (@NyaaaWhatsUpDoc)
Documentation
- f7ac15f: [docs] correct docker version format (#3832) (@elliotblackburn)
- 2decea6: [docs] Fix swagger operation descriptions (#3830) (@mkljczk)
- e6b4426: [docs] Update swagger docs command (#3897) (@tsmethurst)
- bc6b7c3: Document importing posts (#3844) (@VyrCossont)
v0.18.1 Less Scroingly Sloth
Hiya! Here's a bugfix release of GoToSocial!
We added ETag cache control handling to robots.txt, to make it easier for crawlers to be able to tell which instances they should and shouldn't index.
If you're updating to this version from v0.18.0, it's a very easy update with no db migrations or config file changes :)
If you're updating to this version from a version before v0.18.0, please follow the update instructions from v0.18.0, but replace 0.18.0
with 0.18.1
throughout. Be aware that the update to 0.18.x contains some very long migrations. Please do read the notes carefully.
Migration notes
Upgrading
To upgrade to v0.18.1 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.18.1
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.18.0.
Database Migrations
None since v0.18.0.
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 | superseriousbusiness/gotosocial:0.18.1 |
Linux | Armv8/ARM64 (64-bit) | π’ Full | linux_arm64.tar.gz | superseriousbusiness/gotosocial:0.18.1 |
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
- fd670c6: [feature] Use ETag for robots.txt to prevent mishaps (#3829) (@tsmethurst)
v0.18.0 Scroingly Sloth
Here's GoToSocial v0.18.0 Scroingly Sloth!
Please read the migration notes carefully for instructions on how to upgrade to this version. This version contains several very long migrations so you will need to be patient when upgrading, and backup your database first!!
Release highlights
- Status edit support: one of our most-requested features! You can now edit your own statuses, and see instance edit history from other accounts too (if your instance has them stored).
- Push notifications: probably the second most-requested feature! GoToSocial can now send push notifications to clients via their configured push providers.
You may need to uninstall / reinstall client applications, or log out and back in again, for this feature to work. (And if you're using Tusky, make sure you've got ntfy installed). - Global instance css customization: admins can now apply custom CSS across their entire instance via the settings panel.
- Domain permission subscriptions: it's now possible to configure your instance to subscribe to CSV, JSON, or plaintext lists of domain permissions.
Each night, your instance will fetch and automatically create domain permissions (or permission drafts) based on what it finds in a subscribed list.
See the domain permission subscription documentation for more information. - Trusted-proxies helper: instances with improperly configured trusted-proxies settings will now show a warning on the homepage, so admins can make sure their instance is configured correctly. Check your own instance homepage after updating to see if you need to do anything.
- Better outbox sorting: messages from GoToSocial are now delivered more quickly to people you mention, so conversations across instances should feel a bit snappier.
- Log in button: there's now a login button in the top right of the instance homepage, which leads to a helpful page about clients, with a link to the settings panel. Should make things less confusing for new users!
- Granular stats controls: with the
instance-stats-mode
setting, admins can now choose if and how their instance serves stats via the nodeinfo endpoints. Existing behavior from v0.17.0 is the default. - Post backdating: via the API you can now backdate posts (if enabled in config.yaml). This is our first step towards making it possible to import your post history from elsewhere into your GoToSocial instance. While there's no way to do this in the settings panel yet, you can already use third-party tools like Slurp to import posts from a Mastodon export (see Slurp).
- Configurable sign-up limits: you can now configure your sign-up backlog length and sign-up throttling (defaults remain the same).
- NetBSD and FreeBSD builds: yep!
- Respect users
prefers-color-scheme
preference: there's now a light mode default theme to complement our trusty dark mode theme, and the theme will switch based on a visitor'sprefers-color-scheme
configuration. This applies to all page and profiles, with the exception of some custom themes. Works in the settings panel too!
Migration notes
Upgrading
To upgrade to v0.18.0 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.18.0
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
The configuration file has changed since the previous release.
- Add
instance-subscriptions-process-from
(default"23:00"
). - Add
instance-subscriptions-process-every
(default"24h"
). - Add
instance-stats-mode
(default""
ie., existing v0.17.0 behavior). - Add
instance-allow-backdating-statuses
(defaulttrue
). - Add
accounts-registration-daily-limit
(default10
ie., existing v0.17.0 behavior). - Add
accounts-registration-backlog-limit
(default20
ie., existing v0.17.0 behavior).
You can see a diff of the config file here: v0.17.4...v0.18.0#diff-c071e03510b2c57e193a44503fd9528a785f0f411497cc75841a9f8d0b1ac622
Database Migrations
This release contains several large database migrations which will run the first time you start up this new version.
Be sure not to interrupt this migration process.
This will take anywhere between a minute and maybe an hour or even more (on slower hardware / with bigger database size).
If running with sqlite, you will need to ensure you have sufficient free space for the transaction / wal file to grow while running migrations. Aim to have about 80% of your db size free. For example, if your sqlite.db file is 10GiB, you should try to have at least 8GiB of free space before triggering the update. After the migration the wal file will be flushed again (do not do this manually, let sqlite do it).
Please be patient!
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 | superseriousbusiness/gotosocial:0.18.0 |
Linux | Armv8/ARM64 (64-bit) | π’ Full | linux_arm64.tar.gz | superseriousbusiness/gotosocial:0.18.0 |
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
- e3c2b79: [performance] minimise log field allocations (#3529) (@NyaaaWhatsUpDoc)
- c2029df: [feature] Allow emoji shortcode to be 1-character length (#3556) (@tsmethurst)
- 3015436: [feature] Add domain permission drafts and excludes (#3547) (@tsmethurst)
- cac9d65: [performance] convert enum strings to ints (#3558) (@NyaaaWhatsUpDoc)
- c9d36f7: [performance] use new instance of bun.DB after migrations to reduce number of in-memory model schema (#3578) (@NyaaaWhatsUpDoc)
- dce85a2: [feature/themes] Add auto-switching ...
v0.18.0-rc3
Here's the third (hopefully final?) release candidate for GoToSocial v0.18.0.
Please read the migration notes carefully for instructions on how to upgrade to this version.
For instructions to update to this release candidate from versions < v0.18.0-rc1, see the v0.18.0-rc1 release candidate notes, but replace v0.18.0-rc1
with v0.18.0-rc3
throughout.
Release highlights
Compared to rc2:
- Fixed a couple bugs
- Batched migrations so they should run smoother and give more feedback to users
- Adding forward-compatibility code for future Approval objects
Migration notes
Upgrading
To upgrade to v0.18.0-rc3 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.18.0-rc3
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.18.0-rc2.
Database Migrations
None since v0.18.0-rc2.
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 | superseriousbusiness/gotosocial:0.18.0-rc3 |
Linux | Armv8/ARM64 (64-bit) | π’ Full | linux_arm64.tar.gz | superseriousbusiness/gotosocial:0.18.0-rc3 |
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
- e3c2b79: [performance] minimise log field allocations (#3529) (@NyaaaWhatsUpDoc)
- c2029df: [feature] Allow emoji shortcode to be 1-character length (#3556) (@tsmethurst)
- 3015436: [feature] Add domain permission drafts and excludes (#3547) (@tsmethurst)
- cac9d65: [performance] convert enum strings to ints (#3558) (@NyaaaWhatsUpDoc)
- c9d36f7: [performance] use new instance of bun.DB after migrations to reduce number of in-memory model schema (#3578) (@NyaaaWhatsUpDoc)
- dce85a2: [feature/themes] Add auto-switching themes for blurple/brutalist/solarized (#3588) ( <>)
- 9609c45: [feature] Add global instance CSS customization setting (#3352) (@S0yKaf)
- 3e18d97: [feature] unending polls (#3592) (@NyaaaWhatsUpDoc)
- 23fc70f: [feature] add support for receiving federated status edits (#3597) (@NyaaaWhatsUpDoc)
- 9477fd7: [feature] Allow partial-word hashtags using non-breaking spaces (#3606) (@tsmethurst)
- fe8d5f2: [feature] add support for clients editing statuses and fetching status revision history (#3628) (@NyaaaWhatsUpDoc)
- e9bb7dd: [feature] Create/update/remove domain permission subscriptions (#3623) (@tsmethurst)
- 451803b: [feature] Fetch + create domain permissions from subscriptions nightly (#3635) (@tsmethurst)
- 0a99901: [performance] reduce InboxForward->Create calls by partially implementing Exists() (#3647) (@NyaaaWhatsUpDoc)
- 1472d92: [feature] Add
published
property to outgoing AP Actor representations (#3671) (@tsmethurst) - b42cb7a: [feature] Add warning about
trusted-proxies
to make config easier (#3675) (@tsmethurst) - 9333bbc: [feature] Serve bot accounts over AP as Service instead of Person (#3672) (@tsmethurst)
- 5b765d7: [feature] Push notifications (#3587) (@VyrCossont)
- 3720251: [feature] show status edits on frontend (#3678) (@NyaaaWhatsUpDoc)
- 71b5035: [feature] Process incoming Undo Announce properly (#3676) (@tsmethurst)
- 7b7fc52: [feature/frontend] Add login button to index page which reiterates info about clients (#3377) (@vivlim)
- 65fb8ab: [feature] Implement
deliveryRecipientPreSort
to prioritize delivery to mentioned accounts (#3668) (@tsmethurst) - d16e4fa: [feature] Use maintenance router to serve 503 while server is starting/migrating (#3705) (@tsmethurst)
- ab758cc: [feature] Add system message wrappers for pending replies and placeholder attachments (#3713) (@VyrCossont)
- a55bd6d: [feature] Add
instance-stats-randomize
config option (#3718) (@tsmethurst) - 27844b7: [feature] Implement Web Push notification policy (#3721) (@VyrCossont)
- 07d2770: [feature] Change
instance-stats-randomize
toinstance-stats-mode
with multiple options; implement nodeinfo 2.1 (#3734) (@tsmethurst) - baed591: [feature] Use
X-Robots-Tag
headers to instruct scrapers/crawlers (#3737) (@tsmethurst) - 42bbbaa: [feature/frontend] add light mode color scheme of base css, adapt to prefers-color-scheme (#3765) (@cdn0x12)
- 787bdc1: [feature] make account sign-up / backlog limits configurable (#3768) (@tsmethurst)
- 37dbf31: [performance] improved enum migrations (#3782) (@NyaaaWhatsUpDoc)
- fccb0bc: [feature] Implement backfilling statuses thru scheduled_at (#3685) (@VyrCossont)
- 96716e4: [feature] Forward-compatibility with Approval objects (#3807) (@tsmethurst)
- 8829ee1: [feature] Add page-specific class per template (#3814) (@tsmethurst)
Bug fixes
- 9ace025: [bugfix] post counters should not include direct messages (#3554) (@Booklordofthedings)
- a444ade: [bugfix] notification types missing from link ...
v0.18.0-rc2
Here's version 0.18.0-rc2 of GoToSocial.
Please read the migration notes carefully for instructions on how to upgrade to this version.
For instructions to update to this release candidate from versions < v0.18.0-rc1, see the v0.18.0-rc1 release candidate notes, but replace v0.18.0-rc1
with v0.18.0-rc2
throughout.
Migration notes
Upgrading
To upgrade to v0.18.0-rc2 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.18.0-rc2
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
The configuration file has changed since the previous release candidate.
- Added
instance-allow-backdating-statuses
. - Added
accounts-registration-daily-limit
. - Added
accounts-registration-backlog-limit
.
You can see a diff of the config file here: v0.18.0-rc1...v0.18.0-rc2#diff-c071e03510b2c57e193a44503fd9528a785f0f411497cc75841a9f8d0b1ac622
Database Migrations
No new migrations since v0.18.0-rc1.
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 | superseriousbusiness/gotosocial:0.18.0-rc2 |
Linux | Armv8/ARM64 (64-bit) | π’ Full | linux_arm64.tar.gz | superseriousbusiness/gotosocial:0.18.0-rc2 |
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
- e3c2b79: [performance] minimise log field allocations (#3529) (@NyaaaWhatsUpDoc)
- c2029df: [feature] Allow emoji shortcode to be 1-character length (#3556) (@tsmethurst)
- 3015436: [feature] Add domain permission drafts and excludes (#3547) (@tsmethurst)
- cac9d65: [performance] convert enum strings to ints (#3558) (@NyaaaWhatsUpDoc)
- c9d36f7: [performance] use new instance of bun.DB after migrations to reduce number of in-memory model schema (#3578) (@NyaaaWhatsUpDoc)
- dce85a2: [feature/themes] Add auto-switching themes for blurple/brutalist/solarized (#3588) ( <>)
- 9609c45: [feature] Add global instance CSS customization setting (#3352) (@S0yKaf)
- 3e18d97: [feature] unending polls (#3592) (@NyaaaWhatsUpDoc)
- 23fc70f: [feature] add support for receiving federated status edits (#3597) (@NyaaaWhatsUpDoc)
- 9477fd7: [feature] Allow partial-word hashtags using non-breaking spaces (#3606) (@tsmethurst)
- fe8d5f2: [feature] add support for clients editing statuses and fetching status revision history (#3628) (@NyaaaWhatsUpDoc)
- e9bb7dd: [feature] Create/update/remove domain permission subscriptions (#3623) (@tsmethurst)
- 451803b: [feature] Fetch + create domain permissions from subscriptions nightly (#3635) (@tsmethurst)
- 0a99901: [performance] reduce InboxForward->Create calls by partially implementing Exists() (#3647) (@NyaaaWhatsUpDoc)
- 1472d92: [feature] Add
published
property to outgoing AP Actor representations (#3671) (@tsmethurst) - b42cb7a: [feature] Add warning about
trusted-proxies
to make config easier (#3675) (@tsmethurst) - 9333bbc: [feature] Serve bot accounts over AP as Service instead of Person (#3672) (@tsmethurst)
- 5b765d7: [feature] Push notifications (#3587) (@VyrCossont)
- 3720251: [feature] show status edits on frontend (#3678) (@NyaaaWhatsUpDoc)
- 71b5035: [feature] Process incoming Undo Announce properly (#3676) (@tsmethurst)
- 7b7fc52: [feature/frontend] Add login button to index page which reiterates info about clients (#3377) (@vivlim)
- 65fb8ab: [feature] Implement
deliveryRecipientPreSort
to prioritize delivery to mentioned accounts (#3668) (@tsmethurst) - d16e4fa: [feature] Use maintenance router to serve 503 while server is starting/migrating (#3705) (@tsmethurst)
- ab758cc: [feature] Add system message wrappers for pending replies and placeholder attachments (#3713) (@VyrCossont)
- a55bd6d: [feature] Add
instance-stats-randomize
config option (#3718) (@tsmethurst) - 27844b7: [feature] Implement Web Push notification policy (#3721) (@VyrCossont)
- 07d2770: [feature] Change
instance-stats-randomize
toinstance-stats-mode
with multiple options; implement nodeinfo 2.1 (#3734) (@tsmethurst) - baed591: [feature] Use
X-Robots-Tag
headers to instruct scrapers/crawlers (#3737) (@tsmethurst) - 42bbbaa: [feature/frontend] add light mode color scheme of base css, adapt to prefers-color-scheme (#3765) (@cdn0x12)
- 787bdc1: [feature] make account sign-up / backlog limits configurable (#3768) (@tsmethurst)
- 37dbf31: [performance] improved enum migrations (#3782) (@NyaaaWhatsUpDoc)
- fccb0bc: [feature] Implement backfilling statuses thru scheduled_at (#3685) (@VyrCossont)
Bug fixes
- 9ace025: [bugfix] post counters should not include direct messages (#3554) (@Booklordofthedings)
- a444ade: [bugfix] notification types missing from link header (#3571) (@NyaaaWhatsUpDoc)
- 6a8af42: [bugfix] ...
v0.17.4 The Most Selective Sloth You've Ever Seen
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.4
throughout.
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)
v0.18.0-rc1
Here's the first release candidate of GoToSocial v0.18.0!
Please read the migration notes carefully for instructions on how to upgrade to this version. This version contains several very long migrations so you will need to be patient when upgrading, and backup your database first!!
Release highlights
- Status edit support: one of our most-requested features! You can now edit your own statuses, and see instance edit history from other accounts too (if your instance has them stored).
- Push notifications: probably the second most-requested feature! GoToSocial can now send push notifications to clients via their configured push providers.
You may need to uninstall / reinstall client applications, or log out and back in again, for this feature to work. (And if you're using Tusky, make sure you've got ntfy installed). - Global instance css customization: admins can now apply custom CSS across their entire instance via the settings panel.
- Domain permission subscriptions: it's now possible to configure your instance to subscribe to CSV, JSON, or plaintext lists of domain permissions.
Each night, your instance will fetch and automatically create domain permissions (or permission drafts) based on what it finds in a subscribed list.
See the domain permission subscription documentation for more information. - Trusted-proxies helper: instances with improperly configured trusted-proxies settings will now show a warning on the homepage, so admins can make sure their instance is configured correctly.
- Better outbox sorting: messages from GoToSocial are now delivered more quickly to people you mention, so conversations across instances should feel snappier.
- Log in button: there's now a login button in the top right of the instance homepage, which leads to a helpful page about clients, with a link to the settings panel. Should make things less confusing for new users!
- Granular stats controls: with the
instance-stats-mode
setting, admins can now choose if and how their instance serves stats via the nodeinfo endpoints. Existing behavior from v0.17.0 is the default.
Migration notes
Upgrading
To upgrade to v0.18.0-rc1 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.18.0-rc1
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
The configuration file has changed since the previous release.
- Added
instance-subscriptions-process-from
. - Added
instance-subscriptions-process-every
. - Added
instance-stats-mode
.
You can see a diff of the config file here: v0.17.3...v0.18.0-rc1#diff-c071e03510b2c57e193a44503fd9528a785f0f411497cc75841a9f8d0b1ac622
Database Migrations
This release may contain database migrations which will run the first time you start up this new version.
Be sure not to interrupt this migration process.
This will take anywhere between a couple seconds and up to an hour or more (on slower hardware).
Please be patient!
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 | superseriousbusiness/gotosocial:0.18.0-rc1 |
Linux | Armv8/ARM64 (64-bit) | π’ Full | linux_arm64.tar.gz | superseriousbusiness/gotosocial:0.18.0-rc1 |
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
- e3c2b79: [performance] minimise log field allocations (#3529) (@NyaaaWhatsUpDoc)
- c2029df: [feature] Allow emoji shortcode to be 1-character length (#3556) (@tsmethurst)
- 3015436: [feature] Add domain permission drafts and excludes (#3547) (@tsmethurst)
- cac9d65: [performance] convert enum strings to ints (#3558) (@NyaaaWhatsUpDoc)
- c9d36f7: [performance] use new instance of bun.DB after migrations to reduce number of in-memory model schema (#3578) (@NyaaaWhatsUpDoc)
- dce85a2: [feature/themes] Add auto-switching themes for blurple/brutalist/solarized (#3588) ( <>)
- 9609c45: [feature] Add global instance CSS customization setting (#3352) (@S0yKaf)
- 3e18d97: [feature] unending polls (#3592) (@NyaaaWhatsUpDoc)
- 23fc70f: [feature] add support for receiving federated status edits (#3597) (@NyaaaWhatsUpDoc)
- 9477fd7: [feature] Allow partial-word hashtags using non-breaking spaces (#3606) (@tsmethurst)
- fe8d5f2: [feature] add support for clients editing statuses and fetching status revision history (#3628) (@NyaaaWhatsUpDoc)
- e9bb7dd: [feature] Create/update/remove domain permission subscriptions (#3623) (@tsmethurst)
- 451803b: [feature] Fetch + create domain permissions from subscriptions nightly (#3635) (@tsmethurst)
- 0a99901: [performance] reduce InboxForward->Create calls by partially implementing Exists() (#3647) (@NyaaaWhatsUpDoc)
- 1472d92: [feature] Add
published
property to outgoing AP Actor representations (#3671) (@tsmethurst) - b42cb7a: [feature] Add warning about
trusted-proxies
to make config easier (#3675) (@tsmethurst) - 9333bbc: [feature] Serve bot accounts over AP as Service instead of Person (#3672) (@tsmethurst)
- 5b765d7: [feature] Push notifications (#3587) (@VyrCossont)
- 3720251: [feature] show status edits on frontend (#...
v0.17.3 Most Selective Sloth
Hello hello, hopefully the final bugfix of the 0.17.x release while we get on with 0.18.0 :)
There was a bug in 0.17.2 where some Java-based clients didn't like some of the large numbers used in the /api/v1/instance
and /api/v2/instance
responses, so we made them smaller. That's it!
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.
If updating to this version from 0.17.x, follow the instructions below.
Migration notes
Upgrading
To upgrade to v0.17.3 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.3
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 0.17.2.
Database Migrations
This release may contain database migrations which will run the first time you start up this new version.
Be sure not to interrupt this migration process.
This will take anywhere between a couple seconds and ten minutes or more (on slower hardware).
Please be patient!
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.3 |
Linux | Armv8/ARM64 (64-bit) | π’ Full | linux_arm64.tar.gz | superseriousbusiness/gotosocial:0.17.3 |
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.3-moderncsqlite |
Linux | Armv7/ARM32 (32-bit) | π‘ Partial2 | linux_armv7_moderncsqlite.tar.gz | superseriousbusiness/gotosocial:0.17.3-moderncsqlite |
Linux | Armv6/ARM32 (32-bit) | π‘ Partial2 | linux_armv6_moderncsqlite.tar.gz | superseriousbusiness/gotosocial:0.17.3-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
- 6f4cb2f: [bugfix] sets the max value placeholders to MaxInt32 instead of MaxInt (#3517) (@NyaaaWhatsUpDoc)
Chores & version bumps
- e855a02: [chore] update docs assets path (#3514) (@tsmethurst)
Documentation
v0.17.2 Ridiculously Selective Sloth
Here's bugfix version 0.17.2 of GoToSocial!
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.2
throughout.
If updating to this version from 0.17.1, or 0.17.0, follow the instructions below.
Release highlights
- Small filter bugfixes.
- Some small tweaks to /api/v1/instance and /api/v2/instance
- Better support for soundless webm files
Migration notes
Upgrading
To upgrade to v0.17.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.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.2
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
The configuration file has changed since the previous release.
- Add
media-image-size-hint
with a default of 5MiB. - Add
media-video-size-hint
with a default of 40MiB.
You can see a diff of the config file here: v0.17.1...v0.17.2#diff-c071e03510b2c57e193a44503fd9528a785f0f411497cc75841a9f8d0b1ac622
Database Migrations
This release may contain database migrations which will run the first time you start up this new version.
Be sure not to interrupt this migration process.
This will take anywhere between a couple seconds and ten minutes or more (on slower hardware).
Please be patient!
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.2 |
Linux | Armv8/ARM64 (64-bit) | π’ Full | linux_arm64.tar.gz | superseriousbusiness/gotosocial:0.17.2 |
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.2-moderncsqlite |
Linux | Armv7/ARM32 (32-bit) | π‘ Partial2 | linux_armv7_moderncsqlite.tar.gz | superseriousbusiness/gotosocial:0.17.2-moderncsqlite |
Linux | Armv6/ARM32 (32-bit) | π‘ Partial2 | linux_armv6_moderncsqlite.tar.gz | superseriousbusiness/gotosocial:0.17.2-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
Features and performance
- f3b2eca: [feature] add support for hinting via api/v_/instance preferred image / video max sizes (#3505) (@NyaaaWhatsUpDoc)
Bug fixes
- d8a8386: [bugfix] incorrect /api/v_/instance domain uri fields (#3477) (@NyaaaWhatsUpDoc)
- 7ec6509: [bugfix] support classifying correct video codec without audio as webm (#3494) (@NyaaaWhatsUpDoc)
- 8f288f1: [bugfix] determine mime-type to use during ffprobe evaluation stage, don't bother checking against file extension (#3506) (@NyaaaWhatsUpDoc)
- e953d80: [bugfix] Fix setting immediate
expires_at
value on filter endpoints (#3513) (@tsmethurst)
Chores & version bumps
- 8f4a96c: [chore]: Bump github.com/tdewolff/minify/v2 from 2.21.0 to 2.21.1 (#3489) (@dependabot[bot])
- e86592b: [chore] pull in go-ffmpreg v0.4.1 (#3485) (@NyaaaWhatsUpDoc)
- 1954ccb: [chore]: Bump github.com/minio/minio-go/v7 from 7.0.78 to 7.0.79 (#3488) (@dependabot[bot])
- c8647f7: [chore] Bump http-proxy-middleware from 2.0.6 to 2.0.7 in /web/source (#3481) (@dependabot[bot])
- 3b037d1: [chore] Bump elliptic from 6.5.7 to 6.6.0 in /web/source (#3495) (@dependabot[bot])
- 49eb8f6: [chore] Fix minor typo in About template (#3502) (@fl4nn)
- d2820a1: [chore]: Bump github.com/minio/minio-go/v7 from 7.0.79 to 7.0.80 (#3511) (@dependabot[bot])
- 51cb6ca: update go-sqlite3 => v0.20.0 (#3483) (@NyaaaWhatsUpDoc)
- 53aaeb1: previously we were using the ffmpeg runner for ffprobe π€¦ (#3512) (@NyaaaWhatsUpDoc)
Documentation
v0.17.1 Very Selective Sloth
Here's bugfix version 0.17.1 of GoToSocial!
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.1
throughout.
If updating to this version from 0.17.0, follow the instructions below.
Release highlights
- Fixed a streaming bug which may have been causing issues with some clients like Elk and Ice Cubes.
- Add alt-text/descriptions for default avatar + header images.
Migration notes
Upgrading
To upgrade to v0.17.1 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.1
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 compared to 0.17.0.
Database Migrations
This release contains one database migration which will run the first time you start up this new version.
Be sure not to interrupt this migration process.
This will probably take only a couple of seconds, though if you're on SQLite, the ANALYZE that's run afterwards may take a bit of time.
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.1 |
Linux | Armv8/ARM64 (64-bit) | π’ Full | linux_arm64.tar.gz | superseriousbusiness/gotosocial:0.17.1 |
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.1-moderncsqlite |
Linux | Armv7/ARM32 (32-bit) | π‘ Partial2 | linux_armv7_moderncsqlite.tar.gz | superseriousbusiness/gotosocial:0.17.1-moderncsqlite |
Linux | Armv6/ARM32 (32-bit) | π‘ Partial2 | linux_armv6_moderncsqlite.tar.gz | superseriousbusiness/gotosocial:0.17.1-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
Features and performance
- 8a93300: [feature] Add image descriptions for default avatar + header; don't allow editing default desc (#3473) (@tsmethurst)
Bug fixes
- ffc86f9: [bugfix] Fix occasionally streaming empty messages (#3456) (@tsmethurst)
- fab7d17: [bugfix] Fix filter title unique constraint (#3458) (@tsmethurst)
Chores & version bumps
- a48cce8: [chore] Upgrade golangci-lint, ignore existing int overflow warnings (#3420) (@untitaker)
- 9f6a1f7: [chore] Set some additional git attributes (#3454) (@daenney)
- 602c858: [chore] Thumbnail only first frame of animated media (#3448) (@tsmethurst)
- 0d0314b: [chore] Fix loop issue in streaming π€¦ (#3457) (@tsmethurst)
- ea1bf5f: [chore]: Bump github.com/yuin/goldmark from 1.7.6 to 1.7.8 (#3470) (@dependabot[bot])
- f301ec6: [chore]: Bump github.com/tdewolff/minify/v2 from 2.20.37 to 2.21.0 (#3468) (@dependabot[bot])
- e9299e1: [chore]: Bump github.com/prometheus/client_golang from 1.20.4 to 1.20.5 (#3469) (@dependabot[bot])