**Fedify 2.0.0 is here!**
-
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/lintfor shared linting rules,@fedify/createfor 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
- Modular architecture โ The monolithic
-
Fedify 2.0.0์ ๋ฆด๋ฆฌ์คํ์ต๋๋ค!
Fedify ์ญ์ฌ์ ๊ฐ์ฅ ํฐ ๋ฆด๋ฆฌ์ค์ ๋๋ค. ์ฃผ์ ๋ณ๊ฒฝ ์ฌํญ์ ์๊ฐํฉ๋๋ค:
- ๋ชจ๋ํ ์ํคํ
์ฒ โ ๊ธฐ์กด์ ๋จ์ผ
@fedify/fedifyํจํค์ง๋ฅผ@fedify/vocab,@fedify/vocab-runtime,@fedify/vocab-tools,@fedify/webfinger๋ฑ ๋ ๋ฆฝ์ ์ธ ํจํค์ง๋ค๋ก ๋ถ๋ฆฌํ์ต๋๋ค. ๋ฒ๋ค ํฌ๊ธฐ๊ฐ ์ค์ด๋ค๊ณ , ์ํฌํธ๊ฐ ๊น๋ํด์ง๋ฉฐ, ์ปค์คํ ์ดํ ํ์ ์ผ๋ก ActivityPub์ ํ์ฅํ ์๋ ์์ต๋๋ค. - ์ค์๊ฐ ๋๋ฒ๊ทธ ๋์๋ณด๋ โ ์๋ก์ด
@fedify/debuggerํจํค์ง๋ก/__debug__/๊ฒฝ๋ก์ ๋ผ์ด๋ธ ๋์๋ณด๋๋ฅผ ๋์ธ ์ ์์ต๋๋ค. ์ฐํฉ ํธ๋ํฝ์ ํธ๋ ์ด์ค, ์กํฐ๋นํฐ ์์ธ, ์๋ช ๊ฒ์ฆ, ๋ก๊ทธ๊น์ง ํ๋์ ํ์ธํ ์ ์์ต๋๋ค. ๊ธฐ์กดFederation๊ฐ์ฒด๋ฅผ ๊ฐ์ธ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. - ActivityPub ๋ฆด๋ ์ด ์ง์ โ
@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๊ฐ์ฒด๋ฅผ ๊ฐ์ธ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค. - ActivityPub ๋ฆด๋ ์ด ์ง์ โ
@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ใชใใธใงใฏใใใฉใใใใใ ใใงไฝฟใใพใใ - ActivityPubใชใฌใผใตใใผใ โ
@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
Modular architecture โ The monolithic @fedify/fedify package has been broken up into focused, independent packages:
woo! that's excellent news! i had a handful of (not currently maintained or used) libraries i wrote myself (codeberg.org/outpost/ts-libs) because all the alternatives either did too much (fedify before this) or weren't that great (the existing http signature library does not do typescript from what i can tell)
having these building blocks without the opinionated framework on top is a great step in enabling flexibility in system design without making everyone reinvent the wheel and get it wrong, excited to see this! -
R ActivityRelay shared this topicR AodeRelay shared this topic
-
-
@fedify Very cool, congratulations on the launch, @hongminhee!
-
@fedify Very cool, congratulations on the launch, @hongminhee!