Skip to content

v0.6.18

Choose a tag to compare

@jdchawla29 jdchawla29 released this 20 Sep 06:19
· 90 commits to main since this release

Highlights

CLI

Every command accepts --json; list commands accept --quiet, mutating commands accept --dry-run, and confirming commands accept --yes. Exit codes are 0, 1 for failure, and 2 for usage errors. (PR #665)

hud jobs list, hud jobs get, hud jobs cancel, and hud trace get replace the single-command forms; hud jobs <uuid> and hud trace <uuid> still work. hud trace get reads local spans when telemetry is disabled. (PR #665, PR #667)

hud eval --runtime takes local, hud, hosted, docker, modal, daytona, or tcp://host:port; --remote means --runtime hosted. --config <agent>.<key>=<value> sets one agent's option. .hud_eval.toml is validated: unknown keys and unset ${VAR} are errors. Platform tasksets with container rows run with --runtime local. (PR #665, PR #667, PR #670)

hud deploy --name selects among several environments in one directory; --env and --env-file upsert registry secrets; Compose is passed through --runtime-config. hud sync tasks --link saves the target taskset as the directory default. hud init scaffolds a .hud_eval.toml. hud models fork --if-not-exists. .hud/config.json is bound to the credentials that wrote it. (PR #665)

Model clients

A provider key takes precedence over the HUD gateway; AgentConfig.gateway = True forces the gateway. create_agent resolves model names against the gateway catalog by id or display name. Bedrock inference-profile ARNs are supported as the Anthropic model. (PR #665)

Local placement

Taskset.run() without a runtime places container rows on DockerRuntime and live-environment rows on LocalRuntime; a verifier sharing its task's environment runs on the task's runtime. Task files that import templates from a sibling module load correctly. SubprocessRuntime accepts a live Environment. (PR #670)

Agents

A provider error ends the run with status error and AgentStep.stop_reason; malformed Gemini function calls report malformed_tool_call. (PR #673)

OpenAI computer-use errors are returned to the model with a screenshot instead of being swallowed, and malformed actions are rejected. esc, up, down, left, right, del, and option are accepted key names. (PR #666)

SSH and workspaces

Command output is no longer truncated on large streams, backpressure, or lingering child processes, and large stdin to an early-exiting process no longer hangs. NamespaceProcess.wait_status() waits for exit while the caller drains output. (PR #673)

Breaking

CLI

  • hud client is removed; use hud task start and hud task grade with --url. (PR #665)
  • hud deploy --all and --verbose are removed, and compose.yaml is no longer inferred as the build recipe; pass Compose through --runtime-config. (PR #665)
  • hud sync tasks --id and --exclude are removed; use --link. (PR #665)
  • hud task start --out, hud task grade --out, hud trace --local-dir, and hud eval --from-json are removed. (PR #665)
  • Per-command --json options are replaced by the global flag, hud qa listing is hud qa list, and hud cancel is a deprecated alias of hud jobs cancel. The console script entry point is hud.cli.__main__:main. (PR #665)

Full Changelog: v0.6.17...v0.6.18