Releases: superseriousbusiness/gotosocial
v0.10.0-rc2
Hello hello! Here's the second release candidate for 0.10.0!
If you're already on 0.10.0-rc1, you can update to this new release candidate with no fancy steps required.
If you're on 0.9.0 or lower, please read the release notes from the previous release candidate for upgrade steps etc, but replace 0.10.0-rc1 with 0.10.0-rc2 throughout.
Thank youuuuuuuuuuuu!
Changelog
- 12b6cdc [bugfix] Set Vary header correctly on cache-control (#1988)
- 8868889 [chore] Skip webfinger test on CI (#1983)
- 1951e6c [bugfix] Update account
Update
logic (#1984) - 8d92b24 [bugfix] Align default values in the configuration file with the code (#1971)
- f5d6503 Bump semver from 6.3.0 to 6.3.1 in /web/source (#1981)
- 0d267fd [bugfix] Properly handle range > content-length (#1979)
- ca5492b [bugfix] Tidy up rss feed serving; don't error on empty feed (#1970)
- a29b5af [chore]: Bump golang.org/x/oauth2 from 0.9.0 to 0.10.0 (#1975)
- f0dad43 [feature] Use Read/Write lock for config (#1969)
- 6de5ca4 [chore]: Bump golang.org/x/net from 0.11.0 to 0.12.0 (#1973)
- 901770f [chore]: Bump golang.org/x/image from 0.8.0 to 0.9.0 (#1972)
- 65c8970 [chore] Fix password typos (#1966)
- b0f0c8b [docs] Activate the edit feature (#1967)
- 6dbb8ba [bugfix] Fix delete follow req instead of follow (#1962)
- f40bb02 [bugfix] Delete mutual follow (requests) when receiving block from remote (#1960)
- 747ea58 [docs] Clarify how to add a page (#1959)
- 672386a [bugfix] Don't overflow on very wide status'es (#1956)
v0.10.0-rc1
Hello hello hello, here's a cheeky release candidate for version 0.10.0 of GoToSocial!
We did quite a bit of refactoring and tidying up in this version, which is neato, but we also added a couple new features of course...
Highlights
- LISTS: this has been one of the most frequently requested features for GoToSocial since forever, so we're happy to be able to include it now! With this release, you can create lists, delete lists, add/remove accounts from lists, and view list timelines in your client app. It works pretty OK!
- Partial search implementation: previously, you could only use search to look for exact URLs (
https://example.org/users/someone
) or to look for users by their exact namestring (@[email protected]
). With this release, you can now also do partial text searches for:- statuses you've posted yourself (search in status content warning and body)
- statuses posted in reply to you (search in status content warning and body)
- accounts you don't yet follow (search in username and display name)
- accounts you do follow (search in username, display name, and bio)
- Profile field settings: you can now set up to 6 profile property/value fields in the settings panel.
- Loads of bug fixes. We fixed some of the more annoying/longstanding bugs including missing profile + header pics, please see the section 'First run of media cleanup' below.
Migration notes
Upgrading
To upgrade to 0.10.0-rc1 from a previous release:
Binary/tar
- Stop GoToSocial
- Untar the new release, including the web assets and html templates.
- Edit your config.yaml file as necessary (see below).
- Start GoToSocial
Docker
- Stop GoToSocial.
- Pull the new docker container (
superseriousbusiness/gotosocial:0.10.0-rc1
orsuperseriousbusiness/gotosocial:latest
) - Start GoToSocial.
config.yaml
The configuration file has changed since the previous release. You can see a diff of the config file here: v0.9.0...v0.10.0-rc1#diff-c071e03510b2c57e193a44503fd9528a785f0f411497cc75841a9f8d0b1ac622
Database Migrations
This release contains several database migrations which will run the first time you start up this new version. Be sure not to interrupt this migration process. This will take anywhere between a couple seconds and ten minutes (on slower hardware). Please be patient!
First run of media cleanup
The first time your instance runs a media cleanup (normally at midnight every night), it will likely take a long time. We introduced some issues in 0.9.0 to do with avatars + headers, and the first media cleanup you do in this new version fixes those issues by iterating through all your stored media attachments and fixing ones whose file is missing. Just let it run, it will sort itself out!
Detailed changelog
Features/performance
- 2a99df0 [feature] enable + document explicit IP dialer allowing/denying (#1950)
- 81f33c3 [feature] Add media list command (#1943)
- ba0bc06 [feature] Add instance stats to /about (#1936)
- 8e00431 [performance] update go-cache library (#1917)
- 831ae09 [feature] Add partial text search for accounts + statuses (#1836)
- 8fb5a7e [Frontend] Settings for profile fields (#1885)
- 20978b1 [performance] wrap httpclient response body to ensure drained before close (#1854)
- f5c004d [feature] Add List functionality (#1802)
- fc524f8 [feature] Configurable custom css length (#1827)
Bugfixes
- ac564c1 [bugfix] Reorder web view logic, other small fixes (#1954)
- 3d16962 [chore/bugfix] Break Websockets logic into smaller read/write functions, don't log expected errors (#1932)
- 2a40c81 [bugfix] Try to fix the webfinger test, again (#1931)
- d98b631 [bugfix] Use gtserror package for WrongType errs (#1930)
- 52ebff5 [bugfix] Only mark status orphaned on 410 Gone (#1923)
- 3e19f48 [bugfix] Ensure
InReplyToID
set properly, update dereference ancestors func (#1921) - 9a22102 [bugfix/chore] oauth entropy fix + media cleanup tasks rewrite (#1853)
- 73bfb5f [bugfix] Parse POST-style forms in the list member removal endpoint (#1903)
- d8e16a2 [chore/bugfix] Refactor
ap/extract.go
functions, return URIs more reliably (#1897) - 0fa06c0 [bugfix] Accept non-multipart forms for account updates (#1896)
- e70bf8a [chore/bugfix] Domain block tidying up, Implement first pass of
207 Multi-Status
(#1886) - 827cc4d [chore/bugfix] Demote failed inbox forwarding to warn log rather than error return (#1892)
- 5e2897e [bugfix] Invalidate timeline entries for status when stats change (#1879)
- b0015a3 [bugfix] Delete from list timeline on status deletion (#1878)
- d7d6603 [bugfix] Fix slow joined home timeline query (#1867)
- 1d4137f [bugfix] Fix first item of thread dereferencing always being skipped (#1858)
- 1f39275 [bugfix] Allow lowercase emoji shortcode in frontend (#1851)
- 2358cf4 [bugfix] Overwrite API client closed errors with
499 - Client Closed Request
(#1857) - 9da20ee [bugfix] only attempt to populate account/statuses from DB if already exist (#1839)
- 70262d4 [fix] Fix link to remote emoji pgae (#1845)
- 46d4ec0 [bugfix/chore] Inbox post updates (#1821)
- 45f961a [bugfix] allow usernames of length 1 (#1823)
Documentation
- 9ff4c20 [docs] Rework backups a bit (#1942)
- c4cf632 [docs] Clarify email requirement for OIDC (#1918)
- fab64a2 [docs] Disambiguate docker version, don't recommend opening localhost (#1913)
- 433b56d [docs] Add certificates and firewalling to advanced (#1888)
- 4990099 [docs] Made Advanced its own section (#1883)
- 84e1c7a [docs] Revamp the installation guide (#1877)
- 6f6b857 [docs] Add example tracing infrastructure (#1866)
- 45773a0 [bugfix/docs] AppArmor profile for SQLite (#1864)
- 186e849 [docs] Add Repology stats (#1859)
- 36fcd2e [docs] clarify other federation modes not yet implemented (#1849)
- 1f06914 [docs] Update + simplify roadmap, revise beta estimate (#1826)
- 681486f [docs]: semaphone ref & DEBUG usage for standalone testing (#1828)
- e096298 [bugfix/docs] Fix clear notifications API docs (#1831)
Chores / version bumps
- d9c69f6 [chore/performance] Remove remaining 'whereEmptyOrNull' funcs (#1946)
- 1218f97 [chore]: Bump github.com/minio/minio-go/v7 from 7.0.58 to 7.0.59 (#1941)
- e3e0f67 [chore]: Bump github.com/minio/minio-go/v7 from 7.0.56 to 7.0.58 (#1928)
- 4ad933b [chore]: Bump github.com/miekg/dns from 1.1.54 to 1.1.55 (#1929)
- 120743d [chore]: Bump github.com/tdewolff/minify/v2 from 2.12.6 to 2.12.7 (#1927)
- 33ccb71 [chore]: Bump golang.org/x/image from 0.7.0 to 0.8.0 (#1926)
- f56dd29 [chore]: Bump golang.org/x/oauth2 from 0.8.0 to 0.9.0 (#1908)
- 84eb7ea [chore] Fix Swagger paths for lists API endpoints (#1904)
- 70357a7 [chore]: Bump github.com/jackc/pgx/v5 from 5.3.1 to 5.4.1 (#1907)
- b560fe1 [chore]: Bump golang.org/x/net from 0.10.0 to 0.11.0 (#1909)
- 54f3387 [chore]: Bump golang.org/x/crypto from 0.9.0 to 0.10.0 (#1910)
- 24fbdf2 [chore] Refactor AP authentication, other small bits of tidying up (#1874)
- 5d19fb1 [chore]: Bump modernc.org/sqlite from 1.23.0 to 1.23.1 (#1884)
- b401bd1 [chore] update latest deps, ensure readme up to date (#1873)
- f1b70cc [chore]: Bump github.com/minio/minio-go/v7 from 7.0.55 to 7.0.56 (#1869)
- 7638a68 [chore]: Bump github.com/stretchr/testify from 1.8.3 to 1.8.4 (#1872)
- 97bc2e7 [chore] tidy + test timelines a bit better (#1865)
- 21c1552 [chore] Update versions, fix lint errors (#1860)
- 55aacaf [chore]: Bump github.com/gin-gonic/gin from 1.9.0 to 1.9.1 (#1855)
- 23705b3 [chore/frontend] refactor header templating, add apple-touch-icon (#1850)
- 049b02a [chore]: Bump github.com/microcosm-cc/bluemonday from 1.0.23 to 1.0.24 (#1843)
- f620ee8 [chore]: Bump github.com/coreos/go-oidc/v3 from 3.5.0 to 3.6.0 (#1840)
- e50b228 [chore]: Bump github.com/ulule/limiter/v3 from 3.11.1 to 3.11.2 (#1841)
- 2e7043b [chore]: Bump github.com/stretchr/testify from 1.8.2 to 1.8.3 (#1842)
- 9ed96bc [chore]: Bump github.com/minio/minio-go/v7 from 7.0.53 to 7.0.55 (#1844)
- 5faeb4d [chore] tidy up media manager, add calling func to errors, build-script improvements (#1835)
Full Changelog: v0.9.0...v0.10.0-rc1
v0.9.0 Spicy Sloth 🌶️
HELLO! The sloth has landed! Repeat, the sloth has landed! Introducing v0.9.0 of GoToSocial, aka Spicy Sloth!
This release was fun to work on, and we hope you enjoy using it! The project is slowly and steadily maturing and getting better 🌞
Big thank you to all contributors, folks who opened issues, instance admins who let us know weird stuff was happening, people who seem to like the code, and people who give us money to write the code!
Highlights
- PROFILE FIELDS will now be federated. This means you can set key/value fields on your profile, just like other Fedi softwares already have, and they will federate in and out properly! It may take up to 2 days to start seeing fields on remote profiles, be patient ;)
- Kickass new layout for web view of profiles, including fields!
- Initial support for request tracing (https://github.com/superseriousbusiness/gotosocial/blob/main/docs/configuration/observability.md)
- "subscribe" to an account you follow to receive notifications when they create a new post! (AKA 'click the bell' functionality.) Very useful for catching posts of followed accounts who don't post very often.
- Automatic remote status refetching to get up-to-date replies + edits.
- Performance improvements for message sending: you can now configure the rate at which messages will be federated outwards, better spacing out CPU usage and avoiding issues with rate-limiting.
- Lots of caching performance improvements; things should feel generally snappier.
- Suspend accounts from right within the admin panel by clicking through from reports.
- We added a whole bunch of trans rights to the code 🏳️⚧️ The code has so much trans rights in it now. If you don't like trans rights, you won't like this code.
Migration notes
Upgrading
To upgrade to 0.9.0 from a previous release:
Binary/tar
- Stop GoToSocial
- Untar the new release, including the web assets and html templates.
- Edit your config.yaml file as necessary (see below).
- Start GoToSocial
Docker
- Stop GoToSocial.
- Pull the new docker container (
superseriousbusiness/gotosocial:0.9.0
orsuperseriousbusiness/gotosocial:latest
) - Start GoToSocial.
config.yaml
The configuration file has changed since the previous release. You can see a diff of the config file here: v0.8.1...v0.9.0#diff-c071e03510b2c57e193a44503fd9528a785f0f411497cc75841a9f8d0b1ac622
Database Migrations
This release contains several database migrations which will run the first time you start up this new version. Be sure not to interrupt this migration process. This will take anywhere between a couple seconds and ten minutes (on slower hardware). Please be patient!
Features / Performance
- 89dcbd5 [frontend] Basic user moderation actions (#1728)
- 6c9d8e7 [feature] status refetch support (#1690)
- 9cc9ffc [frontend] Profiles with fields & more (#1764)
- 6392e00 [feature] initial tracing support (#1623)
- 0e29f1f [feature] Enable federation in/out of profile PropertyValue fields (#1722)
- 6d13858 [feature] Implement the preferences client API (#1740)
- 3ff1391 [performance] replace domain block cache with an in-memory radix trie (#1714)
- 68b91d2 [performance] tweak http client error handling (#1718)
- 8b1e228 [feature] Add GET endpoint for single notification (#1719)
- 6a29c5f [performance] improved request batching (removes need for queueing) (#1687)
- 093cf2a [feature] Receive notification when followed account posts (if desired) (#1680)
- 107237c [feature] Make client IP logging configurable (#1799)
Bugfixes
- 17b9a93 [bugfix] Fix duplicating fields on profile edit (#1788)
- e91cabb [bugfix] Fix NegotiateFormat with multiple accept headers (#1797)
- 2478d83 [bugfix] Fix proxy_pass in named location (#1794)
- 68e54cb [bugfix] Start + stop caches properly for testrig + pruning (#1804)
- 99ddaba [bugfix] Fix incorrect default for empty emoji domain (#1803)
- 2063d01 [bugfix] Add back removed ValidateRequest() before backoff-retry loop (#1805)
- 2b7c815 [bugfix] update go-cache to v3.3.3 (#1778)
- b47661f [bugfix] Downstep otel to fix freebsd compile issue (#1773)
- 8eda005 [bugfix] Ensure account fields can be set by JSON (#1762)
- 878ed48 [bugfix] Don't try to get user when serializing local instance account (#1757)
- 11e843a [bugfix] fix possible domain blockcache nil ptr + add debug String() func (#1755)
- 8275d70 [bugfix] update go-cache version to support multi-keying (#1756)
- 37b4d9d [bugfix] Punycode fixes (#1743)
- b7dd32d [bugfix] Return languages in api/v1/instance (#1741)
- 5027d0c [bugfix] Serve correct 'application/jrd+json' content type for webfinger requests (#1738)
- 4a012ac [bugfix] Rework notifs to use min_id for paging up (#1734)
- a6ec2a5 [bugfix] Fix invalid og:description on account w/ empty note (#1733)
- ead286a [bugfix] tweak httpclient error handling again ... (#1721)
- fdd2487 [bugfix] add From to email header (#1717)
- 6b4f6dc [bugfix] Fix remaining mangled URI escaping issues in statuses + accounts (#1712)
- fd3bf92 [bugfix] fix small config typos (#1707)
- cb1f935 [bugfix] Fix the bookmarks list API endpoint returning an empty array (#1700)
- c01d2f9 [chore]: Bump golang.org/x/oauth2 from 0.6.0 to 0.7.0 (#1684)
- 1d8f9c6 [chore]: Bump golang.org/x/crypto from 0.7.0 to 0.8.0 (#1685)
- 014d7ac [chore]: Bump github.com/spf13/cobra from 1.6.1 to 1.7.0 (#1686)
- 158facf [chore]: Bump golang.org/x/image from 0.6.0 to 0.7.0 (#1682)
Chores
- e1b7ab2 [chore]: Bump golang.org/x/oauth2 from 0.7.0 to 0.8.0 (#1785)
- 89c1d58 [chore]: Bump golang.org/x/crypto from 0.8.0 to 0.9.0 (#1784)
- c7702c4 [chore] Change time comparison in webfinger test (#1798)
- a0952ad [chore]: Bump github.com/minio/minio-go/v7 from 7.0.52 to 7.0.53 (#1808)
- c48abd8 [chore] update account statuses paging logic (#1814)
- ea1bbac [chore]: Bump github.com/go-playground/validator/v10 (#1812)
- 9c24dee [chore] Replace pinafore with semaphore (#1801)
- 514eb8c [frogend/chore] Fix profile domain (#1779)
- 3046dab [frogend/chore] Update backnextlinks (#1774)
- ec325fe [chore] Update a bunch of database dependencies (#1772)
- 66df974 [frogend/bugfix] fix dynamicSpoiler elements (#1771)
- b315aa1 [frogend/chore] remove break-all on profile fields (#1770)
- ba5a464 [chore] Prefer JSON errors in API endpoints (#1766)
- 265cc32 [frogend] use more semantic headers for profile page (#1765)
- 65cd1ac [chore] tidy + update StatusToAPIStatus (#1754)
- cbb9e2d [chore/performance] Make sender multiplier configurable (#1750)
- 9b4b4d4 [chore] update readthedocs deps, use conda (#1742)
- c41c1f9 [chore] Hide vendor from diffs (#1729)
- 66f09a8 [chore]: Bump modernc.org/sqlite from 1.22.0 to 1.22.1 (#1726)
- e9de7be [chore]: Bump github.com/go-playground/validator/v10 (#1724)
- ab7f518 [chore]: Bump github.com/KimMachineGun/automemlimit from 0.2.5 to 0.2.6 (#1723)
- 5904e3b [chore]: Bump github.com/miekg/dns from 1.1.53 to 1.1.54 (#1727)
- 49395f2 [chore]: Bump modernc.org/sqlite from 1.21.1 to 1.22.0 (#1711)
- f3066a1 [chore] Replacing all Pinafore mentions to Semaphore ones (#1689)
- a3d2774 [chore]: Bump codeberg.org/gruf/go-cache/v3 from 3.2.3 to 3.2.5 (#1701)
- c5f61c4 [chore]: Bump mvdan.cc/xurls/v2 from 2.4.0 to 2.5.0 (#1702)
- ef3004b [chore]: Bump github.com/minio/minio-go/v7 from 7.0.50 to 7.0.52 (#1703)
Documentation
- 19dab83 [docs] add missing observability settings to example config (#1790)
- 32aefd5 [docs] remove nginx trailing slash (#1789)
- 282be6f [docs] local docs hacking howto (#1816)
- d0e747c [docs] code highlighting configuration (#1817)
- 999a6ae [docs] support copy/pasta for code blocks (#1818)
- 1d8dec3 [docs] Add implementation notes for report (Flag) functionality (#1324)
- 0e03507 [docs] update instance splash and profile screenshots (#1775)
- ae9d432 [docs] Migrates Chart Location (#1708)
- 922bd89 [docs] Explain that markdown is enabled on the user settings page. (#1699)
New Contributors
- @handlerug made their first contribution in #1700
- @archangelic made their first contribution in #1717
- @natsukagami made their first contribution in #1766
- @decentral1se made their first contribution in #1818
v0.9.0-rc2
Kapow, the second release candidate for GoToSocial 0.9.0!
We fixed (hopefully!) the bugs that showed up in the first release candidate. Thank you everyone who helped us find them! We also snuck in a cheeky new feature 🦥 😈
Migration notes
Upgrading
To upgrade to 0.9.0-rc2 from a previous release:
Binary/tar
- Stop GoToSocial
- Untar the new release, including the web assets and html templates.
- Edit your config.yaml file as necessary (see below).
- Start GoToSocial
Docker
- Stop GoToSocial.
- Pull the new docker container (
superseriousbusiness/gotosocial:0.9.0-rc2
orsuperseriousbusiness/gotosocial:latest
) - Start GoToSocial.
config.yaml
See previous release notes!
Database Migrations
This release contains one or more database migrations which will run the first time you start up this new version. Be sure not to interrupt this migration process. This will take anywhere between a couple seconds and ten minutes (on slower hardware). Please be patient!
Detailed Changelog (compared to 0.9.0-rc1)
- 2063d01 [bugfix] Add back removed ValidateRequest() before backoff-retry loop (#1805)
- 107237c [feature] Make client IP logging configurable (#1799)
- 68e54cb [bugfix] Start + stop caches properly for testrig + pruning (#1804)
- 99ddaba [bugfix] Fix incorrect default for empty emoji domain (#1803)
- c7702c4 [chore] Change time comparison in webfinger test (#1798)
- e91cabb [bugfix] Fix NegotiateFormat with multiple accept headers (#1797)
- 2478d83 [bugfix] Fix proxy_pass in named location (#1794)
- 19dab83 [docs] add missing observability settings to example config (#1790)
- 32aefd5 [docs] remove nginx trailing slash (#1789)
- 89c1d58 [chore]: Bump golang.org/x/crypto from 0.8.0 to 0.9.0 (#1784)
- 17b9a93 [bugfix] Fix duplicating fields on profile edit (#1788)
- e1b7ab2 [chore]: Bump golang.org/x/oauth2 from 0.7.0 to 0.8.0 (#1785)
v0.9.0-rc1
HELLO! This is the first release candidate for version 0.9.0 of GoToSocial!
This release is pretty cool, if you're into, like, software and stuff. Nerd stuff. You know. We worked real hard on it and it feels closer and closer to beta software :)
Highlights!!
- PROFILE FIELDS will now be federated. This means you can set key/value fields on your profile, just like other Fedi softwares already have, and they will federate in and out properly! It may take up to 2 days to start seeing fields on remote profiles, be patient ;)
- Kickass new layout for web view of profiles, including fields!
- Initial support for request tracing (https://github.com/superseriousbusiness/gotosocial/blob/main/docs/configuration/observability.md)
- "subscribe" to an account you follow to receive notifications when they create a new post!
- Automatic remote status refetching to get up-to-date replies + edits.
- Performance improvements for message sending: you can now configure the rate at which messages will be federated outwards, better spacing out CPU usage.
- Caching performance improvements.
- Suspend accounts from within the admin panel by clicking through from reports.
- Code now significantly stinkier. It's an olfactory delight.
Migration notes
Upgrading
To upgrade to 0.9.0-rc1 from a previous release:
Binary/tar
- Stop GoToSocial
- Untar the new release, including the web assets and html templates.
- Edit your config.yaml file as necessary (see below).
- Start GoToSocial
Docker
- Stop GoToSocial.
- Pull the new docker container (
superseriousbusiness/gotosocial:0.9.0-rc1
orsuperseriousbusiness/gotosocial:latest
) - Start GoToSocial.
config.yaml
The configuration file has changed since the previous release. You can see a diff of the config file here: v0.8.1...v0.9.0-rc1#diff-c071e03510b2c57e193a44503fd9528a785f0f411497cc75841a9f8d0b1ac622
Database Migrations
This release contains several database migrations which will run the first time you start up this new version. Be sure not to interrupt this migration process. This will take anywhere between a couple seconds and ten minutes (on slower hardware). Please be patient!
Detailed Changelog
Features / Performance
- 89dcbd5 [frontend] Basic user moderation actions (#1728)
- 6c9d8e7 [feature] status refetch support (#1690)
- 9cc9ffc [frontend] Profiles with fields & more (#1764)
- 6392e00 [feature] initial tracing support (#1623)
- 0e29f1f [feature] Enable federation in/out of profile PropertyValue fields (#1722)
- 6d13858 [feature] Implement the preferences client API (#1740)
- 3ff1391 [performance] replace domain block cache with an in-memory radix trie (#1714)
- 68b91d2 [performance] tweak http client error handling (#1718)
- 8b1e228 [feature] Add GET endpoint for single notification (#1719)
- 6a29c5f [performance] improved request batching (removes need for queueing) (#1687)
- 093cf2a [feature] Receive notification when followed account posts (if desired) (#1680)
Bugfixes
- 2b7c815 [bugfix] update go-cache to v3.3.3 (#1778)
- b47661f [bugfix] Downstep otel to fix freebsd compile issue (#1773)
- 8eda005 [bugfix] Ensure account fields can be set by JSON (#1762)
- 878ed48 [bugfix] Don't try to get user when serializing local instance account (#1757)
- 11e843a [bugfix] fix possible domain blockcache nil ptr + add debug String() func (#1755)
- 8275d70 [bugfix] update go-cache version to support multi-keying (#1756)
- 37b4d9d [bugfix] Punycode fixes (#1743)
- b7dd32d [bugfix] Return languages in api/v1/instance (#1741)
- 5027d0c [bugfix] Serve correct 'application/jrd+json' content type for webfinger requests (#1738)
- 4a012ac [bugfix] Rework notifs to use min_id for paging up (#1734)
- a6ec2a5 [bugfix] Fix invalid og:description on account w/ empty note (#1733)
- ead286a [bugfix] tweak httpclient error handling again ... (#1721)
- fdd2487 [bugfix] add From to email header (#1717)
- 6b4f6dc [bugfix] Fix remaining mangled URI escaping issues in statuses + accounts (#1712)
- fd3bf92 [bugfix] fix small config typos (#1707)
- cb1f935 [bugfix] Fix the bookmarks list API endpoint returning an empty array (#1700)
- c01d2f9 [chore]: Bump golang.org/x/oauth2 from 0.6.0 to 0.7.0 (#1684)
- 1d8f9c6 [chore]: Bump golang.org/x/crypto from 0.7.0 to 0.8.0 (#1685)
- 014d7ac [chore]: Bump github.com/spf13/cobra from 1.6.1 to 1.7.0 (#1686)
- 158facf [chore]: Bump golang.org/x/image from 0.6.0 to 0.7.0 (#1682)
Chores
- 514eb8c [frogend/chore] Fix profile domain (#1779)
- 3046dab [frogend/chore] Update backnextlinks (#1774)
- ec325fe [chore] Update a bunch of database dependencies (#1772)
- 66df974 [frogend/bugfix] fix dynamicSpoiler elements (#1771)
- b315aa1 [frogend/chore] remove break-all on profile fields (#1770)
- ba5a464 [chore] Prefer JSON errors in API endpoints (#1766)
- 265cc32 [frogend] use more semantic headers for profile page (#1765)
- 65cd1ac [chore] tidy + update StatusToAPIStatus (#1754)
- cbb9e2d [chore/performance] Make sender multiplier configurable (#1750)
- 9b4b4d4 [chore] update readthedocs deps, use conda (#1742)
- c41c1f9 [chore] Hide vendor from diffs (#1729)
- 66f09a8 [chore]: Bump modernc.org/sqlite from 1.22.0 to 1.22.1 (#1726)
- e9de7be [chore]: Bump github.com/go-playground/validator/v10 (#1724)
- ab7f518 [chore]: Bump github.com/KimMachineGun/automemlimit from 0.2.5 to 0.2.6 (#1723)
- 5904e3b [chore]: Bump github.com/miekg/dns from 1.1.53 to 1.1.54 (#1727)
- 49395f2 [chore]: Bump modernc.org/sqlite from 1.21.1 to 1.22.0 (#1711)
- f3066a1 [chore] Replacing all Pinafore mentions to Semaphore ones (#1689)
- a3d2774 [chore]: Bump codeberg.org/gruf/go-cache/v3 from 3.2.3 to 3.2.5 (#1701)
- c5f61c4 [chore]: Bump mvdan.cc/xurls/v2 from 2.4.0 to 2.5.0 (#1702)
- ef3004b [chore]: Bump github.com/minio/minio-go/v7 from 7.0.50 to 7.0.52 (#1703)
Documentation
- 1d8dec3 [docs] Add implementation notes for report (Flag) functionality (#1324)
- 0e03507 [docs] update instance splash and profile screenshots (#1775)
- ae9d432 [docs] Migrates Chart Location (#1708)
- 922bd89 [docs] Explain that markdown is enabled on the user settings page. (#1699)
New Contributors
- @handlerug made their first contribution in #1700
- @archangelic made their first contribution in #1717
- @natsukagami made their first contribution in #1766
v0.8.1 Even More Scurrilous Sloth
Hello! Cheeky small bugfix release. 0.8.0 accidentally broke bookmarks on Postgres and this fixes that, thanks @handlerug !
Migration Notes
Upgrade from 0.8.0
Easy upgrade, no database migrations.
There are two small typo fixes in the example config.yaml file, so you may need to make these changes in your config.yaml too. See here: fd3bf92
Binary/tar
- Stop GoToSocial
- Untar the new release, including the web assets and html templates.
- Edit your config.yaml file as necessary (see below).
- Start GoToSocial
Docker
- Stop GoToSocial.
- Pull the new docker container (
superseriousbusiness/gotosocial:0.8.1
orsuperseriousbusiness/gotosocial:latest
) - Start GoToSocial.
Upgrade from prior to 0.8.0
Follow instructions for updating to 0.8.0 (https://github.com/superseriousbusiness/gotosocial/releases/v0.8.0), but replace version numbers with 0.8.1 instead.
Detailed Changelog
v0.8.0 Scurrilous Sloth
Hello hello! Guess what! It's time! Time for what, you say? Time for the scurrilous sloth to emerge from his tree and federate posts to all and sundry!
(In other words: this is the latest release of GoToSocial!)
We're really proud of this one, it adds some cool new stuff, and fixes a bunch of annoying bugs and performance hiccups.
Highlights of this release:
- Redesign of the settings/admin navigation bar.
- Email test endpoint + email notifications for reports.
- Pinned posts!! You can now pin and unpin posts, and your server will fetch pinned posts from remote profiles too. May take up to 48 hours to update pinned posts when they change, hang in there.
- Many performance improvements + better caching.
Migration notes
Upgrading
To upgrade to 0.8.0 from a previous release:
Binary/tar
- Stop GoToSocial
- Untar the new release, including the web assets and html templates.
- Edit your config.yaml file as necessary (see below).
- Start GoToSocial
Docker
- Stop GoToSocial.
- Pull the new docker container (
superseriousbusiness/gotosocial:0.8.0
orsuperseriousbusiness/gotosocial:latest
) - Start GoToSocial.
config.yaml
The configuration file has changed since the previous release. We recommend copying the new file from example/config.yaml and pasting values into it from your previous config.yaml. You can see a diff of the config file here: v0.7.1...v0.8.0#diff-c071e03510b2c57e193a44503fd9528a785f0f411497cc75841a9f8d0b1ac622
Database Migrations
This release contains several database migrations which will run the first time you start up this new version. Be sure not to interrupt this migration process. This will take anywhere between a couple seconds and ten minutes (on slower hardware). Please be patient!
Detailed Changelog
Features / Performance
- 0746ef7 [frontend] Settings navigation design (#1652)
- de6e3e5 [performance] refactoring + add fave / follow / request / visibility caching (#1607)
- 7d09863 [feature] Add list command to admin account (#1648)
- 7db81cd [feature] Email notifications for new / closed moderation reports (#1628)
- 196cd88 [feature] Allow admins to send test emails (#1620)
- e323a93 [feature] Support multiple subscriptions on single websocket connection (#1489)
- a312238 [feature] Provide .well-known/host-meta endpoint (#1604)
- e397272 [feature] Discover webfinger through host-meta (#1588)
- f518f64 [feature] Add (api only) support for profile fields (#1483)
- d2f6de0 [feature] Allow loading TLS certs from disk (#1586)
- a8e6bdf [performance] cache media attachments (#1525)
- e6cde25 [feature] Advertise rich text formats, support content_type field (#1370)
- 24cec4e [feature] Federate pinned posts (aka
featuredCollection
) in and out (#1560) - 9cfb69f [feature] Make OIDC admin groups configurable (#1555)
- c27b4d7 [feature] Client API endpoints + v. basic web view for pinned posts (#1547)
Bugfixes
- f28ed21 [bugfix] Fix single author threads not appearing in home timeline (#1679)
- fb41d2d [bugfix] warn on maxprocs error instead of failing (#1678)
- e46323c [bugfix] visibility caching and hometimeline (#1675)
- 3510454 [bugfix/chore] Refactor timeline code (#1656)
- c54510b [bugfix] Normalize status content (don't parse status content as IRI) (#1665)
- 4f322f5 [bugfix] Always serialize orderedItems as array (#1673)
- 8d2a76c [bugfix] Add proper constraints on status faves, dedupe (#1674)
- b847af1 [bugfix] Add idempotency-key to allowed CORS headers (#1670)
- 3f9b233 [bugfix/frontend] Preload css styles (#1638)
- 60639a6 [bugfix] Fix multiple "updated_at" columns for media updates (#1660)
- d9bbcc6 [bugfix] Fix report serialization errors caused by user delete (#1659)
- 344c7e5 [bugfix] Fix relationship not updating 'following' on accept follow request (#1658)
- 6cf6613 [bugfix] Remove unique constraint on public_key (#1653)
- 66bedc4 [bugfix] Use account ID host as accDomain if 2nd webfinger lookup fails (#1630)
- cb2f84e [frontend/fix] Mobile css tweaks (#1605)
- 9ba35c6 [bug] Handle 410 on webfinger properly (#1601)
- d8d5818 [bugfix] internal server error on search not found (#1590)
- ef07475 use updateattachment when updating to ensure cache is invalidated (#1587)
- 5be59f4 [bugfix] Federate status delete using just the URI (#1584)
- 88eefd0 [bugfix] Clamp admin report limit <1 to 100 (#1583)
- 29f8c51 [bugfix] Fix unpinning statuses not working (#1582)
- fe6c8b8 [bugfix] on deref new account, check db again for account on ErrAlreadyExists (#1581)
- bfccf4e [bugfix] add ON CONFLICT statements to status updates (#1580)
- 689a10f [bugfix] Fix deleted status causing issues when getting bookmark (#1551)
Chores
- 36a2131 [chore] Update templates license headers (#1672)
- 9c209fe [chore]: Bump modernc.org/sqlite from 1.21.0 to 1.21.1 (#1669)
- 839fd56 [chore]: Bump github.com/miekg/dns from 1.1.52 to 1.1.53 (#1668)
- 57dc742 [chore]: Bump github.com/KimMachineGun/automemlimit from 0.2.4 to 0.2.5 (#1666)
- a5c920a bump go-store version (includes minio) (#1657)
- 9e1756c [chore]: Bump github.com/tdewolff/minify/v2 from 2.12.4 to 2.12.5 (#1649)
- 1603a7f [chore] License sloth logo + default avatars under CC by-sa 4.0 (#1651)
- 883dc54 bump go-runners version to fix possible race in Processing{Media,Emoji} (#1646)
- e8595f0 [chore] Refactor account deleting/block logic, tidy up some other processing things (#1599)
- 276d773 [chore]: Bump github.com/miekg/dns from 1.1.51 to 1.1.52 (#1636)
- 78aebf5 [chore]: Bump github.com/microcosm-cc/bluemonday from 1.0.22 to 1.0.23 (#1635)
- ac74256 [chore]: Bump go.uber.org/automaxprocs from 1.5.1 to 1.5.2 (#1633)
- 4096e70 [chore]: Bump github.com/go-playground/validator/v10 (#1637)
- d5529d6 [chore] fix + update swagger docs (#1622)
- 19e0584 [chore]: Bump github.com/ulule/limiter/v3 from 3.11.0 to 3.11.1 (#1616)
- e448260 [chore]: Bump github.com/stretchr/testify from 1.8.1 to 1.8.2 (#1618)
- 86dafa6 [chore]: Bump github.com/abema/go-mp4 from 0.10.0 to 0.10.1 (#1617)
- 34f4538 [chore]: Bump golang.org/x/image from 0.5.0 to 0.6.0 (#1615)
- 0a86462 [chore]: Bump codeberg.org/gruf/go-kv from 1.6.0 to 1.6.1 (#1619)
- 6e10175 update license headers (#1612)
- 5e2bf0b [chore] Improve copyright header handling (#1608)
- a772d4d [chore] Fix opengraph properties (#1611)
- d0dee8d [chore] improved enrichAccount() logging (#1602)
- b344c2c [chore] Update uptrace/bun and modernc/sqlite dependencies (#1598)
- 24f6a44 [chore]: Bump github.com/jackc/pgx/v4 from 4.17.2 to 4.18.1 (#1595)
- 9f36507 [chore]: Bump golang.org/x/oauth2 from 0.5.0 to 0.6.0 (#1597)
- b004b4d [chore]: Bump golang.org/x/crypto from 0.6.0 to 0.7.0 (#1593)
- 06524ac [chore]: Bump golang.org/x/text from 0.7.0 to 0.8.0 (#1594)
- 65aeeb4 [chore] Print human readable config (#1589)
- baf933c [chore] move client/federator workerpools to Workers{} (#1575)
- 87c5c42 [chore/performance] simplify storage driver to use storage.Storage directly (#1576)
- e4c5f9a [chore] Improve unsupported_grant_type error (#1572)
- d550f0e [chore] Bump oauth2/v4 -> v4.6.6.6-SSB (#1571)
- 4bb3f59 [chore] bump go, build, and lint version (#1570)
- 8696a8c [chore]: Bump github.com/miekg/dns from 1.1.50 to 1.1.51 (#1566)
- 6c2bd14 [chore] Better diff for envparsing test (#1562)
- 5a45b6e [chore]: Bump golang.org/x/oauth2 from 0.4.0 to 0.5.0 (#1564)
- 752c38b [chore]: Bump github.com/minio/minio-go/v7 from 7.0.48 to 7.0.49 (#1567)
- e1b704e [chore] Use latest containers when building (#1554)
- 55300cb [chore] Inform user on how to get testrig (#1557)
- 83be140 [chore] Update vscode launch configuration (#1556)
- ecdc837 [chore] Update gin to v1.9.0 (#1553)
- 074f352 [chore] improve opengraph descripiton tag (#1550)
- b6fbdc6 [chore] Deinterface processor and subprocessors (#1501)
Documentation
- fe4ea96 [docs] Add MASH as 3rd party packaging (#1654)
- 9c55c07 [docs] Update docs on how to login (#1626)
New Contributors
- @VyrCossont made their first contribution in #1370
- @zowhoey made their first contribution in #1483
- @darrinsmart made their first contribution in #1489
- @moan0s made their first contribution in #1654
Full Changelog: v0.7.1...v0.8.0
v0.8.0-rc1
Hello everyone! This is the first release candidate for version 0.8.0 of GoToSocial!
This release candidate brings a whole boatload of features and fixes with it :) You can read a detailed changelog below.
Highlights include:
- Redesign of the settings/admin navigation bar.
- Email test endpoint + email notifications for reports.
- Pinned posts!
- Many performance improvements + better caching.
Migration notes
Upgrading
To upgrade to 0.8.0-rc1 from a previous release:
Binary/tar
- Stop GoToSocial
- Untar the new release, including the web assets and html templates.
- Edit your config.yaml file as necessary (see below).
- Start GoToSocial
Docker
- Stop GoToSocial.
- Pull the new docker container (
superseriousbusiness/gotosocial:0.8.0-rc1
orsuperseriousbusiness/gotosocial:latest
) - Start GoToSocial.
config.yaml
The configuration file has changed since the previous release. We recommend copying the new file from example/config.yaml and pasting values into it from your previous config.yaml. You can see a diff of the config file here: v0.7.1...v0.8.0-rc1#diff-c071e03510b2c57e193a44503fd9528a785f0f411497cc75841a9f8d0b1ac622
Database Migrations
This release contains several database migrations which will run the first time you start up this new version. Be sure not to interrupt this migration process. This will take anywhere between a couple seconds and ten minutes (on slower hardware). Please be patient!
Detailed Changelog
Features / Performance
- 0746ef7 [frontend] Settings navigation design (#1652)
- de6e3e5 [performance] refactoring + add fave / follow / request / visibility caching (#1607)
- 7d09863 [feature] Add list command to admin account (#1648)
- 7db81cd [feature] Email notifications for new / closed moderation reports (#1628)
- 196cd88 [feature] Allow admins to send test emails (#1620)
- e323a93 [feature] Support multiple subscriptions on single websocket connection (#1489)
- a312238 [feature] Provide .well-known/host-meta endpoint (#1604)
- e397272 [feature] Discover webfinger through host-meta (#1588)
- f518f64 [feature] Add (api only) support for profile fields (#1483)
- d2f6de0 [feature] Allow loading TLS certs from disk (#1586)
- a8e6bdf [performance] cache media attachments (#1525)
- e6cde25 [feature] Advertise rich text formats, support content_type field (#1370)
- 24cec4e [feature] Federate pinned posts (aka
featuredCollection
) in and out (#1560) - 9cfb69f [feature] Make OIDC admin groups configurable (#1555)
- c27b4d7 [feature] Client API endpoints + v. basic web view for pinned posts (#1547)
Bugfixes
- e46323c [bugfix] visibility caching and hometimeline (#1675)
- 3510454 [bugfix/chore] Refactor timeline code (#1656)
- c54510b [bugfix] Normalize status content (don't parse status content as IRI) (#1665)
- 4f322f5 [bugfix] Always serialize orderedItems as array (#1673)
- 8d2a76c [bugfix] Add proper constraints on status faves, dedupe (#1674)
- b847af1 [bugfix] Add idempotency-key to allowed CORS headers (#1670)
- 3f9b233 [bugfix/frontend] Preload css styles (#1638)
- 60639a6 [bugfix] Fix multiple "updated_at" columns for media updates (#1660)
- d9bbcc6 [bugfix] Fix report serialization errors caused by user delete (#1659)
- 344c7e5 [bugfix] Fix relationship not updating 'following' on accept follow request (#1658)
- 6cf6613 [bugfix] Remove unique constraint on public_key (#1653)
- 66bedc4 [bugfix] Use account ID host as accDomain if 2nd webfinger lookup fails (#1630)
- cb2f84e [frontend/fix] Mobile css tweaks (#1605)
- 9ba35c6 [bug] Handle 410 on webfinger properly (#1601)
- d8d5818 [bugfix] internal server error on search not found (#1590)
- ef07475 use updateattachment when updating to ensure cache is invalidated (#1587)
- 5be59f4 [bugfix] Federate status delete using just the URI (#1584)
- 88eefd0 [bugfix] Clamp admin report limit <1 to 100 (#1583)
- 29f8c51 [bugfix] Fix unpinning statuses not working (#1582)
- fe6c8b8 [bugfix] on deref new account, check db again for account on ErrAlreadyExists (#1581)
- bfccf4e [bugfix] add ON CONFLICT statements to status updates (#1580)
- 689a10f [bugfix] Fix deleted status causing issues when getting bookmark (#1551)
Chores
- 36a2131 [chore] Update templates license headers (#1672)
- 9c209fe [chore]: Bump modernc.org/sqlite from 1.21.0 to 1.21.1 (#1669)
- 839fd56 [chore]: Bump github.com/miekg/dns from 1.1.52 to 1.1.53 (#1668)
- 57dc742 [chore]: Bump github.com/KimMachineGun/automemlimit from 0.2.4 to 0.2.5 (#1666)
- a5c920a bump go-store version (includes minio) (#1657)
- 9e1756c [chore]: Bump github.com/tdewolff/minify/v2 from 2.12.4 to 2.12.5 (#1649)
- 1603a7f [chore] License sloth logo + default avatars under CC by-sa 4.0 (#1651)
- 883dc54 bump go-runners version to fix possible race in Processing{Media,Emoji} (#1646)
- e8595f0 [chore] Refactor account deleting/block logic, tidy up some other processing things (#1599)
- 276d773 [chore]: Bump github.com/miekg/dns from 1.1.51 to 1.1.52 (#1636)
- 78aebf5 [chore]: Bump github.com/microcosm-cc/bluemonday from 1.0.22 to 1.0.23 (#1635)
- ac74256 [chore]: Bump go.uber.org/automaxprocs from 1.5.1 to 1.5.2 (#1633)
- 4096e70 [chore]: Bump github.com/go-playground/validator/v10 (#1637)
- d5529d6 [chore] fix + update swagger docs (#1622)
- 19e0584 [chore]: Bump github.com/ulule/limiter/v3 from 3.11.0 to 3.11.1 (#1616)
- e448260 [chore]: Bump github.com/stretchr/testify from 1.8.1 to 1.8.2 (#1618)
- 86dafa6 [chore]: Bump github.com/abema/go-mp4 from 0.10.0 to 0.10.1 (#1617)
- 34f4538 [chore]: Bump golang.org/x/image from 0.5.0 to 0.6.0 (#1615)
- 0a86462 [chore]: Bump codeberg.org/gruf/go-kv from 1.6.0 to 1.6.1 (#1619)
- 6e10175 update license headers (#1612)
- 5e2bf0b [chore] Improve copyright header handling (#1608)
- a772d4d [chore] Fix opengraph properties (#1611)
- d0dee8d [chore] improved enrichAccount() logging (#1602)
- b344c2c [chore] Update uptrace/bun and modernc/sqlite dependencies (#1598)
- 24f6a44 [chore]: Bump github.com/jackc/pgx/v4 from 4.17.2 to 4.18.1 (#1595)
- 9f36507 [chore]: Bump golang.org/x/oauth2 from 0.5.0 to 0.6.0 (#1597)
- b004b4d [chore]: Bump golang.org/x/crypto from 0.6.0 to 0.7.0 (#1593)
- 06524ac [chore]: Bump golang.org/x/text from 0.7.0 to 0.8.0 (#1594)
- 65aeeb4 [chore] Print human readable config (#1589)
- baf933c [chore] move client/federator workerpools to Workers{} (#1575)
- 87c5c42 [chore/performance] simplify storage driver to use storage.Storage directly (#1576)
- e4c5f9a [chore] Improve unsupported_grant_type error (#1572)
- d550f0e [chore] Bump oauth2/v4 -> v4.6.6.6-SSB (#1571)
- 4bb3f59 [chore] bump go, build, and lint version (#1570)
- 8696a8c [chore]: Bump github.com/miekg/dns from 1.1.50 to 1.1.51 (#1566)
- 6c2bd14 [chore] Better diff for envparsing test (#1562)
- 5a45b6e [chore]: Bump golang.org/x/oauth2 from 0.4.0 to 0.5.0 (#1564)
- 752c38b [chore]: Bump github.com/minio/minio-go/v7 from 7.0.48 to 7.0.49 (#1567)
- e1b704e [chore] Use latest containers when building (#1554)
- 55300cb [chore] Inform user on how to get testrig (#1557)
- 83be140 [chore] Update vscode launch configuration (#1556)
- ecdc837 [chore] Update gin to v1.9.0 (#1553)
- 074f352 [chore] improve opengraph descripiton tag (#1550)
- b6fbdc6 [chore] Deinterface processor and subprocessors (#1501)
Documentation
- fe4ea96 [docs] Add MASH as 3rd party packaging (#1654)
- 9c55c07 [docs] Update docs on how to login (#1626)
New Contributors
- @VyrCossont made their first contribution in #1370
- @zowhoey made their first contribution in #1483
- @darrinsmart made their first contribution in #1489
- @moan0s made their first contribution in #1654
Full Changelog: v0.7.1...v0.8.0-rc1
v0.7.1 Even Stormier Sloth
Hello hello! This is a small bugfix release for Stormy Sloth!
Highlights:
/about
page- new postgres installations actually work now
- png thumbnails preserve transparency
- oob token requests will redirect to the correct page, showing the token
- small api fixes to make 'role' property on accounts more mastodon-api compatible
- don't perform storage cleanup on startup (should alleviate issues where people were having to wait three minutes for their instances to start up)
- code is now 90% gayer and anti-capitalister
Migration notes
If you're migrating from 0.7.0 you don't really have to do anything special at all! If you're migrating to 0.7.1 from a previous version, check the release notes for 0.7.0 :)
Detailed Changelog
Features
- b6143c9 [feature] About page (#1495)
- 68e6d08 [feature] Add a request ID and include it in logs (#1476)
Bugfixes
- adb5966 [bugfix] Remove initial storage cleanup (#1545)
- e8a04b7 [bugfix] Fix account roles (#1542)
- f559d46 [bugfix] Fix failure to look up remote profiles with duplicate emojis in some cases (#1534)
- a0068e8 [bugfix] In Postgres, drop shortcodedomain constraint before creating new emoji table (#1528)
- fe66a2a [bugfix] Keep png transparency (#1522)
- 59b2e10 [bugfix] fix oob token route, update templates+css for oob and errors (#1519)
- d39280e [bug] Pass context in logging middleware (#1514)
- 1ca5c62 [bug] maxprocs set logger to nil (#1512)
Docs
- 40eea3b [feature] Use Material theme for docs (#1535)
- fa70ad7 [docs] Add site_url for absolute 404 page assets (#1544)
- 87b30a4 [docs] correct swagger docs (#1543)
- 2af33d3 Update README.md (#1533)
Chores
- e824e14 [chore]: Bump golang.org/x/crypto from 0.5.0 to 0.6.0 (#1541)
- 7039889 [chore] Move request validation earlier in client (#1531)
- 51c156c [chore] pull in latest go-kv, go-cache (#1530)
- a684fc4 [chore] transport improvements (#1524)
- 3649b23 [chore]: Bump golang.org/x/net from 0.5.0 to 0.7.0 (#1523)
- 83d8a44 [chore] update gruf's libs on readme (#1520)
- a822198 [chore]: Bump golang.org/x/image from 0.4.0 to 0.5.0 (#1516)
- b4d1888 [chore] Update more log calls to include context (#1517)
New Contributors
v0.7.0 Stormy Sloth
Hello everyone! After much testing and prodding and poking, we're ready to release v0.7.0 Stormy Sloth into the world!
This is the umpteenth alpha release of GoToSocial (we stopped counting), and it brings a massive amount of new stuff, fixes, and tweaks.
Thank you for your continued support, and enjoy the release!
Release Highlights
- Basic video support (mp4 only). You can finally upload videos, and view videos from remote instances too. Not all mp4 files work, currently -- this is something we'll investigate for next release most likely.
- Support for federating reports in and out of GoToSocial, and viewing reports via the admin settings panel (this feature was sponsored by NLnet).
- Support for webp attachments, avatars, and headers.
- Users can now create, remove, and view status bookmarks!
- Domain blocks now apply on a wildcard basis, so you can block a second level domain (like
example.org
) and it will apply to subdomains too (likepoop.example.org
etc). - HTTP request throttling -- only a certain number of http requests are served at a time now. This should vastly improve responsiveness under load on small instances.
- Much better logic for pruning old avatars + headers, leading to gb of disk space savings.
- So many bug fixes and performance improvements.
Migration notes
Upgrading
To upgrade to 0.7.0 from a previous release:
Binary/tar
- Stop GoToSocial
- Untar the new release, including the web assets and html templates.
- Edit your config.yaml file as necessary (see below).
- Start GoToSocial
Docker
- Stop GoToSocial.
- Pull the new docker container (
superseriousbusiness/gotosocial:0.7.0
orsuperseriousbusiness/gotosocial:latest
) - Start GoToSocial.
config.yaml
The configuration file has changed since the previous release. We recommend copying the new file from example/config.yaml
and pasting values into it from your previous config.yaml. You can see a diff of the config file here: v0.6.0...v0.7.0#diff-c071e03510b2c57e193a44503fd9528a785f0f411497cc75841a9f8d0b1ac622
Database migrations
This release contains several database migrations which will run the first time you start up this new version. Be sure not to interrupt this migration process. This will take anywhere between a couple seconds and ten minutes (on slower hardware). Please be patient!
Sqlite format changes
0.7.0 now uses SQLite's WAL journal mode by default. This means there will be some new SQLite related files in your GoToSocial directory:
- sqlite.db-shm
- sqlite.db-wal
When you do SQLite backups, you should back these files up too (you do have backups, right?).
If you use Postgres rather than SQLite, you can ignore this.
Updating from 0.7.0-rc2
0.7.0-rc2 was slightly broken. If you're getting lots of 'not found' errors for avatars and headers, after running 0.7.0-rc2, see here for steps to fix it: #1505
If you skipped over rc2, ignore this :)
Detailed Changelog
Features
- 83b522a [feature/Frogend] basic report admin interface (#1424)
- a59dc85 [feature/frogend] (Mastodon) domain block CSV import (#1390)
- 382512a [feature] Implement
/api/v2/instance
endpoint (#1409) - 3283900 [feature] Federate reports to remote instance as Flag (if desired) (#1386)
- 08f8fea [feature/frontend] filterable local emoji list (#1385)
- 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)
- e974724 [feature] Implement
/api/v1/reports
endpoints on client API (#1330) - 73be244 [feature] Add RSS autodiscovery on profiles that enable RSS (#1373)
- acc333c [feature] Inherit resource limits from cgroups (#1336)
- 627b8ee [feature] Tune sqlite pragmas (#1349)
- 3512325 [feature] Add local user and post count to nodeinfo responses (#1325)
- d648793 [feature] Implement Report database model and utility functions (#1310)
- 90a14ab [feature] HTTP request throttling middleware (#1297)
- 1659f75 [feature] For video attachments, store + return fps, bitrate, duration (#1282)
- 2bbc64b [feature] Enable basic video support (mp4 only) (#1274)
- d10388c [feature] support Sec-Websocket-Protocol in streaming API (#1254)
- 69dd5fe [feature] domain block wildcarding (#1178)
- 58c87bd [feature] allow uncaching of other media types (#1234)
- 4b8d7bd [feature/frogend] Emoji copy "Steal this look" (#1222)
- cb2b2fd [feature] support configuring database caches (#1246)
- 5e060d0 [feature] Start implementing refetch of lost media files via
/api/v1/admin/media_refetch
(#1221) - 477ae50 [feature] Allow users to create + delete bookbarks, and view bookmarked statuses (#1168)
- 199b685 [feature] overhaul the oidc system (#961)
- 1a3f26f [feature] media: add webp support (#1155)
Bugfixes
- b599309 [bugfix] Set 'discoverable' properly on API accounts (#1511)
- 6ee0dc8 [bugfix] Set cache-control max-age dynamically for s3 (#1510)
- 40b584c [bugfix] Fix 410 Gone race on account deletes (#1507)
- b8e1ab3 [bugfix] use woff(2) fonts for Noto Sans (#1509)
- 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) - c223c75 [bugfix] Set appropriate cache-control when using presigned s3 links (#1480)
- e5e257c [bugfix] Fix error on searching for account w/accountDomain by host (#1465)
- 52fbb3e [bugfix] fix 'steal this look' form, uncheck entries after processing (#1454)
- 4e4da19 [bugfix] Use SignatureCheck middleware for web profile endpoints too (#1451)
- 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)
- 75e1b9c [bugfix] fix old password hash staying in cache (#1432)
- 80c26d6 [bugfix] Allow instance thumbnail description to be set separately from image (#1417)
- 04ac3f8 [bugfix] Fix password change keys (#1416)
- abe9447 [bugfix] fix cache startup (#1414)
- 271da01 [bugfix] Read Bookwyrm Articles more thoroughly (#1410)
- d4cddf4 [bugfix] Parse video metadata more accurately; allow Range in fileserver (#1342)
- 132c738 [bugfix] Mount bookmarks endpoint correctly (#1338)
- 1bda6a2 [bugfix] return early in websocket upgrade handler (#1315)
- 2bf9bfa [bugfix] fix panic during status delete loop by breaking out early on len(statuses) == 0 (#1317)
- de74cc6 [bugfix/frogend] replace ch units to prevent layout shift on page load (#1301)
- 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)
- 2b0342b [bugfix] use match-sorter for filtering domain blocks (#1270)
- 1d24c1c [bugfix] Use null for empty api status
language
(#1268) - 8703933 [bugfix] fix unordered favorites (#1245)
- 04636a3 [bugfix] attach bookmarks module to api (#1238)
- 199672e [bugfix] fix unordered favorites (#1236)
Performance
- acc9592 [performance] processing media and scheduled jobs improvements (#1482)
- 40bc03e [chore/performance] Update media prune logic, add extra CLI command (#1474)
- 70739d3 [performance] remove throttling timers (#1466)
- 95715f9 [performance] Don't fetch avatar + header if uri hasn't changed (#1463)
- 02767bf [performance] remove local copying of file for satisfying range headers (#1421)
- 5318054 [performance] media processing improvements (#1288)
Chores
- 4cba90c [chore] Split the bug template in two (#1500)
- 700ed77 [chore] Webkit frontend fixes (#1492)
- 041c8e6 [chore] Do cache-control in a less silly way to avoid writing header twice (#1481)
- 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)
- 6ac1dda [chore] small changes missed in previous dereferencer.GetAccount() PRs (#1467)
- 65b1941 [chore] Fix report username wrapping (#1464)
- 27e95fd [chore/bugfix] Serve + throttle publickey separately from rest of ActivityPub API (#1461)
- 0ed50c1 [chore/frogend] domain blocklist layout on smaller screens (#1436)
- b63b1b6 [chore] Update bug report template (#1437)
- 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)
- 33aee1b [chore] reformat GetAccount() functionality, support updating accounts based on last_fetch (#1411)
- 49beb17 [chore] Text formatting overhaul (#1406)
- 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)
- 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)
- 782169d [chore] set max open / idle conns + conn max lifetime for both postgres and sqlite (#1369)
- 27d4e36 [chore] Settings refactor fix4 (#1383)
- 36f62d6 [chore] remove funky duplicate attachment in testrig (#1379)
- 605dfca [chore] bump go version to 1.19.5 (#1377)
- 98a09b5 [chore]: Bump ...