Fedify 0.8.0
Released on May 6, 2024.
-
The CLI toolchain for testing and debugging is now available on JSR: @fedify/cli. You can install it with
deno install -A --unstable-fs --unstable-kv --unstable-temporal -n fedify jsr:@fedify/cli
, or download a standalone executable from the releases page.- Added
fedify
command. - Added
fedify lookup
subcommand. - Added
fedify inbox
subcommand.
- Added
-
Implemented followers collection synchronization mechanism.
- Added
RequestContext.sendActivity()
overload that takes"followers"
as the second parameter. - Added the second type parameter to
CollectionCallbackSetters
interface. - Added the second type parameter to
CollectionDispatcher
type. - Added the fourth parameter to
CollectionDispatcher
type. - Added the second type parameter to
CollectionCounter
type. - Added the third parameter to
CollectionCounter
type. - Added the second type parameter to
CollectionCursor
type. - Added the third parameter to
CollectionCursor
type.
- Added
-
Relaxed the required type for activity recipients.
- Added
Recipient
interface. - The type of the second parameter of
Context.sendActivity()
method becameRecipient | Recipient[]
(wasActor | Actor[]
). However, sinceRecipient
is a supertype ofActor
, the existing code should work without any change.
- Added
-
Followers collection now has to consist of
Recipient
objects only. (It could consist ofURL
s as well asActor
s before.)- The type of
Federation.setFollowersDispatcher()
method's second parameter becameCollectionDispatcher<Recipient, TContextData, URL>
(wasCollectionDispatcher<Actor | URL, TContextData>
).
- The type of
-
Some of the responsibility of a document loader was separated to a context loader and a document loader.
- Added
contextLoader
option to constructors,fromJsonLd()
static methods,clone()
methods, and all non-scalar accessors (get*()
) of Activity Vocabulary classes. - Renamed
documentLoader
option tocontextLoader
intoJsonLd()
methods of Activity Vocabulary objects. - Added
contextLoader
option toLookupObjectOptions
interface. - Added
contextLoader
property toContext
interface. - Added
contextLoader
option toFederationParameters
interface. - Renamed
documentLoader
option tocontextLoader
inRespondWithObjectOptions
interface. - Added
GetKeyOwnerOptions
interface. - The type of the second parameter of
getKeyOwner()
function becameGetKeyOwnerOptions
(wasDocumentLoader
). - Added
DoesActorOwnKeyOptions
interface. - The type of the third parameter of
doesActorOwnKey()
function becameDoesActorOwnKeyOptions
(wasDocumentLoader
).
- Added
-
Added
width
andheight
properties toDocument
class for better compatibility with Mastodon. [#47]- Added
Document.width
property. - Added
Document.height
property. new Document()
constructor now acceptswidth
option.new Document()
constructor now acceptsheight
option.Document.clone()
method now acceptswidth
option.Document.clone()
method now acceptsheight
option.
- Added
-
Removed the dependency on @js-temporal/polyfill on Deno, and Fedify now requires
--unstable-temporal
flag. On other runtime, it still depends on @js-temporal/polyfill. -
Added more log messages using the LogTape library. Currently the below logger categories are used:
["fedify", "federation", "collection"]
["fedify", "httpsig", "verify"]
["fedify", "runtime", "docloader"]
-
Fixed a bug where the authenticated document loader had thrown
InvalidUrl
error when the URL redirection was involved in Bun. -
Fixed a bug of
lookupObject()
that it had failed to look up the actor object when WebFinger response had no links with"type": "application/activity+json"
but had"type": "application/ld+json; profile=\"https://www.w3.org/ns/activitystreams\""
.