Fedify: an ActivityPub server framework's avatar

Fedify: an ActivityPub server framework

@fedify@hollo.social · 8 following · 724 followers

:fedify: Fedify is a TypeScript library for building federated server apps powered by ActivityPub and other standards, so-called fediverse. It aims to eliminate the complexity and redundant boilerplate code when building a federated server app, so that you can focus on your business logic and user experience.

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social

🎉 Excited to announce that is now on Open Collective! Support the project's development starting at:

  • Backer (from $5/mo)
  • Supporter (from $25/mo)
  • Sponsor (from $100/mo)
  • Corporate Sponsor (from $500/mo)
  • Custom donations welcome

Your support will help us maintain and improve Fedify. Check it out here:

https://opencollective.com/fedify

:fedify:

Fedify's Open Collective page showing the project logo, description as “A TypeScript library for building federated server apps powered by ActivityPub and other standards”, and five contribution tiers starting from $5/month Backer to $500/month Corporate Sponsor, with custom contribution options available.
ALT text detailsFedify's Open Collective page showing the project logo, description as “A TypeScript library for building federated server apps powered by ActivityPub and other standards”, and five contribution tiers starting from $5/month Backer to $500/month Corporate Sponsor, with custom contribution options available.
Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social

Fedify is an server framework in & . It aims to eliminate the complexity and redundant boilerplate code when building a federated server app, so that you can focus on your business logic and user experience.

The key features it provides currently are:

If you're curious, take a look at the website! There's comprehensive docs, a demo, a tutorial, example code, and more:

https://fedify.dev/

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social · Reply to tesaguri 🦀🦝's post

@silverpill Yeah, as @tesaguri said, it's a property introduced by Fedibird, a Japanese fork of Mastodon.

tkgka's avatar
tkgka

@tkgka@universeodon.com

I’ve just contributed to Fedify. Consider supporting them too — every little helps! opencollective.com/fedify

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social

We're excited to announce the release of Fedify 1.4.0! This release brings significant improvements to enhance compatibility and flexibility in federation.

Key Highlights

Activity transformers

Introduced a new system to adjust outgoing activities for better compatibility with various ActivityPub implementations. This includes automatic ID assignment for activities and actor dehydration to satisfy implementation quirks (looking at you, Threads!).

WebFinger customization

Added the ability to customize WebFinger responses through the new mapAlias() API, giving you more control over how your actors are discovered.

New interaction collections

Added support for shares, likes, and emojiReactions properties to the Object class, making it easier to access and traverse these interaction collections.

More flexible document/context loader

Document loader and context loader are now configurable through factory functions, giving you more control over how your application handles JSON-LD documents.

CLI improvements

The fedify lookup command now supports two new options:

Other enhancements

  • Added Context.getNodeInfo() method for easier NodeInfo access
  • Improved error handling in collection traversal and JSON-LD processing
  • Added support for private network access control in WebFinger lookups
  • User-Agent headers now automatically include your instance URL, making it easier for other servers to identify your instance

For the complete list of changes and bugfixes, please visit our changelog.

Whether you're building a new federated application or maintaining an existing one, 1.4.0 provides the tools you need for robust ActivityPub federation.

Supporting us

We're grateful to all our sponsors who make this project possible. Check out our new sponsors showcase page to see the amazing individuals and organizations supporting Fedify's development. If you'd like to support Fedify's development, please consider becoming a sponsor!

Upgrade now

You can install Fedify 1.4.0 from JSR or npm. Upgrade today and let us know what you think!

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hollo.social

Okay, I'm about to release 1.4.0. Probably today or tomorrow?

Julian Fietkau's avatar
Julian Fietkau

@julian@fietkau.social · Reply to Thiago, Cavalheiro Jedi's post

@jedi Thank you! Yeah, I know about Ghost of course, but @fedify deserves more external projects to show off what it can do. I hope we'll see some more come out this year. 😀 Do you know of any others that are in progress? I would follow dev logs if they're out there.

Thiago, Cavalheiro Jedi's avatar
Thiago, Cavalheiro Jedi

@jedi@bolha.us · Reply to Julian Fietkau's post

@julian good to see more projects built on top of Fedify.

I started mine because I needed to dust off backend stuff. And I felt exactly what you are feeling about "looks slow", but it's been a nice journey learning how to create a Fediverse service.

Keep on going!

Markus 🌱:fosse:'s avatar
Markus 🌱:fosse:

@markus@skvip.lol

Eg har nett støtta @fedify ! Dei har fleire kule prosjekt. @markus@prosa.skvip.lol køyrer på deira teneste @hollo.

English:
I've just contributed to They have several cool projects. @markus@prosa.skvip.lol runs on their service .

opencollective.com/fedify

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post

We've just set up our sponsors showcase! You can now find our wonderful sponsors:

These pages are automatically updated every hour. Thank you to all our sponsors for supporting 's development!

Want to be listed? Support us on Open Collective: https://opencollective.com/fedify.

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hollo.social

As the maintainer of , I'd be grateful for your support to help keep the project sustainable! :fedify:

https://hollo.social/@fedify/0194b112-b604-7d03-84e0-4faaf4ab46cd

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social

🎉 Excited to announce that is now on Open Collective! Support the project's development starting at:

  • Backer (from $5/mo)
  • Supporter (from $25/mo)
  • Sponsor (from $100/mo)
  • Corporate Sponsor (from $500/mo)
  • Custom donations welcome

Your support will help us maintain and improve Fedify. Check it out here:

https://opencollective.com/fedify

:fedify:

Fedify's Open Collective page showing the project logo, description as “A TypeScript library for building federated server apps powered by ActivityPub and other standards”, and five contribution tiers starting from $5/month Backer to $500/month Corporate Sponsor, with custom contribution options available.
ALT text detailsFedify's Open Collective page showing the project logo, description as “A TypeScript library for building federated server apps powered by ActivityPub and other standards”, and five contribution tiers starting from $5/month Backer to $500/month Corporate Sponsor, with custom contribution options available.
Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social

@fedify/markdown-it-hashtag, a markdown-it plugin that parses and renders Mastodon-style , just released 0.3.0! In this release, link, linkAttributes, and label callbacks became to take one more parameter, a markdown-it environment, which enables your hashtag rendering more flexible. For example, now hashtag links can be dynamically determined:

import MarkdownIt from "markdown-it";
import { hashtag } from "@fedify/markdown-it-hashtag";

const md = new MarkdownIt();
md.use(hashtag, {
  link: (tag: string, env: any) => `${env.origin}/tags/${tag.substring(1)}`
});
const html = md.render("Your Markdown text with #hashtags!", {
  origin: "https://example.com"
});

@fedify/markdown-it-hashtag 0.3.0 is available at both JSR and npm!

Andy Piper's avatar
Andy Piper

@andypiper@macaw.social

This is great - @fedify has launched an @opencollective to help sustain the project. This is a great library and framework that is helping many other projects grow into the . Shout-out to @hongminhee! (also to @liaizon for posting about it as well)

opencollective.com/fedify

wakest ⁂'s avatar
wakest ⁂

@liaizon@social.wake.st

Today @fedify launched an @opencollective to support the project.
@hongminhee has been doing amazing work on it. :fediverse: Fedify has shown itself to be one of the most promising ways for other projects to become part of the . If you liked seeing Ghost (@index) make such fast progress bringing in potentially thousands (millions?) of blogs and newsletters to the fediverse, this is what they are using behind the scenes! So lets support this project together!
opencollective.com/fedify

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social

🎉 Excited to announce that is now on Open Collective! Support the project's development starting at:

  • Backer (from $5/mo)
  • Supporter (from $25/mo)
  • Sponsor (from $100/mo)
  • Corporate Sponsor (from $500/mo)
  • Custom donations welcome

Your support will help us maintain and improve Fedify. Check it out here:

https://opencollective.com/fedify

:fedify:

Fedify's Open Collective page showing the project logo, description as “A TypeScript library for building federated server apps powered by ActivityPub and other standards”, and five contribution tiers starting from $5/month Backer to $500/month Corporate Sponsor, with custom contribution options available.
ALT text detailsFedify's Open Collective page showing the project logo, description as “A TypeScript library for building federated server apps powered by ActivityPub and other standards”, and five contribution tiers starting from $5/month Backer to $500/month Corporate Sponsor, with custom contribution options available.
Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post

We've just set up our sponsors showcase! You can now find our wonderful sponsors:

These pages are automatically updated every hour. Thank you to all our sponsors for supporting 's development!

Want to be listed? Support us on Open Collective: https://opencollective.com/fedify.

:_ko::_ko::_a::_ni::_lya::_n:'s avatar
:_ko::_ko::_a::_ni::_lya::_n:

@cocoa_vrc@misskey.io

FediAuth、apsigが地味に未完成 (ActorのJSON-LDの問題もあるだろうけどFedify Inboxでの検証が通らない)なのでFedify使うことを検討中​:thonk:

yamanoku's avatar
yamanoku

@yamanoku@hollo.yamanoku.net

I've just contributed to Fedify. Consider supporting them too — every little helps! https://opencollective.com/fedify

おきん@しぃ!の🥫of🐟️'s avatar
おきん@しぃ!の🥫of🐟️

@okin_p@si.okin-jp.net

I've just contributed to Fedify. Consider supporting them too — every little helps! opencollective.com/fedify

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social

:fedify: ♥️ :pixelfed:

https://mastodon.social/@dansup/113910607674823618

洪 民憙 (Hong Minhee)'s avatar
洪 民憙 (Hong Minhee)

@hongminhee@hollo.social

Thank you so much, @dansup! Really appreciate your support! Your work in the fediverse community has been inspiring, and having you as our first supporter means a lot.

https://mastodon.social/@dansup/113910607674823618

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social

🎉 Excited to announce that is now on Open Collective! Support the project's development starting at:

  • Backer (from $5/mo)
  • Supporter (from $25/mo)
  • Sponsor (from $100/mo)
  • Corporate Sponsor (from $500/mo)
  • Custom donations welcome

Your support will help us maintain and improve Fedify. Check it out here:

https://opencollective.com/fedify

:fedify:

Fedify's Open Collective page showing the project logo, description as “A TypeScript library for building federated server apps powered by ActivityPub and other standards”, and five contribution tiers starting from $5/month Backer to $500/month Corporate Sponsor, with custom contribution options available.
ALT text detailsFedify's Open Collective page showing the project logo, description as “A TypeScript library for building federated server apps powered by ActivityPub and other standards”, and five contribution tiers starting from $5/month Backer to $500/month Corporate Sponsor, with custom contribution options available.
Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social

Valtteri Laitinen (@valtlai) managed to get running on Workers!

https://fedi.valtlai.fi/@valtlai/113906145660141267

Valtteri Laitinen's avatar
Valtteri Laitinen

@valtlai@valtlai.fi · Reply to Valtteri Laitinen's post

@thisismissem @fedify I got this working with the JSR package by adding a Temporal polyfill and stripping import attributes (see github.com/fedify-dev/fedify/i).

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post

We've just moved the project and related repositories to our new GitHub organization account, @fedify-dev! 🎉

Here's what moved:

All repositories have been transferred and GitHub's automatic redirects are in place, so existing links will continue to work. Also, the project's core functionality and development process remain unchanged.

Thanks to everyone who participated in our naming poll. Looking forward to Fedify's continued growth under its new organizational home!

:fedify: New GitHub organization: https://github.com/fedify-dev.

Valtteri Laitinen's avatar
Valtteri Laitinen

@valtlai@valtlai.fi

Äh… Halusin koodata oman fediverseinstanssin @fedify​-kirjastolla. Alustana olisi Cloudflare (Workers, KV, D1, Queues, R2). Workersin Node.js-yhteensopivuustilasta huolimatta Fedify ei kuitenkaan toimi: palauttaa ainakin syntaksivirheitä. Turhauttaa!

Nyt sitten forkkaan Fedifyn toistaiseksi ja yritän saada sen toimimaan. En nimittäin halua ohjelmoida ActivityPub-palvelinta ilman apukirjastoa, enkä mielelläni vaihtaisi hostausympäristöäkään toiseen.

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post

We've just moved the project and related repositories to our new GitHub organization account, @fedify-dev! 🎉

Here's what moved:

All repositories have been transferred and GitHub's automatic redirects are in place, so existing links will continue to work. Also, the project's core functionality and development process remain unchanged.

Thanks to everyone who participated in our naming poll. Looking forward to Fedify's continued growth under its new organizational home!

:fedify: New GitHub organization: https://github.com/fedify-dev.

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social · Reply to 's post

@sash Here is our answer!

https://hollo.social/@fedify/0194a1d2-65ba-73f2-960d-82f322cf7e25

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social · Reply to Darius Kruythoff's post

@dkruythoff @daniel

We appreciate the thoughtful suggestions about moving Fedify to platforms like Codeberg that better align with the federation ideals our project upholds. These suggestions raise important points about corporate centralization and the broader FOSS ecosystem that we've carefully considered.

After thorough deliberation, we plan to keep Fedify's primary repository on GitHub for the foreseeable future. This decision stems from several practical considerations:

First, we aim to make Fedify as accessible as possible to potential contributors. While platforms like Codeberg represent important alternatives, GitHub remains the platform most developers are familiar with, particularly in the JavaScript/TypeScript ecosystem where Fedify operates.

Second, GitHub currently provides significant visibility benefits that help us reach more developers who could benefit from or contribute to Fedify. As a relatively new project, this broader reach is particularly valuable for building our community.

Additionally, our package registry JSR's provenance attestation feature, which we rely on for security guarantees, currently only supports GitHub Actions integration. This technical dependency would make migration particularly challenging at this time.

However, we recognize the value in supporting more decentralized platforms. As a middle ground, we are considering setting up a mirror repository on Codeberg. This would provide an alternative access point while maintaining our GitHub presence.

We're committed to regularly reassessing this position as the ecosystem evolves and as alternative platforms continue to mature.

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social · Reply to Darius Kruythoff's post

@dkruythoff @daniel

We appreciate the thoughtful suggestions about moving Fedify to platforms like Codeberg that better align with the federation ideals our project upholds. These suggestions raise important points about corporate centralization and the broader FOSS ecosystem that we've carefully considered.

After thorough deliberation, we plan to keep Fedify's primary repository on GitHub for the foreseeable future. This decision stems from several practical considerations:

First, we aim to make Fedify as accessible as possible to potential contributors. While platforms like Codeberg represent important alternatives, GitHub remains the platform most developers are familiar with, particularly in the JavaScript/TypeScript ecosystem where Fedify operates.

Second, GitHub currently provides significant visibility benefits that help us reach more developers who could benefit from or contribute to Fedify. As a relatively new project, this broader reach is particularly valuable for building our community.

Additionally, our package registry JSR's provenance attestation feature, which we rely on for security guarantees, currently only supports GitHub Actions integration. This technical dependency would make migration particularly challenging at this time.

However, we recognize the value in supporting more decentralized platforms. As a middle ground, we are considering setting up a mirror repository on Codeberg. This would provide an alternative access point while maintaining our GitHub presence.

We're committed to regularly reassessing this position as the ecosystem evolves and as alternative platforms continue to mature.

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social · Reply to Darius Kruythoff's post

@dkruythoff @daniel

We appreciate the thoughtful suggestions about moving Fedify to platforms like Codeberg that better align with the federation ideals our project upholds. These suggestions raise important points about corporate centralization and the broader FOSS ecosystem that we've carefully considered.

After thorough deliberation, we plan to keep Fedify's primary repository on GitHub for the foreseeable future. This decision stems from several practical considerations:

First, we aim to make Fedify as accessible as possible to potential contributors. While platforms like Codeberg represent important alternatives, GitHub remains the platform most developers are familiar with, particularly in the JavaScript/TypeScript ecosystem where Fedify operates.

Second, GitHub currently provides significant visibility benefits that help us reach more developers who could benefit from or contribute to Fedify. As a relatively new project, this broader reach is particularly valuable for building our community.

Additionally, our package registry JSR's provenance attestation feature, which we rely on for security guarantees, currently only supports GitHub Actions integration. This technical dependency would make migration particularly challenging at this time.

However, we recognize the value in supporting more decentralized platforms. As a middle ground, we are considering setting up a mirror repository on Codeberg. This would provide an alternative access point while maintaining our GitHub presence.

We're committed to regularly reassessing this position as the ecosystem evolves and as alternative platforms continue to mature.

Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social · Reply to Fedify: an ActivityPub server framework's post

Okay, since we couldn't get in touch with the @fedify account owner, we need a new name for our GitHub organization. Which alternative do you prefer?

Your suggestions for other names are welcome in the comments! We'll make the final decision based on your feedback.

OptionVoters
fedify-js16 (11%)
fedify-sdk14 (10%)
fedify-framework15 (11%)
fedify-dev48 (34%)
fedify-org48 (34%)
Fedify: an ActivityPub server framework's avatar
Fedify: an ActivityPub server framework

@fedify@hollo.social

already uses the API exclusively for representing temporal data.

https://developer.mozilla.org/en-US/blog/javascript-temporal-is-coming/

← Newer
Older →