Releases: superseriousbusiness/gotosocial
v0.2.2
This is the fifth alpha release of GoToSocial.
Highlights
- A lot of fixes have been done in the media processing logic to ensure it's more reliable and less prone to locking up, which resolved a couple of show-stopping bugs.
- We added an admin endpoint at
/api/v1/admin/accounts/{account_id}/action
that allows admins to delete/suspend single accounts. - When a local account is deleted, it's now federated out to the wider fediverse, so you can properly delete unused/unwanted accounts.
Acknowledgements
As usual, thank you to all bug reporters, contributors, donators, and people using the software already! <3 <3
Detailed Changelog
- 37d310f [feature] Dereference remote mentions when the account is not already known (#442)
- 983e696 [feature/security] Add systemd sandboxing options to harden security (#440)
- 8cc70a1 [bugfix] Fix media uploads blocking after a failed upload #438
- 25cab0e [bugfix] Fix images not being processed correctly sometimes (#437)
- 36b2f2b don't error if content property is nil (#436)
- 73e9cca [bugfix] Close ReadClosers properly in the media package (#434)
- 55ad6de [feature] Admin account actions (#432)
- 532c4cc [feature] Federate local account deletion (#431)
- e63b653 [performance] Add dereference shortcuts to avoid making http calls to self (#430)
- 4b4c935 [bugfix] Fix bug where admin panel could not be accessed at
/admin
(#427) - e306233 [bugfix] Fix html-escaped characters in content warnings (#426)
- b8879ac [dependencies] update go-store, go-mutexes (#422)
v0.2.1
This is the fourth alpha release of GoToSocial.
Highlights
- Remote media is now uncached after 30 days (by default). It will be recached again when a user requests it. This will save a significant amount of disk space! The cleanup job is run every night at 12am instance time. See the example config for more details and options.
- Database queries have been seriously optimized, which fixes an issue where requests became painfully slow after a while (especially loading notifications and the federated timeline). It should now be speedy and smooth.
- We have multi-architecture Docker builds now! Just pull
superseriousbusiness/gotosocial:0.2.1
and the appropriate image for your architecture will be selected. We have containers forarmv6
,armv7
,arm64
, and of courseamd64
. Big thanks to @0hlov3.
Migrations
A database migration will be run on startup to bring in the new changes. Do not interrupt this migration! It will take somewhere between a few seconds or a minute depending on your system specs and the size of your database. Patience!
Acknowledgements
Thank you to all contributors, testers, bug reporters, and well-wishers! We're getting there step by step :)
Detailed Changelog
- 8de928b [performance] Database optimizations (#419)
- 0772775 [feature] Clean up/uncache remote media (#407)
- 100f128 [documentation] Creates Docker documentation and docker-compose.yaml (#416)
- 1d5e763 [packaging] bump to builder 0.0.3 (#418)
- 3bc87f2 bump versions (#417)
- 6b634de [packaging] Use buildx for multi-arch Docker builds (#413)
- 64d9a34 Updates Docker Images (#415)
- 69d70aa [feature] Add Docker multi architecture Build and make goreleaser push the images and manifests (#410)
- 55b83be [feature] Add postDataCallbackFunc to allow cleanup (#408)
- 15d1e6b [bugfix] Fix thumbnail image type (#406)
- a089a98 [feature] Gin enable gzip encoding (#405)
- 23034ec [feature] Stream files via reader (#404)
- e55382a Use type=email for email input (#400)
- 09d6478 [bugfix] Only mark cookies as Secure on https (#398)
- dc24217 [chore] fix mirror + clean up (#396)
v0.2.0
This is the THIRD ALPHA RELEASE of GoToSocial.
Documentation for this release can be found right here.
Highlights:
- We use Viper and Cobra now for CLI tooling. This means an easier-to-use command line interface, and simplified configuration.
- The media processing functionality has been completely refactored with an eye towards performance. This should make GtS much more viable on very small devices like Raspberry Pi Zero.
- Syslog logging is now supported.
Thank you to all contributors and testers! <3 <3 <3
Migration
The format of configuration files has changed a lot, along with some of the names of command-line flags. Many redundant settings have been removed, and naming conventions have changed for the sake of clarity and structure. The new config example is here: https://github.com/superseriousbusiness/gotosocial/blob/v0.2.0/example/config.yaml.
This means if you were using a configuration file from v0.1.1 or earlier, you will need to update or replace your config file to reflect the new changes.
The recommended approach to this is to rename your config.yaml
file to something else (config.yaml.old
or similar), drop the new config file in its place, and translate values as appropriate from the old config to the new config. This is likely to be less error prone than going through your existing config.yaml
and changing key names by hand.
Known Issues
A bug was introduced in Mastodon verion 3.4.6 that affects federation. It has since been fixed, but is not yet in a release version: mastodon/mastodon#17457. Since GoToSocial enforces Secure Mode, this bug will break federation between new GoToSocial instances, and Mastodon version 3.4.6 instances.
Changelog
Features
- 0884f89 Implement Cobra CLI tooling, Viper config tooling (#336)
- 31935ee Refactor media processor for speedier media processing.
- e2daf0f Add
Accept
header negotiation to relevant API endpoints (#337) - c111b23 Add optional syslog logrus hook (#343)
- 6ed368c [feature] add authorization to the already-existing authentication (#365)
- e137181 [feature] Make Let's Encrypt integration an opt-in feature (#368)
- 1b36e85 [feature] Rework timeline code to make it useful for more than just statuses (#373)
- c6912f5 add example systemd service (#341)
- 909f801 add systemd service example to packaging (#342)
Bugfixes
- ce22e03 Require confirmed email when checking oauth token (#332)
- 5c9d20c don't bother negotiating Accept for webfinger (#381)
- 85b4f96 if accountDomain isn't set, use Host value instead (#380)
- 18e7537 [bug] Fix OIDC users requiring second approval (#371)
- 5be8a7a [bug] Send plaintext emails to fix "message refused: Message is not RFC 2822 compliant" (#366)
- 959e38a [bug] Fix sqlite empty address issue (#370)
- 66175c8 [bug] Fix minimum description length check (#369)
- ed9158f [fix] Make postgres connections magically work in common setups (#352)
- 2582515 return first offer when no accept header set (#351)
- aa34ff1 Fix start command invocation (#372)
Other
- 80ec714 document post settings (#346)
- ec43574 [documentation] add ipv6 config for nginx (#367)
- 14c472c [documentation] Add section for systemd service and nginx to installation guide (#353)
- a01b178 [documentation] update database docs (#355)
- 98341a1 [docs] Fix documentation to show --config-path in the right position. (#375)
- 037e8ef [chore] Add nightly mirror to Codeberg.org (#392)
- 40be88e [chore] Drone config update (#383)
- 664927e Bump nanoid from 3.1.25 to 3.2.0 in /web/gotosocial-styling (#364)
- ef5a925 Extend license notices to 2022 (#354)
- cb8688f Remove unnecessary storage config variables (#344)
- 635ad2a Update codeberg.org/gruf libraries and fix go-store issue (#347)
- 86e8e7f Log when listening (#350)
- 67ac8db Upstep Go dependencies (#340)
- 5506a5e upstep dependencies (#339)
- 182b4ee Update dependencies (#333)
- 5ed0348 run sqlite tests in parallel (#331)
Docker images
docker pull superseriousbusiness/gotosocial:0.2.0
v0.1.1
ALPHA BUGFIX RELEASE 0.1.1
Fixed
ab316d2 Fix broken defaults and broken flags (#314)
3caae37 Fix streamed messages ending up in wrong timeline(s) (#325)
79ccd8f Fix mentioned accounts visibility bug (#323)
b46e5fb Fix incorrect target being used in CC prop for mentioning statuses (#322)
24f9e11 Fix image description unnecessarily html-escaping innocent characters (#321)
6c0550e properly initialize user client module (#319)
38d73f0 tidy up database creation logic a bit (#317)
f3e36de fix broken GetInstanceAccount selector (#311)
ff7c96c Fix instance account not being created (#310)
Added
1ded58b add bindAddress configuration option (#320)
Docs
d81a123 Update docs with better config + installation instructions (#300)
a7882fa Use IPv6 doc prefix for docs (#324)
Other
f863034 Enable stricter linting with golangci-lint (#316)
Docker images
docker pull superseriousbusiness/gotosocial:0.1.1
v0.1.0
This is the very first alpha release of GoToSocial. Much of the feature set is already there, much is missing.
For documentation, see https://docs.gotosocial.org. If you're just getting started, the quick-and-dirty install guide will be particularly valuable: https://docs.gotosocial.org/en/latest/installation_guide/quick_and_dirty/
There will be bugs and issues! Please use the issue tracker on the github repository (and make sure you're not reporting a duplicate issue).
For help, check out the Matrix channel mentioned in README.md :)
Docker image is available at superseriousbusiness/gotosocial:0.1.0
and it works great, but installation for Docker is not documented yet (that's on the way).
Changelog
38e100a update drone file (#299)
aee1932 First db migration (#297)
09ef9e6 move to ssb gofed fork (#298)
829a934 update dependencies (#296)
2aaec82 smtp + email confirmation (#285)
de1f90e regenerate swagger docs (#293)
8b7c350 upstep bun to v1.0.14 (#291)
84a8a07 docs typo fix (#290)
4b1d9d3 Serve outbox
for Actor (#289)
26a95ad pregenerate RSA keys for testrig accounts. If a user is added without a key, the testrig will panic and provide a key to paste in (#287)
7e4c3fa fix mention extracting when no domain exists (usually intra-instance mentions) (#272)
15621f5 Follow request improvements (#282)
107685e User password change (#280)
a07e62e go fmt (#278)
27605f7 add new logo + credits (#277)
083099a reference global logrus (#274)
367bdca Handle forwarded messages (#273)
3dc7644 Derive visibility fixes (#271)
ff77bf1 fix logs not working properly (#264)
e04b187 Refactor/tidy (#261)
9ce4234 Follow request auto approval (#259)
365c3bf rework mention replacement func (#258)
28b6ce5 don't catch mentions within links (#257)
0cd2bd2 allow dereferencing of groups (#256)
231075f Golint (#255)
36a09dd handle remote account deletion more systematically (#254)
9a53b1a upstep bun to v1.0.9 (#252)
08cb8a3 skip account on error instead of returning error (#251)
b5a7e1b Account update issue (#250)
b3fd9c3 Weird notif issue (#248)
c7cfbe2 Unblock fix (#247)
d515c9f Goreleaser (#241)
142f37f upstep bun version (#243)
ddfd83d update media processing (#244)
7e6350b remove hardcoded friendica user agent block (#239)
ffc55e9 tweak db settings slightly (#238)
c7c9fff use timestamptz instead of timestamp (#237)
b315eee Update webfingering a little, add tests (#236)
92186c8 federated authentication better logging + tidying (#232)
2e5dcc2 Fix mentions not notifying (#230)
e0f3627 add ap logo to readme (#228)
491da2c Merge pull request #227 from f0x52/meta-vp-fix
af884de fix viewport scaling for mobile
69bb563 set default privacy for new accounts (#225)
8ab9108 include Fork-Awesome files in-repo (#222)
026674b Thread views on the web (#207)
635281f update my personal library versions (#220)
f6492d1 Merge pull request #214 from NyaaaWhatsUpDoc/improvement/update-storage-library
8a18017 Merge pull request #213 from superseriousbusiness/alpine+node_upstep
6db57d1 fix keys used to access storage items
7f36688 rename KVStore uses as storage to differentiate between upcoming store package
e43a46e add git.iim.gay/grufwub/go-store for storage backend, replacing blob.Storage
87e9f06 disable cgo for tests
ab32ce6 documentation updates (#211)
5b69792 update container versions
793f9af only store statuses in the AS cache, not accounts (#210)
bac4ee9 update bun library to latest commit (#206)
fc03586 fix broken build (#209)
9dc2255 kim is a reply guy (#208)
64bd689 Test both dbs (#205)
f2e5bed migrate go version to 1.17 (#203)
e681aac fixes + db changes (#204)
446dbb7 remove boosted statuses from public (federated timeline) (#201)
4c4a622 Prune unnecessary nullzeros, fixup db tags (#200)
41ace19 fix up status inreplyto visibility, + small format improvements (#199)
555ea8e Import export (#194)
a027da0 Merge pull request #198 from NyaaaWhatsUpDoc/update/sqlite-library
f44cc51 Merge pull request #196 from NyaaaWhatsUpDoc/update/oauth-library
6a2d0d9 Merge remote-tracking branch 'upstream/main' into update/sqlite-library
71a4f86 update sqlite library -> v1.13.0
151069c Merge remote-tracking branch 'upstream/main' into update/oauth-library
0ea131f update oauth library --> v4.3.2-SSB
d2a85f2 handle oauth token scope, fix user.SigninCount + token.UserID
299801f Merge pull request #195 from NyaaaWhatsUpDoc/update/bun-library
fce3ba6 update oauth library -> v4.3.1-SSB
bdcc090 update bun library -> v1.0.4
2b14b20 rework media processing a little bit (#191)
ff05046 tests + announce notification fix (#193)
25edd57 Merge pull request #186 from superseriousbusiness/struct_validation
32fe228 review changes
a116676 Review changes
dfb9d63 readme typo
5d53276 lint
cc7a35e token tests
42892f9 client_test
6f7da0e account + application tests
ac7c5e8 session name fix (#185)
4696e1a moving stuff around
684bd56 move oauth models into gtsmodel
464e3d1 Merge branch 'struct_validation' of github.com:superseriousbusiness/gotosocial into struct_validation
55a9b85 lil move
7b01304 more updates
2786b5f change muchos things
fffff93 go fmt
356d28f more work on struct validation
dc2e1bf more work on struct validation
8ba816c statusmute annotations
d2276fc start working on struct validation for gtsmodel
7d193de Improve GetRemoteStatus and db.GetStatus() logic (#174)
3d8aa7a more updates
b95c80d change muchos things
a530a33 go fmt
bceb15d more work on struct validation
6adec1a more work on struct validation
22b3bfe Merge branch 'struct_validation' of github.com:superseriousbusiness/gotosocial into struct_validation
8d767c6 statusmute annotations
7c45403 start working on struct validation for gtsmodel
8aa72f9 start working on struct validation for gtsmodel
ed46224 Add SQLite support, fix un-thread-safe DB caches, small performance f… (#172)
53507ac Mention fixup (#167)
79afcdb Replace federating DB locks map, add a cleanup goroutine (#166)
add6eb6 Gin logging (#165)
87328b6 fix new tx within tx (#163)
30f688d some more little fixes for all to enjoy (#161)
2162f21 fix broken db queries in auth (#160)
1582cf8 fix null returned session (#159)
2eefaa0 oops (#157)
14ebc94 fix error with instance not created on startup (#156)
d39d93e update drone yml (#153)
0347931 Improved build script (#152)
ddc120d fix public timeline bug (#150)
2dc9fc1 Pg to bun (#148)
071eca2 Manually approves followers (#146)
4920229 Database updates (#144)
ce190d8 Text/status parsing fixes (#141)
ff406be Timeline loop fix (#140)
a4a33b9 Don't run tests+lint on merge to main (#139)
98263a7 Grand test fixup (#138)
329a5e8 Text duplication fix (#137)
8330263 ahhh
2df77e4 add drone.yml
6acd410 Bugfixerino (#133)
93792d3 roll back to sha256 for signatures
0f2de63 Dereference remote replies (#132)
0386a28 Frodo swaggins (#126)
cb85f65 fix breaky linky
6bd26ff more swagger docs + other changes (#125)
65bf285 requirements.txt for RtD
58dddd8 Swagger (#124)
eb13faf Password change (#123)
a940a52 Link hashtag bug (#121)
ea8ad8b Link parsing (#120)
fddacdd build and bundle admin console + web assets (#119)
2c2dbe3 federating db updates (#118)
a04888e doc updates (#117)
ad0e26d Markdown Statuses (#116)
e2757ae add trusted proxy for parsing client IPs (#115)
651f12c Merge branch 'main' of github.com:superseriousbusiness/gotosocial into main
5bf4fb4 Tiny fix (#114)
87d9a06 Merge branch 'main' of github.com:superseriousbusiness/gotosocial into main
bc1d8a9 allow custom ports for webserver and le (#111)
318e377 allow custom ports for webserver and le
05e9af0 Oidc (#109)
113186c lil webfingy fix (#106)
29bdc41 Config bugfix (#104)
b1a4f38 allow different host + accountDomain (#103)
677490b Db tls (#102)
bbc2494 Static fileserver improvements, optional admin panel route (#100)
eef88ae frontpage template tweaks (#99)
f05b255 Noescape (#88)
bdba3ff sanitize html for statuses + instance (#97)
846057f Block/unblock (#96)
c7da649 favourites GET implementation (#95)
c5180b3 Docs (#94)
606ee5c Css button tweak (#93)
1dac7eb readme updating (#92)
2cebac5 Css input/select styling tweak (#91)
05e6247 undo template no escape (#87)
c106ce4 fix up some of the instance patching stuff (#86)
fe269cd fix up some of the instance patching stuff (#85)
fd0714c disable html escaping for short description (#84)
5460271 Auth flow fixes (#82)
c71e55e clean up some weirdness in the router (#80)
3568579 Blocklist import (#77)
d389e7b Domain block (#76)
cf19aaf Fix 404 contact (#74)
4f3b3f5 put version in binary properly (#73)
87cf621 Remote instance dereferencing (#70)
869a6c1 Go fmt
3e6aef0 fix the annoying infinite handshake bug (tested) (#69)
b71bbc8 remove regex hostname parsing (#67)
b6c6230 separate public key handler (#64)
82d2544 qad getting started guide (#63)
c1e1072 nodeinfo compliance (#61)
16e486a Timeline bugfix (#60)
8c9a853 Instance settings updates (#59)
fd57cca Opengraph meta tags (#55)
5a2f3b3 add 404 handler (#57)
eaeceb1 add favicon (#54)
0733aea Merge branch 'main' of github.com:superseriousbusiness/gotosocial into main
de0b7d2 add web handler to testrig (#56)
38912f5 add web handler to testrig
f9bc305 new styling for frontpage, update login and authorize templates (#46)
a5fd6f4 Deletes+unboosts (#52)
efbd839 Testrig fixes (#50)
aa8a0d0 Streaming (#49)
ad2e982 update CONTRIBUTING with css bundling instructions, and go fmt (#48)
82d9f88 Timeline improvements (#41)
b4288f3 Timeline manager (#40)
6ac6f8d Tidy + timeline embetterment (#38)
3d77f81 Move a lot of stuff + tidy stuff (#37)
c4d791b fix some lil bugs in search
5facbed Merge branch 'main' of github.com:superseriousbusiness/gotosocial into main
1fe5e36 Search (#36)
0fe853b first implementation of search feature
cb54324 federate account updates
87177d8 Announce/boost (#35)
40add68 Notifications (#34)
e670c32 Faves (#31)
2dbd132 first draft of Dockerfi...