Skip to content

Releases: avitsrimer/bitbucket-cli

Version 0.7.0

Choose a tag to compare

@github-actions github-actions released this 13 Oct 22:45
0544aa4

New Features

  • publish the bitbucket-cli skill as a plugin marketplace #84 @avitsrimer

Bug Fixes

v0.6.3

Choose a tag to compare

@github-actions github-actions released this 15 Sep 10:40

Changelog

  • 4200bfa fix: rename cask token to bitbucket-cli to avoid homebrew/cask collision

v0.6.2

Choose a tag to compare

@github-actions github-actions released this 15 Sep 10:28

Changelog

  • 3c572df fix: emit postflight_steps instead of deprecated postflight in cask

v0.6.1

Choose a tag to compare

@avitsrimer avitsrimer released this 04 Sep 10:46
1d42d97

Bug Fixes

  • make profile authorize open a browser instead of hanging #80 @avitsrimer
  • mask stored secrets in json and yaml output unless -o was explicit #79 @avitsrimer

v0.6.0

Choose a tag to compare

@avitsrimer avitsrimer released this 02 Sep 14:28
5b98c4b

New Features

  • add --ready/--draft to update and surface draft on get/list #78 @avitsrimer

Notes

  • bb pullrequest update <id> --ready clears a pull request's draft status; --draft sets it. The two are mutually exclusive and combine with every other update flag in one request.
  • draft is now a field on pull requests: always present in -o json|yaml, a default table column on get, update and create, and available via --columns draft on list (--sort draft on list).
  • Output change: the default get/update/create columns gain a trailing draft field. Positional -o csv/-o tsv parsers should pin their columns with --columns.
  • Reinstall the Claude skill after upgrading (bb install-skill) to pick up the new flags.

v0.5.0

Choose a tag to compare

@github-actions github-actions released this 11 Aug 10:17
b1e1b14

Breaking Changes

  • bb pullrequest comment create/update --line N now anchors the comment to line N of the new (head) version of the file, matching how users actually compute line numbers — against the PR's head, not its base. Previously --line was sent as the API's inline.from, which anchors to the old (base) side, so comments landed offset by the net insertions/deletions above that point #77
  • --to is removed. Its documented "range end" semantics never matched a real Bitbucket API field, so keeping it would have meant silently flipping its side for any script that relied on it — a hard "unknown flag" error is the safer failure mode #77

Migration

  • Anchoring to a line in the file as it exists at the PR's head: use --line N as before — it now points at the right line
  • Anchoring to a line in the file as it existed in the base branch (e.g. commenting on a deleted line): use --from N, the explicit old-side anchor
  • Any script passing --to needs to drop it; there is no replacement flag, since old-side and new-side anchoring are both already covered by --from/--line

Fixes

  • FileAnchor.String() (used by comment list's file column) now renders old-side and new-side anchors distinguishably: path:1040 for the new side, path:990(old) for the old side #77

v0.4.0

Choose a tag to compare

@avitsrimer avitsrimer released this 10 Aug 12:28
26c5b03

New Features

  • bb pullrequest list --author <id> and --mine — list pull requests across every repository of a workspace in a single request, replacing a shell loop over bb repo list. Author mode resolves no repository at all, so it works from any directory as long as the workspace resolves #76
  • new repository column on pull request listings: part of the default column set in author mode, and available everywhere through --columns repository and --sort repository #76

Improvements

  • the id and repository sort comparators now tie-break on each other, giving listings a total order. Pull request ids repeat across repositories, so --sort repository or --sort updated_on is the useful choice in author mode; the default remains +id #76

Note on author identifiers

--author accepts a username, a UUID in curly braces ('{...}' — quote it so the shell keeps the braces), or an Atlassian account ID. There is no me sentinel; use --mine for your own pull requests. Workspace member nicknames, shown in the Name column of bb workspace members, are not usernames and usually resolve to nothing — the ID column of that command carries the UUID this flag wants. An unresolvable identifier may come back as either a 404 or an empty listing, so an empty result is not proof the author has no matching pull requests.

Author mode is workspace-wide, so an explicitly passed --repository is rejected rather than silently ignored, and it is mutually exclusive with --commit. The endpoint also needs workspace-level access: a Repository Access Token that works for repository-scoped list returns 403 here.

v0.3.0

Choose a tag to compare

@avitsrimer avitsrimer released this 07 Aug 13:30
f025196

New Features

  • bb pullrequest create --reviewer none — create a PR with no reviewers, suppressing the automatic default-reviewer resolution #72

Bug Fixes

  • --reviewer all / --add-reviewer all no longer adds the PR author as a reviewer #74

Improvements

  • two dependencies removed with byte-identical output guarantees: the table renderer is now local code (replacing an unmaintained 2018 fork) and all gildas/go-core usage is ported in-tree — module graph shrunk from 38 to 31 #69 #70 #71
  • README: new Token permissions section (exact scopes per command group, narrow-token friendly), documented --draft on pr create, intended-audience note #73 #75

Note on cache tuning

BITBUCKET_CLI_CACHE_DURATION now accepts Go duration strings only (30s, 5m); ISO-8601 forms (PT30S) are no longer parsed and fall back to the 5-minute default.

v0.2.0

Choose a tag to compare

@avitsrimer avitsrimer released this 07 Aug 09:03
8b33101

Breaking change

bb pullrequest merge now requires an interactive y/N confirmation from a human — there is deliberately NO --force and no other bypass. Piped or /dev/null stdin errors out (merging requires an interactive terminal); scripts and agents must hand the merge to a user. --dry-run is unchanged: full preflight, no prompt, no write.

New Features

  • require interactive confirmation for pullrequest merge #66

Bug Fixes

  • fail closed on any empty stdin read at the merge prompt (EOF, EIO, …), never a silent "Merge canceled" #67

Improvements

  • document the full stdin contract for merge and the softer trigger/stop /dev/null behavior #68

v0.1.0

Choose a tag to compare

@avitsrimer avitsrimer released this 07 Aug 07:22
4d84f55

First release of bb — an opinionated, macOS-first CLI for Bitbucket Cloud, forked from gildas/bitbucket-cli and substantially reworked. The fork is permanently detached from upstream; versioning starts fresh at v0.1.0.

Command surface

  • pullrequest (pr) — list/get/create/update/merge/decline/approve/request-changes, diff/patch/commits/activities, plus comments and tasks (positional PR ids)
  • pipeline — list/get/trigger/stop (y/N confirmation, --force to skip), and pipeline step get/list/logs/report/cases with step name→UUID resolution
  • repository, workspace, commit, branch — read-only surface, plus repo clone
  • artifact — list/download
  • profile / user — authentication (app password, access token, OAuth client), secrets stored in the macOS Keychain

Highlights

  • Works with narrowly-scoped workspace/repository tokens — nothing demands read:workspace
  • Full-preflight --dry-run on every mutating command: targets resolved via real GETs, the resolved payload echoed, no write ever sent
  • --comment-file / --description-file (- = stdin) for markdown bodies without shell-quoting hazards
  • Secrets masked in table output; explicit -o json|yaml is the scripting path
  • bb install-skill installs an embedded Claude agent skill (to ~/.claude or $CLAUDE_CONFIG_DIR)
  • Dynamic shell completion throughout

Install

brew tap avitsrimer/apps
brew install --cask bb

darwin/arm64 only.