[1.00] - 2026-03-09
Added
- Added
oauth_helpermethod to provide a streamlined, interactive OAuth flow with an optional built-in redirect listener. - Implemented functional Chat (Direct Messages) support via PDS proxying (
atproto-proxy). - Added
threadgatesupport tocreatePostvia thereply_gateparameter, allowing users to control who can reply to their posts. - Added
getKnownFollowersmethod for advanced social discovery (mutual followers). - Added
reportmethod for official content reporting via Ozone (com.atproto.moderation.createReport). - Added robust service-aware routing in
_at_forto handle repo, feed, and chat lexicons transparently. - Updated examples:
eg/bsky_auth.plandeg/bsky_chat.plare now fully operational. - Implemented missing methods:
repost,deleteRepost,uploadBlob,deleteBlock,follow,deleteFollow,getFollows,getFollowers,getRepostedBy.
Changed
- Refactored all repository-related sugary methods (
repost,like,block,follow,createPost,upsertProfile, etc.) to use new high-levelAt.pmhelpers, resulting in a cleaner and more maintainable codebase. - Standardized internal implementation to use accessor methods (e.g.,
$self->at) instead of direct field access, improving testability and robustness.
Fixed
- Fixed
oauth_helperto use standardMojoliciousobjects instead ofMojolicious::Lite, resolving "Modification of a read-only value" errors. - Corrected OAuth scopes to use
transition:genericandtransition:chat.bskyfor reliable chat authorization. - Fixed sender handle display in
bsky_chat.plby mapping member DIDs to handles. - Support for Bookmarks:
getBookmarks,createBookmark,deleteBookmark. - Feed Generator methods:
getFeed,getFeedSkeleton,getFeedGenerator,getFeedGenerators,getActorFeeds,getSuggestedFeeds,getPopularFeedGenerators,getTrends,describeFeedGenerator. - Social Graph features:
getRelationships,getMutes,muteThread,unmuteThread,getLists,getList,getKnownFollowers,getSuggestedFollowsByActor. - Actor features:
upsertProfile,getProfiles,getSuggestions,getSuggestionsSkeleton,searchActors,searchActorsTypeahead,mute,unmute,muteModList,unmuteModList,blockModList,unblockModList,getPreferences,putPreferences. - Notification features:
listNotifications,countUnreadNotifications,updateSeenNotifications,putNotificationPreferences. - Identity features:
resolveHandle,updateHandle. - Starter Pack support:
getStarterPack,getStarterPacks,getActorStarterPacks. - Drafts support:
getDrafts,createDraft,updateDraft,deleteDraft. - Chat (Direct Messages) support:
listConvos,getConvo,getConvoForMembers,getMessages,sendMessage,sendMessageToHandle,updateRead,muteConvo,unmuteConvo. - Video features:
getVideoUploadLimits,getVideoJobStatus. - Contact features:
importContacts,getContactMatches. - Miscellaneous methods:
describeServer,listRecords,getLabelerServices. - OAuth and Firehose wrapper methods.
- New examples (Bluesky auth, chat, firehose, etc.)
- Refactored
uploadFileto useHTTP::Tinydirectly, bypassing bugs in the underlyingAtmodule's UserAgent.
Full Changelog: https://github.com/sanko/Bluesky.pm/compare/0.20...1.00