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] Allow unsetting filter expiration dates (#3560) (@VyrCossont)
- 65917f5: [bugfix] Log + ignore unknown notification types (#3577) (@tsmethurst)
- 732b03a: [bugfix] Load instance-wide custom css unconditionally in thread details page (#3595) ( <>)
- f78002f: [bugfix] Load instance-wide custom css in page stylesheets template (#3601) ( <>)
- 0784aa3: [bugfix] small editing tweaks (#3631) (@NyaaaWhatsUpDoc)
- 6b72740: [bugfix] Advertise audio/mpeg as supported (#3632) (@daenney)
- 29da5b3: [bugfix] more little edit fixes (#3633) (@NyaaaWhatsUpDoc)
- 8daa4da: [bugfix] More permissive CSV parsing for perm subs, text parse fix (#3638) (@tsmethurst)
- 8cfae01: [bugfix] migration to cleanup dropped status edits (#3637) (@NyaaaWhatsUpDoc)
- 634d4f4: [bugfix] Fix existing perm adoption (#3651) (@tsmethurst)
- 37fd7c7: [bugfix] Store LastModified for domain perm subs + send as If-Modified-Since (#3655) (@tsmethurst)
- 4c052c8: [bugfix] Rename domain perm sub migration to unique date (#3679) (@tsmethurst)
- 702d492: [bugfix] Fix top-level posts with a mention being counted as replies when doing
exclude_replies
(#3689) (@tsmethurst) - bfe8144: [bugfix] Allow processing null ID emojis (#3702) (@tsmethurst)
- 1ab960b: [bugfix] harden checks for remotes masquerading as local, and return correct local account redirects early (#3706) (@NyaaaWhatsUpDoc)
- 91cef34: [bugfix] Missing emoji urls (#3707) (@NyaaaWhatsUpDoc)
- 493de5c: [bugfix] fix boost of account ID check (#3709) (@NyaaaWhatsUpDoc)
- b9e0689: [bugfix] Extend parser to handle more non-Latin hashtags (#3700) (@VyrCossont)
- 8a9422a: [bugfix] shut down LE server nicely (#3714) (@tsmethurst)
- f5eee56: [bugfix] Swagger: fix media_ids[] param for creating statuses (#3722) (@VyrCossont)
- 053d820: [bugfix] Don't panic on delivery of Activity with no
object
(#3730) (@tsmethurst) - bfb81f5: [bugfix] wrong nodeinfo version (tobi is a boob) (#3735) (@tsmethurst)
- e10de84: [bug] Add missing
group
property to the Account model (#3746) (@pnwmatt) - a6d1f5b: [bugfix] Reduce Web Push record size (#3762) (@VyrCossont)
- 128fcc8: [bugfix] Fix missing
hasChanged
func (#3764) (@tsmethurst) - ce7ba8f: [bugfix] Fix POST to create account endpoint (#3767) (@tsmethurst)
- 2c95fd4: [bugfix] Suggest lowercase username when creating via OIDC (#3780) (@tsmethurst)
- d0de3ad: [bug] respect
X-Robots-Tag
androbots.txt
on api/v1/instance and nodeinfo (#3756) (@alemidev) - dfcb786: [bugfix] Return 404 when web context target status hidden (#3792) (@tsmethurst)
Chores & version bumps
- b846378: [chore] update go ffmpreg to v0.6.0 (#3515) (@NyaaaWhatsUpDoc)
- 29007b1: [chore] update bun libraries to v1.2.5 (#3528) (@NyaaaWhatsUpDoc)
- 98eef32: [chore]: Bump golang.org/x/net from 0.30.0 to 0.31.0 (#3536) (@dependabot[bot])
- aeacbe3: [chore] pin otel library versions (#3538) (@NyaaaWhatsUpDoc)
- d850248: [chore]: Bump golang.org/x/image from 0.21.0 to 0.22.0 (#3533) (@dependabot[bot])
- e892bc3: [chore]: Bump golang.org/x/oauth2 from 0.23.0 to 0.24.0 (#3537) (@dependabot[bot])
- daf55ba: [chore] Bump cross-spawn from 7.0.3 to 7.0.6 in /web/source (#3552) (@dependabot[bot])
- ae1a985: [chore]: Bump github.com/tdewolff/minify/v2 from 2.21.1 to 2.21.2 (#3567) (@dependabot[bot])
- 2ed4098: [chore] Update gorilla/websocket (#3561) (@daenney)
- 934e895: [chore]: Bump github.com/stretchr/testify from 1.9.0 to 1.10.0 (#3564) (@dependabot[bot])
- c454b1b: [chore] Bump tooling versions, bump go -> v1.23.0 (#3258) (@tsmethurst)
- 5c818de: [chore] Sign the bloody thing, fix the other bloody thing (#3572) (@tsmethurst)
- 312cb8b: [chore] rename New___(string) int signature functions to Parse___(string) int (#3580) (@NyaaaWhatsUpDoc)
- 936b269: [chore]: Bump github.com/minio/minio-go/v7 from 7.0.80 to 7.0.81 (#3590) (@dependabot[bot])
- dbef5ee: [chore] Replace Semaphore recommendation with Pinafore. (#3586) (@technomancy)
- a597e1e: [chore]: Bump codeberg.org/gruf/go-ffmpreg from 0.6.0 to 0.6.1 (#3591) (@dependabot[bot])
- 55d6731: [chore] Update frontend bug report issue title prefix (#3596) ( <>)
- 79f2e85: [chore] bumps modernc/sqlite version to v1.34.2 on our custom fork (#3599) (@NyaaaWhatsUpDoc)
- 642f523: [chore] stub /api/v1/accounts/{id}/featured_tags endpoint (#3598) (@ptrcnull)
- a4e82cb: [chore]: Bump golang.org/x/text from 0.20.0 to 0.21.0 (#3611) (@dependabot[bot])
- f72e753: [chore]: Bump golang.org/x/image from 0.22.0 to 0.23.0 (#3608) (@dependabot[bot])
- d9e722d: [chore]: Bump golang.org/x/net from 0.31.0 to 0.32.0 (#3610) (@dependabot[bot])
- acdd495: [chore] Log during potentially long migrations (#3613) (@tsmethurst)
- fd3b1e6: [chore] Bump nanoid from 4.0.2 to 5.0.9 in /web/source (#3614) (@dependabot[bot])
- 9ae0c7b: [chore] Update ncruces/go-sqlite3 to 0.21.3 (#3629) (@daenney)
- 1aa7f70: [chore] Stub /api/v1/announcements implementation (#3630) (@daenney)
- 77f1e79: [chore] Update robots.txt with more AI bots (#3634) (@daenney)
- c013892: [chore] replace statuses.updated_at column with statuses.edited_at (#3636) (@NyaaaWhatsUpDoc)
- 4d42310: [chore]: Bump github.com/gin-contrib/gzip from 1.0.1 to 1.1.0 (#3639) (@dependabot[bot])
- b95498b: [chore]: Bump mvdan.cc/xurls/v2 from 2.5.0 to 2.6.0 (#3643) (@dependabot[bot])
- e77c7e1: [chore] better dns validation (#3644) (@NyaaaWhatsUpDoc)
- 0096222: [chore]: Bump github.com/gin-contrib/sessions from 1.0.1 to 1.0.2 (#3664) (@dependabot[bot])
- cfe6ac5: [chore]: Bump github.com/jackc/pgx/v5 from 5.7.1 to 5.7.2 (#3663) (@dependabot[bot])
- 77ea305: [chore]: Bump golang.org/x/net from 0.33.0 to 0.34.0 (#3660) (@dependabot[bot])
- 9835d3e: [chore]: Bump github.com/gin-contrib/cors from 1.7.2 to 1.7.3 (#3661) (@dependabot[bot])
- 5c0514e: [chore]: Bump github.com/coreos/go-oidc/v3 from 3.11.0 to 3.12.0 (#3662) (@dependabot[bot])
- 2a46681: [chore] Allow suppressing trusted-proxies warning by disabling rate limiting (#3686) (@tsmethurst)
- 5c96702: [chore]: Bump github.com/gin-contrib/gzip from 1.1.0 to 1.2.2 (#3693) (@dependabot[bot])
- 3428bc9: [chore]: Bump github.com/miekg/dns from 1.1.62 to 1.1.63 (#3695) (@dependabot[bot])
- a773768: [chore]: Bump github.com/SherClockHolmes/webpush-go from 1.3.0 to 1.4.0 (#3694) (@dependabot[bot])
- 726d2ba: [chore] some tidy ups (#3677) (@NyaaaWhatsUpDoc)
- 9048290: [chore] skip
trusted-proxies
warning if ip excepted from rate limiting (#3699) (@tsmethurst) - 61141ac: [chore] remove type switch in Create() and instead move to FederatedCallbacks() (#3697) (@NyaaaWhatsUpDoc)
- fc895ad: [chore] Web Push: Use server URL for VAPID sub claim (#3716) (@VyrCossont)
- c47b9bd: [chore] Add "object" uri to outgoing Accept + Reject messages (#3717) (@tsmethurst)
- 77f25e2: [chore] disallow /nodeinfo/ too (#3729) (@wolfyjade)
- a6d852d: [chore]: Bump golang.org/x/oauth2 from 0.24.0 to 0.25.0 (#3725) (@dependabot[bot])
- c086d40: [chore]: Bump github.com/KimMachineGun/automemlimit from 0.6.1 to 0.7.0 (#3726) (@dependabot[bot])
- 8b74cad: [chore]: Bump github.com/tdewolff/minify/v2 from 2.21.2 to 2.21.3 (#3727) (@dependabot[bot])
- acd3e80: [chore]: Bump github.com/minio/minio-go/v7 from 7.0.81 to 7.0.84 (#3728) (@dependabot[bot])
- dd094e4: [chore] update otel libraries (#3740) (@theSuess)
- 1a8e42e: [chore] update readme support matrix (#3738) (@NyaaaWhatsUpDoc)
- 00bd0f7: [chore] Update drone + goreleaser (#3742) (@tsmethurst)
- 2aa3524: [chore] fix typo in docs (#3758) (@cdn0x12)
- 05e89af: [chore/frontend] Tweak display of "edited" in web UI a bit (#3766) (@tsmethurst)
- edcc8ea: [chore]: Bump golang.org/x/oauth2 from 0.25.0 to 0.26.0 (#3775) (@dependabot[bot])
- 576da4c: [chore]: Bump golang.org/x/image from 0.23.0 to 0.24.0 (#3773) (@dependabot[bot])
- bb6d2f8: [chore]: Bump github.com/minio/minio-go/v7 from 7.0.84 to 7.0.85 (#3772) (@dependabot[bot])
- 4ac5447: [chore]: Bump golang.org/x/crypto from 0.32.0 to 0.33.0 (#3771) (@dependabot[bot])
- 24f6760: [chore] bump ncruces go-sqlite3 => v0.23.0 (#3785) (@NyaaaWhatsUpDoc)
- 1ee56d6: [chore] Bump elliptic from 6.6.0 to 6.6.1 in /web/source (#3791) (@dependabot[bot])
Documentation
- ffa67ac: [docs] Include link to a live instance in README (#3549) (@thombles)
- da4db81: [docs] Added note to documentation about mutuals-only posts not being functional. (#3557) (@VirtualWolf)
- 44b7bc7: [docs/zh] Update zh docs: synced to da4db81 (#3589) ( <>)
- 4fbe06e: [docs] Add missing --config-path arg in backup documentation (#3607) (@thestfndev)
- 3ab2d86: [docs] Swagger: fix filter context params by moving enum list from the list type to the item type (#3684) (@VyrCossont)
- b3ecfe1: [docs] remove
-X POST
from curl commands (#3665) (@mjaschen) - 62f25ea: [docs/zh] Update zh docs: synced to e10de84 (#3763) (@cdn0x12)
Other
- 45e1609: bump ncruces/go-sqlite3 to v0.20.2 (#3524) (@NyaaaWhatsUpDoc)
- 58f916e: docs: Clarify object store configuration (#3527) (@daenney)
- 3fceb5f: bumps uptrace/bun dependencies to v1.2.6 (#3569) (@NyaaaWhatsUpDoc)
- 61f8f1e: pull in ncruces/go-sqlite3 v0.20.3 with tetratelabs/wazero v1.8.2 (#3574) (@NyaaaWhatsUpDoc)
- 3cc5049: pulls in the latest exif-terminator version with bugfix and performance optimizations (#3583) (@NyaaaWhatsUpDoc)
- d9f67ef: send out poll votes as separate create activities given that no other AP servers support multiple objects in a single activity (#3582) (@NyaaaWhatsUpDoc)
- 60acdb2: Bump nanoid from 3.3.7 to 5.0.9 in /web/source (#3615) (@dependabot[bot])
- fb12bbb: bump ncruces/go-sqlite3 to v0.21.0 (#3621) (@NyaaaWhatsUpDoc)
- 8504043: bump gruf/go-ffmpreg to v0.6.2 (#3622) (@NyaaaWhatsUpDoc)
- ec00dbd: bump gruf/go-ffmpreg to v0.6.3 (#3624) (@NyaaaWhatsUpDoc)
- 9697df0: bump ncruces/go-sqlite3 to v0.21.1 (#3625) (@NyaaaWhatsUpDoc)
- c953f57: update ncruces/go-sqlite3 to v0.21.2 (#3626) (@NyaaaWhatsUpDoc)
- eb77cee: update gruf/go-ffmpreg to v0.6.4 (#3627) (@NyaaaWhatsUpDoc)
- b8ef9fc: bump uptrace/bun dependencies from 1.2.6 to 1.2.8 (#3645) (@NyaaaWhatsUpDoc)
- 81b66ad: update ncruces/go-sqlite3 v0.21.3 -> v0.22.0, gruf/go-ffmpreg v0.6.4 -> v0.6.5 (#3646) (@NyaaaWhatsUpDoc)
- 3617e27: bumps uptrace/bun deps to v1.2.8 (#3698) (@NyaaaWhatsUpDoc)
- 5275871: check boosted account ID when performing usermute checks (#3708) (@NyaaaWhatsUpDoc)
- a24048f: bumps our fork of modernc.org/sqlite to v1.34.5 (#3731) (@NyaaaWhatsUpDoc)
- e1781ff: adds support for build specifically without wasm ffmpeg (#3732) (@NyaaaWhatsUpDoc)
- 1276cde: temporary fix for tetratelabs/wazero#2365 armv8 compiler support bug (#3741) (@NyaaaWhatsUpDoc)