Releases: fedify-dev/fedify
Fedify 1.10.0
Released on December 24, 2025.
@fedify/fedify
-
Enhanced OpenTelemetry instrumentation with span events for capturing detailed activity data. Span events now record complete activity JSON payloads and verification status, enabling richer observability and debugging capabilities without relying solely on span attributes (which only support primitive values). [#323]
- Added
activitypub.activity.receivedspan event to theactivitypub.inboxspan, recording the full activity JSON, verification status (activity verified, HTTP signatures verified, Linked Data signatures verified), and actor information. - Added
activitypub.activity.sentspan event to theactivitypub.send_activityspan, recording the full activity JSON and target inbox URL. - Added
activitypub.object.fetchedspan event to theactivitypub.lookup_objectspan, recording the fetched object's type and complete JSON-LD representation.
- Added
-
Added OpenTelemetry spans for previously uninstrumented operations: [#323]
- Added
activitypub.fetch_documentspan for document loader operations, tracking URL fetching, HTTP redirects, and final document URLs. - Added
activitypub.verify_key_ownershipspan for cryptographic key ownership verification, recording actor ID, key ID, verification result, and the verification method used.
- Added
-
Added optional
list()method to theKvStoreinterface for enumerating entries by key prefix. This method takes an optionalprefixparameter; when omitted or empty, it returns all entries. This enables efficient prefix scanning which is useful for implementing features like distributed trace storage, cache invalidation by prefix, and listing related entries. [#498, #500]- Added
KvStoreListEntryinterface. - Implemented in
MemoryKvStore.
- Added
-
Added
FedifySpanExporterclass that persists ActivityPub activity traces to aKvStorefor distributed tracing support. This enables aggregating trace data across multiple nodes in a distributed deployment, making it possible to build debug dashboards that show complete request flows across web servers and background workers. [#497, #502]- Added
@fedify/fedify/otelmodule. - Added
FedifySpanExporterclass implementing OpenTelemetry'sSpanExporterinterface. - Added
TraceActivityRecordinterface for stored activity data, includingactorIdandsignatureDetailsfields for debug dashboard support. - Added
SignatureVerificationDetailsinterface for detailed signature verification information. - Added
TraceSummaryinterface for trace listing. - Added
FedifySpanExporterOptionsinterface. - Added
GetRecentTracesOptionsinterface. - Added
ActivityDirectiontype.
- Added
@fedify/nestjs
- Allowed Express 5 in the
expresspeer dependency range to support NestJS 11. [#492, #493 by Cho Hasang]
@fedify/sqlite
@fedify/postgres
@fedify/redis
@fedify/denokv
@fedify/cfworkers
Fedify 1.9.2
Released on December 20, 2025.
@fedify/fedify
- Fixed a ReDoS (Regular Expression Denial of Service) vulnerability in the document loader's HTML parsing. An attacker-controlled server could respond with a malicious HTML payload that blocked the event loop. [CVE-2025-68475]
@fedify/sqlite
- Fixed
SyntaxError: Identifier 'Temporal' has already been declarederror that occurred when usingSqliteKvStoreon Node.js or Bun. The error was caused by duplicateTemporalimports during the build process. [#487]
Fedify 1.8.15
Released on December 20, 2025.
@fedify/fedify
- Fixed a ReDoS (Regular Expression Denial of Service) vulnerability in the document loader's HTML parsing. An attacker-controlled server could respond with a malicious HTML payload that blocked the event loop. [CVE-2025-68475]
@fedify/sqlite
- Fixed
SyntaxError: Identifier 'Temporal' has already been declarederror that occurred when usingSqliteKvStoreon Node.js or Bun. The error was caused by duplicateTemporalimports during the build process. [#487]
Fedify 1.7.16
Released on December 20, 2025.
- Fixed a bug where the npm package failed to load at runtime with an error like
SyntaxError: The requested module '../types.js' does not provide an export named 'i'. This was a regression introduced in version 1.7.15.
Fedify 1.7.15
Released on December 20, 2025.
- Fixed a bug where TypeScript declaration files (.d.ts) were not included in the npm package, causing type errors when importing the package.
Fedify 1.7.14
Released on December 20, 2025.
- Fixed a ReDoS (Regular Expression Denial of Service) vulnerability in the document loader's HTML parsing. An attacker-controlled server could respond with a malicious HTML payload that blocked the event loop. [CVE-2025-68475]
Fedify 1.6.15
Released on December 20, 2025.
- Fixed a bug where the npm package failed to load at runtime with an error like
SyntaxError: The requested module '../types.js' does not provide an export named 'i'. This was a regression introduced in version 1.6.14.
Fedify 1.6.14
Released on December 20, 2025.
- Fixed a bug where TypeScript declaration files (.d.ts) were not included in the npm package, causing type errors when importing the package.
Fedify 1.6.13
Released on December 20, 2025.
- Fixed a ReDoS (Regular Expression Denial of Service) vulnerability in the document loader's HTML parsing. An attacker-controlled server could respond with a malicious HTML payload that blocked the event loop. [CVE-2025-68475]
Fedify 1.9.1
Released on October 31, 2025.
@fedify/testing
-
Fixed JSR publishing hanging indefinitely at the processing stage by hiding complex type exports from the public API. The JSR type analyzer struggled with complex type dependencies when analyzing the
MockFederation,TestFederation,TestContext, andSentActivitytypes, causing indefinite hangs during the processing stage. [#468]- Breaking change:
MockFederationclass is no longer exported from the public API. UsecreateFederation()factory function instead. TestFederation<TContextData>,TestContext<TContextData>, andSentActivityinterfaces are no longer exported from the public API, but their types are still inferred fromcreateFederation()return type and can be used via TypeScript's type inference.
- Breaking change:
@fedify/cli
- Fixed
fedifycommand failing on Windows withPermissionDeniederror when trying to locate or execute package managers during initialization. The CLI now properly handles *.cmd and *.bat files on Windows by invoking them throughcmd /c. [#463]