Skip to content

Releases: superseriousbusiness/gotosocial

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 @[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

  • 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)

v0.3.6 Slimy Sloth

20 Jun 12:26
8c7945f
Compare
Choose a tag to compare

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

  • ec81d28 [frontend] add Accept header to oauthed api requests (#657)

Chores

  • 610395d [chore] make tests more cacheable by avoiding time.Now() (#656)

v0.3.5 Speedy Sloth

15 Jun 07:03
13e4bbd
Compare
Choose a tag to compare

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 and error_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

v0.3.4 Salacious Sloth

26 May 12:02
1cdc163
Compare
Choose a tag to compare

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

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

  • 8085310 [accessibility] Add description for the pinafore logo (#568)

v0.3.3 Definitely Not Cursed Sloth

12 May 09:43
898d256
Compare
Choose a tag to compare

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:

  • 898d256 [bugfix] Fix server trying to listen twice on same address when l.e. enabled (#557)

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

26 Apr 16:19
9cf66bf
Compare
Choose a tag to compare

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

  • 9cf66bf [chore] Return more useful errors from auth failure (#494)
  • d5fe729 [chore] Add two new test images for media processing (#424)
  • 88979b3 [chore] Update bun and sqlite dependencies (#478)

v0.3.0 Stimky Sloth

16 Apr 11:38
e74ec70
Compare
Choose a tag to compare

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

  • e74ec70 [documentation] add screenshots to docs (#459)
  • 7883dd5 [bugfix] Convert IDNs to punycode before using as session name (#458)
  • af97d6b [bugfix] Use background ctx for domain block side effects (#457)
  • 26683b3 [feature] Web profile pages for accounts (#449)

v0.2.3

10 Apr 13:18
a7e9dee
Compare
Choose a tag to compare

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

Detailed Changelog

  • a7e9dee [bugfix] Fix broken only_media and only_public flags on /api/v1/accounts/:id/statuses (#448)
  • 707de09 [dependency] Update superseriousbusiness/activity dependency (#446)
  • 03d7c75 [chore] Update Go version to 1.18 (#444)
  • 906981a [documentation] Add third-party packaging to documentation (#443)