Skip to content

Latest commit

 

History

History
63 lines (29 loc) · 3.23 KB

File metadata and controls

63 lines (29 loc) · 3.23 KB

v0.4.0-beta (July 23, 2026)

NEW FEATURES:

  • Adds the harness exec command, which lets a human grant session-scoped, noninteractive tfctl delete permissions to a wrapped command (such as a coding agent) via --allow-delete. The grant is tied to the wrapped process, auto-reverts when it exits, and never covers the irreversible organizations and projects classes unless they are named explicitly.

ENHANCEMENTS:

  • Adds a --plan-only flag to run start that creates a speculative plan-only run which is never applied, regardless of the workspace's auto-apply setting.

  • Positional arguments and API path parameters are now checked for basic input hygiene, rejecting control characters and invalid UTF-8. This keeps malformed values out of requests and out of terminal/audit output. This is not a security boundary; authorization is still enforced by your API token.

  • The config directory can now be overridden with the TFCTL_CONFIG_DIR environment variable. Profiles and exec sessions both resolve against this directory, making it easy to isolate tfctl state (for example, in CI or eval harnesses).

BUG FIXES:

  • Don't attempt to retry telemetry transmission on server errors, like rate limiting 429 errors.

  • Detect Terraform's TF_TOKEN_<hostname> environment variables (such as TF_TOKEN_app_terraform_io) during authentication, matching Terraform CLI's resolution. This includes punycode hostnames and the interchangeable dash encodings (literal - or double underscore). Previously these tokens were not detected.

  • Clarify the not-found (404) API error message to point at verifying the request path and resource IDs instead of suggesting an authentication problem.

  • Fix api --all returning no output when the result fits in a single page. The response body was consumed while checking for additional pages and not restored, so single-page responses rendered empty.

  • Fix api --json and --jq output incorrectly including one-to-one relationship IDs under attributes. Those IDs are surfaced for table and pretty output only, and are no longer written back into the raw JSON payload.

  • Redacts customer data within HTTP paths in telemetry payloads, such as organization and workspace names.

  • Using the --quiet argument no longer suppresses api command rendering for GET requests.

NOTES:

  • For developers of tfctl, added CONTRIBUTING.md, developer setup automation, and make help

v0.3.0 (June 22, 2026)

ENHANCEMENTS:

  • The harness install command supports shell autocompletion for supported coding agents and support for the Amp coding agent has been added.

  • Adds debug logging for token configuration sources.

  • Hostnames are normalized before storage within profiles.

  • The api command now accepts arbitrary URLs, such as Archivist, but does not send tokens to any host except the configured API host.

BUG FIXES:

  • Profile configuration files are now created with read/write permissions for owner only.

  • Hostname telemetry is anonymized when configured with a Terraform Enterprise host.

v0.2.0 (June 12, 2026)

NOTES:

  • tfctl is an agent-first, human-friendly CLI for accessing HCP Terraform and Terraform Enterprise. Future changes will be documented here. For now, see README.md for installation, usage, and a command reference.