Fedify 2.0.0をリリースしました!
Fedify史上最大のリリースです。主な変更点をご紹介します:
@fedify/fedifyパッケージを、@fedify/vocab、@fedify/vocab-runtime、@fedify/vocab-tools、@fedify/webfingerなど、独立したパッケージに分割しました。バンドルサイズの削減、インポートの整理に加え、カスタム語彙型によるActivityPubの拡張も可能になりました。@fedify/debuggerパッケージにより、/__debug__/パスにライブダッシュボードを表示できます。連合トラフィックのトレース、アクティビティの詳細、署名検証、ログまで一目で確認できます。既存のFederationオブジェクトをラップするだけで使えます。@fedify/relayパッケージとfedify relayCLIコマンドで、リレーサーバーをすぐに立ち上げることができます。Mastodon方式とLitePub方式の両方に対応しています(FEP-ae0c)。orderingKeyオプションにより、「ゾンビ投稿」問題を解決しました。DeleteがCreateより先に到着してしまう問題がなくなります。同じキーを共有するアクティビティはFIFO順序が保証されます。setOutboxPermanentFailureHandler()で、リモートのインボックスが404や410を返した際に対応できるようになりました。到達不能なフォロワーの整理などが可能です。その他にも、ミドルウェアレベルでのコンテンツネゴシエーション、@fedify/lint、@fedify/create、CLI設定ファイル、ネイティブNode.js/Bun CLIサポート、多数のバグ修正などが含まれています。
今回のリリースには、韓国のOSSCA(オープンソースコントリビューションアカデミー)参加者の皆さんからの多大な貢献が含まれています。ご協力いただいた全ての方に感謝いたします!
破壊的変更を含むメジャーリリースです。アップグレード前にマイグレーションガイドを必ずご確認ください。
リリースノート全文: https://github.com/fedify-dev/fedify/discussions/580
#Fedify #ActivityPub #fediverse #fedidev #TypeScript
Fedify 2.0.0을 릴리스했습니다!
Fedify 역사상 가장 큰 릴리스입니다. 주요 변경 사항을 소개합니다:
@fedify/fedify 패키지를 @fedify/vocab, @fedify/vocab-runtime, @fedify/vocab-tools, @fedify/webfinger 등 독립적인 패키지들로 분리했습니다. 번들 크기가 줄어들고, 임포트가 깔끔해지며, 커스텀 어휘 타입으로 ActivityPub을 확장할 수도 있습니다.@fedify/debugger 패키지로 /__debug__/ 경로에 라이브 대시보드를 띄울 수 있습니다. 연합 트래픽의 트레이스, 액티비티 상세, 서명 검증, 로그까지 한눈에 확인할 수 있습니다. 기존 Federation 객체를 감싸기만 하면 됩니다.@fedify/relay 패키지와 fedify relay CLI 명령어로 릴레이 서버를 바로 띄울 수 있습니다. Mastodon 방식과 LitePub 방식 모두 지원합니다(FEP-ae0c).orderingKey 옵션으로 “좀비 포스트” 문제를 해결합니다. Delete가 Create보다 먼저 도착하는 문제가 더 이상 발생하지 않습니다. 같은 키를 공유하는 액티비티는 FIFO 순서가 보장됩니다.setOutboxPermanentFailureHandler()로 원격 인박스가 404나 410을 반환할 때 대응할 수 있습니다. 도달 불가능한 팔로워를 정리하는 등의 처리가 가능합니다.이 외에도 미들웨어 수준의 콘텐츠 협상, @fedify/lint, @fedify/create, CLI 설정 파일, 네이티브 Node.js/Bun CLI 지원, 다수의 버그 수정 등이 포함되어 있습니다.
이번 릴리스에는 한국 OSSCA (오픈소스 컨트리뷰션 아카데미) 참가자분들의 큰 기여가 담겨 있습니다. 참여해 주신 모든 분께 감사드립니다!
브레이킹 체인지가 포함된 메이저 릴리스입니다. 업그레이드 전에 마이그레이션 가이드를 꼭 확인해 주세요.
전체 릴리스 노트: https://github.com/fedify-dev/fedify/discussions/580
#Fedify #ActivityPub #fediverse #fedidev #TypeScript
Fedify 2.0.0 is here!
This is the biggest release in Fedify's history. Here are the highlights:
@fedify/fedify package 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.@fedify/debugger package gives you a live dashboard at /__debug__/ showing all your federation traffic: traces, activity details, signature verification, and correlated logs. Just wrap your Federation object and you're done.@fedify/relay and the fedify relay CLI command. Supports both Mastodon-style and LitePub-style relay protocols (FEP-ae0c).orderingKey option solves the “zombie post” problem where a Delete arrives before its Create. Activities sharing the same key are guaranteed to be delivered in FIFO order.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
#Fedify #ActivityPub #fediverse #fedidev #TypeScript
I recreated an old diagram in Excalidraw that I spread about a couple years ago, and made it a bit more informative. Explanation can be found in the #AltText
#SX #SocialCoding #SocialWeb #ActivityPub #SolidProject #fediverse

Welcome to this week’s The Programmer’s Fulcrum.
It’s your weekly review of the essential news in the Open Media Network and Fediverse development communities with a focus on devastating big tech via Techno Anarchism. We aim to provide actionable content you can use to destroy Techno Feudalism each week. It has the additional benefit of weakening authoritarianism.
IMHO, the best way to do […]
https://newsletter.mobileatom.net/the-programmers-fulcrum-20-february-2026/ #ActivityPods #ActivityPub #AI #AsteroidOS #ATProto #bluesky #Codeberg #CSS #ddev #DeltaChat #DrupalCMS #fediverse #Ghost #GoToSocial #Gutenberg #Holos #HTML #HTMX #javascript #KDEPlasma #LibreOffice #Librewolf #Linux #Mastodon #Nextcloud #OMN #Pulsar #signal #Tuta #WordPress #WriteAS
I imagine this depends on the platform to some degree, but I have an #ActivityPub question: Is the home timeline chronological on post publish or when your instance becomes aware of the post?
For context, @posts sometimes publishes a post with a publish time well in the past (like right now, for instance, the most recent post delivered to followers (just now) has a publish time which was 18 hours ago. Does this show up in your feed now, or never get seen because the feed files it away chronologically with all the other 18 hour ago posts?
It is good that there are calls to be/remain wary.
https://kevinak.se/blog/be-wary-of-bluesky
https://news.ycombinator.com/item?id=47095597
Detecting issues early, and future problems can be anticipated and prepared for. And it allows people to make informed technology decisions and weigh the pros and cons, the risks.
There are currently all kinds of typical tech ideology and protocol wars being waged, yet the answer to "Should I use this technology?" always starts with "It depends.."
I am in the #ActivityPub camp for many of the reasons mentioned in the article. At the same time I am a multi-protocol #SocialWeb proponent. Use whatever works best to satisfy needs and forms a solution.
The article also rightfully states that you are not safe from re-centralization risks and corporate capture with any protocol. Esp. not based on the protocol alone.
Did we ever honestly investigate risks to our #fediverse? What if we get big uptake, adoption, billions of fedizens? What shape will that take. Will it bring us "true social"?
This is how #Holos currently handles #E2EE DMs over #ActivityPub. Holos is a project we develop alongside #Fedilab.
To chain things together a bit on this fleety medium of ours, create a hyperweb 😜 I'll quote this toot to follow to:
https://social.coop/@smallcircles/116110545919004233
I remember, I guess 2018 or so, when I joined my first #SocialCG meetup. It was when the CG was still strongly tied to #SocialHub community.
There were mundane items on the agenda, interesting to any #ActivityPub dev, and also the call to action was "whether you are technical or not at all, join the meetup, we are open and inclusive to all fedizens". Very friendly, good vibes.
However during the session the talk was not only CS expert level, but dealing with subject matter nowhere near the spec. It was 'wire reality' slang, and to learn it the guidance was either nowhere, or everywhere, dispersed. And this is still as it is today. To expertised AP developers their domain language sounds all natural, but it likely seems Martian to a dev newcomer.
Stark contrast to the W3C specs that give folks with refreshing "Let's implement this" vibe.
@reiver it is a good question. It is also a question that is formulated from the perspective on how we currently see the AS/AP fediverse.
> I've seen an ongoing debate between "Note" versus "Article" in #ActivityPub / #ActivityStreams.
> When is something a "Note"‽
> When is something an "Article"‽
The question makes sense from the notion of what the current #fediverse is. It makes less sense from the context of AS/AP as described in the protocol specs.
Background to my post is this observation: https://social.coop/@smallcircles/116109447243110037
Then the answer to when is something a Note or an Article is: Always. Note is Note in ActivityStreams and Article is Article.
The question that you would be asking, if only we had a fediverse that followed the original promise of the open standards, is:
> "When is something a Note or an Article in a Microblogging domain?"
For instance.. types you have in any domain depend on your model preferences. Could be anything that serves needs of a solution.
Pessoal:
O caminho mais adequado para uma experiência integrada no #Fediverso é criar uma conta em uma instância do #Friendica? Pelo o que estou entendo, é isso. Crio lá e interajo no #Mastodon, #Lemmy e #Peerturbe, tudo via #ActivityPub, certo?
In the old blogging software I created back in the 1990s, I had a handful of posts types.
There was a type rich-text oriented post that had a title. (Article)
And, there way another type of rich-text oriented post that did not have a title. (Note)
(There were also other types of posts, but they aren't relevant here)
These 2 types of posts were rendered / displayed differently.
I.e., my 1990s software already had this distinction
#ActivityPub #ActivityStreams #FediDev #FediDevs #Fediverse