Skip to content

0.6.0 - 2026-10-07

Latest

Choose a tag to compare

@github-actions github-actions released this 07 Oct 08:24
v0.6.0
c4ee9d1

Release Notes

Breaking changes

The [schema] table is removed from the manifest. Ward now fails with a clear error when ward.toml still contains it. To upgrade a manifest, delete the [schema] table and its version line. ward import and ward init no longer write it.

Changed

  • GitHub API errors are clearer. Ward now says what failed, why, and what to do next for an invalid token, a missing permission, a plan limit, SAML single sign-on, a rate limit, a missing resource, a conflict, a validation error and a GitHub outage. Responses in an unexpected shape now name the endpoint instead of saying Failed to parse.
  • Errors are easier to read. Error: shows the message, and each cause sits on its own Caused by: line. Use -v to print the full cause chain. Exit codes do not change.
  • A missing manifest now names the path that Ward tried and suggests ward init or ward import <owner/repo>. An explicit --config path that does not exist is now an error. Before, Ward used an empty manifest.
  • A missing token now says what to do. The message covers three cases: the GitHub CLI is not installed, the GitHub CLI is not logged in, and a blank GH_TOKEN or GITHUB_TOKEN. Each case names the command or variable that fixes it.
  • The text report uses plain words. actionable is now to change, and deferred is now waiting for a pull request. Zero counts are hidden. Each category shows why some reads failed (could not read:) and, for waiting changes, which pull request to merge (next:). The JSON field names do not change.
  • The not-in-scope repository error now lists what each system selects. Deferred changes name the pull request to merge. The drift summary uses the same plain words as the report.

Fixed

  • ward drift and ward plan no longer report false repository changes when the token has read-only access. GitHub omits the merge settings (allow_squash_merge, allow_merge_commit, allow_rebase_merge, allow_auto_merge, delete_branch_on_merge, allow_update_branch, merge commit title and message, use_squash_pr_title_as_default) for callers without push or admin access, and Ward read the missing values as false or unset. Ward now records them as unreadable coverage (permission_denied) and plans no changes for them.

Install ward-cli 0.6.0

Install prebuilt binaries via shell script

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/OriginalMHV/Ward/releases/download/v0.6.0/ward-cli-installer.sh | sh

Install prebuilt binaries via powershell script

powershell -ExecutionPolicy Bypass -c "irm https://github.com/OriginalMHV/Ward/releases/download/v0.6.0/ward-cli-installer.ps1 | iex"

Install prebuilt binaries via Homebrew

brew install OriginalMHV/tap/ward-cli

Download ward-cli 0.6.0

File Platform Checksum
ward-cli-aarch64-apple-darwin.tar.xz Apple Silicon macOS checksum
ward-cli-x86_64-apple-darwin.tar.xz Intel macOS checksum
ward-cli-x86_64-pc-windows-msvc.zip x64 Windows checksum
ward-cli-aarch64-unknown-linux-gnu.tar.xz ARM64 Linux checksum
ward-cli-x86_64-unknown-linux-gnu.tar.xz x64 Linux checksum