Skip to content

Changelog

A curated summary of recent releases. The full, machine-generated changelog lives in the GitHub repository and is updated on every release.

A raw, authenticated passthrough to any Bitbucket Cloud 2.0 API endpoint — the escape hatch for anything not yet wrapped by a typed command. Mirrors gh api, reusing the same authenticated stack (auth, OAuth refresh, retry, secret redaction).

  • bb api [method] <endpoint> — method may be a leading verb (bb api GET /user) or path-only (bb api /user); defaults to GET, or POST when fields/body are present.
  • -f/--raw-field (string) and -F/--field (typed: true/false/null, numbers, @file, @- stdin). On GET/HEAD fields become query params, otherwise a JSON body.
  • --input sends a raw body from a file or stdin; -H/--header adds headers; -i/--include prints the status line and response headers.
  • --paginate follows the next cursor and merges every page’s values.
  • {workspace}/{repo} placeholders are filled from --workspace/--repo or the current repo; --json/--jq filter the response (--jq works without --json here). Absolute URLs are restricted to api.bitbucket.org.
Terminal window
bb api /user # current user
bb api /repositories/{workspace}/{repo}/pullrequests --paginate
bb api POST /repositories/my-ws/my-repo/issues -f title=Bug -F priority=3
bb api /repositories/my-ws --jq '.values[].name' # filter with jq

See the API command reference for the full flag list and examples.

List commands now make truncation visible and let you opt out of pagination in one flag.

  • --all fetches every page and overrides --limit. Available on bb repo list, bb pr list, bb pr activity, bb pr comments list, bb snippet list, and bb snippet comments list.
  • When --limit truncates a list, a dim footer prints Showing 25 repositories. Use --limit <n> or --all to see more. — no more silently-clipped output. The hint is suppressed in --json mode.
  • Bug fix: table cells containing newlines, carriage returns, or tabs (e.g. a repo description with a line break) are now collapsed to a single space so rows stay aligned. Multi-line text() output is unaffected.

See Global Flags → --all for the full list of supported commands.

1.17.0 — Locale, Unicode toggle, spinner, global --no-truncate

Section titled “1.17.0 — Locale, Unicode toggle, spinner, global --no-truncate”

A polish-heavy release focused on output ergonomics.

  • Locale-aware dates via --locale <tag> and BB_LOCALE. Resolution walks --localeBB_LOCALELC_TIMELC_ALLLANGen-US.
  • --no-unicode / BB_NO_UNICODE swap separators, arrows, and status icons for ASCII fallbacks. Useful for older terminals, constrained CI, or fonts that render the glyphs as tofu boxes. Mirrors gh’s GH_NO_UNICODE.
  • Global --no-truncate disables column truncation across every list command. The old command-local flag on bb pr comments list is now subsumed and no longer needs to be passed separately.
  • Spinners for long-running operations — bb pr create, bb pr merge, bb repo clone. Auto-disabled in JSON mode, non-TTY streams, and tests, so scripts are unaffected.

Open Bitbucket Cloud web pages — repo home, files, branches, commits, pull requests, pipelines, settings — directly from the terminal. Mirrors gh browse.

  • Smart positional resolution: bb browse 217 opens PR #217, bb browse abc1234 opens a commit, bb browse src/cli.ts:42 opens a file at a line on the current branch.
  • Resource flags for every top-level repo page: --pr, --prs, --branch, --branches, --commit (defaults to HEAD), --commits, --pipelines, --pipeline, --downloads, --issue, --issues, --wiki, --settings.
  • --no-browser prints the URL to stdout; --json url emits { "url": "..." } for scripting.
Terminal window
bb browse # repo home
bb browse src/cli.ts:42 # file at a line on the current branch
bb browse --branch release/2.0 # branch tree
bb browse 217 # PR #217
bb browse --pipelines # pipelines tab
bb browse --pr 217 --json url # capture the URL for a script

See the Browse command reference for the full flag list and examples.

Patch releases in the 1.16 line tightened help text, made the API client’s retry messages route through the output service (silenced in --json mode), and standardised the --yes confirmation prompt across destructive commands.

Internal hardening and small UX improvements. Empty-result messages on list commands now use a consistent info icon, and dividers across framed output (pr view, pr checks, snippet view, the version-update banner) share a single helper for a uniform look.

1.14.0 — --json <fields> projection and --jq <expression>

Section titled “1.14.0 — --json <fields> projection and --jq <expression>”

Match the gh CLI’s JSON formatting flags so muscle memory and scripts port over cleanly.

  • --json [fields] accepts an optional comma-separated field list (e.g. --json number,title,author.display_name). Bare --json keeps the existing full-object output for backwards compatibility.
  • --jq <expression> runs the JSON output through an embedded jq-wasm engine. Requires --json.
  • Field projection drops the wrapper around list-style results (e.g. pullRequests, repositories, snippets) and projects per-item, matching gh semantics.
  • Dotted paths (author.display_name) traverse nested objects.
  • Invalid jq expressions exit non-zero with the underlying jq error.
Terminal window
bb pr list --json number,title,state
bb pr list --json author --jq '.[].author.display_name'
bb pr list --json number,title,state --jq '.[] | select(.state == "OPEN") | .title'

See the Scripting & Automation guide for end-to-end examples.

  • CI runs the full test + build matrix on Ubuntu, macOS, and Windows. Bun and every GitHub Action are pinned to explicit versions/SHAs, and the release pipeline no longer tags or publishes until lint, format, and tests all pass.
  • --limit 0 now errors instead of silently returning no results. parseLimit rejects any non-positive or non-finite value with a VALIDATION_INVALID BBError.
  • Generated API client refreshed from the latest Bitbucket Cloud OpenAPI spec, with a post-generation patch that dedupes duplicate enum declarations and corrects PipelineSelector.type optionality.
  • bb repo default-reviewers lets you inspect and manage the default reviewers configured on a repository, the same list Bitbucket suggests when someone opens a PR through the web UI.
  • bb pr create picks up those default reviewers automatically when the prCreateIncludeDefaultReviewers config key is enabled. See bb pr create for the full flow.

For releases prior to 1.13.0 — and the complete per-PR commit log — see the full CHANGELOG on GitHub.