Skip to content

bb update

Check for and install the latest bb release

bb update [flags]

bb installs a release only after verifying it: the signature on its checksum file against the configured trust material, unless administrative policy sets allow_unverified_update; the checksum file's entry for this platform's archive; and the archive itself against that entry.

It puts the new binary in place before it exits. When bb runs through a symbolic link, it replaces the file the link names and leaves the link as it is. On Windows, which will not delete a running executable, the binary it replaced stays beside the new one, as bb.exe.old- and a random suffix, until the next bb run deletes it.

With --dry-run, bb update makes the same checks and installs nothing. It checks the latest release even when that is the version already installed, which makes it the way to verify a release mirror, and it fails with exit status 5 (conflict) when the latest release is older than the installed one.

# Install the latest release
bb update

# Check the latest release and its signature, and install nothing
bb update --dry-run

# From a mirror inside your network
bb update --base-url https://mirror.example.com/bb
--allow-http
Permit a plain-HTTP release mirror; refused when administrative policy sets allow_http_update: false
--base-url string
Custom release mirror base URL; https unless --allow-http

Also takes the global flags.

Dry run: Reports the release it would install and whether it verifies, without installing it

Output with --json, where ? marks a field that can be absent
data
  currentVersion               string   Version currently installed.
  latestVersion                string   Newest published release.
  updateAvailable              boolean  Whether the latest release is newer than the installed one.
  upToDate                     boolean  Whether the installed version is already the latest.
  comparison?                  string   How the two versions compare, when both could be parsed as semver.
  currentVersionComparable     boolean  Whether the installed version parsed as semver.
  latestVersionComparable      boolean  Whether the published version parsed as semver.
  dryRun                       boolean  Whether this run verified the latest release and installed nothing.
  applied                      boolean  Whether the new binary is now in place.
  plannedAction?               string   What the run would do, or did.
  release?                     object   Where the release was fetched from.
    url?                       string   Release page for the selected version.
    assetName?                 string   Archive chosen for this platform.
    assetUrl?                  string   Download URL for that archive.
    checksumAssetName?         string   Checksum file published alongside it.
    signatureBundleAssetName?  string   Sigstore bundle published alongside it.
  trust?                       object   What was verified about the release before it was trusted.
    checksumAvailable          boolean  Whether the checksum file has an entry for this platform's archive.
    checksumVerified           boolean  Whether the download matched its checksum.
    signatureVerified          boolean  Whether the Sigstore signature verified.
    signatureSkipped           boolean  Whether signature verification was deliberately not performed, because
                                        administrative policy set allow_unverified_update.
    transparencyLogVerified    boolean  Whether the signature was found in the Sigstore transparency log.
    source?                    string   Where the Sigstore trust material came from, so an operator can confirm an
                                        offline trust root is actually in use.
    identity?                  string   Signing identity the signature was issued to.
    issuer?                    string   OIDC issuer that vouched for that identity.
  paths?                       object   Filesystem locations involved in the swap.
    install?                   string   Where the running binary lives, and where a new one is written.
  platform?                    string   Operating system and architecture the asset targets.