Releases: neet/masto.js
v7.2.0
7.2.0 (2025-07-14)
Features
- Add
blur
enum value forFilterAction
type (bd6efb3) - Add
dateOfBirth
property toCreateAccountParams
(1ee4a42) - Add
id
andfeaturing
property toTag
API (4bcc23a) - Add
minAge
andreasonRequired
property toInstance
(a57620e) - Add
translations
property toRule
entity (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.AccountWarning
typev1.Appeal
typev1.GroupedNotificationsResults
,v1.PartialAccountWithAvatar
, andv1.NotificationGroup
typesv1.Notification["groupKey"]
,v1.SeveredRelationshipsNotification
, andv1.ModerationWarningNotification
typesv1.NotificationRequest
typev1.RelationshipSeveranceEvent
typev1.Suggestion["sources"]
propertyv2.Instance["icon"]
,v2.Instance["apiVersions"]
,v2.Instance["configuration"]["vapid"]
propertiesv2.NotificationPolicy
type
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)