Skip to content

Releases: superseriousbusiness/gotosocial

v0.6.0 Soothing Sloth

06 Dec 12:01
f9e5ec9
Compare
Choose a tag to compare

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 ...
Read more

v0.6.0-rc3

03 Dec 10:11
bc917a4
Compare
Choose a tag to compare
v0.6.0-rc3 Pre-release
Pre-release

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

01 Dec 15:36
cf20397
Compare
Choose a tag to compare
v0.6.0-rc2 Pre-release
Pre-release

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

29 Nov 09:45
97f5453
Compare
Choose a tag to compare
v0.6.0-rc1 Pre-release
Pre-release

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 ...
Read more

v0.5.2 Stunning Sloth

04 Oct 16:03
Compare
Choose a tag to compare

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

  • c31f219 [bugfix] Use background context instead of request context for async processing (#888)
  • ffcf949 [chore] Normalize domain blocks to punycode (#873)

v0.5.1 2Sloth2Social

29 Sep 10:39
Compare
Choose a tag to compare

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

28 Sep 10:01
00d3885
Compare
Choose a tag to compare

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 to true, 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 and in_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)

Chores

v0.4.0 Fancy Sloth

31 Aug 09:36
969c194
Compare
Choose a tag to compare

Hello everyone! Welcome to GoToSocial v0.4.0 Fancy Sloth, the fifteenth alpha release of GoToSocial! 🦥

This release contains a whole bunch of fancy new stuff, bugfixes, and updates 🎆

Highlights

  • We have a user settings panel now! The panel is located at https://[your-instance.com]/user. The settings panel allows you to add/update a Bio, set your Display Name, upload a Profile Picture, and more! The user guide for the settings panel is right here -> https://docs.gotosocial.org/en/latest/user_guide/user_panel/
  • The GtS web frontend for profiles and statuses now uses a lightbox for displaying images. This is much smoother than the previous implementation, which just opened the image in a new tab. If you prefer to browse without javascript enabled, the frontend will fall back to the old behavior :)
  • Better markdown posting support: you can set your default post format using the user settings panel, in order to produce richer posts using markdown. Check the docs for more -> https://docs.gotosocial.org/en/latest/user_guide/posts/#input-types
  • You can now clear old notifications!
  • Lots and lots of tweaks and bugfixes, check the detailed changelog for full notes.

Migration Notes

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.

Detailed Changelog

Features

  • 79fb8ba [feature] Allow footnotes in markdown, use <br> instead of \n (#767)
  • 117888c [feature] Add first iteration of a user panel at /user (#736)
  • f2a6ae3 [feature] Photoswipe gallery (#740)
  • f5689a9 [feature] Let accounts set default status format, and use this when processing new statuses (#739)
  • 4fdbef0 [feature] Implemented notification clear (#720)
  • 8fdc9ed [feature] serve HEAD requests via the fileserver (#735)
  • 8106b69 [feature] add 'state' oauth2 param to /oauth/authorize (#730)

Bugfixes

  • 969c194 [bugfix] Relax outgoing http request queue (#760)
  • 54f6cae [bugfix] Status visibility + excludeReplies fixes (#769)
  • e9b5ba0 [bugfix] Check the length of form.MediaIDs instead of just checking for null (#766)
  • 2fe3a2b [bugfix] Fix boost of boost issue (#764)
  • b96533c [bugfix] Fix loss of account info on export/import, add tests (#759)
  • 570fa7c [bugfix] Fix potential dereference of accounts on own instance (#757)
  • 586ebb5 [bugfix] return after redirects to web representation (#755)
  • 9a9702c [bugfix] Check orientation when reading width/height of images (#749)
  • 91c8d5d [bugfix] Fix thumbnails not taking exif rotation into account (#746)
  • 7090f0a [bugfix] Fix placeholder typo in user panel (#745)
  • 879b4ab [bugfix] Markdown formatting updates (#743)
  • 3ab3f58 [bugfix] Parse source first before checking if empty form (#738)
  • fc81e64 [bugfix] remove <= 0 expires_in from oauth token response (#731)

Frontend

  • c951ba1 [frontend] gentle css fiddling (#761)
  • 52fe681 [frontend] Sensitive media spoilers (#752)
  • bfcd80a [frontend] Style scrollbars site-wide (not just in code) (#753)
  • 3f626c8 [frontend] Status styling tweaks (#751)
  • 745f549 [frontend] style blockquote nicely within content (#742)
  • 72650e4 [frontend] Update client list and apply some minor fixes (#734)

Documentation

  • 4c60a14 [docs] Add user settings panel docs, other small updates (#768)
  • 2ca234f [docs] Textual updates on markdown files (#756)
  • 4cbde4d [docs] update roadmap (#732)

Chores

v0.3.8 Spotted Sloth

28 Jul 13:01
7ca5bac
Compare
Choose a tag to compare

Hello everyone!

Here's release v0.3.8 Spotted Sloth, for all your slothy needs!

Highlights

  • Lots of frontend styling fixes, especially on chrome-based browsers and smaller screens / mobile devices.
  • Back and next button on profile pages: you can page through GtS users' public statuses now!
  • Cache control updates: profiles and attachments should render a lot faster thanks to more intelligent caching.

Migration Notes

This release contains a database migration, which will run when you update. You don't need to do anything except let it run and don't interrupt it, it will take about 10 seconds or so.

We also updated some defaults in this release (specifically media-image-max-size and media-video-max-size) to be more in line with Mastodon defaults so as not to break user expectations. You may want to update your config.yaml with these new values :)

Detailed Changelog

Features

  • c3b6a5b [feature] Implement cache-control and etags for static assets (#711)
  • 6418307 [feature] Add back/next buttons to profiles for paging through statuses (#708)

Performance

  • 839c434 [performance] Add long cache-control max age to fileserver (#710)
  • a465cef [performance] Add new index to fix slow web profile queries (#706)

Bug fixes

  • 7ca5bac [bugfix] Fix Toot CLI media attachments not working properly (#726)
  • 73b8839 [bugfix] Make /api/v2/media more compatible with masto API (#724)
  • d20ec96 [bugfix] update go-cache library to fix critical bug during cache sweep scheduling (#725)
  • c84384e [bugfix] html escape special characters in text instead of totally removing them (#719)
  • 59be746 [bugfix] Markdown format fixes (#718)
  • a6528fe [bugfix] Various fixes (#699)

Frontend

  • b326bf4 [frontend] Tweak border radius for header + avatar (#713)
  • c7e5c66 [frontend] Footer styling adjustments (#709)
  • 1d5c737 [bugfix] Fix profile card display issues on smaller screens w/responsive query (#696)
  • 211266c [bugfix] Fix display names in thread view causing wrapping issues on small screens (#698)
  • 8e68970 [frontend] Fix up status 'show more' and z-index (#701)
  • dbb223c [bugfix] Allow instance titles to wrap (#695)
  • 81dd4f3 [bugfix] Fix footer info fields not wrapping (#694)
  • b61b000 [bugfix] Fix incorrect domain showing in profiles (#693)

Docs

  • 7b72ba4 [docs] Add client_max_body_size 40M; to nginx docs (#727)
  • 56b25d0 [docs] Fix typo in funding.yml (#722)
  • 136799a [docs] Update sponsorship + funding sections (#721)
  • c2039a7 [docs] document the migration between local and s3 (#692)

Chores

  • 40f91d0 [chore] Update image/video size defaults to mastodon's (#723)
  • 098dbe6 [chore] use our own logging implementation (#716)
  • ab03318 [chore] move dialer inside new (#715)
  • 6934ae3 [chore] improved router logging, recovery and error handling (#705)
  • 7cc4030 [chore] consolidate caching libraries (#704)
  • e75d742 [chore] Improve panic handling (#700)

v0.3.7 Sneaky Sloth

04 Jul 14:51
b6be973
Compare
Choose a tag to compare

Hello everyone! Remember when we said that v0.3.6 was the last release before 0.4.0? Well, we lied (accidentally).

This release contains some cool new features and some important security fixes; in particular, we fixed an important issue with the visibility of self-boosted followers-only posts, so we recommend updating to this version asap to avoid leaking anything confidential.

Thanks to @f0x52 we also have new styling for profile and instance pages! Remember to hard-refresh (ctrl-f5) in your browser after updating to see the shiny new pages ✨

Highlights

  • New instance page and profile page styling! More accessible color contrasts, and a cleaner look for profile cards / headers.
  • Added /api/v1/instance/peers endpoint. It's disabled by default. Check the config.yaml file for how to enable this.
  • Experimental S3 support has been added. S3 will only work for new instances, not existing instances doing an update, so please be aware of this. We will add a migration script for this in the future so that existing instances can switch to S3 for storage if they like :)
  • Add mastodon style configuration object to /api/v1/instance response. This should cause fewer compatibility issues with client apps.
  • Cleanup job to remove unused local attachments that were never attached to a status, should save a little bit of disk space.

Known Issues

  • Profile pages show @username@Instance Title rather than @username@instance.url.com as they ought. We'll fix this next time :)

Detailed Changelog

Frontend

Features

  • 9d0df42 [feature] S3 support (#674)
  • 9e7d022 [feature] Cleanup unattached local media (#680)
  • 07620ac [feature] Use default instance thumbnail if instance account header not set (#672)
  • 68736ef [feature] add configuration to /api/v1/instance response (#670)
  • 5f00d49 [feature] Implement /api/v1/instance/peers endpoint (#660)

Bugfixes

  • 4a69651 [bugfix] Visibility fixes (#687)
  • 664713d [bugfix] Make hashtag regex work with non-ascii characters (#682)
  • 3e4e57d [bugfix] disallow following or blocking yoursel (#667)
  • 0846b76 [bugfix] Fix 404 on status delete redraft (#668)
  • 7eacbd0 [bugfix] allow setting empty email via instance patch (#665)
  • 604600c [bugfix] Don't remove jpeg orientation metadata (#663)

Docs

  • b6be973 [docs] Update doc images to versions with current styling (#689)

Chores

  • c6d1b82 [chore] configure instance.Version for testrig (#659)
  • de4d752 [chore] Update pruneOneLocal to use ctx (#684)
  • 07b0a42 [chore] Re-enable source tar but name it clearly as source (#683)