Skip to content

Releases: tryterra/terra-cli

v0.22.0

Choose a tag to compare

@terra-release-bot terra-release-bot released this 22 Oct 14:42
Immutable release. Only release title and notes can be modified.
d1482a5

Breaking changes

  • environments update is removed, because the API no longer supports
    changing an environment's name or billable flag.

New

  • lab-reports api-version retrieve and update view and change the lab
    reports API version for an environment.
  • vantage events list, retrieve and retrieve-payload read the Vantage
    event log.
  • environments list and environments retrieve show whether an environment
    is production.

Fixes

  • Built with Go 1.26.10, which fixes vulnerabilities in the standard library's
    certificate verification.

Install or upgrade, on macOS:

brew install tryterra/tap/terra

Or with Native Install, on macOS or Linux:

curl -fsSL https://cli.tryterra.co/install.sh | sh -s -- --version 0.22.0

Or with Native Install, in Windows PowerShell (x64 or ARM64):

& ([scriptblock]::Create((irm https://cli.tryterra.co/install.ps1))) -Version 0.22.0

Or with npm, on any platform:

npm install -g @tryterra/cli@0.22.0

Each archive below carries a checksum file, a Sigstore bundle, and a
.sig signature from the Terra release key, which is what the CLI's
own updater verifies. To verify a bundle:

cosign verify-blob --bundle terra-mac-checksums.txt.bundle terra-mac-checksums.txt

v0.21.0

Choose a tag to compare

@terra-release-bot terra-release-bot released this 15 Oct 09:39
Immutable release. Only release title and notes can be modified.
b8c6e23

New

  • events generate --dispatch=false builds a synthetic event and prints the
    payload without storing or delivering it, so it works before you have
    registered a destination.
  • events list sorts with --order-by (sent_at, http_status, provider,
    data_type, destination_type or response_time_ms) and --order
    (asc or desc). The default is still newest first.
  • users list --q searches by reference ID prefix, or by an exact user ID.
  • models runs list --q searches user IDs, run IDs and error messages.
  • users list now includes the scopes each user granted their provider.
  • unified-api sources credentials replace and update accept Google Cloud
    Secret Manager in --secret-ref, alongside AWS.

Install or upgrade, on macOS:

brew install tryterra/tap/terra

Or with Native Install, on macOS or Linux:

curl -fsSL https://cli.tryterra.co/install.sh | sh -s -- --version 0.21.0

Or with Native Install, in Windows PowerShell (x64 or ARM64):

& ([scriptblock]::Create((irm https://cli.tryterra.co/install.ps1))) -Version 0.21.0

Or with npm, on any platform:

npm install -g @tryterra/cli@0.21.0

Each archive below carries a checksum file, a Sigstore bundle, and a
.sig signature from the Terra release key, which is what the CLI's
own updater verifies. To verify a bundle:

cosign verify-blob --bundle terra-mac-checksums.txt.bundle terra-mac-checksums.txt

v0.20.0

Choose a tag to compare

@terra-release-bot terra-release-bot released this 09 Oct 18:18
Immutable release. Only release title and notes can be modified.
e3eb5f0

Breaking changes

  • destination-types list is now unified-api destination-types list, and
    takes --env like the other unified-api commands.

New

  • unified-api sources batch-enable and batch-disable turn up to 100
    providers on or off in one call. Either every provider changes or none does.
  • unified-api destinations batch-create creates up to 100 destinations in one
    call, all or nothing.
  • unified-api sources update, sources credentials update and
    sources scopes reset. sources credentials replace takes --secret-ref.
  • unified-api sources domain retrieve, set and delete manage a provider's
    custom domain. delete asks for confirmation.
  • unified-api source-types list lists every provider you can enable.
  • unified-api data data-types list lists the data types you can select.
  • account retrieve reports whether a billing account is linked.

Fixes

  • Built with Go 1.26.9, which fixes vulnerabilities in the standard library's
    TLS, HTTP and file handling.

Install or upgrade, on macOS:

brew install tryterra/tap/terra

Or with Native Install, on macOS or Linux:

curl -fsSL https://cli.tryterra.co/install.sh | sh -s -- --version 0.20.0

Or with Native Install, in Windows PowerShell (x64 or ARM64):

& ([scriptblock]::Create((irm https://cli.tryterra.co/install.ps1))) -Version 0.20.0

Or with npm, on any platform:

npm install -g @tryterra/cli@0.20.0

Each archive below carries a checksum file, a Sigstore bundle, and a
.sig signature from the Terra release key, which is what the CLI's
own updater verifies. To verify a bundle:

cosign verify-blob --bundle terra-mac-checksums.txt.bundle terra-mac-checksums.txt

v0.19.0

Choose a tag to compare

@terra-release-bot terra-release-bot released this 07 Oct 18:46
Immutable release. Only release title and notes can be modified.
9d778cb

Breaking changes

  • events generate now requires the testdata:write scope instead of
    events:write. Re-mint tokens that lack it.
  • supabase provision now asks for confirmation. Pass --yes when running it
    without a terminal.

New

  • synthetic-users create, list, retrieve, start and stop, and
    users retrieve-data.
  • destination-types list, unified-api destinations retrieve and
    unified-api destinations retrieve-secrets.
  • unified-api destinations create and update take --config. --url and
    --metadata are deprecated.
  • Synthetic users show their reference_id.
  • terra login sends the machine's hostname and the CLI's User-Agent, so the
    approval page shows where the request came from.

Install or upgrade, on macOS:

brew install tryterra/tap/terra

Or with Native Install, on macOS or Linux:

curl -fsSL https://cli.tryterra.co/install.sh | sh -s -- --version 0.19.0

Or with Native Install, in Windows PowerShell (x64 or ARM64):

& ([scriptblock]::Create((irm https://cli.tryterra.co/install.ps1))) -Version 0.19.0

Or with npm, on any platform:

npm install -g @tryterra/cli@0.19.0

Each archive below carries a checksum file, a Sigstore bundle, and a
.sig signature from the Terra release key, which is what the CLI's
own updater verifies. To verify a bundle:

cosign verify-blob --bundle terra-mac-checksums.txt.bundle terra-mac-checksums.txt

v0.18.0

Choose a tag to compare

@terra-release-bot terra-release-bot released this 05 Oct 13:25
Immutable release. Only release title and notes can be modified.
5730947

Breaking changes

  • These commands are removed, as they are no longer part of the public API:
    • account retrieve-metadata and account update-metadata
    • company agree-terms, ensure-referral-code, list-feature-flags,
      opt-in-points, retrieve-onboarding, retrieve-referral-code,
      retrieve-referrals, retrieve-terms and update-onboarding. Use
      entitlements list to see which features an account has.
  • These commands are removed so that each task has one command for it:
    • billing invoices upcoming: use billing invoices previews.
    • workouts metadata update: use workouts metadata replace to set
      metadata and workouts metadata delete to clear it.
    • environments create: it recorded details for an existing environment
      rather than creating a new one.
  • billing usage current is renamed to billing usage retrieve. Its output is
    unchanged.
  • These commands change configuration and all support --dry-run, so they no
    longer ask for confirmation and no longer accept --yes: events resend,
    unified-api destinations create and update, unified-api sources disable,
    unified-api sources scopes replace, unified-api data scopes update and
    replace, unified-api widget update, and workouts metadata delete.
    Remove --yes from scripts that call them. Commands that affect billing,
    credentials or team access still ask.

Install or upgrade, on macOS:

brew install tryterra/tap/terra

Or with Native Install, on macOS or Linux:

curl -fsSL https://cli.tryterra.co/install.sh | sh -s -- --version 0.18.0

Or with Native Install, in Windows PowerShell (x64 or ARM64):

& ([scriptblock]::Create((irm https://cli.tryterra.co/install.ps1))) -Version 0.18.0

Or with npm, on any platform:

npm install -g @tryterra/cli@0.18.0

Each archive below carries a checksum file, a Sigstore bundle, and a
.sig signature from the Terra release key, which is what the CLI's
own updater verifies. To verify a bundle:

cosign verify-blob --bundle terra-mac-checksums.txt.bundle terra-mac-checksums.txt

v0.17.0

Choose a tag to compare

@terra-release-bot terra-release-bot released this 02 Oct 14:17
Immutable release. Only release title and notes can be modified.
5fbe1eb

Breaking changes

  • Commands that send data somewhere or grant access now ask for confirmation
    before acting: unified-api destinations create and update,
    events resend, data-tokens create, team invitations create, and
    team members update. The prompt says what the command will do. Pass --yes
    in scripts: without a terminal to prompt on, these commands stop with
    requires confirmation and cannot prompt for confirmation here instead of
    running. --dry-run never asks.
  • billing usage retrieve is removed. Use billing usage current, which
    reports each metered item over its current measurement window without a meter
    ID or a Unix-second time window.

Added

  • billing invoices pay pays an open invoice. If the payment needs
    authentication, open the returned payment_url to finish it.
  • billing invoices previews previews the next invoice for every billable
    subscription, without charging or creating an invoice.
  • billing invoice-details update sets the legal name and VAT number printed on
    future invoices.
  • billing usage current shows current metered usage for each subscription
    item, with daily totals and pricing.
  • vantage api-version retrieve shows the Vantage API version an environment is
    pinned to and the versions it can move to. vantage api-version update moves
    the pin, and supports --dry-run.

billing invoices pay and billing invoice-details update ask for
confirmation too.


Install or upgrade, on macOS:

brew install tryterra/tap/terra

Or with Native Install, on macOS or Linux:

curl -fsSL https://cli.tryterra.co/install.sh | sh -s -- --version 0.17.0

Or with Native Install, in Windows PowerShell (x64 or ARM64):

& ([scriptblock]::Create((irm https://cli.tryterra.co/install.ps1))) -Version 0.17.0

Or with npm, on any platform:

npm install -g @tryterra/cli@0.17.0

Each archive below carries a checksum file, a Sigstore bundle, and a
.sig signature from the Terra release key, which is what the CLI's
own updater verifies. To verify a bundle:

cosign verify-blob --bundle terra-mac-checksums.txt.bundle terra-mac-checksums.txt

v0.16.0

Choose a tag to compare

@terra-release-bot terra-release-bot released this 23 Sep 13:05
Immutable release. Only release title and notes can be modified.
  • Install Terra directly from Windows PowerShell 5.1 or PowerShell 7:

    irm https://cli.tryterra.co/install.ps1 | iex

    Native Install adds Terra to your user PATH without administrator privileges.
    Rerun the installer to update, or use terra update. Native Windows installs
    also support automatic updates.

  • Run Terra natively on Windows ARM64. The PowerShell installer automatically
    selects the ARM64 binary, including when launched from an emulated shell.
    Windows x64 remains supported.

  • Install the native Windows ARM64 binary through npm with ARM64 Node.js:

    npm install -g @tryterra/cli

Install or upgrade, on macOS:

brew install tryterra/tap/terra

Or with Native Install, on macOS or Linux:

curl -fsSL https://cli.tryterra.co/install.sh | sh -s -- --version 0.16.0

Or with Native Install, in Windows PowerShell (x64 or ARM64):

& ([scriptblock]::Create((irm https://cli.tryterra.co/install.ps1))) -Version 0.16.0

Or with npm, on any platform:

npm install -g @tryterra/cli@0.16.0

Each archive below carries a checksum file, a Sigstore bundle, and a
.sig signature from the Terra release key, which is what the CLI's
own updater verifies. To verify a bundle:

cosign verify-blob --bundle terra-mac-checksums.txt.bundle terra-mac-checksums.txt

v0.15.0

Choose a tag to compare

@terra-release-bot terra-release-bot released this 22 Sep 17:58
Immutable release. Only release title and notes can be modified.
5c55019

Breaking changes

  • --dry-run now sends an authenticated API request to preview a change
    without committing it. It requires credentials and a network connection.
    Offline request printing is no longer available. Commands without preview
    support, including terra admin-api and terra data-api, reject the flag.
  • Billing subscription responses use payment_url instead of dashboard_url.
    Update scripts and --select expressions that read the payment link.
    Subscription creation accepts monthly or annual for --schedule;
    the startup plan requires it.

Server previews

  • Preview changes on 39 supported operations, including billing subscriptions.
    Use the command's --help to check for --dry-run.
  • Preview output includes the server's would and preview fields. Use
    --select to pick preview fields or --jq to query the full response.
    Previews skip destructive confirmation and do not send idempotency keys.

Automatic updates

  • Standalone, global npm, and Homebrew installations now update in the
    background. Eligible commands can start a check once every four hours;
    your command does not wait for the update. CI, project dependencies, npx,
    and pinned Homebrew installations are excluded from automatic updates.

  • Run terra update to update explicitly. On Windows, the update runs after
    the command exits. Standalone updates verify signed checksums before
    replacing the binary, and updates never request elevated permissions.

  • Set TERRA_NO_AUTO_UPDATE=1 to keep notices without installing updates.
    Set TERRA_NO_UPDATE_NOTIFIER=1 or DO_NOT_TRACK=1 to disable automatic
    update activity entirely. Explicit terra update still works.

  • To update an older standalone installation to this release, rerun the
    installer:

    curl -fsSL https://cli.tryterra.co/install.sh | sh

Install or upgrade, on macOS:

brew install tryterra/tap/terra

Or with the standalone installer, on macOS or Linux:

curl -fsSL https://cli.tryterra.co/install.sh | sh -s -- --version 0.15.0

Or with npm, on any platform:

npm install -g @tryterra/cli@0.15.0

Each archive below carries a checksum file, a Sigstore bundle, and a
.sig signature from the Terra release key, which is what the CLI's
own updater verifies. To verify a bundle:

cosign verify-blob --bundle terra-mac-checksums.txt.bundle terra-mac-checksums.txt

v0.14.1

Choose a tag to compare

@terra-release-bot terra-release-bot released this 22 Sep 10:17
Immutable release. Only release title and notes can be modified.
778d788
  • Standalone Installer: Skips PATH setup instructions and profile edits if the installed Terra binary is already resolved

Install or upgrade, on macOS:

brew install tryterra/tap/terra

Or with the standalone installer, on macOS or Linux:

curl -fsSL https://cli.tryterra.co/install.sh | sh -s -- --version 0.14.1

Or with npm, on any platform:

npm install -g @tryterra/cli@0.14.1

Each archive below carries a checksum file and a Sigstore bundle. To
verify one:

cosign verify-blob --bundle terra-mac-checksums.txt.bundle terra-mac-checksums.txt

v0.14.0

Choose a tag to compare

@terra-release-bot terra-release-bot released this 21 Sep 17:35
Immutable release. Only release title and notes can be modified.
b8aaf85

Breaking changes

  • Raw admin requests now use terra admin-api. Replace terra api in scripts
    and commands, including terra api list, with terra admin-api. The old
    spelling is no longer accepted. terra data-api keeps its name.
  • Remove --no-verify from raw admin and data API requests. Both commands now
    send paths and methods without checking them against the bundled endpoint
    catalog, so the flag is no longer needed or accepted.

Standalone installation

  • Install Terra on macOS or Linux without npm or Homebrew:

    curl -fsSL https://cli.tryterra.co/install.sh | sh
  • Supports ARM64 and x86-64, installs into ~/.local/bin by default without
    sudo, and configures PATH for Bash, Zsh, or fish. The installer prints the
    command to activate PATH in the current terminal.

  • Choose a release with --version, a destination with --install-dir, or
    skip shell changes with --no-modify-path. TERRA_INSTALL_DIR and
    TERRA_NO_MODIFY_PATH=1 provide the corresponding environment overrides.

  • Downloads are verified against SHA-256 checksums. The installer detects
    competing installations, requires --force to replace an unrecognized
    destination or install alongside another copy, and serializes concurrent
    installs even when --force is used. Failed or interrupted replacement
    restores the previous installation when rollback succeeds.

  • Rerun the installer to update. Update notices recognize standalone installs
    and provide an installer command that preserves a custom install directory.

  • Stable releases update and verify the hosted installer after publishing the
    binary archives. Prereleases leave the stable installer unchanged.

Raw API requests

  • terra admin-api and terra data-api can reach endpoints and HTTP methods
    added after this CLI's bundled API description. The server determines whether
    a route is supported; valid new endpoints are no longer rejected locally.
  • Endpoint discovery and completion still use the bundled catalog and can lag
    the server. Use terra admin-api list for known admin endpoints or
    terra admin-api list --data-api for known data endpoints. Request syntax
    checks and DELETE confirmation still apply.
  • Help, examples, and troubleshooting guidance use the explicit admin-api
    command name and document the standalone installation path.

Install or upgrade, on macOS:

brew install tryterra/tap/terra

Or with the standalone installer, on macOS or Linux:

curl -fsSL https://cli.tryterra.co/install.sh | sh -s -- --version 0.14.0

Or with npm, on any platform:

npm install -g @tryterra/cli@0.14.0

Each archive below carries a checksum file and a Sigstore bundle. To
verify one:

cosign verify-blob --bundle terra-mac-checksums.txt.bundle terra-mac-checksums.txt