bluesky_cli 0.6.4
bluesky_cli: ^0.6.4 copied to clipboard
A powerful CLI tool that allows Bluesky Social's APIs to be executed from the command line powered by Dart language.
Release Note #
0.6.4 #
- chore: widen
at_primitivesto^1.2.0,xrpcto^1.1.3, andbluesky_textto^1.5.4.
0.6.3 #
- chore: bump
bluesky_textto^1.5.3.
0.6.2 #
- docs: documented the previously undocumented global options in the README —
--password-stdin,--auth-service,--[no-]auth,--[no-]session-cache,--timeout, and--version/-v. - docs: expanded the Authentication section to describe the v0.6.0 security model —
--auth-servicevs--serviceseparation (raw credentials only reach your own PDS),--no-authfor public endpoints,--password-stdinfor secure entry, and the~/.config/bsky/session.jsonsession cache and refresh. - chore: bump
xrpcto^1.1.2,at_primitivesto^1.1.1, andbluesky_textto^1.5.2.
0.6.1 #
- fix: the session cache file is locked to
0600before any token bytes are written, and caching is skipped (with a warning) if the permission change fails. - fix:
--password-stdindisables terminal echo while reading an interactively-typed password, so it no longer appears on screen (piped/non-terminal input is unaffected).
0.6.0 #
- fix!: stop leaking
BLUESKY_PASSWORDin--help/usage output — the env var is now resolved at use-time instead of being printed as an optiondefaultsTo(could end up in CI logs/recordings) (L-1). - fix: authentication moved inside the guarded region, so a wrong password or network error no longer produces a raw stack trace and
exit 255; usage errors now exit64and failures exit1(L-4/L-5/L-6). - feat: separated
--auth-servicefrom--serviceand added--no-auth, so raw credentials are only sent to your own PDS (L-2). - fix:
refresh-session/delete-sessionnow sendrefreshJwtinstead ofaccessJwt(previously they could never succeed) (L-8). - feat: session cache at
~/.config/bsky/session.json(mode0600) with refresh, so every invocation no longer performs a fresh password login and trips createSession rate limits (L-12). - fix:
--prettyno longer turns an empty200body into aFormatException; added a--timeoutflag and async file reads for large uploads (L-7/L-9). - fix:
--version/-vare registered as real flags (they were matched against the whole arg list) (L-10). - chore: regenerated commands from the fixed
lex_gen, removed dead code (L-14). - chore: bump
xrpcto^1.1.0,at_primitivesto^1.1.0, andbluesky_textto^1.4.0.
0.5.0 #
- feat: All commands, arguments and invocations are now fully aligned with the official lexicon definitions.
- Added commands for procedures without input body:
refresh-session,delete-session,activate-account,request-account-delete,request-email-confirmation,request-email-update,request-plc-operation-signature,chat-bsky-actor delete-account. - Added commands for procedures with binary input:
com-atproto-repo upload-blob,com-atproto-repo import-repo,app-bsky-video upload-video(use--file=<path>). - Added
tools-ozone-set upsert-setcommand (pass the request body with--json). - Record
get/listsubcommands now accept--repo(handle or DID) and work without authentication. Defaults to the authenticated user.
- Added commands for procedures without input body:
- fix: Record
get/listsent the wrongcollectionparameter (com.atproto.repo.getRecord/listRecord) instead of the record's collection NSID. - fix: Record
listused the invalid methodcom.atproto.repo.listRecordinstead ofcom.atproto.repo.listRecords. - fix: Record
createsent the literal string"null"asrkeywhen--rkeywas omitted.putanddeletenow require--rkeyas the API does. - fix: Created and updated records now include the
$typefield. - fix: Integer parameters (e.g.
useCount,limit) are now sent as JSON numbers instead of strings in procedure bodies. - fix: Array parameters containing objects (e.g.
facets,interactions) are now JSON-decoded instead of being sent as raw strings. - fix: Omitted optional parameters are no longer sent as empty arrays or
falseflags. - fix: Unauthenticated procedure calls no longer send an
Authorization: Bearer nullheader. - fix: Commands that require authentication now fail with a clear message when credentials are missing.
- fix: Session is no longer created twice per authenticated command.
- style: Method names with digits are kebab-cased without splitting (e.g.
search-posts-v2instead ofsearch-posts-v-2). - style: Usage lines now show real option syntax (e.g.
--actor=<value>) instead of[actor]. - fix: JSON array options (e.g.
--facets) are no longer split on commas, which corrupted JSON values. - fix: Command instances are no longer shared across
BskyCommandRunnerinstances (lexCommandsis now a getter), which leaked per-runner state such as credentials and sessions. - feat:
BskyCommandRunneracceptsgetClient/postClientfor injecting mock HTTP clients at test time, and the whole command surface is now covered by offline request-construction tests.
0.4.7 #
- Bump dependencies.
- feat: added
chat.bsky.convo.getUnreadCountscommand. - feat: added
tools.ozone.report.queryActivitiescommand. - feat: added
com.germnetwork.declarationcommand. - core: regenerated commands from updated lexicons.
0.4.4 #
- Bump SDK constraint to '^3.3.0'.
0.4.2 #
- Add
--replyoption onpostcommand. Pass the AT URI of the post to which you are replying as an argument. (#1144)
0.4.0 #
- Upgraded dependencies.
0.3.8 #
- Supported
imagesoption onpostcommand. You can specify the paths of images to be attached, separated by commas. (#825)
0.3.4 #
- Upgraded
bluesky_text.
0.3.3 #
- Upgraded
bluesky_text.
0.3.1 #
0.2.1 #
0.2.0 #
- Supported
preferencescommand. (#387) - Supported
put-preferencescommand. (#388) - Supported
create-listcommand. (#392) - Supported
listscommand. (#391) - Supported
listcommand. (#389) - Supported
add-list-itemcommand. (#393) - Supported
muting-listscommand. (#390) - Supported
mute-listcommand. (#394) - Supported
unmute-listcommand. (#395)
0.1.0 #
- Fixed
followcommand.
0.0.5 #
- Merged official refactoring. (#52)
- Renamed global option from
handletoidentifier - Renamed environment variable from
BLUESKY_HANDLEtoBLUESKY_IDENTIFIER - Renamed command from
actor-suggestionstosuggestions - Renamed command from
actor-typeaheadtoactors-typeahead
- Renamed global option from
0.0.4 #
0.0.3 #
- Supported
app.bsky.feedendpoints. (#180)post.jsonrepost.jsonvote.jsongetTimeline.jsongetAuthorFeed.jsongetVotes.jsongetPostThread.json
- Supported
app.bsky.unspeccedendpoint. (#181)getPopular.json
- Supported
app.bsky.notificationendpoints. (#184)list.jsongetCount.jsonupdateSeen.json
- Supported
app.bsky.actorendpoints. (#182)search.jsongetProfile.jsongetProfiles.jsongetSuggestions.jsonsearchTypeahead.json
- Supported
app.bsky.graphendpoints. (#183)follow.jsongetFollows.jsongetFollowers.jsonmute.jsonunmute.jsongetMutes.json
0.0.2 #
- Minor fix.
0.0.1 #
- First Release.