diff --git a/README.md b/README.md index 989b7c1fa..a00d2ab68 100644 --- a/README.md +++ b/README.md @@ -11,7 +11,7 @@ With GoToSocial, you can keep in touch with your friends, post, read, and share

-**GoToSocial is still [ALPHA SOFTWARE](https://en.wikipedia.org/wiki/Software_release_life_cycle#Alpha)**. It is already deployable and useable, and it federates cleanly with many other Fediverse servers (not yet all). However, many things are not yet implemented, and there are plenty of bugs! We foresee entering beta around the beginning of 2024. +**GoToSocial is still [BETA SOFTWARE](https://en.wikipedia.org/wiki/Software_release_life_cycle#Beta)**. It is already deployable and useable, and it federates cleanly with many other Fediverse servers (not yet all). However, many things are not yet implemented, and there are plenty of bugs! We left alpha stage around September/October 2024, and we intend to exit beta some time around 2026. Documentation is at [docs.gotosocial.org](https://docs.gotosocial.org). You can skip straight to the API documentation [here](https://docs.gotosocial.org/en/latest/api/swagger/). @@ -29,7 +29,11 @@ Here's a screenshot of the instance landing page! - [History and Status](#history-and-status) - [Features](#features) - [Mastodon API compatibility](#mastodon-api-compatibility) - - [Granular post settings](#granular-post-settings) + - [Granular post visibility settings](#granular-post-visibility-settings) + - [Reply controls](#reply-controls) + - [Local-only posting](#local-only-posting) + - [RSS feed](#rss-feed) + - [Rich text formatting](#rich-text-formatting) - [Customizability](#customizability) - [Easy to run](#easy-to-run) - [Safety + security features](#safety--security-features) @@ -90,7 +94,9 @@ This project sprang up in February/March 2021 out of a dissatisfaction with the It began as a solo project, and then picked up steam as more developers became interested and jumped on. -For a detailed view on what's implemented and what's not, and progress made towards [beta release](https://en.wikipedia.org/wiki/Software_release_life_cycle#Beta), please see [the roadmap document](https://github.com/superseriousbusiness/gotosocial/blob/main/ROADMAP.md). +We made our first Alpha release in November 2021. We left Alpha and entered Beta in September/October 2024. + +For a detailed view on what's implemented and what's not, and progress made towards [stable release](https://en.wikipedia.org/wiki/Software_release_life_cycle#Stable_release), please see [the roadmap document](https://github.com/superseriousbusiness/gotosocial/blob/main/ROADMAP.md). --- @@ -100,44 +106,73 @@ For a detailed view on what's implemented and what's not, and progress made towa The Mastodon API has become the de facto standard for client communication with federated servers, so GoToSocial has implemented and extended the API with custom functionality. -Though most apps that implement the Mastodon API should work, GoToSocial works reliably with beautiful apps like: +Though most apps that implement the Mastodon API should work, GoToSocial is tested and works reliably with beautiful apps like: * [Tusky](https://tusky.app/) for Android * [Semaphore](https://semaphore.social/) in the browser * [Feditext](https://github.com/feditext/feditext) (beta) on iOS, iPadOS and macOS -If you've used Mastodon with any of these apps before, you'll find using GoToSocial a breeze. +If you've used Mastodon with a third-party app before, you'll find using GoToSocial a breeze. -### Granular post settings +### Granular post visibility settings It's important that when you post something, you can choose who sees it. -GoToSocial offers public/unlisted/friends-only/mutuals-only/and direct posts (slide in DMs! -- with consent). +GoToSocial offers public, unlisted/unlocked, followers-only, and direct posts (slide in DMs! -- with consent). -It also allows you to customize how people interact with your posts: +### Reply controls -- Local-only posts. -- Rebloggable/boostable toggle. -- 'Likeable' toggle. -- 'Replyable' toggle. +GoToSocial lets you choose who can reply to your posts, via [interaction policies](https://docs.gotosocial.org/en/latest/user_guide/settings/#default-interaction-policies). You can choose to let anyone reply to your posts, let only your friends reply, and more. + +![interaction policies settings](https://raw.githubusercontent.com/superseriousbusiness/gotosocial/main/docs/assets/user-settings-interaction-policy-1.png) + +### Local-only posting + +Sometimes you only want to talk to people you share an instance with. GoToSocial supports this via local-only posting, which ensures that your post stays on your instance only. (Local-only posting is currently dependent on client support.) + +### RSS feed + +GoToSocial lets you opt-in to exposing your profile as an RSS feed, so that people can subscribe to your public feed without missing a post. + +### Rich text formatting + +With GoToSocial, you can write posts using the popular, easy-to-use Markdown markup language, which lets you produce rich HTML posts with support for blockquotes, syntax-highlighted code blocks, lists, inline links, and more. + +![markdown-formatted post](https://raw.githubusercontent.com/superseriousbusiness/gotosocial/main/docs/assets/markdown-post.png) ### Customizability Users can [choose from a variety of fun themes](https://docs.gotosocial.org/en/latest/user_guide/settings/#select-theme) for their profile, or even write their own [custom CSS](https://docs.gotosocial.org/en/latest/user_guide/settings/#custom-css). -Plenty of [config options](https://github.com/superseriousbusiness/gotosocial/blob/main/example/config.yaml) for admins to play around with too. +
+Show theme examples + +| Theme name | Screenshot | +| --------------- | -------------------------------------------------------------------------------------------------------------------------------------- | +| Blurple dark | | +| Blurple light | | +| Brutalist light | | +| Brutalist dark | | +| Ecks pee | | +| Midnight trip | | +| Soft | | +| Solarized dark | | +| Solarized light | | +| Sunset | | + +
### Easy to run No external dependencies apart from a database (or just use SQLite!). Simply download the binary + assets (or Docker container), and run. -GoToSocial uses only about 150-250MiB of RAM, so it plays nice with single-board computers, old laptops and tiny $5/month VPSes. +GoToSocial uses only about 200-300MiB of RAM, and requires very little CPU power, so it plays nice with single-board computers, old laptops and tiny $5/month VPSes. ### Safety + security features - Built-in, automatic support for secure HTTPS with [Let's Encrypt](https://letsencrypt.org/). - Strict privacy enforcement for posts and strict blocking logic. -- Import and export allow lists and deny lists. Subscribe to community-created block lists (think Ad blocker, but for federation!). +- Import and export allow lists and deny lists. Subscribe to community-created block lists (think Ad blocker, but for federation!) (feature still in progress). - HTTP signature authentication: GoToSocial requires [HTTP Signatures](https://datatracker.ietf.org/doc/html/draft-cavage-http-signatures-12) when sending and receiving messages, to ensure that your messages can't be tampered with and your identity can't be forged. ### Various federation modes @@ -166,7 +201,7 @@ On top of this API, web developers are encouraged to build any front-end impleme ## Known Issues -Since GoToSocial is still in alpha, there are plenty of bugs. We use [GitHub issues](https://github.com/superseriousbusiness/gotosocial/issues?q=is%3Aissue+is%3Aopen+label%3Abug) to track these. +Since GoToSocial is still in beta, there are plenty of bugs. We use [GitHub issues](https://github.com/superseriousbusiness/gotosocial/issues?q=is%3Aissue+is%3Aopen+label%3Abug) to track these. Since every ActivityPub server implementation has a slightly different interpretation of the protocol, some servers don't quite federate properly with GoToSocial yet. We're tracking these issues [in this project](https://github.com/superseriousbusiness/gotosocial/projects/4). Eventually, we want to make sure that any implementation that can federate nicely with Mastodon should also be able to federate with GoToSocial. diff --git a/ROADMAP.md b/ROADMAP.md index f7af8ce92..a4894f4fe 100644 --- a/ROADMAP.md +++ b/ROADMAP.md @@ -1,10 +1,10 @@ # Roadmap to Beta -This document contains the roadmap for GoToSocial to be considered eligible for its first [beta release](https://en.wikipedia.org/wiki/Software_release_life_cycle#Beta). +This document contains the roadmap for GoToSocial to be considered eligible for its first proper [stable release](https://en.wikipedia.org/wiki/Software_release_life_cycle#Stable_release). All the info contained in this document is best-guess only. It's useful to have a rough timeline we can direct people to, but things will undoubtedly change along the way; don't hold us to anything in this doc! -Thank you to [NLnet](https://nlnet.nl) for helping to fund the alpha phase of GoToSocial development and get us moving towards beta! +Thank you to [NLnet](https://nlnet.nl) for helping to fund the alpha and beta phases of GoToSocial development! Big thank you to all of our [Open Collective](https://opencollective.com/gotosocial) and [Liberapay](https://liberapay.com/gotosocial) contributors, who've helped us keep the lights on! 💕 @@ -17,6 +17,7 @@ Big thank you to all of our [Open Collective](https://opencollective.com/gotosoc - [Early 2024](#early-2024) - [BETA milestone](#beta-milestone) - [Remainder 2024 - early 2025](#remainder-2024---early-2025) + - [On the way out of BETA to STABLE RELEASE](#on-the-way-out-of-beta-to-stable-release) - [Wishlist](#wishlist) ## Beta Aims @@ -61,7 +62,7 @@ What follows is a rough timeline of features that will be implemented on the roa ### BETA milestone -Completion of all above features indicates that we are now in the BETA phase of GoToSocial. We foresee this happening around Feb/March 2024. +Completion of all above features indicates that we are now in the BETA phase of GoToSocial. We foresee this happening around Feb/March 2024. EDIT: It ended up happening in September/October 2024, whoops! ### Remainder 2024 - early 2025 @@ -69,9 +70,9 @@ These are provided in no specific order. - [x] **Filters v2** -- implement v2 of the filters API. - [x] **Mute accounts** -- mute accounts to prevent their posts showing up in your home timeline (optional: for limited period of time). -- [ ] **Non-replyable posts** -- design a non-replyable post path for GoToSocial based on https://github.com/mastodon/mastodon/issues/14762#issuecomment-1196889788; allow users to create non-replyable posts. +- [x] **Non-replyable posts** -- design a non-replyable post path for GoToSocial based on https://github.com/mastodon/mastodon/issues/14762#issuecomment-1196889788; allow users to create non-replyable posts. - [ ] **Block + allow list subscriptions** -- allow instance admins to subscribe their instance to plaintext domain block/allow lists (much of the work for this is already in place). -- [ ] **Direct conversation view** -- allow users to easily page through all direct-message conversations they're a part of. +- [x] **Direct conversation view** -- allow users to easily page through all direct-message conversations they're a part of. - [ ] **Oauth token management** -- create / view / invalidate OAuth tokens via the settings panel. - [ ] **Status EDIT support** -- edit statuses that you've created, without having to delete + redraft. Federate edits out properly. - [ ] **Fediverse relay support** -- publish posts to relays, pull posts from relays. @@ -80,6 +81,10 @@ These are provided in no specific order. More tbd! +### On the way out of BETA to STABLE RELEASE + +Tbd. + ## Wishlist These cool things will be implemented if time allows (because we really want them): diff --git a/docs/assets/markdown-post.png b/docs/assets/markdown-post.png new file mode 100644 index 000000000..750f36e49 Binary files /dev/null and b/docs/assets/markdown-post.png differ diff --git a/docs/assets/theme-blurple-dark.png b/docs/assets/theme-blurple-dark.png new file mode 100644 index 000000000..8a0c47aec Binary files /dev/null and b/docs/assets/theme-blurple-dark.png differ diff --git a/docs/assets/theme-blurple-light.png b/docs/assets/theme-blurple-light.png new file mode 100644 index 000000000..51f6110d7 Binary files /dev/null and b/docs/assets/theme-blurple-light.png differ diff --git a/docs/assets/theme-brutalist-dark.png b/docs/assets/theme-brutalist-dark.png new file mode 100644 index 000000000..14e4c637c Binary files /dev/null and b/docs/assets/theme-brutalist-dark.png differ diff --git a/docs/assets/theme-brutalist-light.png b/docs/assets/theme-brutalist-light.png new file mode 100644 index 000000000..980134e1e Binary files /dev/null and b/docs/assets/theme-brutalist-light.png differ diff --git a/docs/assets/theme-ecks-pee.png b/docs/assets/theme-ecks-pee.png new file mode 100644 index 000000000..73e8bb9a8 Binary files /dev/null and b/docs/assets/theme-ecks-pee.png differ diff --git a/docs/assets/theme-midnight-trip.png b/docs/assets/theme-midnight-trip.png new file mode 100644 index 000000000..05e557be8 Binary files /dev/null and b/docs/assets/theme-midnight-trip.png differ diff --git a/docs/assets/theme-soft.png b/docs/assets/theme-soft.png new file mode 100644 index 000000000..7b094fcde Binary files /dev/null and b/docs/assets/theme-soft.png differ diff --git a/docs/assets/theme-solarized-dark.png b/docs/assets/theme-solarized-dark.png new file mode 100644 index 000000000..468ab8534 Binary files /dev/null and b/docs/assets/theme-solarized-dark.png differ diff --git a/docs/assets/theme-solarized-light.png b/docs/assets/theme-solarized-light.png new file mode 100644 index 000000000..ded2a2db7 Binary files /dev/null and b/docs/assets/theme-solarized-light.png differ diff --git a/docs/assets/theme-sunset.png b/docs/assets/theme-sunset.png new file mode 100644 index 000000000..a2361b437 Binary files /dev/null and b/docs/assets/theme-sunset.png differ diff --git a/docs/faq.md b/docs/faq.md index 546c2064a..521c97531 100644 --- a/docs/faq.md +++ b/docs/faq.md @@ -36,6 +36,6 @@ To see posts, you have to start following people! Once you've followed a few peo We introduced a sign-up flow in v0.16.0. The server you want to sign up to must have enabled registrations/sign-ups, as detailed [right here](./admin/signups.md). -## Why's it still in alpha? +## Why's it still in Beta? Take a look at the [list of open bugs](https://github.com/superseriousbusiness/gotosocial/issues?q=is%3Aissue+is%3Aopen+label%3Abug) and the [roadmap](https://github.com/superseriousbusiness/gotosocial/blob/main/ROADMAP.md) for a more detailed rundown. diff --git a/web/source/settings/views/admin/instance/settings.tsx b/web/source/settings/views/admin/instance/settings.tsx index 8d377a6ea..c769b11ec 100644 --- a/web/source/settings/views/admin/instance/settings.tsx +++ b/web/source/settings/views/admin/instance/settings.tsx @@ -143,7 +143,7 @@ function InstanceSettingsForm({ data: instance }: InstanceSettingsFormProps) {