Releases: superseriousbusiness/gotosocial
v0.4.0 Fancy Sloth
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
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
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@[email protected]
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
Chores
v0.3.6 Slimy Sloth
This is a minor bugfix release of GoToSocial.
The main reason for doing this release was an issue where accounts could sometimes end up webfingering themselves, which would cause all sorts of annoying problems. There's also a few other small fixes in this one :)
No migration notes this time, should just be a standard upgrade!
❤️ 🦥
Detailed Changelog
Bug fixes
- 8c7945f [bugfix] Account self finger fix (#658)
- c48266c [bugfix] for the second accounts.note_raw migration (#653)
- 0e12ee0 postgres locale: fix accounts.note_raw migration (#651)
Packaging
Frontend
Chores
v0.3.5 Speedy Sloth
Hullo sloth enthusiasts! This here is the eleventh ALPHA release of GoToSocial, release codename Speedy Sloth 😎
This update includes a migration which may take a while to run, please see the migration notes below!
Highlights
- In this release, we've updated the way we package our frontend stuff. A nice bonus of this is that the admin panel is now bundled in with all the static frontend changes. If you didn't have the admin panel installed yet on your instance, you will now after updating. Just go to
/admin
at your instance URL to use it! - We now webfinger accounts properly at a set duration to display account domains properly. So if you have your GoToSocial host set to
gts.example.org
but your account domain set to (and properly forwarded from)example.org
, now other GtS users will see@[email protected]
instead of@[email protected]
. You'll see other accounts at their proper domains as well. - Better compatibility with Tusky: you can now page nicely through your notifications, and through an account's posts.
- Lots of bug fixes, see below.
Migration Notes
This release contains a migration which cleans up duplicated media caused by a previous bug (#587). This will save some disk space by cleaning up obsolete images that are still hanging around in your storage. However, it may take a while to run when you first migrate to 0.3.5, which will cause some downtime for your instance.
We estimate that the migration will take anywhere between 0 and 30 minutes depending on the specs of your server, and the age of your instance and how active it's been. You can follow the progress of the migration in the logs, please don't interrupt it!
Detailed Changelog
Features
- 694a490 [feature] Add
created_at
anderror_description
to/oauth/token
endpoint (#645) - 1ede54d [feature] More consistent API error handling (#637)
- 4e6625e [feature] add vscode workspace config for linting + debugging (#588)
- 6f6e89e [feature] Add paging via
Link
header for notifications and account statuses (#629) - 327d3f0 [feature] Start adding advanced configuration options, starting with
samesite
(#628)
Frontend
- b43f9ce [frontend] Restructure Frontend Sources (#634)
- 99fab9c [frontend] linkify header mascot+title (#633)
- 323dbca [frontend] Reduce width of profile img with screen width (#615)
- 8de9b7a [frontend] Add padding to the bottom of main (#616)
Bugfixes
- 2385b51 [bugfix] Make accounts media_only query also work with pg (#643)
- 5864954 [bugfix] Fix domain blocks get regression (#642)
- 91c0ed8 [bugfix] #621: add weak type handing to mapstructure decode (#625)
- f3b4442 [bugfix] Update time marshalling format to provide 3 digits of ms (#630)
- 2b11d4b [bugfix] Add
accept: application/activity+json
to dereferencer (#611)
Chores
- 13e4bbd [chore] Duplicated media cleanup (#649)
- da2386b [chore] Fix testrig emoji bug (#646)
- 7f9925a [chore] Refactor thread dereference a bit for clarity (#647)
- cf5c6d7 [chore] Validate/set account domain (#619)
- dfdc473 [chore] Webfinger rework (#627)
- f30a581 [chore] gitignore shell.nix (#639)
- 265b680 [chore] Adds Issue templates to Github (#626)
- 43ac0cd [chore] Global server configuration overhaul (#575)
- ae5402a [chore] Mastodon api fixups (#617)
- 73d5766 [chore] Debug failed account get (#612)
- dc8cc7e [chore] Add test for dereferencing Owncast service account (#613)
v0.3.4 Salacious Sloth
Hello earthlings!
Here's the v0.3.4 Salacious Sloth release of GoToSocial that all the cool kids have been talking about!
This is the tenth ALPHA release of GoToSocial 🎆
Highlights
- Unused avatars and headers are cleaned up now, in addition to old media attachments. This will lead to some disk space savings :)
- We did a lot of performance improvements in this release! Things will feel nippier in general thanks to improved database indexes.
- We tightened up some of the block checking logic, so you should see fewer posts mentioning or replying to domains or accounts that you have blocked.
- We have a new endpoint for manually triggering media cleanup, check the swagger docs :)
- Custom emojis endpoint is now implemented. We don't yet federate custom emojis, but this brings us a step closer to that functionality.
Migration notes
This release adds a couple of indexes to the database during a migration step. You don't need to do anything special for this, just let it run (it will likely take less than a minute), and don't interrupt it.
Detailed Changelog
Features
- caa0cde [feature] implement custom_emojis endpoint (#563)
- b915a41 [feature] Basic config validation (#562)
- b143877 [feature] Unused avatar and header cleanup (#574)
- 6e947ff [feature] Media cleanup endpoint (#560)
Performance
- 1cdc163 [performance] Don't retry/backoff invalid http requests that will never succeed (#609)
- 0f01f72 [performance] Bump default workers to CPUs * 2 (#608)
- f4b0d76 [performance] Add further indexes to mitigate laggy queries (#586)
Bug fixes
- 5668ce1 [bugfix] Fix HTML escaping in instance title (#607)
- 196d542 [bugfix] Don't serialize instance account if not set (#603)
- 2d748a6 [bugfix] Only search remote if protocol is http(s) (#601)
- 21557c9 [bugfix] Set refetch to true in iterateDescendants (#600)
- f0c9f41 [bugfix] Fix multiple dereferences of boosted status causing media duplication (#589)
- f5a4f43 [bugfix] Fix
error extracting status content: no content found
(#598) - a09e101 [bugfix] If status URL is empty, use URI instead and don't log unnecessary error (#597)
- 62d4d75 [bugfix] Stop some statuses from being home timelined when they shouldn't be (#585)
- b2810fe [bugfix] Clean up boosts of status when the status itself is deleted (#579)
Security
- f848aaa [security] Set SameSite to
strict
instead of browser default (#606) - 469da93 [security] Check all involved IRIs during block checking (#593)
- 223025f [security] transport.Controller{} and transport.Transport{} security and performance improvements (#564)
Chores
- a54efa0 [chore] Serialize times as UTC ISO8601 instead of RFC3339 (#602)
- 5ef41ba [chore] Timeline test updates (#578)
- 27a3c1d testrig: override bind address from environment variable (#577)
- 4ac508f [chore] Update LE server to use copy of main http.Server{} to maintain server timeouts etc (#571)
- 9f2a2ab [bugfix] update syslog tests to listen/connect specifically to ipv4 loopback (#561)
Documentation
- 1461adf [docs] document a checklist for how to go about a release (#592)
- d6abe10 [docs] Add Caddy instructions to the documentation (#594)
- 6838b32 [docs] Mention
AmbientCapabilities=CAP_NET_BIND_SERVICE
in example systemd service (#576) - 545b16a [documentation] Nlnet application (#572)
Accessibility
v0.3.3 Definitely Not Cursed Sloth
Bad news everyone, version 0.3.2 was cursed. The good news is, this version is definitely not cursed (see the title).
Changes between 0.3.2 and 0.3.3:
The change notes from 0.3.2 are reproduced below for posterity. But beware, they are haunted.
Hubris
You there, boy, what day is it?
Why, it's May 11 sir!
May 11, then it's not too late! To release v0.3.2 Suspicious Sloth!
Highlights
This release brings some serious database performance improvements thanks to some new indexes and other optimizations we made to queries. If your GtS instance was feeling sluggish this will likely make it feel new and fresh again.
We've also introduced worker pools and queuing to media processing, which should ensure that your instance doesn't get overwhelmed when doing lots of remote dereferencing.
Another neat thing: you can properly edit your profile now without getting spammed with html, phew.
We've also added a project roadmap, so you can get an idea of which features will arrive when. This can be read right here.
Oh yes, and self-boosting!
Migration
After updating to this version, the first time you go to edit your profile, the text will appear to be blank. This is normal. Make sure you copy your existing bio/profile text (just ctrl-c it) before editing, and paste it back in to the now-empty field. This is only needed for the first time you edit your profile after upgrading. After that, it will work as normal.
This release also includes a database migration to add the new indexes and fields to the database. You don't need to do anything in particular for this, just update and let it run.
Acknowledgements
Thanks to all contributors, donators, and people who've been using the software and raising issues/requests! <3
Detailed Changelog
Features
- b24b71c [feature] Include password strength in error message when password strength is too low (#550)
- a561ef3 [feature] Update media manager to use internal/worker package (#543)
- e09958e [feature] Run initial cache cleanup on gotosocial start in case max-age changed (#533)
- f9b3514 [feature] allow absolute path to templates (#507)
- 420e2fb replace async client API / federator msg processing with worker pools (#497)
- 69011d4 Add support for running profiling when debug build-tags provided (#491)
- faae250 Add logging to the new generic worker package (#516)
Bugfixes
- 5004e0a [bugfix] Fix remote media pruning failing if media already gone (#548)
- 26b74ae [bugfix] Fix existing bio text showing as HTML (#531)
- 3112949 [bugfix] Fix panic when relative tmpl path given to router (#528)
- 9265a09 [bugfix] Allow self-boosting for any visibility but direct (#510)
- cc5f2e9 [bugfix] Fix possible race condition in federatingdb (#490)
- 8e80f98 [bugfix] use Exec to rename media_attachments (#498)
Documentation
- 0011166 [documentation] Admin Panel installation + usage (#552)
- 8124dcf [Documentation] tidy docker-compose docs, add note about uid/gid (#551)
- 807a8e1 [Documentation] Update glossary, expand entry for dereferencing (#542)
- d2b7c89 [documentation] Add known issues + project links in readme and docs (#541)
- f040ad8 [documentation] put single-quotes around passwords in install docs (#534)
- 141107b [documentation] Corrects the Helm-Chart URL by 0hlov3 (#530)
- c3b6ddd [documentation] Adds a Kubernetes Helm Chart to README.md (#496)
- f5e0068 [documentation] Add project roadmap (#514)
- 4851ffe [documentation] Recommend users take latest stable release in installation guides (#512)
- c36fbab [documentaton] Fix port number in Reverse proxy section (#506)
Performance
- 08eb271 [performance] improved logrus output switching performance (#544)
- a5852fd [performance] Speed up some of the slower db queries (#523)
- e06bf9c add extra indexes as a migration (#527)
Other / chores
- d7b46a4 [chore] Move initial MediaRemotePrune to cmd.server function (#536)
- b28fd74 [chore] Fix inbox iris test to use 'contains' instead of index (#529)
- b56dae8 [chore] Update all but bun libraries (#526)
- d93e8dd [chore] Add Federatingactor.Send() tests and log call (#509)
- 63f84da [chore] Inboxes for iri test (#508)
v0.3.1 Sleepy Sloth
Another day another alpha release of GoToSocial! This is alpha release number eight.
Highlights: many bugfixes, some performance improvements, documentation refinement, and some big speed improvements for outgoing messages (from ~30 seconds to federate to ~1 second).
All in all, this is a better and more stable release than v0.3.0 was!
Migration
If you're migrating from 0.3.0 to this release you don't need to do anything special.
If you're migrating from 0.2.x, see the migration notes for 0.3.0.
Detailed Changelog
Features
- 9813a04 [feature] Implement media v2 endpoint to accommodate Tusky 17 (#480)
- 094f032 [feature] Add log-db-queries config option (#465)
Bugfixes
- 728c4a5 [bugfix] Trim log entries to 1700 chars before they enter syslog (#493)
- 2259838 [bugfix] Fix CWs not showing sometimes (#488)
- eeb78bd [bugfix] Allow processing of .png files where checksum is not correct (#487)
- 0d05bf4 [bugfix] Fix status API / status web API being case sensitive (#481)
- 1e3b385 [bugfix] Fix infinite domain block database loop (#467)
- c365863 [bugfix] Use our own (Batch)Deliver implementation for federated messages (#466)
Documentation
- 0e2f31f [Documentation] Simplify docker-compose documentation + example (#468)
- 4bace80 [documentation] NGINX docs updates (#471)
- 03bcd8a [documentation] Update index.md (#475)
- 61e6013 [documentation] Add WebSocket protocol documentation (#470)
- 721061b [docs] unify nginx explainers and add apache httpd (#455)
Chores
v0.3.0 Stimky Sloth
This is the seventh alpha release of GoToSocial!
Highlights
This release finally brings public profile pages to GoToSocial! 🎆 Your public profile page will be available at https://example.org/@your_username. Currently, it shows your header and avatar, your bio, some stats about your account, and a list of your most recent 10 completely public posts.
Migration Notes
If you're running with Docker, just upgrade as normal.
If you're using a binary release, you'll need to make sure you untar the whole release again instead of just replacing the binary, since the release includes new templates and changes to the css files that you'll need to include to have the profile pages render correctly.
Known Issues
We're aware of a couple issues with profile pages initially loading slightly zoomed in on mobile. We'll patch this up in another release :)
Detailed Changelog
v0.2.3
This is the sixth alpha release of GoToSocial.
Highlights
- We've switched to Go version 1.18 for building the GoToSocial binary. This should bring some speed improvements on ARM64 architectures. Apart from that, you probably won't notice a big difference. See here for the Go 1.18 release notes if you're into that kind of thing.
- Federation of outgoing messages is HUGELY faster thanks to some changes in the GoToSocial fork of the go-fed activity library (which we've PRed upstream). Previously, federating to all one's followers could take up to 30 seconds or so. Now it takes about a second or less!
Acknowledgements
Thanks everyone! Thanks for trying the software and for all your feedback weeee