0.9#

Released: 2023/06/24

This release is a large overhaul of Takahē that removes all timeline UI elements in the web interface in favour of apps, while reworking the remaining pages to be a pleasant profile viewing, post viewing, and settings experience.

We’ve also started on our path of making individual domains much more customisable; you can now theme them individually, the Local timeline is now domain-specific, and domains can be set to serve single user profiles.

This release’s major changes:

  • The Home, Notifications, Local and Federated timelines have been removed from the web UI. They still function for apps.

  • The ability to like, boost, bookmark and reply to posts has been removed from the web UI. They still function for apps.

  • The web Compose tool has been considerably simplified and relegated to a new “tools” section; most users should now use an app for composing posts.

  • The Follows page is now in settings and is view-only.

  • Identity profiles and individual post pages are now considerably simplified and have no sidebar.

  • A Search feature is now available for posts from a single identity on its profile page; users can turn this on or off in their identity’s profile settings.

  • Domains can now have their own site name, site icon, and custom CSS

  • Domains can be set to a “single user mode” where they redirect to a user profile, rather than showing their own homepage.

  • Added an Authorized Apps identity settings screen, that allows seeing what apps you’ve authorized, revocation of app access, and generating your own personal API tokens.

  • Added a Delete Profile settings screen that allows self-serve identity deletion.

  • The logged-in homepage now shows a list of identities to select from as well as a set of recommended apps to use for timeline interfaces.

  • We have totally dropped our alpha-quality SQLite support; it just doesn’t have sufficient full-text-search and JSON operator support, unfortunately.

There are many minor changes to support the new direction; important ones include:

  • The dark/light mode toggle is now a User (login) setting, not an Identity setting

  • Identity selection is no longer part of a session - now, multiple identity settings pages can be opened at once.

  • The ability for users to add their own custom CSS has been removed, as it was potentially confusing with our upcoming profile customization work (it only ever applied to your own session, and with timelines gone, it no longer makes much sense!)

  • API pagination has been further improved, specifically for Elk compatibility

  • Server admins can now add a “Report a Problem” footer link with either hosted content or an external link.

This is a large change in direction, and we hope that it will match the way that people use Takahē and its multi-domain support far better. For more discussion and rationale on the change, see Andrew’s blog post about it.

Our future plans include stability and polish in order to get us to a 1.0 release, as well as allowing users to customize their profiles more, account import support, and protocol enhancements like automatic fetching of replies for non-local posts. If you’re curious about what we’re up to, or have an idea, we’re very happy to chat about it in our Discord!

If you’d like to help with code, design, other areas, see Contributing to see how to get in touch.

You can download images from Docker Hub, or use the image name jointakahe/takahe:0.9.

Upgrade Notes#

Despite the large refactor to the UI, Takahē’s internals are not significantly changed, and this upgrade is operationally like any other minor release.

Migrations#

There are new database migrations; they are backwards-compatible, so please apply them before restarting your webservers and stator processes.

One of the migrations involves adding a large search index for opt-in post searching, and may take some time to process (on the order of minutes) if you have a large database.

You may wish to bring your site down into a maintenance mode before applying it to reduce the chance of lock conflicts slowing things down, or causing request timeouts.