Releases: fedify-dev/fedify
Fedify 2.1.10
Released on April 23, 2026.
@fedify/vocab-runtime
- Added https://join-lemmy.org/context.json to preloaded JSON-LD contexts. Lemmy serves this context as
application/jsonwithout a JSON-LD contextLinkheader, which caused the default document loader to reject Lemmy-originated activities before application handlers could run. [#714]
Fedify 2.0.14
Released on April 23, 2026.
@fedify/vocab-runtime
- Added https://join-lemmy.org/context.json to preloaded JSON-LD contexts. Lemmy serves this context as
application/jsonwithout a JSON-LD contextLinkheader, which caused the default document loader to reject Lemmy-originated activities before application handlers could run. [#714]
Fedify 2.1.9
Released on April 22, 2026.
@fedify/mysql
- Fixed a TypeScript type mismatch in
MysqlKvStoreandMysqlMessageQueuethat could reject validmysql2pools when an application resolvedmysql2through multiple type sources or different package versions. The constructors now accept the structural pool shape they actually use, so mixed Deno/npm setups and monorepos no longer need casts or@ts-expect-errorworkarounds.
Fedify 2.1.8
Released on April 22, 2026.
@fedify/init
- Fixed
fedify init -w astro -p bungenerating package.jsonscriptsthat invoked Astro through Node.js. Bun + Astro projects now usebunx --bun astro devandbunx --bun astro build, so the generated development workflow runs on systems that only have Bun installed.
@fedify/next
- Widened
@fedify/next's supported Next.js peer dependency range to>=15.4.6 <17, so installing it into a freshcreate-next-app16.x project no longer fails with anERESOLVEpeer dependency conflict. This restores the defaultfedify init -w nextflow against the current Next.js stable release and updates the integration example to track Next.js 16. [#713]
Fedify 2.0.13
Released on April 22, 2026.
@fedify/next
- Widened
@fedify/next's supported Next.js peer dependency range to>=15.4.6 <17, so installing it into a freshcreate-next-app16.x project no longer fails with anERESOLVEpeer dependency conflict. This restores the defaultfedify init -w nextflow against the current Next.js stable release and updates the integration example to track Next.js 16. [#713]
Fedify 2.1.7
Released on April 21, 2026.
@fedify/init
- Fixed
fedify initgenerating Astro projects for Bun with the Node.js adapter andastro preview, which could fail to run correctly on Bun. Astro + Bun projects now use @nurodev/astro-bun and run the built Bun server entry point instead. [#707]
Fedify 2.1.6
Released on April 20, 2026.
@fedify/astro
- Restored the npm entrypoint contract for
@fedify/astroby making the build emit dist/*.js and dist/*.d.ts files that match the published package metadata again. This fixes package resolution failures caused by package.json exporting files that did not exist in the npm tarball. [#699, #701]
@fedify/cli
- Fixed
fedify lookupfailing to look up URLs on private or localhost addresses unless-p/--allow-private-addresswas passed, which was a regression introduced in Fedify 2.1.0 when the CLI began forwarding theallowPrivateAddressoption to the underlying document loader. URLs explicitly provided on the command line now always allow private addresses, while URLs discovered during-t/--traversehonor the option to mitigate SSRF attacks against private addresses. Recursive fetches via--recursecontinue to always disallow private addresses regardless of the option. [#696, #698 by Chanhaeng Lee]
Fedify 2.1.5
Released on April 8, 2026.
@fedify/fedify
-
Fixed
Context.getActorKeyPairs()assigning the same key ID to both theCryptographicKey(used for HTTP Signatures and Linked Data Signatures) and theMultikey(used for Object Integrity Proofs) within anActorKeyPair. TheMultikeynow receives a distinct ID (#multikey-1,#multikey-2, …) so that the actor document no longer contains two objects sharing the sameid, which was invalid JSON-LD. Object Integrity Proof signatures now reference the correctMultikeyID instead of theCryptographicKeyID. [#663] -
Object Integrity Proofs signing now takes place before activity fanout, so all recipients receive the same pre-signed activity. Previously, OIP signing was deferred until after fanout, meaning each fanout worker would re-sign independently with potentially different timestamps and the fanout message itself contained an unsigned activity.
@fedify/cfworkers
- Fixed a remaining TypeScript type mismatch for Cloudflare Workers users who pass
wrangler typesor@cloudflare/vite-plugingenerated KV bindings toWorkersKvStore. The package now accepts a minimal structural KV binding interface forWorkersKvStoreandWorkersMessageQueue'sorderingKvoption instead of requiring the nominalKVNamespacetype imported from@cloudflare/workers-types, so generated local declarations compile without casts or@ts-expect-error. [#665]
Fedify 2.0.12
Released on April 8, 2026.
@fedify/fedify
-
Fixed
Context.getActorKeyPairs()assigning the same key ID to both theCryptographicKey(used for HTTP Signatures and Linked Data Signatures) and theMultikey(used for Object Integrity Proofs) within anActorKeyPair. TheMultikeynow receives a distinct ID (#multikey-1,#multikey-2, …) so that the actor document no longer contains two objects sharing the sameid, which was invalid JSON-LD. Object Integrity Proof signatures now reference the correctMultikeyID instead of theCryptographicKeyID. [#663] -
Object Integrity Proofs signing now takes place before activity fanout, so all recipients receive the same pre-signed activity. Previously, OIP signing was deferred until after fanout, meaning each fanout worker would re-sign independently with potentially different timestamps and the fanout message itself contained an unsigned activity.
@fedify/cfworkers
- Fixed a remaining TypeScript type mismatch for Cloudflare Workers users who pass
wrangler typesor@cloudflare/vite-plugingenerated KV bindings toWorkersKvStore. The package now accepts a minimal structural KV binding interface forWorkersKvStoreandWorkersMessageQueue'sorderingKvoption instead of requiring the nominalKVNamespacetype imported from@cloudflare/workers-types, so generated local declarations compile without casts or@ts-expect-error. [#665]
Fedify 1.10.8
Released on April 8, 2026.
@fedify/fedify
-
Fixed
Context.getActorKeyPairs()assigning the same key ID to both theCryptographicKey(used for HTTP Signatures and Linked Data Signatures) and theMultikey(used for Object Integrity Proofs) within anActorKeyPair. TheMultikeynow receives a distinct ID (#multikey-1,#multikey-2, …) so that the actor document no longer contains two objects sharing the sameid, which was invalid JSON-LD. Object Integrity Proof signatures now reference the correctMultikeyID instead of theCryptographicKeyID. [#663] -
Object Integrity Proofs signing now takes place before activity fanout, so all recipients receive the same pre-signed activity. Previously, OIP signing was deferred until after fanout, meaning each fanout worker would re-sign independently with potentially different timestamps and the fanout message itself contained an unsigned activity.