Changelog
A curated summary of recent releases. The full, machine-generated changelog lives in the GitHub repository and is updated on every release.
1.20.0 — bb api
Section titled “1.20.0 — bb api”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 toGET, orPOSTwhen fields/body are present.-f/--raw-field(string) and-F/--field(typed:true/false/null, numbers,@file,@-stdin). OnGET/HEADfields become query params, otherwise a JSON body.--inputsends a raw body from a file or stdin;-H/--headeradds headers;-i/--includeprints the status line and response headers.--paginatefollows thenextcursor and merges every page’svalues.{workspace}/{repo}placeholders are filled from--workspace/--repoor the current repo;--json/--jqfilter the response (--jqworks without--jsonhere). Absolute URLs are restricted toapi.bitbucket.org.
bb api /user # current userbb api /repositories/{workspace}/{repo}/pullrequests --paginatebb api POST /repositories/my-ws/my-repo/issues -f title=Bug -F priority=3bb api /repositories/my-ws --jq '.values[].name' # filter with jqSee the API command reference for the full flag list and examples.
1.18.0 — Pagination hints and --all
Section titled “1.18.0 — Pagination hints and --all”List commands now make truncation visible and let you opt out of pagination in one flag.
--allfetches every page and overrides--limit. Available onbb repo list,bb pr list,bb pr activity,bb pr comments list,bb snippet list, andbb snippet comments list.- When
--limittruncates a list, a dim footer printsShowing 25 repositories. Use --limit <n> or --all to see more.— no more silently-clipped output. The hint is suppressed in--jsonmode. - 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>andBB_LOCALE. Resolution walks--locale→BB_LOCALE→LC_TIME→LC_ALL→LANG→en-US. --no-unicode/BB_NO_UNICODEswap separators, arrows, and status icons for ASCII fallbacks. Useful for older terminals, constrained CI, or fonts that render the glyphs as tofu boxes. Mirrorsgh’sGH_NO_UNICODE.- Global
--no-truncatedisables column truncation across every list command. The old command-local flag onbb pr comments listis 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.
1.16.0 — bb browse
Section titled “1.16.0 — bb browse”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 217opens PR #217,bb browse abc1234opens a commit,bb browse src/cli.ts:42opens 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-browserprints the URL to stdout;--json urlemits{ "url": "..." }for scripting.
bb browse # repo homebb browse src/cli.ts:42 # file at a line on the current branchbb browse --branch release/2.0 # branch treebb browse 217 # PR #217bb browse --pipelines # pipelines tabbb browse --pr 217 --json url # capture the URL for a scriptSee 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.
1.15.0 — Stability and warnings polish
Section titled “1.15.0 — Stability and warnings polish”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--jsonkeeps the existing full-object output for backwards compatibility.--jq <expression>runs the JSON output through an embeddedjq-wasmengine. Requires--json.- Field projection drops the wrapper around list-style results
(e.g.
pullRequests,repositories,snippets) and projects per-item, matchingghsemantics. - Dotted paths (
author.display_name) traverse nested objects. - Invalid jq expressions exit non-zero with the underlying jq error.
bb pr list --json number,title,statebb 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.
1.13.x — Stability and CI hardening
Section titled “1.13.x — Stability and CI hardening”- 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 0now errors instead of silently returning no results.parseLimitrejects any non-positive or non-finite value with aVALIDATION_INVALIDBBError.- Generated API client refreshed from the latest Bitbucket Cloud OpenAPI
spec, with a post-generation patch that dedupes duplicate enum declarations
and corrects
PipelineSelector.typeoptionality.
1.13.0 — Default reviewers
Section titled “1.13.0 — Default reviewers”bb repo default-reviewerslets 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 createpicks up those default reviewers automatically when theprCreateIncludeDefaultReviewersconfig key is enabled. Seebb pr createfor the full flow.
Older releases
Section titled “Older releases”For releases prior to 1.13.0 — and the complete per-PR commit log — see the full CHANGELOG on GitHub.