Releases: neet/masto.js
v7.2.0
7.2.0 (2025-07-14)
Features
- Add
blurenum value forFilterActiontype (bd6efb3) - Add
dateOfBirthproperty toCreateAccountParams(1ee4a42) - Add
idandfeaturingproperty toTagAPI (4bcc23a) - Add
minAgeandreasonRequiredproperty toInstance(a57620e) - Add
translationsproperty toRuleentity (bf908c4) - Add endorsement APIs to AccountsResource (2f38c45)
- Add feature/unfeature methods to TagResource (7f790fc)
- Add quote entities and attach to statuses (#1324) (be42256)
Bug Fixes
v7.1.0
v7.0.0
7.0.0 (2025-04-28)
Migration Guide
Upgrade Node.js to 20.x
Since Security Support for Node.js 18.x ended on April 30, 2025, we dropped the support for that version. 20.x is now the minimum required version, so please upgrade it for further use.
If you're using from a browser environment, please make sure that the browsers you're going to support offer corresponding APIs to ones implemented by Node.js 20, such as AbortSignal.any. Otherwise, you may need to use poyfills.
Paginator.{next, return, throw, clone} are removed
Due to the simplicity, we have changed Paginator API not to implement AsyncIterator directly, but to implement AsyncIterable instead, which has [Symbol.asyncIterator] property that returns AsyncIterator. We also offer values method as an alias for [Symbol.asyncIterator].
Therefore, if you're using paginator.next() in your codebase, you must explicitly convert them to AsyncIterator first, then use the iterator methods.
- const page = await paginator.next()
+ const page = await paginator[Symbol.asyncIterator].next()
+ const page = await paginator.values().next()Also, the unnecessary paginator.clone() method is now removed, because [Symbol.asyncIterator] generates a new iterator instance every time.
- const paginator1 = masto.v1.lists.select("123").accounts.list();
- const paginator2 = await paginator.clone()
+ const paginator = masto.v1.lists.$select("123").accounts.list()
+ const pagenator1 = await paginator.values()
+ const pagenator2 = await paginator.values()Renamed APIs
The following Mastodon APIs were removed due to the upstream changes or our naming convention. Please refer to the table below for the newer names.
| Old name | New name |
|---|---|
SuggestionSource |
LegacySuggestionSource |
SuggestionSource_ |
SuggestionSource |
CreateTokenParamsWithPassword |
CreateTokenWithPasswordParams |
v1.search.fetch |
Removed. Use v1.search.list |
v2.search.fetch |
Removed. Use v2.search.list |
⚠ BREAKING CHANGES
- Remove deprecated APIs (CreateTokenParamsWithPassword, v1.search.fetch, v2.search.fetch, SuggestionSource)
- Change PaginatorHttp.values to a generator
- Replace mergeAbortSignals with AbortSignal.any
Features
- Change PaginatorHttp.values to a generator (cba6d19)
- Promote Symbol.dispose for WebSocketSubscription to a stable API (abd385a)
- Remove deprecated APIs (CreateTokenParamsWithPassword, v1.search.fetch, v2.search.fetch, SuggestionSource) (b2ae9b5)
Bug Fixes
v6.10.4
v6.10.3
v6.10.2
v6.10.1
v6.10.0
v6.9.0
6.9.0 (2024-10-14)
In this release, we support the latest Mastodon v4.3.0 which comes with numerous enhancements in notification-related APIs. Here is the list of APIs/types affected by this release. You may also want to read the Mastodon official release note for v4.3.0 for further information.
Types
Event["event"]with"notification_merged"v1.AccountWarningtypev1.Appealtypev1.GroupedNotificationsResults,v1.PartialAccountWithAvatar, andv1.NotificationGrouptypesv1.Notification["groupKey"],v1.SeveredRelationshipsNotification, andv1.ModerationWarningNotificationtypesv1.NotificationRequesttypev1.RelationshipSeveranceEventtypev1.Suggestion["sources"]propertyv2.Instance["icon"],v2.Instance["apiVersions"],v2.Instance["configuration"]["vapid"]propertiesv2.NotificationPolicytype
APIs
masto.v1.accounts.fetch({ id: [id1, id2, ...] })masto.v1.accounts.relationship.fetch({ id: [...], withSuspended: boolean })masto.v1.notifications.requests.$select(id).accept()masto.v1.notifications.requests.$select(id).dismiss()masto.v1.notifications.requests.$select(id).fetch()masto.v1.notifications.requests.accept()masto.v1.notifications.requests.dismiss()masto.v1.notifications.requests.list()masto.v1.notifications.requests.merged.fetch()masto.v1.notifications.unreadCount.fetch()masto.v1.statuses.fetch({ id: [id1, id2, ...] })masto.v1.timelines.link.list({ url: "..." })masto.v2.notifications.$select(id).accounts.fetch()masto.v2.notifications.$select(id).dismiss()masto.v2.notifications.$select(id).fetch()masto.v2.notifications.policy.fetch()masto.v2.notifications.policy.update()masto.v2.notifications.unreadCount.fetch()
Features
- Support Mastodon 4.3.0 (103a130)