NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #3631 most downloaded on pub.dev
The most famous and powerful Dart/Flutter library for Bluesky Social.
Last release 13 days ago
05 Sep 2026
Release timing varies
gaps range from 8 days to 3 months
Nearly every release is documented
notes for 60 of the last 60 stable releases
1 version withdrawn
withdrawn after publishing
4 years old
237 releases · first in 2023
One column per quarter.
Added uris field on GroupedNotification. You can get a post uri related to Notification with uri property.
uris field on GroupedNotification. You can get a post uri related to Notification with uri property. (#747)Added record field on GroupedNotification.
record field on GroupedNotification. (#745)GroupedNotificationReason enum. It has customFeedLike in addition to fields from NotificationReason enum. (#745)
reason on GroupedNotification from NotificationReason to GroupedNotificationReasonNotificationReason. (#745)
isLikeisNotLikeisRepostisNotRepostisFollowisNotFollowisMentionisNotMentionisReplyisNotReplyisQuoteisNotQuoteMade reasonSubject nullable on GroupedNotification. It's nullable when reason is follow.
reasonSubject nullable on GroupedNotification. It's nullable when reason is follow. (#743)Added .group method on Notifications object. With this method, you can obtain objects grouping notifications by reason and reasonSubject.
.group method on Notifications object. With this method, you can obtain objects grouping notifications by reason and reasonSubject. (#728)
GroupedNotificationsGroupedNotificationSupported app.bsky.feed.getSuggestedFeeds on FeedsService.
app.bsky.feed.getSuggestedFeeds on FeedsService. (#732)
.findSuggestedFeeds.findSuggestedFeedsAsJson.paginateSuggestedFeeds.paginateSuggestedFeedsAsJsonRemoved fully deprecated endpoint on SyncService.
app.bsky.notification.registerPush as createPushRegistration on NotificationsService. (#709)isValidAppPassword function. (#713)SyncService. (#716)
findRepoCommitPathsfindRepoCommitPathsAsJsonSyncService. (#717)
findRepoCheckoutfindRepoCheckoutAsJsonfindRepoHeadfindRepoHeadAsJson.findRepoCommits and .findRepoCommitsAsJson on SyncService. (#718)
earliestCommitCidlatestCommitCidsinceCommitCidrebaseRepo method on RepositoriesService.findLatestCommit method on SyncService. Use it instead of findRepoHead. (#720)SubscribedRepoCommit object. (#719)
revsince (nullable)Supported app.bsky.feed.getActorLikes on FeedsService.
app.bsky.feed.getActorLikes on FeedsService. (#700)
findActorLikesfindActorLikesAsJsonpaginateActorLikespaginateActorLikesAsJsonMoved Session object and createSession function to atproto_core. And exposed refreshSession as a function. Also deprecated ServersService.refreshSessi…
Session object and createSession function to atproto_core. And exposed refreshSession as a function. Also deprecated ServersService.refreshSession method. (#686)Supported com.atproto.sync.notifyOfUpdate as notifyCrawlingServiceOfUpdate on SyncService.
com.atproto.sync.notifyOfUpdate as notifyCrawlingServiceOfUpdate on SyncService. (#316)com.atproto.sync.requestCrawl as requestCrawl on SyncService. (#317)app.bsky.unspecced.getTimelineSkeleton on UnspeccedService. (#573)
findTimelineSkeletonfindTimelineSkeletonAsJsonpaginateTimelineSkeletonpaginateTimelineSkeletonAsJsoncbor and now compatible with Flutter 3.13.0. (#681)Exposed freezed union objects. You can use them for pattern matching.
embed.dart
UEmbedRecordUEmbedImagesUEmbedExternalUEmbedRecordWithMediaUEmbedUnknownembed_media.dart
UEmbedMediaImagesUEmbedMediaExternalUEmbedMediaUnknownembed_view.dart
UEmbedViewRecordUEmbedViewImagesUEmbedViewExternalUEmbedViewRecordWithMediaUEmbedViewUnknownembed_view_media.dart
UEmbedViewMediaImagesUEmbedViewMediaExternalUEmbedViewMediaUnknownfacet_feature.dart
UFacetFeatureMentionUFacetFeatureLinkUFacetFeatureUnknownpost_thread_view.dart
UPostThreadViewRecordUPostThreadViewNotFoundUPostThreadViewBlockedUPostThreadViewUnknownpreference.dart
UPreferenceAdultContentUPreferenceContentLabelUPreferenceSavedFeedsUPreferenceUnknownreason.dart
UReasonRepostUReasonUnknownreply_post.dart
UReplyPostRecordUReplyPostNotFoundUReplyPostBlockedUReplyPostUnknownskeleton_reason.dart
USkeletonReasonRepostUSkeletonReasonUnknownlabels.dart
ULabelsSelLabelsULabelsUnknownreport_subject.dart
UReportSubjectRepoRefUReportSubjectStrongRefUReportSubjectUnknownsubscribed_repo.dart
USubscribedRepoCommitUSubscribedRepoHandleUSubscribedRepoMigrateUSubscribedRepoTombstoneUSubscribedRepoInfoUSubscribedRepoUnknownbatch_action.dart
UBatchActionCreateUBatchActionUpdateUBatchActionDeleteDrop support for null unsafe Dart, bump SDK constraint to '^3.0.0'.
Added BlockedAuthor as author property.
BlockedAuthor as author property. (#660)
BlockedPostEmbedViewRecordViewBlockedfalse.
ActorViewerListViewerAdded filter parameters. And exposed FeedFilter enum.
Exposed NSID from bluesky.dart.
NSID from bluesky.dart.app.bsky.unspecced.applyLabels as createLabels on UnspeccedService. (#651)Upgraded atproto_core and exposed RateLimit and RateLimitPolicy objects.
cursor to Repos object. (#627)atproto_core and exposed RateLimit and RateLimitPolicy objects. (#636)langs field in PostRecord. (#642)ActorsService
paginateActorspaginateActorsAsJsonpaginateSuggestionspaginateSuggestionsAsJsonFeedsService
paginateTimelinepaginateTimelineAsJsonpaginateFeedpaginateFeedAsJsonpaginateCustomFeedpaginateCustomFeedAsJsonpaginateFeedSkeletonpaginateFeedSkeletonAsJsonpaginateActorFeedspaginateActorFeedsAsJsonpaginateLikespaginateLikesAsJsonpaginateRepostedBypaginateRepostedByAsJsonGraphsService
paginateFollowspaginateFollowsAsJsonpaginateFollowerspaginateFollowersAsJsonpaginateMutespaginateMutesAsJsonpaginateBlockspaginateBlocksAsJsonpaginateListspaginateListsAsJsonpaginateListItemspaginateListItemsAsJsonpaginateMutingListspaginateMutingListsAsJsonNotificationsService
paginateNotificationspaginateNotificationsAsJsonUnspeccedService
paginatePopularFeedpaginatePopularFeedAsJsonpaginatePopularFeedGeneratorspaginatePopularFeedGeneratorsAsJsonExposed lexicon ids from com.atproto and app.bsky as ids.dart.
com.atproto and app.bsky as ids.dart. (#623)Added query parameters to findPopularFeedGenerators and findPopularFeedGeneratorsAsJson in UnspeccedService.
query parameters to findPopularFeedGenerators and findPopularFeedGeneratorsAsJson in UnspeccedService. (#615)unspecced parameter. Fields not supported by the official Lexicon can be added when creating a record. (#612)
FeedsService
createPostcreatePostscreateRepostcreateRepostscreateLikecreateLikescreateGeneratorcreateGeneratorsGraphsService
createFollowcreateFollowscreateBlockcreateBlockscreateListcreateListscreateListItemcreateListItemsAdded documentations to model objects.
Upgraded atproto_core. Fixed minor things.
atproto_core. Fixed minor things.Added callbacks in RepoCommitAdaptor and properties in AtUriExtension.
RepoCommitAdaptor and properties in AtUriExtension. (#586)
AtUriExtension
isFeedGenerator, isNotFeedGeneratorisGraphBlock, isNotGraphBlockisGraphList, isNotGraphListisGraphListItem, isNotGraphListItemRepoCommitAdaptor
onCreateGeneratoronCreateBlockonCreateListonCreateListItemonDeleteGeneratoronDeleteBlockonDeleteListonDeleteListItemA method to retrieve response data as JSON from endpoints that perform GET communication has been added. These processes do not convert to a specific
IdentitiesService
findDIDAsJsonRepositoriesService
findRecordAsJsonfindRecordsAsJsonfindRepoInfoAsJsonServersService
findCurrentSessionAsJsonfindInviteCodesAsJsonfindAppPasswordsAsJsonfindServerInfoAsJsonSyncService
findRepoCommitsAsJsonfindRepoCommitPathsAsJsonfindRepoBlocksAsJsonfindRepoCheckoutAsJsonfindRepoHeadAsJsonfindRecordAsJsonfindReposAsJsonActorsService
searchActorsAsJsonfindProfileAsJsonfindProfilesAsJsonfindSuggestionsAsJsonsearchTypeaheadAsJsonfindPreferencesAsJsonFeedsService
findTimelineAsJsonfindFeedAsJsonfindCustomFeedAsJsonfindFeedSkeletonAsJsonfindActorFeedsAsJsonfindLikesAsJsonfindRepostedByAsJsonfindPostThreadAsJsonfindPostsAsJsonfindGeneratorAsJsonfindGeneratorsAsJsonfindGeneratorInfoAsJsonGraphsService
findFollowsAsJsonfindFollowersAsJsonfindMutesAsJsonfindBlocksAsJsonfindListsAsJsonfindListItemsAsJsonfindMutingListsAsJsonNotificationsService
findNotificationsAsJsonfindUnreadCountAsJsonUnspeccedService
findPopularFeedAsJsonfindPopularFeedGeneratorsAsJsonActorProfile, Actor, ActorViewer
isNotMutedisNotBlockedByListView, ListViewBasic, ListViewer
isNotMutedfindPopularFeedGenerators in UnspeccedService. (#581)
limit and cursorcursor in FeedGeneratorsSupported com.atproto.server.describeServer as findServerInfo in ServersService.
com.atproto.server.describeServer as findServerInfo in ServersService. (#260)com.atproto.server.createInviteCodes as createInviteCodes in ServersService. (#258)UnsupportedError when an anonymous user tries to access an endpoint that requires authentication. (#564)Added languageTags parameter for createPost, createPosts and createThread. Now you can specify well-formatted BCP 47 language tags to your post.
languageTags parameter for createPost, createPosts and createThread. Now you can specify well-formatted BCP 47 language tags to your post. (#538)cid field to ListView and ListViewBasic objects. (#539)listView for EmbedViewRecordView. (#540)PostViewer and Post objects
isRepostedisNotRepostedisLikedisNotLikedActorViewer, Actor and ActorProfile objects
isMutedByListisNotMutedByListisBlockingisNotBlockingisFollowingisNotFollowingisFollowedByisNotFollowedByhomepage in pubspec.yaml. (#549)uploadBlob method to byte data instead of a File object. This change allows uploads to be used without being affected by platform differences. (#556)Supported com.atproto.sync.getRepo as findRepoCommits in SyncService.
com.atproto.sync.getRepo as findRepoCommits in SyncService. (#313)com.atproto.sync.getCommitPath as findRepoCommitPaths in SyncService. (#310)com.atproto.sync.getBlocks as findRepoBlocks in SyncService. (#308)com.atproto.sync.getCheckout as findRepoCheckout in SyncService. (#309)com.atproto.sync.getHead as findRepoHead in SyncService. (#311)com.atproto.sync.getRecord as findRecord in SyncService. (#312)com.atproto.repo.listRecords as findRecords in RepositoriesService. (#305)com.atproto.repo.rebaseRepo as rebaseRepo in RepositoriesService. (#509)com.atproto.sync.listRepos as findRepos in SyncService. (#315)Repo to RepoInfo returned from findRepoInfo in RepositoriesService.RecordValue to Record. And now createRecord and updateRecord and following methods returns StrongRef. (#511)
createPostcreateThreadcreateRepostcreateLikecreateGeneratorcreateFollowcreateBlockcreateListcreateListItemupdateProfileBlobContext and LegacyBlob. Blobs in the old format were modified to be converted to the new format. (#514)Renamed property from data to record in RepoCommitUpdate.
data to record in RepoCommitUpdate.Added RepoCommitAdaptor for easy handling of RepoCommit events of SyncService.subscribeRepoUpdate.
Upgraded atproto and atproto_core.
atproto and atproto_core.Refactored subscribeRepoUpdates.
subscribeRepoUpdates. (#472)Renamed from findSkeletonFeed to findFeedSkeleton.
findSkeletonFeed to findFeedSkeleton. (#456)parentHeight parameter to findPostThread. (#457)app.bsky.unspecced.getPopularFeedGenerators as findPopularFeedGenerators in UnspeccedService. (#458)CopyWith classes. (#463)labels field to nullable.
actor.dartactor_profile.dartpost.dartnotification.dartSupported app.bsky.feed.generator as createGenerator in FeedsService.
app.bsky.feed.generator as createGenerator in FeedsService. (#430)app.bsky.actor.defs#savedFeedsPref as savedFeeds field in Preference object. (#427)app.bsky.feed.getActorFeeds as findActorFeeds in FeedsService. (#431)app.bsky.feed.getFeedGenerator as findGenerator in FeedsService. (#433)app.bsky.feed.getFeedGenerators as findGenerators in FeedsService. (#434)app.bsky.feed.getFeed as findCustomFeed in FeedsService. (#432)app.bsky.feed.getFeedSkeleton as findSkeletonFeed in FeedsService. (#435)app.bsky.feed.describeFeedGenerator as findGeneratorInfo in FeedsService. (#429)generatorView type in EmbedViewRecordView object. (#428)The Reply object under the Feed object has been modified to be Union as ReplyPost. In addition, the following objects have been renamed to make them c
Reply object under the Feed object has been modified to be Union as ReplyPost. In addition, the following objects have been renamed to make them common objects. (#424)
PostThreadViewNotFound to NotFoundPostPostThreadViewBlocked to BlockedPostSupported app.bsky.actor.getPreferences as findPreferences in ActorsService.
app.bsky.actor.getPreferences as findPreferences in ActorsService. (#387)AtUri from String in ActorViewer and PostViewer.app.bsky.actor.putPreferences as updatePreferences in ActorsService. (#388)Reason object to union. (#399)app.bsky.graph.list as createList in GraphsService. (#392)app.bsky.graph.getLists as findLists in GraphsService. (#391)app.bsky.graph.getList as findListItems in GraphsService. (#389)app.bsky.graph.listitem as createListItem in GraphsService. (#393)app.bsky.graph.getListMutes as findMutingLists in GraphsService. (#390)mutedByList field in ActorViewer object. (#396)app.bsky.graph.muteActorList as createMuteActorList in GraphsService. (#394)app.bsky.graph.unmuteActorList as deleteMuteActorList in GraphsService. (#395)">=2.17.0 <4.0.0". (#406)createThread in FeedsService. (#370)Supported com.atproto.repo.applyWrites as updateBulk in RepositoriesService. Also added following utilities.
com.atproto.repo.applyWrites as updateBulk in RepositoriesService. Also added following utilities. (#306)
createRecordsupdateRecordsdeleteRecordsparent field in PostThreadViewRecord. (#364)feed_algorithm and make this parameter to String? in findTimeline.toStrongRef() method in Post. You can easily convert Post object to StrongRef object. (#367)FeedsService and GraphsService. (#373)
createPostscreateRepostscreateLikescreateFollowscreateBlocksAdded unknown fields for union types. The AT Protocol allows some endpoints to create records of types not officially supported. In such cases, the un
unknown fields for union types. The AT Protocol allows some endpoints to create records of types not officially supported. In such cases, the unknown field is used to store the raw JSON for a safe and user-choice implementation. (#350)Added record field in Notification object.
atproto package.record field in Notification object.- Added labels fields. (#346) - Post - Actor - ActorProfile - Notification
labels fields. (#346)
PostActorActorProfileNotificationAdded includeNsfw flag to findPopularFeed.
Fixed PostThread to union type.
Supported app.bsky.feed.getPosts.
Added protocol option. Defaults to HTTPS.
protocol option. Defaults to HTTPS. (#269)media field in EmbedRecordWithMedia and EmbedViewRecordWithMedia. (#282)atproto services. You can access the functionality of the atproto package from the bluesky package without having to use the atproto package directly.
IdentitiesServiceServersServiceRepositoriesServiceModerationServiceFixed type of facet_link from app.bsky.richtext.facet#mention to app.bsky.richtext.facet#link.
facet_link from app.bsky.richtext.facet#mention to app.bsky.richtext.facet#link.Added reply parameter in createPost.
Fixed to make indexedAt nullable in ActorProfile.
indexedAt nullable in ActorProfile. (#244)Upgraded xrpc to make this package with Flutter.
xrpc to make this package with Flutter. (#242)Supported facet and embed features in Post.
facet and embed features in Post. (#234)Removed deletePost, deleteLike, deleteRepost, deleteFollow. Use RepositoriesService.deleteRecord instead
deletePost, deleteLike, deleteRepost, deleteFollow. Use RepositoriesService.deleteRecord insteadfindHomeTimeline to findTimelinefindActorTypeahead to findTypeaheadfindFeeds to findFeedusers to actorsFixed INFO: The annotation 'JsonKey' can only be used on fields or getters..
Fixed to use xrpc package and refactored structures.
Added createMute in GraphsService.
createMute in GraphsService. (#27)deleteMute in GraphsService. (#24)updateNotificationsAsRead in NotificationsService. (#23)findMutes in GraphsService. (#25)findRepostedBy in FeedsService. (#39)UnspeccedService and findPopularFeeds. (#117)findPostThread in FeedsService. (#38)searchActorTypeahead in ActorsService. (#49)Changed from upvoteCount field to likeCount, and deleted downvoteCount.
Added findLikes in FeedsService.
Fixed standard prefix from get to find.
get to find. (#90)Fixed standard prefix from destroy to delete.
From ActorsService.lookupProfile#handle, to ActorsService.lookupProfile#actor.
ActorsService.lookupProfile#handle, to ActorsService.lookupProfile#actor.ActorsService.lookupProfiles#handles, to ActorsService.lookupProfiles#actors.BlueskyResponse. Use ATProtoResponse instead.BlueskyRequest. Use ATProtoRequest instead.BlueskyException. Use ATProtoException instead.INFO: The annotation 'JsonKey' can only be used on fields or getters.. (#51)FeedsService. (#36)Added NotificationsService and lookupNotifications method.
- First Release!
- Little Beginning.
Your coding agent can read these notes before it upgrades. Set up the MCP server →