Skip to content

Prepare release 0.4.0 - #97

Merged
brandonc merged 6 commits into
mainfrom
automation/prep-release-0.4.0
Jul 31, 2026
Merged

Prepare release 0.4.0#97
brandonc merged 6 commits into
mainfrom
automation/prep-release-0.4.0

Conversation

@brandonc

@brandonc brandonc commented Jul 30, 2026

Copy link
Copy Markdown
Collaborator

Description

Combined the latest and beta CHANGELOG

PCI review checklist

  • I have documented a clear reason for, and description of, the change I am making.

  • If applicable, I've documented a plan to revert these changes if they require more than reverting the pull request.

  • If applicable, I've documented the impact of any changes to security controls.

    Examples of changes to security controls include using new access control methods, adding or removing logging pipelines, etc.

@brandonc
brandonc force-pushed the automation/prep-release-0.4.0 branch from ac428d1 to e617346 Compare July 30, 2026 23:15
Comment thread CHANGELOG.md Outdated

* 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 all subprocesses.

NOTES:

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think notes should go at the end

Comment thread CHANGELOG.md Outdated

NOTES:

* Running tfctl automatically updates outdated tfctl skills that it installed unless they were modified.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The version/update check is under ENHANCEMENTS, but the skill auto-migration is under NOTES I find them to be similar, should we put them both in the same section?

Comment thread .changes/v0.4.0.md Outdated

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 all subprocesses.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I find the last sentence a bit ambigious.
Tell me what u think about something like:
"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) by naming resource types explicitly with --allow-delete (e.g. --allow-delete=workspaces,vars). The grant lasts only for that command's session and applies to all of its subprocesses."

to make it explicitly known its class only

Comment thread .changes/v0.4.0.md Outdated

* Using `profile display --markdown` no longer produces an error.

* Removed Token property from json output when using `profile profiles list --json`, preventing accidental exposure.

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: tenses and structure are off relative to the other entries. I suggest chaning to "Remove", JSON output not json, lowercase token

Comment thread .changes/v0.4.0.md Outdated

* Removed Token property from json output when using `profile profiles list --json`, preventing accidental exposure.

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

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The code disables all SDK telemetry retries, not just server errors. How is:
"Don't retry telemetry transmission on failure, including rate-limiting (429) responses."

Comment thread .changes/v0.4.0.md Outdated

* 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).

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

nit: tfctl version / tfctl --version (line 13), TFCTL_CONFIG_DIR (line 19), api (line 41) should be in backticks like the flags elsewhere

@brandonc
brandonc merged commit 898d263 into main Jul 31, 2026
2 checks passed
@brandonc
brandonc deleted the automation/prep-release-0.4.0 branch July 31, 2026 16:11
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants