Skip to content

Fedify 1.3.0

Compare
Choose a tag to compare
@github-actions github-actions released this 29 Nov 15:20
· 43 commits to main since this release
1.3.0
6979c1d

Released on November 30, 2024.

  • MessageQueues now can be differently configured for incoming and outgoing activities.

    • Changed the type of CreateFederationOptions.queue option to FederationQueueOptions | MessageQueue | undefined (was MessageQueue | undefined).
    • Added FederationQueueOptions interface.
    • Added FederationStartQueueOptions.queue option.
  • Fedify now makes HTTP requests with the proper User-Agent header. [#162]

    • Added getUserAgent() function.
    • Added GetUserAgentOptions interface.
    • Added getDocumentLoader() function.
    • Added GetDocumentLoaderOptions interface.
    • The type of getAuthenticatedDocumentLoader() function's second parameter became GetAuthenticatedDocumentLoaderOptions | undefined (was boolean | undefined).
    • Added GetAuthenticatedDocumentLoaderOptions interface.
    • Deprecated fetchDocumentLoader() function.
    • Added LookupObjectOptions.userAgent option.
    • Added the type of getActorHandle() function's second parameter became GetActorHandleOptions | undefined (was NormalizeActorHandleOptions | undefined).
    • Added GetActorHandleOptions interface.
    • Added the optional second parameter to lookupWebFinger() function.
    • Added LookupWebFingerOptions interface.
    • Added GetNodeInfoOptions.userAgent option.
    • Added -u/--user-agent option to fedify lookup subcommand.
    • Added -u/--user-agent option to fedify node subcommand.
  • Fedify now caches unavailable keys of remote actors as well to avoid trying fetching the same unavailable key multiple times.

    • The return type of the KeyCache.get() method became Promise<CryptographicKey | MultiKey | null | undefined> (was Promise<CryptographicKey | MultiKey | null>).
    • The type of the KeyCache.set() method's second parameter became CryptographicKey | MultiKey | null (was CryptographicKey | MultiKey).
    • Added fetchKey() function.
    • Added FetchKeyOptions interface.
    • Added FetchKeyResult interface.
  • The Router now provide the matched route's URI template besides the name.

    • The return type of Router.route() method became RouterRouteResult | null (was { name: string; values: Record<string, string> } | null).
    • Added RouterRouteResult interface.
  • Added getTypeId() function.

  • Context.sendActivity() and InboxContext.forwardActivity() methods now reject when they fail to enqueue the task. [#192]

  • Fedify now allows you to manually route an Activity to the corresponding inbox listener. [#193]

    • Added Context.routeActivity() method.
    • Added RouteActivityOptions interface.
  • Object.toJsonLd() without any format option now returns its original JSON-LD object even if it not created from Object.fromJsonLd() but it is returned from another Object's get*() method.

  • Fedify now supports OpenTelemetry for tracing. [#170]

    • Added Context.tracerProvider property.

    • Added CreateFederationOptions.tracerProvider option.

    • Added LookupWebFingerOptions.tracerProvider option.

    • Added LookupObjectOptions.tracerProvider option.

    • Added GetActorHandleOptions.tracerProvider option.

    • Added VerifyRequestOptions.tracerProvider option.

    • Added SignRequestOptions interface.

    • Added the optional fourth parameter to signRequest() function.

    • Added VerifyProofOptions.tracerProvider option.

    • Added VerifyObjectOptions.tracerProvider option.

    • Added SignObjectOptions.tracerProvider option.

    • Added VerifySignatureOptions.tracerProvider option.

    • Added VerifyJsonLdOptions.tracerProvider option.

    • Added SignJsonLdOptions.tracerProvider option.

    • Added DoesActorOwnKeyOptions.tracerProvider option.

    • Added GetKeyOwnerOptions.tracerProvider option.

    • Added tracerProvider option to the following Activity Vocabulary APIs:

      • The second parameters of constructors.
      • The second parameters of fromJsonLd() static methods.
      • The second parameters of get*() methods.
  • Added @fedify/fedify/x/sveltekit module for integrating with SvelteKit hook. [#171, #183 by Jiyu Park]

    • Added fedifyHook() function.
  • The scaffold project generated by fedify init command now enables tracing data into log messages.

  • Let the fedify lookup command take multiple arguments. [#173, #186 by PGD]