Btw, just found the v2 release announcement of @fedify and that is a prime example on how, on the grassroots environment end of the spectrum we can maneuvre into better territory.
Kudos to the #fedify developers. Handing people tools they need to focus on solutions, and build without getting thrown into deep on-the-wire impl detail reeds to worry about.
That is the positive side of the equation. There's not only a big uptick in interest for the #SocialAPI i.e. #ActivityPub client-to-server, which offers new opportunity to correct course. But also are there more #FOSS projects focused on robust tool and library support for the 'Solution developer' stakeholder.
In the revamp of the delightful commons initiative, made possible with support of @nlnet I emphasized all these projects, while I de-emphasized the apps that are already doing good for themself, but contribute to further divergence from open standards.
https://delightful.coding.social
https://hollo.social/@fedify/019c8521-92ef-7d5f-be4d-c50eae575742
Fedify 2.0.0 is here!
This is the biggest release in Fedify's history. Here are the highlights:
- Modular architecture — The monolithic
@fedify/fedifypackage has been broken up into focused, independent packages:@fedify/vocab,@fedify/vocab-runtime,@fedify/vocab-tools,@fedify/webfinger, and more. Smaller bundles, cleaner imports, and the ability to extend ActivityPub with custom vocabulary types. - Real-time debug dashboard — The new
@fedify/debuggerpackage gives you a live dashboard at/__debug__/showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap yourFederationobject and you're done. - ActivityPub relay support — First-class relay support via
@fedify/relayand thefedify relayCLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c). - Ordered message delivery — The new
orderingKeyoption solves the “zombie post” problem where aDeletearrives before itsCreate. Activities sharing the same key are guaranteed to be delivered in FIFO order. - Permanent failure handling —
setOutboxPermanentFailureHandler()lets you react when a remote inbox returns 404 or 410, so you can clean up unreachable followers instead of retrying forever.
Other changes include content negotiation at the middleware level, @fedify/lint for shared linting rules, @fedify/create for quick project scaffolding, CLI config files, native Node.js/Bun CLI support, and many bug fixes.
This release includes significant contributions from Korea's OSSCA participants. Huge thanks to everyone involved!
This is a major release with breaking changes—please check the migration guide before upgrading.
Full release notes: https://github.com/fedify-dev/fedify/discussions/580