This action will delete this post on this instance and on all federated instances, and it cannot be undone. Are you certain you want to delete this post?
This action will delete this post on this instance and on all federated instances, and it cannot be undone. Are you certain you want to delete this post?
This action will block this actor and hide all of their past and future posts. Are you certain you want to block this actor?
This action will block this object. Are you certain you want to block this object?
Are you sure you want to delete the OAuth client [Client Name]? This action cannot be undone and will revoke all access tokens for this client.
Are you sure you want to revoke the OAuth token [Token ID]? This action cannot be undone and will immediately revoke access for this token.
#fediverse 69 hashtags

The biggest changes in release v2.4.12 of Ktistec are the UI/UX enhancements. The mobile profile, in particular, felt like an afterthought—which it was. The changes make the mobile experience much more pleasant and ergonomic. All of the credit for this work goes to @jayvii.
This release also now refuses to deserialize and use embedded ActivityPub objects from hosts other than the host of the embedding object. While I haven't encountered any problems with the previous implementation in practice, this fix closes a gap that could be exploited by a bad actor to spoof or change content.
Added
Changed
Fixed


Servers
- WriteFreely v0.16
- Misskey v2025.8.0
- Mitra v4.9.0
- snac v2.82
- NodeBB v4.5.0
- Pixelfed v0.12.6
- GoToSocial v0.19.2
- Ktistec v2.4.11
- Lemmy Development Update August 2025
- Forgejo monthly report - August 2025
- Loops: The federated short video sharing platform
Clients
- PleromaFE v2.9.2
- Tuba v0.10.2
- Fread v1.6.1
- Pixelfed (React Native) v1.8.0
- Aria v1.3.7
- Pachli 3.0.0 starts now
Tools and Plugins
- Fedinesia v3.4.3
- feed2fedi v3.2.9
For developers
- TootSDK v19.0.0
- Fedialgo v1.1.19
- fediverse-pasture-inputs v0.3.1
- Mastodon.py v2.1.3
Articles
- Social Web Foundation is Betting Big on Client-to-Server API
- Fediverse Report – #132
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0198f75f-cf37-4cfd-72a1-8d24a40424a0

Ktistec is taking steps toward supporting multiple users. The first (small) step removes the actor panel from the unauthenticated home page and replaces it with a site description. You can see this in action at epiktistes.com. The site description is managed on the settings page using the same rich text editor used to edit posts. See the README for more information.
Other changes in this release:
Added
trix_editor view helper.Changed
Fixed
all_types output. (fixes #104)at_beginning_of_week. (see crystal-lang/crystal#16112)Other


Servers
- ActivityPub for WordPress v7.3.0
- Castopod v1.13.5
- Ktistec v2.4.10
- NeoDB v0.12.1
- Vernissage Server v1.21.0
- Wafrn v2025.08.03
- Wanderer v0.18.0
Clients
- Pachli v2.16.0
- toot v0.50.0
- Fread v1.6.0
- Miria v3.0.0
- Blorp v1.9.20
- P2Play v0.9.4
- Pixelix v4.2.0
Tools and Plugins
- FediPhoto-Lineage v8.0
- Fedinspect: A desktop application for analysing fediverse server configurations and features
For developers
- BotKit v0.3.0
- Fedialgo v1.1.7
Articles
- SocialHub and the Substrate of Decentralised Networks
- Mastodon says it doesn’t ‘have the means’ to comply with age verification laws
- Fediverse Report – #131
-----
#WeekInFediverse #Fediverse #ActivityPub
Previous edition: https://mitra.social/objects/0198d36f-1abf-e0ca-d7f1-2017b3af8447

I'm trying to get through the backlog of bugs and features in my to-do list. Release v2.4.10 of Ktistec packages up several important improvements. The most impactful change is graceful server shutdown—I've never had a problem with shutdown leaving the database in a broken state, but prevention is the best cure.
Added
Fixed
Changed
I'm considering adding lightweight multi-user support (invitation-only, not open registration). I'm interested in your thoughts on whether this would be useful.

I've been running v3.0.0 of Ktistec in production for the last few weeks, and it seems stable and I’m using it every day, so it’s time to release it!
This release adds:
Model Context Protocol (MCP) is a simple, general API that exposes Ktistec ActivityPub collections (timeline, notifications, likes, announces, etc.) to MCP clients. To be fully transparent about what this means, MCP clients are shells for Large Language Models (LLMs).
When building this, I focused on a few use cases that are important to me: content summarization, content prioritization (or filtering) based on my interests or the content's structure (well-constructed arguments vs. low-signal opinions) or its tone, especially when it comes to shared posts. Ktistec is a single user ActivityPub server and Epiktistes (my instance) gets a lot of traffic. I want to build the “algorithms” that surface the content I want to see.
Of note, there’s currently no support for content generation.
While I work on this, I’m not abandoning the 2.x line. I’ll continue to add compatible features and fix bugs as long as I'm able. I realize the use of LLMs, and MCP by extension, and therefore the 3.x branch, is controversial—I don’t intend to push v3 on anyone.
If you're still with me, Ktistec now exposes:
ktistec://actors/{id*})ktistec://objects/{id*})ktistec://users/{id})ktistec://information)count_collection_since(name, since)paginate_collection(name, page, size)read_resources(uris)whats_newSupported collections include:
hashtag#<name> (e.g., "hashtag#technology")mention@<name> (e.g., "mention@euripides")There is more detail in the README.
TL;DR Add a remote MCP connector in your MCP client of choice: supply the URL of your instance including the /mcp path (e.g. "https://epiktistes.com/mcp").


Release v2.4.9 of Ktistec fixes two significant bugs. From the changelog:
next_attempt_at in tasks when server restarts.The first bug resulted in server maintenance tasks running immediately, every time the server restarted, and then beginning their cadence of scheduled runs from there. The second bug surfaced after I released a new version of Slang that itself included a bug fix.

Ktistec v2.4.8 has many small fixes and improvements, but includes one significant fix to ActivityPub garbage collection, which was the major feature introduced in the last release.
⚠️ Important Note: Building with Crystal Language version 1.17.x is not supported due to two breaking changes. See:
(Maybe it's three changes—compile times are also far slower and executable sizes are much larger.)
Added
Fixed
Changed
Enjoy!

After a mental health break, release v2.4.7 of Ktistec is out. The biggest improvement is the addition of a command line switch/option to run garbage collection on startup. Garbage collection, in this context, trims down your database by deleting old ActivityPub objects that are not connected to your user through:
It reduced the size of my database ~24%. Details on usage, warnings, etc. are in the README.
Other changes:
Fixed
WITH RECURSIVE queries.Changed
Other

Release v2.4.6 of Ktistec is out. As mentioned in an earlier post, this release focuses on database performance improvements. This means caching the results of expensive queries (like counting all posts with a particular hashtag or mention). On my instance at least, pages like the notifications page are now snappier.
There are still slow queries (queries that take more than 50msec). Most of those are requests for pages of old posts where none of the necessary database pages are in the page cache. I have increased the page cache size, and that reduces the frequency, but I don't see an immediate fix.
Fixed
Changed
Removed
X-Auth-Token.Other
POST socket operations.I don't have an immediate plan for the next release. There have been a bunch of feature requests that I think have merit. I'll probably get started on some of those.