We'd like to introduce the #Fedify project family—a set of related tools that make building #ActivityPub applications more accessible: ### [Fedify] :fedify: [Fedify] (@npub1tlfg...wz08) is a #TypeScript library for building federated server applications powered by ActivityPub and other #fediverse standards. It provides [type-safe objects for Activity Vocabulary][1], WebFinger client/server, HTTP Signatures, and more—eliminating boilerplate code so you can focus on your application logic. [Fedify]: [1]: ### [Hollo] :hollo: [Hollo] (@npub1mz3d...tpw7) is a single-user microblogging server powered by Fedify. While designed for individual users, it's fully federated through ActivityPub, allowing interaction with users across the fediverse. #Hollo implements Mastodon-compatible APIs, making it [compatible with most Mastodon clients][2] without needing its own web interface. Hollo also serves as our testing ground for bleeding-edge Fedify features before they're officially released. [Hollo]: [2]: ### [BotKit] :botkit: [BotKit] (@npub1sqlc...0z0c) is our newest family member—a framework specifically designed for creating ActivityPub bots. Unlike traditional Mastodon bots, #BotKit creates standalone ActivityPub servers that aren't constrained by platform-specific limitations (like character counts). BotKit's API is intentionally simple—you can create a complete bot in a single TypeScript file! [BotKit]: --- All three projects are open source and hosted under the [@fedify-dev] GitHub organization. While they serve different purposes, they share common goals: making ActivityPub development more accessible and expanding the fediverse ecosystem. If you're interested in trying any of these projects or contributing to their development, check out: - Fedify: <https://fedify.dev/> - Hollo: <https://docs.hollo.social/> - BotKit: <https://botkit.fedify.dev/> #fedidev [@fedify-dev]:
The version 1.3.0 of #Fedify, an #ActivityPub server framework, released! The key changes include: - [Instrumented spans for OpenTelemetry] are added. In most cases, it's automatically enabled if your application configured [OpenTelemetry SDK]. - Since Fedify 1.3.0, you can configure different [`MessageQueue`]s for incoming and outgoing activities. - [Fedify now allows you to manually route an `Activity` to the corresponding inbox listener.][1] It is useful for invoking an inbox listener for an `Activity` enclosed by another `Activity`. - `Context.sendActivity()` and `InboxContext.forwardActivity()` methods now reject when they fail to enqueue the task. - Thanks to @robin_maki@planet.moe, [@fedify/fedify/x/sveltekit] module is added for integrating with [SvelteKit] hook. - Fedify now makes HTTP requests with the proper `User-Agent` header, e.g., `User-Agent: Fedify/1.3.0 (Deno/2.1.2)`. For details, see the [full changelog] as well! Fedify 1.3.0 is available at [JSR] and [npm]. [Instrumented spans for OpenTelemetry]: [OpenTelemetry SDK]: [`MessageQueue`]: [1]: [@fedify/fedify/x/sveltekit]: [SvelteKit]: [full changelog]: [JSR]: [npm]: https://www.npmjs.com/package/@fedify/fedify/v/1.3.0