Releases: superseriousbusiness/gotosocial
v0.7.0-rc3
Hello hello! This is the third and probably final release candidate for version 0.7.0 of GoToSocial 🦥
We fixed and tidied up a few remaining issues from the previous release candidate:
- Css should be more consistent on ios browsers now.
- Avatar and header fetching + refreshing should work more resiliently.
- Fixed broken cache-control headers when using non-proxying s3.
Enjoy! As usual, please read the release notes for the previous two release candidates.
If you find any issues particular to this release candidate, please let us know on the github repo.
Thank you! ❤️
Changelog
- 700ed77 [chore] Webkit frontend fixes (#1492)
- 6c6f042 [bugfix] Return empty result rather than 500 error when searching for blocked domains (#1498)
- 561ad71 [bugfix] Fix up
error getting account avatar/header
errors, other small fixes (#1496) - acc9592 [performance] processing media and scheduled jobs improvements (#1482)
- 76d1b48 [docs] move federating with gotosocial documentation into single file (#1494)
- 041c8e6 [chore] Do cache-control in a less silly way to avoid writing header twice (#1481)
- eeca198 [docs] Update user/admin settings docs (#1491)
- efbc5da [chore]: Bump github.com/minio/minio-go/v7 from 7.0.47 to 7.0.48 (#1486)
- 33b77b3 [chore]: Bump golang.org/x/image from 0.3.0 to 0.4.0 (#1485)
- 7231752 [chore]: Bump modernc.org/sqlite from 1.20.3 to 1.20.4 (#1484)
- c223c75 [bugfix] Set appropriate cache-control when using presigned s3 links (#1480)
v0.7.0-rc2
Hello everyone! This is the second release candidate for version 0.7.0 of GoToSocial.
Thanks for helping us find bugs! We've fixed the worst offenders, and will fix a couple more before the actual release, but we wanted to get this into people's hands already :)
Enjoy!
Migration notes
Please read the notes for the previous release candidate first!!!
Then hark to this: we've changed the media prune stuff to not run on startup anymore; instead it will just run every night, in a way more thorough manner. We managed to get a year-old instance down to 1gb total of storage use after running a prune with media-remote-cache-days
set to 0, so it's pretty cool!
Changelog
- 40bc03e [chore/performance] Update media prune logic, add extra CLI command (#1474)
- 70739d3 [performance] remove throttling timers (#1466)
- 6ac1dda [chore] small changes missed in previous dereferencer.GetAccount() PRs (#1467)
- e5e257c [bugfix] Fix error on searching for account w/accountDomain by host (#1465)
- 95715f9 [performance] Don't fetch avatar + header if uri hasn't changed (#1463)
- 65b1941 [chore] Fix report username wrapping (#1464)
- 27e95fd [chore/bugfix] Serve + throttle publickey separately from rest of ActivityPub API (#1461)
- 52fbb3e [bugfix] fix 'steal this look' form, uncheck entries after processing (#1454)
- 4e4da19 [bugfix] Use SignatureCheck middleware for web profile endpoints too (#1451)
- 0ed50c1 [chore/frogend] domain blocklist layout on smaller screens (#1436)
- b63b1b6 [chore] Update bug report template (#1437)
- ad6ab03 [bugfix] don't trash emoji in profile fields on edit (#1440)
- ac2bdbb [bugfix] fix file range length calculation being off by 1 (#1448)
- 6a6647d [bugfix] Ignore missing files when cleaning up media (#1435)
v0.7.0-rc1
Hello everyone!
This is the first release candidate for version 0.7.0 of GoToSocial, for eager beavers to get their hands on! 🦫 🦥
Migration notes
This release candidate contains several database migrations and config file changes.
When you first run this version, it will clear out a LOT of old media files, which may take somewhere between 5 and 30 minutes and cause some heavy CPU usage. Just let it do its thing, and after a while it will return to normal and you will have a lot more disk space free!
GoToSocial now requires access to your /tmp
directory for processing video files. In-progress videos will be stored in there extremely briefly (a few seconds at most).
For SQLite users: you'll notice that SQLite now runs in WAL mode by default, which means it'll create a couple extra database files in your GtS directory. This is normal, don't worry!
Installation
For binary users: you can install this release candidate as you would any other release; just download the tar and untar it on your server as usual.
For docker users: use the tag superseriousbusiness/gotosocial:0.7.0-rc1
Changelog
Full change log is below, we'll do a nicer-formatted version for the release proper.
Enjoy!
- 02767bf [performance] remove local copying of file for satisfying range headers (#1421)
- 75e1b9c [bugfix] fix old password hash staying in cache (#1432)
- 83b522a [feature/Frogend] basic report admin interface (#1424)
- 47daddc [chore/frogend] Restructure form data default values / update from Query data (#1422)
- 0a98743 [chore]: Bump codeberg.org/gruf/go-runners from 1.4.0 to 1.5.1 (#1428)
- 1df25a3 [chore]: Bump github.com/yuin/goldmark from 1.5.3 to 1.5.4 (#1427)
- dae14cc [chore]: Bump github.com/ulule/limiter/v3 from 3.10.0 to 3.11.0 (#1429)
- 7f32457 [chore] stub /api/v1/featured_tags endpoint (#1420)
- 80c26d6 [bugfix] Allow instance thumbnail description to be set separately from image (#1417)
- 04ac3f8 [bugfix] Fix password change keys (#1416)
- abe9447 fix cache startup (#1414)
- 33aee1b [chore] reformat GetAccount() functionality, support updating accounts based on last_fetch (#1411)
- a59dc85 [feature/frogend] (Mastodon) domain block CSV import (#1390)
- 49beb17 [chore] Text formatting overhaul (#1406)
- 271da01 [bugfix] Read Bookwyrm Articles more thoroughly (#1410)
- 382512a [feature] Implement
/api/v2/instance
endpoint (#1409) - 4ee4cd2 [chore/performance] use only 1 sqlite db connection regardless of multiplier (#1408)
- b80be48 [chore] Use 'immediate' lock for sqlite transactions (#1404)
- eccb380 [chore] Silence maxprocs logging (#1402)
- dc766f9 [docs] Add an example on how to setup redirect with Traefik (#1395)
- 356e238 [chore]: Bump github.com/go-playground/validator/v10 (#1400)
- 7bcdf35 [chore]: Bump github.com/microcosm-cc/bluemonday from 1.0.21 to 1.0.22 (#1399)
- 43cbe3b [docs] Simplify Apache httpd proxy documentation (#1396)
- 3283900 [feature] Federate reports to remote instance as Flag (if desired) (#1386)
- c59ec6f [docs] Add Flag documentation to federation docs (#1393)
- 1fa574f [docs] Tidy up federation docs into 'federating with gotosocial' section (#1392)
- 8d18888 [chore/docs] add instance-expose-suspended-web to instance docs (#1391)
- 08f8fea [feature/frontend] filterable local emoji list (#1385)
- 782169d [chore] set max open / idle conns + conn max lifetime for both postgres and sqlite (#1369)
- 17eecfb [feature] Public list of suspended domains (#1362)
- 993aae5 [feature] Accept incoming federated Flag activity (#1382)
- faeb7de [feature] Implement reports admin API so admins can view + close reports (#1378)
- 27d4e36 [chore] Settings refactor fix4 (#1383)
- 36f62d6 [chore] remove funky duplicate attachment in testrig (#1379)
- e974724 [feature] Implement
/api/v1/reports
endpoints on client API (#1330) - 605dfca [chore] bump go version to 1.19.5 (#1377)
- 98a09b5 [chore]: Bump github.com/spf13/viper from 1.14.0 to 1.15.0 (#1375)
- 3e4dc6b [chore]: Bump github.com/abema/go-mp4 from 0.9.0 to 0.10.0 (#1374)
- 73be244 [feature] Add RSS autodiscovery on profiles that enable RSS (#1373)
- 13ec15d [chore] extending maximumPasswordLength to 256 (#1372)
- 0ceacd7 [chore] bump db dependencies (#1366)
- b375d3b [chore] Add name to instance field for autosuggestion (#1359)
- 747683b [chore] Settings refactor fix 2 (#1357)
- 13e3aaa [chore] Fix new emoji preview title/alt text (#1354)
- 9b139b6 [frogend] Settings refactor (#1318)
- 974ec80 [chore] Change default sqlite busy timeout to 5m (#1352)
- acc333c [feature] Inherit resource limits from cgroups (#1336)
- 627b8ee [feature] Tune sqlite pragmas (#1349)
- a6c6bdb [chore]: Bump codeberg.org/gruf/go-errors/v2 from 2.0.2 to 2.1.1 (#1346)
- d4cddf4 [bugfix] Parse video metadata more accurately; allow Range in fileserver (#1342)
- fe3e9ed [chore]: Bump github.com/minio/minio-go/v7 from 7.0.44 to 7.0.47 (#1348)
- 2a46980 [chore]: Bump golang.org/x/oauth2 from 0.3.0 to 0.4.0 (#1347)
- 6b15b83 [docs] Remove videos from the list of missing features in the FAQ. (#1344)
- 132c738 [bugfix] Mount bookmarks endpoint correctly (#1338)
- eafd73c [chore] Remove omitempty on account source; refactor tests to use prettyprint json (#1337)
- 5318054 [performance] media processing improvements (#1288)
- 3512325 [feature] Add local user and post count to nodeinfo responses (#1325)
- d648793 [feature] Implement Report database model and utility functions (#1310)
- 36aa685 [chore] Bump json5 from 1.0.1 to 1.0.2 in /web/source (#1308)
- ac562fa [chore]: Bump github.com/coreos/go-oidc/v3 from 3.4.0 to 3.5.0 (#1322)
- 0ca6a9d [chore]: Bump golang.org/x/image from 0.2.0 to 0.3.0 (#1320)
- 86ae0b1 [chore]: Bump golang.org/x/text from 0.5.0 to 0.6.0 (#1321)
- 345b765 [chore]: Bump golang.org/x/net from 0.4.0 to 0.5.0 (#1319)
- 1bda6a2 [bugfix] return early in websocket upgrade handler (#1315)
- 98edd75 [docs] Rewrite sponsorship + funding section, add NLnet (#1305)
- 9859a43 [docs] Add s3 ssl variable to storage docs (#1294)
- 2bf9bfa [bugfix] fix panic during status delete loop by breaking out early on len(statuses) == 0 (#1317)
- 6791920 [chore/frogend] update status blockquote css (#1302)
- 2a1205a [docs] AWS S3 config details added (#1300)
- adbc877 [chore] pull in latest go-cache, go-runners versions (#1306)
- 0dbe6c5 [chore] Update/add license headers for 2023 (#1304)
- ff46dd4 [chore] Fix emoji notnull constraint on initial gtsmodel (#1303)
- de74cc6 [bugfix/frogend] replace ch units to prevent layout shift on page load (#1301)
- 90a14ab [feature] HTTP request throttling middleware (#1297)
- 0b8eafe [docs] Fix documentation edit link (#1298)
- 71dfea7 [chore] shuffle middleware to split rate limitting into client/s2s/fileserver, share gzip middleware globally (#1290)
- 9ecb1c8 [docs] Add troubleshooting section for Apache (#1291)
- 941893a [chore] The Big Middleware and API Refactor (tm) (#1250)
- 560ff12 [chore]: Bump github.com/abema/go-mp4 from 0.8.0 to 0.9.0 (#1287)
- b966d3b [chore]: Bump github.com/gin-gonic/gin from 1.8.1 to 1.8.2 (#1286)
- abd594b [chore]: Bump codeberg.org/gruf/go-bytesize from 1.0.0 to 1.0.2 (#1285)
- 1659f75 [feature] For video attachments, store + return fps, bitrate, duration (#1282)
- eabb906 [bugfix] fix media create error not being checked (#1283)
- 6ebdc30 [bugfix] Close reader gracefully when streaming recache of remote media to fileserver api caller (#1281)
- 0871f5d [chore] note broken go v1.19.4 in contributing.md (#1278)
- 2bbc64b [feature] Enable basic video support (mp4 only) (#1274)
- 0f38e7c [chore] fix some little config whoopsies (#1272)
- da751c0 update go-cache to v3.2.0 with support for ignoring errors (#1273)
- eb08529 [chore/bugfix] Switch markdown from blackfriday to goldmark (#1267)
- 2b0342b [bugfix] use match-sorter for filtering domain blocks (#1270)
- 1d24c1c [bugfix] Use null for empty api status
language
(#1268) - bae7398 [docs] Update Apache docs to use 127.0.0.1 instead of localhost (#1266)
- 0f8d938 [chore] Add svg version of sloth logo as logo.svg (#1265)
- 418bfbf [docs] Update nginx docs to use 127.0.0.1 instead of localhost (#1264)
- d10388c [feature] support Sec-Websocket-Protocol in streaming API (#1254)
- 69dd5fe [feature] domain block wildcarding (#1178)
- 8703933 [bugfix] fix unordered favorites (#1245)
- 58c87bd [feature] allow uncaching of other media types (#1234)
- a7e71d7 [chore]: Bump golang.org/x/image from 0.1.0 to 0.2.0 (#1252)
- 4b8d7bd [frogend] Emoji copy "Steal this look" (#1222)
- ce615b5 [docs] Serve static assets with nginx (#1251)
- cb2b2fd [feature] support configuring database caches (#1246)
- d2a09c1 [docs] Caching webfinger with nginx (#1242)
- 5e060d0 [feature] Start implementing refetch of lost media files via
/api/v1/admin/media_refetch
(#1221) - 24b4f9b [chore] make single pull request template (#1239)
- 04636a3 [bugfix] attach bookmarks module to api (#1238)
- 610c270 [docs] Update
CONTRIBUTING.md
, add pull request templates (#1216) - 199672e [bugfix] fix unordered favorites (#1236)
- 477ae50 [feature] Allow users to create + delete bookbarks, and view bookmarked statuses (#1168)
- e58d2d8 [chore] move caches to a separate State{} structure (#1078)
- dd1a4cd [chore] Remove deprecated linters (#1228)
- aea16bb [docs] Update README.md (#1126)
- 923d333 [docs] encourage using loopback bind address (#1166)
- 199b685 [feature] overhaul the oidc system (#961)
- 1a3f26f [feature] media: add webp support (#1155)
v0.6.0 Soothing Sloth
Hello everyone! Welcome to the v0.6.0 alpha release of GoToSocial, aka Soothing Sloth!
We've been very busy the last months making a preposterous amount of changes to the code, fixing bugs, and building a prettier frontend and settings panel.
Highlights of this release:
- Brand spanking new combined profile settings/admin panel at
/settings
. - Custom emoji categories! Editing custom emojis via the admin panel!
- New, higher contrast default color scheme for web views.
- Opt-in support for an RSS feed of your public posts!
- Markdown format for account bio/note (if you have markdown enabled as your default post format).
- Set your instance thumbnail via the admin panel!
- And more!
This is by far the biggest release we've ever done of GoToSocial :) Thank you to everyone who raised issues, contributed code and documentation, supported us financially and emotionally, and helped us squash bugs 🐛 Your help has been much appreciated!
Migration notes
This release contains database migrations which will run when you first launch the new version. PLEASE DO NOT INTERRUPT THE DATABASE MIGRATION or you may end up putting your database in a broken state which will require manual intervention to fix! The migration should take somewhere between 1 and 30 seconds, depending on the speed of your machine.
If updating from the binary release tar, make sure to update the frontend assets too, which are also in the tar. This release contains changes to html templates, css, and javascript.
Docker Users -- we've slightly changed the way GoToSocial operates inside a container, to make it stricter. To avoid getting read-only / permissions errors, you may need to stop GtS and run chown -R 1000:1000 [your_gotosocial_storage_directory]
, and then start GtS again.
Detailed Changelog
Features
- 5a0e418 [feature] Support PKCS1 "RSA PUBLIC KEY" pem block type (#1179)
- 13e9abd [feature] Add
admin media prune orphaned
CLI command (#1146) - 665d902 [feature/frogend] modify local emoji (#1143)
- b6dbe21 [feature]
PATCH /api/v1/admin/custom_emojis/{id}
endpoint (#1061) - 50dc179 [feature] Prune timelines once per hour to plug memory leak (#1117)
- 67106c9 [feature] Support markdown format for Account bio/note (#1037)
- aa5c4e0 [frogend] Emoji categories (#1051)
- a39a664 [feature] Serialize local account role via API, and show it via web view (#1045)
- 4cd00d5 [feature] Allow newly uploaded emojis to be placed in categories (#939)
- d120743 [feature] add instance-expose-public-timeline flag (#1039)
- edcee14 [feature] Read + Write tombstones for deleted Actors (#1005)
- 948e90b [feature] S3: add config flag to proxy S3 media (#1014)
- b4f7316 [feature] Make instance thumbnail configurable via admin panel (#973)
- eb25739 [frontend] Custom Emoji Deletion (#994)
- 4d66fb9 [feature] Make rate limit requests amount configurable (#966)
- f3fc040 [feature] Allow user to show instead of landing page on / (#922)
- f7416d6 [feature] Add emoji DELETE handler at
/api/v1/admin/custom_emojis
(#913) - 6a95f5f [feature] Add
/api/v1/admin/custom_emojis/{id}
endpoint for single emoji GET (#910) - 70d65b6 [feature] Refetch emojis when they change on remote instances (#905)
- 3ca7164 [frontend] Use new GET custom_emoji admin api (#908)
- 30aaedb [frontend] use ISO639 library for language selection (#909)
- eb85ef7 [feature] Add
/api/v1/admin/custom_emojis
endpoint (#902) - 8066306 [feature] Add opt-in RSS feed for account's latest Public posts (#897)
- 3bb45b7 [feature]
oob
oauth token support (#889) - f8528aa [feature] Add emoji image size to instance response (#892)
- 1a56352 [frontend] scroll to highlighted toot, improve highlight (#885)
- fe238f8 [frontend] change spacing of status, text always on it's own line, move status date on mobile (#883)
- f7af7c0 [feature] Enlarge active/hovered custom emojis in statuses (#877)
- 1d99971 [feature] update config types to use bytesize.Size (#828)
- dd83ad0 [feature] Add
meta robots
tag; allow robots to index profile card if user is Discoverable (#842) - 938328c [frontend] Unified panels (#812)
Bug fixes
- 611df7b [bugfix]: Prevent extension of S3 presigned url TTL (#1208)
- 281f712 [bugfix] Fix
admin account confirm
on pre-confirmed account setting email address to empty string (#1203) - 34716d7 [bugfix] Add missing continues in emoji get funcs (#1200)
- 85524f8 [bugfix/frontend] fix profile grid scaling in webkit based browsers (#1193)
- cf20397 [bugfix] Use case-insensitive selects when getting remote accounts by username/domain (#1191)
- 3a11861 [bugfix] Don't call
strings.ToLower()
on usernames when selecting account by domain+username (#1190) - 8d581de [bugfix] use correct key for PATCHing admin email (#1189)
- 927117d [bugfix] Avoid accidentally marking changed emojis as orphaned + pruning them (#1188)
- a1dda22 [bugfix] change page width to prevent scrollbar overflow (#1182)
- cfa8d79 [bugfix] don't return error during account serialize on deleted emoji (#1177)
- d445c60 [bugfix] wrap the correct error on failed account update (#1176)
- 0c1b1b0 fix missing lookup cache key for invalid domain block (#1158)
- c534230 [bugfix] Use Host domain for UA (#1156)
- e6cd81b [bugfix]: Fix IPv6 validation (#1150)
- 9e18c7f [bugfix] Change emailVerified to true for admin account create (#1140)
- 3e82196 [bugfix] Fix status boosts giving 404 (#1137)
- da89548 [bugfix] Prevent future statuses entering timelines (#1134)
- 9be1685 [bugfix] fix possible infinite loop on federated AP profile delete (#1091)
- 5210977 [bugfix] Fix unicode-unaware word boundary check in hashtags (#1049)
- 96f11e7 [bugfix] Fix login on Mastodon iOS app for users with no statuses (#1042)
- 05a8baa [bugfix] KVStore doesn't like lost+found directory (#972)
- 15be356 [bugfix] Check
media-description-min-chars
on submission of new status (#960) - a9addb5 [bugfix] Increase field size limits when registering apps (#958)
- ee6a0a1 [bugfix] use the landing page user directly (#956)
- 1dfa7fe [bugfix] Wrap media in read closer (#941)
- bd05040 [bugfix] Use []rune to check length of user-submitted text (#948)
- 29a71cf [frontend] Fix #923 and markdown css (#925)
- 4a925e4 [bugfix] create admin_account_actions table in tx (#940)
- 31f0f27 [bugfix] Fix imports for helpers.gen.go (#924)
- c7ba195 [bugfix] Prevent future statuses showing in timelines (#932)
- 5cd0872 [bugfix] add in-use checks for admin cli account creation (#904)
- 5cf0f99 [bugfix] Fix new domain block date (#893)
- 359ed1b [bugfix] Use background context instead of request context for async processing (#888)
- 196e474 fix emojis not showing in spoiler text (#878)
- 97b747b [bugfix] Fix incorrect use of bun.Ident (#866)
Performance
- bc917a4 [performance]: make s3 urls cacheable (#1194)
- c9d893f [feature/performance] Fail fast when doing remote transport calls inside incoming request contexts (#1119)
- 5d55e8d [performance] add account block DB cache and remove block query joins (#1085)
- 45ae719 [performance] replace account emojis relational query with separate calls to emojiDB to rely on cache (#1074)
- dccc2ee [performance] replace status query relationals with separate calls in order to rely on caches more (#1073)
- d98a48b [performance] don't use relations to select notification structs, use caches instead (#1072)
- 0e57246 [feature] various worker / request queue improvements (#995)
- e58a6a2 [performance] cache domains after max retries in transport (#884)
- 56f53a2 [performance] add user cache and database (#879)
Chores
- 847e7c7 [chore] Fix a few possible cases of int truncation (#1207)
- bb7948f [chore/frontend] remove domain block edit functionality until implemented in backend (#1199)
- 558b448 [chore] Remove duplicate prefixes from sanitizer (#1195)
- 97f5453 [chore] Tidy up some of the search logic (#1082)
- daf44ac [chore] Bump database dependencies (#1164)
- fe39d50 [chore]: Bump codeberg.org/gruf/go-store/v2 from 2.0.9 to 2.0.10 (#1160)
- c5ae88c [chore] Set User-Agent header in transport (#1154)
- d6f4d19 Tweak the User-Agent a bit (#1153)
- 746f3fa Additional IP range validations (#1152)
- 5c5c8ce [chore] Fix frogend admin emoji patch (#1148)
- fcb9c0b [chore] cleanup storage implementation, no need for multiple interface types (#1131)
- 5ba5fb3 [chore/frogend] fix profile preview css, use role info (#1130)
- 1281a9f [chore/frontend] remove references to unused bundle.js (#1128)
- 11cd608 [chore] fix broken buildx (whoops) (#1116)
- a898160 [chore] use kv.KVStore also for S3 storage (#1113)
- f88cb3a [chore] markdown: disable Smartypants rendering (#1111)
- 0c2971a [chore] update readme with kim's links (#1093)
- 274626a [chore]: Bump github.com/minio/minio-go/v7 from 7.0.43 to 7.0.44 (#1107)
- 4a95385 [chore] simplify logging to remove "safetywriter" given os.File has concurrency protection (#1083)
- 2eea3d5 [chore] improve errors returned fetching account/statues from DB (#1084)
- be3d999 [chore] Little Dockerfile updates (#1071)
- c1824b0 [chore] Replace blocking Floc with Topics. (#1068)
- f3e87ba [chore] cicd: snapshot
snapshot
instead of latest (#1066) - 81c1fe0 [frogend] upgrade deps (#1063)
- 940abc2 [chore] reversion: use specific columns for updating user again (#1059)
- 8598dea [chore] update database caching library (#1040)
- 9ebc29b [chore] Update .drone.yml signature (#1052)
- 1f256e2 [chore] refactor test/cliparsing.sh into a go test below internal/config (#1036)
- fece7fa [chore] fix profile spacing on very small screens (#1050)
- 8c20ccd [chore] Remove unused
admin account suspend
action (#1047) - 8f2d3ca [chore]: Bump codeberg.org/gruf/go-cache/v3 from 3.1.7 to 3.1.8 (#1043)
- e8c733d [chore] bump go-cache to v3.1.7 to fix possible issues ...
v0.6.0-rc3
Changelog
- bc917a4 [performance]: make s3 urls cacheable (#1194)
- 281f712 [bugfix] Fix
admin account confirm
on pre-confirmed account setting email address to empty string (#1203) - 34716d7 [bugfix] Add missing continues in emoji get funcs (#1200)
- bb7948f [chore/frontend] remove domain block edit functionality until implemented in backend (#1199)
- 558b448 [chore] Remove duplicate prefixes from sanitizer (#1195)
- 85524f8 [bugfix/frontend] fix profile grid scaling in webkit based browsers (#1193)
v0.6.0-rc2
Changelog
- cf20397 [bugfix] Use case-insensitive selects when getting remote accounts by username/domain (#1191)
- 5a0e418 [feature] Support PKCS1 "RSA PUBLIC KEY" pem block type (#1179)
- 1652633 [docs] Add AppArmor profile for Debian and Ubuntu installations (#1183)
- 3a11861 [bugfix] Don't call
strings.ToLower()
on usernames when selecting account by domain+username (#1190) - 8d581de [bugfix] use correct key for PATCHing admin email (#1189)
- 927117d [bugfix] Avoid accidentally marking changed emojis as orphaned + pruning them (#1188)
- a1dda22 [bugfix] change page width to prevent scrollbar overflow (#1182)
- cfa8d79 [bugfix] don't return error during account serialize on deleted emoji (#1177)
- d445c60 [bugfix] wrap the correct error on failed account update (#1176)
v0.6.0-rc1
Changelog
- 97f5453 [chore] Tidy up some of the search logic (#1082)
- daf44ac [chore] Bump database dependencies (#1164)
- fe39d50 [chore]: Bump codeberg.org/gruf/go-store/v2 from 2.0.9 to 2.0.10 (#1160)
- 0c1b1b0 fix missing lookup cache key for invalid domain block (#1158)
- c534230 [bugfix] Use Host domain for UA (#1156)
- c5ae88c [chore] Set User-Agent header in transport (#1154)
- d6f4d19 Tweak the User-Agent a bit (#1153)
- 746f3fa Additional IP range validations (#1152)
- e6cd81b [bugfix]: Fix IPv6 validation (#1150)
- 8b0c92e [docs] Explain that before 0.6.0, account confirm was necessary. (#1149)
- 13e9abd [feature] Add
admin media prune orphaned
CLI command (#1146) - 9e18c7f [bugfix] Change emailVerified to true for admin account create (#1140)
- 5c5c8ce [chore] Fix frogend admin emoji patch (#1148)
- 665d902 [feature/frogend] modify local emoji (#1143)
- b6dbe21 [feature]
PATCH /api/v1/admin/custom_emojis/{id}
endpoint (#1061) - 3e82196 [bugfix] Fix status boosts giving 404 (#1137)
- da89548 [bugfix] Prevent future statuses entering timelines (#1134)
- fcb9c0b [chore] cleanup storage implementation, no need for multiple interface types (#1131)
- c9d893f [feature/performance] Fail fast when doing remote transport calls inside incoming request contexts (#1119)
- 8942a70 [docs] Clarify that reverse proxy setups need trusted-proxies (#1127)
- 5ba5fb3 [chore/frogend] fix profile preview css, use role info (#1130)
- 1281a9f [chore/frontend] remove references to unused bundle.js (#1128)
- 50dc179 [feature] Prune timelines once per hour to plug memory leak (#1117)
- 90bbcf1 [docs] Document http/s/socks5 proxy use (#1118)
- 11cd608 [chore] fix broken buildx (whoops) (#1116)
- a898160 [chore] use kv.KVStore also for S3 storage (#1113)
- 6d43319 [docs] Document non-buildx cross compilation for docker image (#1115)
- f88cb3a [chore] markdown: disable Smartypants rendering (#1111)
- b153808 [docs] Add first draft of FAQ (#1086)
- 0c2971a [chore] update readme with kim's links (#1093)
- 274626a [chore]: Bump github.com/minio/minio-go/v7 from 7.0.43 to 7.0.44 (#1107)
- 4a95385 [chore] simplify logging to remove "safetywriter" given os.File has concurrency protection (#1083)
- 2eea3d5 [chore] improve errors returned fetching account/statues from DB (#1084)
- 5d55e8d [performance] add account block DB cache and remove block query joins (#1085)
- 9be1685 [bugfix] fix possible infinite loop on federated AP profile delete (#1091)
- 0490440 [docs] update forking instructions (#1080)
- be3d999 [chore] Little Dockerfile updates (#1071)
- 67106c9 [feature] Support markdown format for Account bio/note (#1037)
- 2216f25 [docs] Move and document logs (#1076)
- c964856 [docs] Remove trailing / from proxy_pass for nginx (#1077)
- 45ae719 [performance] replace account emojis relational query with separate calls to emojiDB to rely on cache (#1074)
- dccc2ee [performance] replace status query relationals with separate calls in order to rely on caches more (#1073)
- d98a48b [performance] don't use relations to select notification structs, use caches instead (#1072)
- 91c3489 [docs] Add AUR Reference (#1054)
- c56998f [docs] add account domain documentation (#1065)
- c1824b0 [chore] Replace blocking Floc with Topics. (#1068)
- 1852175 [docs] Update docker.md with docker tag / version stuff (#1067)
- f3e87ba [chore] cicd: snapshot
snapshot
instead of latest (#1066) - 81c1fe0 [frogend] upgrade deps (#1063)
- aa5c4e0 [frogend] Emoji categories (#1051)
- 940abc2 [chore] reversion: use specific columns for updating user again (#1059)
- 8598dea [chore] update database caching library (#1040)
- 9ab6013 [docs] Both HTTP proxies and NAT can cause rate limiting issues (#1053)
- 9ebc29b [chore] Update .drone.yml signature (#1052)
- 1f256e2 [chore] refactor test/cliparsing.sh into a go test below internal/config (#1036)
- 5210977 [bugfix] Fix unicode-unaware word boundary check in hashtags (#1049)
- fece7fa [chore] fix profile spacing on very small screens (#1050)
- a39a664 [feature] Serialize local account role via API, and show it via web view (#1045)
- 4cd00d5 [feature] Allow newly uploaded emojis to be placed in categories (#939)
- 8c20ccd [chore] Remove unused
admin account suspend
action (#1047) - e2e2bed [docs] Use correct Friendica link in README (#1046)
- d120743 [feature] add instance-expose-public-timeline flag (#1039)
- 8f2d3ca [chore]: Bump codeberg.org/gruf/go-cache/v3 from 3.1.7 to 3.1.8 (#1043)
- 96f11e7 [bugfix] Fix login on Mastodon iOS app for users with no statuses (#1042)
- e8c733d [chore] bump go-cache to v3.1.7 to fix possible issues with zero value keys (#1038)
- f7cde0d [documentation] Change default log path (#1030)
- 6fb4765 [chore] Fixes + updates in emoji dereferencing logic (#1022)
- edcee14 [feature] Read + Write tombstones for deleted Actors (#1005)
- 948e90b [feature] S3: add config flag to proxy S3 media (#1014)
- 3ce0e33 [chore] close in-storage media reader before opening write, no need to leave it hanging around (#1016)
- b755906 [docs] postgres collation warning (#1017)
- 847a466 [docs] Replace old references to the previous streaming with websockets (#1015)
- ebff71f [chore/frontend] CI steps for frontend stuff (#997)
- ad08c6c [frontend] fix conflict introduced by merge (#1007)
- b4f7316 [feature] Make instance thumbnail configurable via admin panel (#973)
- eb25739 [frontend] Custom Emoji Deletion (#994)
- be011b1 [chore]: Bump github.com/spf13/viper from 1.13.0 to 1.14.0 (#1003)
- a51da97 [chore]: Bump github.com/stretchr/testify from 1.8.0 to 1.8.1 (#1002)
- a9a43be [chore]: Bump github.com/microcosm-cc/bluemonday from 1.0.20 to 1.0.21 (#1004)
- 18e7e00 [chore] dependabot: prefix correctly, ignore npm deps (#1001)
- b08fd12 [docs] add link to SELinux policy (#993)
- 0e57246 [feature] various worker / request queue improvements (#995)
- 7c0bbd3 [chore] update gruf libraries (#996)
- 0d51d5c [docs] refer to the latest release version (#992)
- 53a1e47 [chore] Fix rel="nofollow" so that it only applies to external links (#991)
- 076680a [chore] Bump github.com/tdewolff/minify/v2 from 2.12.1 to 2.12.4 (#985)
- 459a5c8 [chore] Bump github.com/minio/minio-go/v7 from 7.0.37 to 7.0.43 (#983)
- a5f31e5 [chore] Bump github.com/spf13/cobra from 1.5.0 to 1.6.1 (#982)
- e7978f6 [chore] Bump github.com/go-playground/validator/v10 from 10.11.0 to 10.11.1 (#980)
- 1638470 Bump golang.org/x/text from 0.3.7 to 0.4.0 (#981)
- 1a23fb0 [chore] Enable Dependabot support for Go modules (#976)
- 05a8baa [bugfix] KVStore doesn't like lost+found directory (#972)
- 298a7ad [docs] add note about Alpha status right at the top (#971)
- f800970 [chore] gitignore /bin entry (#970)
- 4d66fb9 [feature] Make rate limit requests amount configurable (#966)
- 15be356 [bugfix] Check
media-description-min-chars
on submission of new status (#960) - fc9038d bump dependencies (#959)
- bcb80d3 [chore] bump gruf/go-store to v2 (#953)
- a9addb5 [bugfix] Increase field size limits when registering apps (#958)
- ee6a0a1 [bugfix] use the landing page user directly (#956)
- 2311c8e [docs] add matrix space to readme (#952)
- 1dfa7fe [bugfix] Wrap media in read closer (#941)
- bd05040 [bugfix] Use []rune to check length of user-submitted text (#948)
- f3fc040 [feature] Allow user to show instead of landing page on / (#922)
- c4c7139 [frontend] change bundler to skulk (#942)
- f81f1e7 [chore] Bump CI dependencies (#944)
- 29a71cf [frontend] Fix #923 and markdown css (#925)
- 4a925e4 [bugfix] create admin_account_actions table in tx (#940)
- ba46e62 [docs] Update apache-httpd.md (#937)
- 47de702 [docs] Change Apache SSL setup to automatic and manual mode (#936)
- ea90d12 [docs] Add Apache HTTP Server without LetsEncrypt (#935)
- 972bd17 [docs] Update Apache2 HTTP Server docs for websockets (#934)
- c0a2d70 [docs] Update swagger.md (#933)
- 31f0f27 [bugfix] Fix imports for helpers.gen.go (#924)
- c7ba195 [bugfix] Prevent future statuses showing in timelines (#932)
- 2a83390 [chore] update profile screenshot (#927)
- b4a83e4 FIx typo (#918)
- ccd5b34 [docs] Use correct form for status submit (#915)
- f7416d6 [feature] Add emoji DELETE handler at
/api/v1/admin/custom_emojis
(#913) - 6a95f5f [feature] Add
/api/v1/admin/custom_emojis/{id}
endpoint for single emoji GET (#910) - 70d65b6 [feature] Refetch emojis when they change on remote instances (#905)
- 3ca7164 [frontend] Use new GET custom_emoji admin api (#908)
- 30aaedb [frontend] use ISO639 library for language selection (#909)
- 80c2833 [frontend] small fixes (#907)
- eb85ef7 [feature] Add
/api/v1/admin/custom_emojis
endpoint (#902) - 5cd0872 [bugfix] add in-use checks for admin cli account creation (#904)
- 832befd [chore] Make paging logic more generic (#901)
- 8066306 [feature] Add opt-in RSS feed for account's latest Public posts (#897)
- aa07750 [chore] Standardize database queries, use
bun.Ident()
properly (#886) - e58a6a2 [performance] cache domains after max retries in transport (#884)
- 3bb45b7 [feature]
oob
oauth token support (#889) - 5cf0f99 [bugfix] Fix new domain block date (#893)
- f8528aa [feature] Add emoji image size to instance response (#892)
- 41aad21 [frontend] Make emojis v. slightly larger (#891)
- 51ff62d [chore] Reduced distributed assets with 'optipng -o7 -zm1-9 -keep FILENAME' between 28-56% (#890)
- 359ed1b [bugfix] Use background context instead of request context for async processing (#888)
- 1a56352 [frontend] scroll to highlighted toot, improve highlight (#885)
- fe238f8 [frontend] change spacing of status, text always on it's own line, move status date on mobile (#883)
- 3d9fb49 [chore] Old browser fixes (#882)
- 5249294 [chore] Bundler restructure (#880)
- 56f53a2 ...
v0.5.2 Stunning Sloth
This minor bugfix release fixes a couple of issues with domain blocks:
Now, domain blocks can be added in either unicode or punycode, and they'll work either way.
Also, side effects for domain blocks will now be processed correctly in the background after initiating a domain block via the API or admin panel.
This fixes an issue where a domain block would be created properly--and enforced, don't worry!--but side effects like deleting accounts from that domain, deleting follows etc, would not be processed. This meant you'd end up with account entries still sitting in the database, or you'd see that you were still being 'followed' by an account from a blocked domain, even though your instance was no longer sending or receiving messages from that domain. Silly!
If you had any domain blocks that weren't processed correctly before, you can just unblock and reblock the domain, and the side effects will now go through :)
If you're updating to this version from v0.5.0 or v0.5.1 there's no migrations or weird steps required.
If you're updating straight to this version from below v0.5.0, please read the notes for v0.5.0 first! https://github.com/superseriousbusiness/gotosocial/releases/tag/v0.5.0
Changelog
v0.5.1 2Sloth2Social
This is a very minor bug fix release that just corrects an issue sometimes seen when deleting statuses!
If you're updating to this version from v0.5.0 there's no migrations or weird steps required.
If you're updating straight to this version from below v0.5.0, please read the notes for v0.5.0 first! https://github.com/superseriousbusiness/gotosocial/releases/tag/v0.5.0
Changelog
v0.5.0 Sonorous Sloth
Hello everyone! Announcing GoToSocial v0.5.0 Sonorous Sloth. This is the sixteenth alpha release of GoToSocial! 🦥
Highlights
- Custom emojis are now supported! You can upload custom emojis via the
/api/v1/admin/custom_emojis
endpoint. See https://docs.gotosocial.org/en/latest/api/swagger/. By default, the size limit for emojis is 50kb to conform with Mastodon, but this can be changed in the config. In future, you will be able to upload / remove/ update custom emojis via the admin panel, but for now you must do it via the API. - OpenGraph meta tag support! When you link to a GoToSocial status or profile, it will properly serve preview information.
- Custom CSS is now supported for user profiles and statuses. If your instance has
accounts-allow-custom-css
set totrue
, you can set custom css for your profile and statuses through the user panel -- see https://docs.gotosocial.org/en/latest/user_guide/custom_css/ - GtS can now deliver messages to shared inboxes. This has significant performance improvements when you're followed by lots of accounts from a single instance with shared inbox support (Mastodon, Misskey, etc).
- Avatars of unknown accounts are now shown as cute little GtS sloths in client applications.
- Rate limit middleware!
- Loads of bug fixes.
- And more!
A huge thank you to everyone who contributed to this release! Contributors (alphabetical): @blackle @chmac @f0x52 @NyaaaWhatsUpDoc @nya1 @technomancy @tsmethurst
Thank you to everyone who tested the release candidates, reported bugs, and made suggestions ❤️
Thank you to everyone who made donations to our LIberapay and OpenCollective!!! <3
Migration Notes
Database Migrations
This release contains a few database migrations, which will run automatically when you've started up the new version. Please allow somewhere between 0 and 120 seconds for these migrations to run, and don't interrupt them!!
Config Changes
This release includes some configuration file changes. Newly added options can be seen here
Frontend Changes
There are changes to web assets and html templates in this version. When you update, don't just replace the binary, but untar the whole tar for the release, to make sure you have the latest versions of assets + templates. If you're using Docker, the latest versions are bundled in to the container so you don't need to do anything special.
Detailed Changelog
Features
- c4a0829 [feature] Show + federate emojis in accounts (#837)
- 69a193d [feature] Allow delivery to sharedInboxes where possible (#847)
- b42469e [feature] Allow users to set custom css for their profiles + threads (#808)
- 268f252 [feature] Fetch + display custom emoji in statuses from remote instances (#807)
- d09ddb4 [feature] opengraph meta tags (#806)
- a872dde [feature] Custom emoji updates (serve emoji via s2s api, tune db models) (#805)
- 006c8b6 [feature] Set default header and avatar for API accounts to GtS ones (#799)
- bf9d146 [feature] Federate custom emoji (outbound) (#791)
- 1e1cdee [feature] Emojify spoiler and content in web templates (#785)
- ecb97f4 [feature] Add support for the exclude_types[] parameter on the notifications endpoint (#784)
- bee8458 [feature] add rate limit middleware (#741)
- daec9ab [feature] Sort follow requests, followers, and following by updated_at (#774)
Bug fixes
- 00d3885 [bugfix] Fix emphasis being added to emoji shortcodes with markdown parsing (#856)
- 15a67b7 [bugfix] more nil checks baybeeeeeeeeeeeeeeeeeeee (#854)
- 7bea107 [bugfix] add so, many, nil, checks (#853)
- 82061b1 [bugfix] panic during child thread iteration (#852)
- 7a1aa04 [bugfix] update thread iterators to not use recursion (#851)
- 78409f1 [bugfix] Wrap media reader in length reader to determine length if no
content-length
given (#848) - de26924 don't error out if storage key already exists (#840)
- 3777f5c [bugfix] Server and closer bugfixes (#839)
- c1585d5 [bugfix] Fix domains not being unblockable, log internal server errors from API (#833)
- 1149310 [bugfix] Fix emojis, attachments, and mentions not being serialized correctly sometimes via AP (#829)
- 2b34a9b [bug] fix unique constraint conflict (#820)
- a26280b [bugfix] Fix preposterous characters reserved per URL amount (#809)
- 58c00d9 [frontend] Transition neatly from cropped photos (#802)
- ee01e03 [bugfix] Catch json syntax errors in the frontend + display a more helpful message (#804)
- 2db0c64 [bugfix] Use 'Image' instead of unrecognized 'Gif' type for media attachments (#801)
- 4e13408 [bugfix] Fix status fields
in_reply_to_id
andin_reply_to_account_id
not being nullable (#798) - 39d9888 [bugfix] Fix occasional federatingdb test fail (#792)
- f01492a [bugfix] Use custom blackfriday renderer to only add mention/hashtag links in normal text (#787)
- c5c425b [bugfix] Fix tusky search issue by returning empty if offset is greater than zero (#786)
- ea902bb [Admin panel] Make Description boxes multi-line (#781)
- 5d9c6b0 [bugfix] Do not generate a notification when favouriting your own post (#780)
- 1f8ecf1 [bugfix] Fix issue where the 'favourited' field of a notification's status is always false (#779)
- 3ce26a6 [bugfix] Use reblogged status in notification, instead of wrapper status (#775)
Performance
- 429bb77 [performance] Update indexes that were causing slow db queries (#855)
- d68c04a [performance] cache recently allowed/denied domains to cut down on db calls (#794)
- 077e663 [performance] cache account db lookups by public key URI (#795)
- 614ab12 [performance] use GetAccountByUsernameDomain() for local account lookups to rely on cache (#793)
Documentation
- eb1bb8b [docs] NLnet follow up questions (#846)
- 8c20626 [docs] Add --config-path to example CLI commands where needed. (#843)
- 6a10123 [docs] Swagger document
/api/v1/custom_emojis
(#824) - 31639c9 [docs] unbreak standard css (#818)
- 1455c4b [accessibility] Use higher-contrast for api response examples (#816)
- 47152c2 [docs] Fix link to open collective (#770)