Releases: github/gh-aw
v0.80.6
🌟 Release Highlights
v0.80.6 focuses on safe-outputs reliability, GHES host support, and new agentic workflow capabilities — with dozens of targeted fixes that make credential handling, asset uploads, and compilation more robust.
✨ What's New
- Headroom context compression — A new shared agentic workflow compresses agent context when headroom is low, reducing token burn for long-running workflows. (#40223)
- Tool output previews in Copilot CLI — The conversation renderer now shows inline previews of tool outputs, making it easier to follow what an agent did at a glance. (#40116)
- AWF reflect summary surfaced to GitHub Actions —
awf reflectoutput is now written tocore.info, making reflection results visible in the Actions run log without extra steps. (#40069) - Auto-detect GHES host in compile —
gh aw compilenow automatically detects GitHub Enterprise Server hosts, so GHES users no longer need manual host configuration for correct repo validation. (#40030) - Cached owner-type API call — The compiler now caches the repository owner-type lookup once per compilation run, eliminating redundant API calls on large workflows. (#40258)
gh aw initaligned to Copilot MCP schema — The MCP suggestion emitted bygh aw initnow matches the official.github/mcp.jsonschema used by GitHub Copilot. (#40327)- External threat-detect binary — Threat detection has migrated to an external
threat-detectbinary behind a feature flag, improving isolation and upgrade flexibility. (#40166)
🐛 Bug Fixes & Improvements
Safe-outputs & credential handling:
- Fixed git credential loss in
safe_outputsjob checkouts — credentials are now reliably preserved throughout the job. (#40161, #40147) - Fixed duplicate
Authorizationheader (HTTP 400) on git operations inpush_to_pull_request_branch. (#40281) - Checkout manifest relocated into
safeoutputs/so the containerized safe-outputs MCP server can read it. (#40025) - Cross-repo checkout directories from the manifest are now trusted, resolving dubious-ownership errors. (#40080)
- Base branch is now validated with
git check-ref-formatbefore use in safe-outputs jobs. (#40001) - Corrected stale 1 MB default for
safe-outputsmax-patch-size in schema and derived files. (#39999) - Added configurable URL sanitization policy for code-region-safe suggestion handling. (#39927)
Compilation & workflow correctness:
- Fixed compiler incorrectly passing undeclared payload inputs for
call-workflowsteps. (#40154) - Fixed invalid YAML generated for GitHub App token checkout steps in
safe_outputsjobs. (#40301) - Fixed
actions-lock.jsonaccumulating orphaned entries on full compile. (#39905) - Added regression guard to ensure deterministic
actions-lock.jsonkey ordering. (#40324) - Enforced non-empty
dispatch_workflownames across safe-output schema and MCP registration. (#40315)
Asset uploads & authentication:
upload_assetsnow resolves staged assets via a singleGH_AW_ASSETS_DIR, fixing a path mismatch betweenRUNNER_TEMPand/tmp. (#40122, #40062)- Added fallback to unauthenticated GitHub API when a SAML-enforced token blocks requests. (#40250)
push_repo_memorynow seeds new memory branches via the GitHub API to satisfy signed-commit requirements. (#40188)
Observability & reliability:
- Fixed stdout/stderr interleaving in
mcp_cli_bridgefor large outputs. (#40037) - Token usage table is now rendered to
core.infoin theparse_token_usagestep for better visibility. (#40227) - Improved Copilot harness classification for opaque
exitCode=1failures. (#39959) - Improved Copilot 403 auth guidance for
copilot-requestsmode. (#40052)
⚡ Performance
- Memory efficiency — Replaced 187
map[string]boolsets withmap[string]struct{}across the codebase, reducing allocations throughout the compiler and runtime. (#39954)
🔍 Code Quality & Linting
errstringmatchlinter extended to coverHasPrefix,HasSuffix,EqualFold,Index,LastIndex, andCompare— catching more brittle error-string comparisons. (#40248)- New linter detects bare discarded
json.Marshal/json.Unmarshalcalls. (#39993) - Hardened OpenTelemetry compatibility contract. (#40006)
Generated by 🚀 Release · 40.8 AIC · ⊞ 8.2K
What's Changed
- Require RUNNER_TOOL_CACHE for tool-cache discovery by @zarenner with @Copilot in #40157
- feat: add Monte Carlo forecast compliance test suite (P1–P13) and fix fixture AIC gap by @pelikhan with @Copilot in #40126
- fix: add configurable safe-outputs URL sanitization policy for code-region-safe suggestion handling by @pelikhan with @Copilot in #39927
- [community] Update community contributions in README by @github-actions[bot] in #40206
- Bump default gh-aw-firewall to v0.27.7 and refresh generated artifacts by @lpcox with @Copilot in #40208
- fix(push_repo_memory): seed new memory branches via GitHub API to satisfy signed-commit rules by @pelikhan with @Copilot in #40188
- Render token table to core.info in parse_token_usage step by @pelikhan with @Copilot in #40227
- fix: expand Network Mapping and Pattern Heuristics tables in agentic-workflow-designer SKILL.md by @pelikhan with @Copilot in #40249
- [jsweep] Clean update_pull_request_branches.cjs by @github-actions[bot] in #40246
- errstringmatch: extend brittle error-string detection to HasPrefix/HasSuffix/EqualFold/Index/LastIndex/Compare by @pelikhan with @Copilot in #40248
- [WIP] Fix failing GitHub Actions job for integration add by @pelikhan with @Copilot in #40239
- fix: fall back to unauthenticated GitHub API when SAML-enforced token… by @pelikhan in #40250
- [spec-extractor] Update package specifications for agentdrain, cli, console, constants by @github-actions[bot] in #40286
- [docs] Update glossary - daily scan by @github-actions[bot] in #40289
- [docs] Update documentation for features from 2026-06-19 by @github-actions[bot] in #40291
- [instructions] Sync instruction files with release v0.80.4 by @github-actions[bot] in #40275
- feat(workflow): cache repository owner-type API call once per compilation run by @pelikhan with @Copilot in #40258
- Add headroom context compression as a shared agentic workflow by @pelikhan with @Copilot in #40223
- logs: download only usage artifact by default by @pelikhan with @Copilot in #40259
- fix(constraint-solving-potd): prevent
body: "."sentinel misuse in create_discussion by @pelikhan with @Copilot in #40300 - Add regression guard for deterministic
actions-lock.jsonkey ordering by @pelikhan with @Copilot in #40324 - build(deps): bump undici from 6.24.0 to 6.27.0 in /actions/setup/js in the npm_and_yarn group across 1 directory by @dependabot[bot] in #40326
- Align
gh aw initMCP suggestion with Copilot.github/mcp.jsonschema by @pelikhan with @Copilot in #40327 - [dead-code] chore: remove dead functions — 1 function removed by @github-actions[bot] in #40329
- Fix invalid YAML from checkout GitHub App token steps in safe_outputs jobs by @pelikhan with @Copilot in #40301
- Migrate threat detection to external
threat-detectbinary behind feature flag by @pelikhan with @Copilot in #40166 - Enforce non-empty
dispatch_workflownames across safe-output schema and MCP registration by @pelikhan with @Copilot in ...
v0.80.4
🌟 Release Highlights
This release delivers a focused wave of reliability improvements, infrastructure hardening, and safe-outputs enhancements — making your agentic workflows more robust and predictable.
✨ What's New
merge-pull-requestschema parity (#39767) — Themerge-pull-requestsafe-output now supportssamplesand cross-repo targeting, bringing it to full feature parity with other safe-output operations.- GHES-friendly action pinning (#39908) —
gh awno longer applies its hardcoded action-pin fallback whenGH_HOSTtargets a non-github.com host, removing friction for GitHub Enterprise Server users. - Cleaner UX for personal repos (#39923) — The copilot-requests onboarding tip is now suppressed for individual (non-org) repository owners, reducing noise where it doesn't apply.
🐛 Bug Fixes & Improvements
- Fixed phantom asset failures (#39900) — Aligned the safe-outputs staging path with
RUNNER_TEMPto eliminate spurious asset-not-found errors. - Fixed MCP container tmp access (#39950) — Added the
/tmp/gh-awbind mount to the safeoutputs MCP container so tools that write there during workflow runs work correctly. - Fixed assign-to-agent mutations (#39941) — Corrected the GraphQL mutations used to assign issues to agents, following the official API docs.
- Fixed silent
add_commentskips (#39926) —add_commentno longer silently no-ops when the integration token lacks discussion write permissions; the error is now surfaced clearly. - Fixed SDK driver timeouts (#39933) — Increased
sendAndWaittimeout in sample SDK drivers from 60 s to 10 min, preventing premature failures on longer agent tasks. - Fixed null-byte corruption in step summaries (#39910) — Stripped null bytes from
gateway.mdbefore writing to the step summary to prevent rendering errors. - Fixed unintended
dependabot.ymlwrites (#39909) —gh awno longer modifiesdependabot.ymlunless the--dependabotflag is explicitly passed. - Hardened PR Sous Chef emission path (#39951) — Reinforced the safe-output emission path for PR Sous Chef to prevent dropped outputs under edge-case conditions.
- Isolated SDK driver test state (#39940) —
copilot_sdk_drivertests now write session state in isolation, eliminating false-positive tool-denial failures.
📚 Documentation
- Terminology update (#39913) — Renamed "Copilot Skills" → "Skills" throughout the custom-agent-for-aw reference to align with current product naming.
Generated by 🚀 Release
What's Changed
- docs: rename "Copilot Skills" → "Skills" in custom-agent-for-aw reference by @Copilot in #39913
- fix: strip null bytes from gateway.md before writing to step summary by @Copilot in #39910
- Skip hardcoded action pin fallback when GH_HOST targets a non-github.com host by @Copilot in #39908
- fix: only touch dependabot.yml when --dependabot flag is used by @Copilot in #39909
- Fix phantom asset failures: align safe-outputs staging path with RUNNER_TEMP by @Copilot in #39900
- Skip copilot-requests tip for individual (non-org) repository owners by @dsyme in #39923
- safe-outputs: add
merge-pull-requestschema parity forsamplesand cross-repo targeting by @Copilot in #39767 - fix: add_comment silently skips when integration token can't write to discussions by @Copilot in #39926
- fix: correct assign-to-agent GraphQL mutations per official docs by @Copilot in #39941
- fix: isolate copilot_sdk_driver test session state writes to prevent false-positive tool-denial issues by @Copilot in #39940
- fix: increase sendAndWait timeout in sample SDK drivers from 60s to 10min by @Copilot in #39933
- Extract hardcoded file paths to named constants by @Copilot in #39938
- [aw] Harden PR Sous Chef safe-output emission path by @Copilot in #39951
- fix: add /tmp/gh-aw bind mount to safeoutputs MCP container by @Copilot in #39950
Full Changelog: v0.80.3...v0.80.4
v0.80.3
🌟 Release Highlights
v0.80.3 brings smarter MCP server configuration, improved Copilot billing detection in the setup wizard, and a focused set of reliability fixes across compilation, logs, and push workflows.
✨ What's New
-
repo-memoryJSON formatting (#39540) — Newformat-json: trueoption ensures AI-written JSON memory files are always pretty-printed before committing, making diffs reviewable and files easy to edit. Learn more -
mcp-scripts.dependenciesfully wired (#39739) — Thedependenciesfield in MCP script tool configs is now parsed, propagated through the runtime, and installed with pinned release-tag validation — eliminating latemodule not foundfailures. -
Smarter add-wizard billing detection (#39810) — The setup wizard probes the org's Copilot CLI billing status before rendering the auth prompt.
copilot-requestsis pre-selected when billing is enabled and visually blocked (with a clear label) when it is not. -
MCP server tool allowlist (#39863, #39866) —
github-agentic-workflowsMCP server now explicitly exposes only its six declared tools (compile,audit,logs,inspect,status,audit-diff). The server now runs directly from the local binary, removing the need for a globally installedgh awextension in dev and CI environments. -
Failure category filtering for
report-failure-as-issue(#39721) — Workflows can now pass an array of failure categories to suppress transient infrastructure noise (Docker timeouts, AI 5xx, MCP image pulls) without losing signals from real failures. -
Improved outcome intent attribution (#39718) — A dedicated intent resolver replaces ad-hoc outcome root tracing, adding attribution status and source to reports and marking PRs with multiple closing issues as ambiguous rather than silently selecting one.
⚡ Performance
- Faster action pin resolution (#39707) —
ActionResolvernow checks the embedded action pins table first, eliminating ~1.2 sgh-apisubprocess calls for built-in actions whose SHA is already compiled into the binary.
🐛 Bug Fixes & Improvements
- Compilation: Stale container pins are pruned before compilation and
UpdateContainerPinsruns after, preventing stale-pin conflicts (#39770). - Git: Resolved "dubious ownership" errors on checkout by adding
git safe.directoryand moving git config to a shell script (#39771). - Logs: Fixed pagination in all-workflows mode when a full batch filters to zero runs (#39741).
- Push:
push_signed_commitsnow recovers gracefully from shallow/partial-clone object failures during rebase (#39859). - Copilot assignment: Both
GraphQL-Featuresflags are always sent when assigning Copilot to an issue (#39719). - Safe-outputs: Rate-limit failures during PR review safe-output operations are mitigated (#39797).
- Linters:
regexpcompileinfunctionresolves package identity via the type checker;uncheckedtypeassertionnow recognises safe comma-ok forms in var initialisers and parenthesised assertions (#39773, #39774). - Installer: ANSI colour codes are suppressed in CI and
NO_COLORenvironments for cleaner log output (#39875).
📚 Documentation
- New billing reference page — detailed guidance on Copilot billing configuration. Read more
- Improved billing setup tip — the
copilot-requestsauth tip now includes the org requirement note and links directly to the billing docs (#39873).
Generated by 🚀 Release
What's Changed
- fix: always send both GraphQL-Features flags when assigning Copilot to an issue by @Copilot in #39719
- ci: store Windows Defender scan logs as artifact on cross-platform build by @Copilot in #39726
- Improve outcome intent attribution by @mnkiefer in #39718
- Use IssueOrPRNumber for submit_pull_request_review.pull_request_number by @Copilot in #39723
- Consolidate ~25 duplicate helper implementations by @Copilot in #39720
- Fix misplaced zizmor ignore comment in GHES host step generator by @Copilot in #39740
- logs: keep paging in all-workflows mode when full batches filter to zero runs by @Copilot in #39741
- chore: bump Claude Code 2.1.178→2.1.179, Pi 0.79.4→0.79.6 by @Copilot in #39772
- fix(regexpcompileinfunction): resolve package identity via type checker instead of identifier name by @Copilot in #39773
- perf(workflow): check embedded action pins before gh-api network call in ActionResolver by @dsyme in #39707
- fix: prune stale container pins and move UpdateContainerPins to after compilation by @Copilot in #39770
- uncheckedtypeassertion: recognize safe comma-ok form in var init and parenthesized assertions by @Copilot in #39774
- feat(repo-memory): add format-json option to pretty-print JSON files before commit by @Copilot in #39540
- Add failure category filtering to report-failure-as-issue by @Copilot in #39721
- Mitigate safe-output PR review rate-limit failures by @Copilot in #39797
- Fix Impact report objective mapping guidance to match resolver outputs and available datasets by @Copilot in #39784
- Implement
mcp-scripts.dependenciesend-to-end with runtime-manager install flow and pinned release-tag validation by @Copilot in #39739 - fix: retry defender scan on transient WinDefend service unavailability by @Copilot in #39847
- add-wizard: detect org Copilot billing and pre-select/disable copilot-requests accordingly by @Copilot in #39810
- docs: add billing reference page by @dsyme in #39854
- Add tools array to github-agentic-workflows by @pelikhan in #39863
- fix(push_signed_commits): recover from shallow/partial-clone object failures during rebase by @dsyme in #39859
- fix(daily-formal-spec-verifier): add
sed -nto bash allowlist by @Copilot in #39864 - Update MCP server command and arguments by @pelikhan in #39866
- Suppress ANSI installer colors in CI and explicit no-color environments by @Copilot in #39875
- Improve copilot billing tip: add org requirement note and billing docs link by @Copilot in #39873
- Clarify Test Quality Sentinel safe-output comment invocation to prevent Copilot engine permission failures by @Copilot in #39867
- fix: add git safe.directory and refactor git config to shell script to resolve dubious ownership error by @Copilot in #39771
Full Changelog: v0.80.2...v0.80.3
v0.80.2
🌟 Release Highlights
v0.80.2 is a focused reliability and polish release that tightens Copilot API compatibility, hardens the safe-outputs tooling, clarifies CLI flag semantics, and improves documentation precision.
🐛 Bug Fixes & Improvements
- Copilot assignment API fix — Resolved an issue where only one of the two required
GraphQL-Featuresheader flags was sent when assigning Copilot to an issue, which could cause silent failures against the GitHub API. Bothissues_copilot_assignment_api_supportandcoding_agent_model_selectionflags are now always included. (#39719) - Prevent placeholder release note submissions —
update_releasenow enforces a minimum body length, blocking accidental placeholder payloads (e.g.{"body":"test"}) from overwriting real release content whenmax:1is in effect. (#39713)
✨ What's New
- Mutually exclusive compile flags enforced —
--gh-aw-ref,--action-tag, and--action-modeare now declared mutually exclusive in thecompilecommand. Previously--gh-aw-refsilently overwrote the other flags; now the CLI returns a clear error. The help text also no longer lists the removedinlinemode and correctly documents the validactionmode. (#39697) - Safe-outputs runtime image pinned — The
ghcr.io/github/gh-aw-nodeimage used by safe-outputs is now included in the default container predownload list and recorded in the compiledgh-aw-manifest. Workflows automatically prefetch it and lock headers include it, improving cold-start reliability. (#39644)
📚 Documentation
- Safeoutputs deferred-write semantics clarified — Updated
safe_outputs_prompt.mdwith explicit guidance: agents should trust a successful tool response without re-verifying the effect viaghor other read paths, since deferred writes are applied after the agent finishes. (#39694)
Generated by 🚀 Release
What's Changed
- fix: enforce minLength on update_release body to block placeholder submissions by @Copilot in #39713
- compile: clarify --action-mode/--action-tag/--gh-aw-ref relationship, enforce mutual exclusivity by @Copilot in #39697
- docs: clarify safeoutputs deferred writes by @pelikhan in #39694
- Include and pin safe-outputs gh-aw-node image in default container predownload and manifest by @Copilot in #39644
Full Changelog: v0.80.1...v0.80.2
v0.80.1
test
Generated by 🚀 Release
What's Changed
- docs: sharpen workflow-authoring guidance for PR scoping, backend compatibility checks, and coverage fallback networking by @Copilot in #39622
- chore: bump CLI tool versions (Claude 2.1.178, Copilot 1.0.63, Codex 0.140.0, Pi 0.79.4, GH MCP Server v1.3.0, Playwright v1.61.0) by @Copilot in #39624
- Add missing
issues: readpermission topr-code-quality-reviewerby @Copilot in #39625 - chore: expand pr to issue tracing for impact report mapped outcomes by @Copilot in #39620
- Sync MCP server toolset/permissions mapping to v1.3.0 by @Copilot in #39650
- Propagate Copilot BYOK provider hosts into threat-detection allowlists by @Copilot in #39653
- Clarify
github_api_callsprovenance and recover snapshot-onlycore_consumedaccounting by @Copilot in #39623 - Ensure inline sub-agents always trigger interpolation step generation by @Copilot in #39651
- Consolidate near-duplicate WorkflowListItem ⊂ WorkflowStatus structs in pkg/cli by @Copilot in #39637
- Add configurable OTLP resource attributes to workflow observability by @Copilot in #39636
- Support array/object runner specs for
runs-on-slimand safe-outputs runner fields by @Copilot in #39654 - fix: restore interaction permissions for workflow_call workflows with reaction/status-comment by @Copilot in #39652
- schema: add
normalize-closing-keywordsto create-issue, add-comment, create-pull-request branches by @Copilot in #39643 - schema: allow
required-categoryinsafe-outputs.create-discussionand add regression coverage by @Copilot in #39640 - fix: sanitize HTML error pages in getErrorMessage to avoid noisy safe_outputs logs by @Copilot in #39655
- Record compiler ref in lock metadata for
--action-tagcompiles by @Copilot in #39687 - fix: restore MCP CLI concept explanation and fix safeoutputs framing by @dsyme in #39689
Full Changelog: v0.80.0...v0.80.1
v0.80.0
🌟 Release Highlights
v0.80.0 expands CI/CD orchestration to ARC/DinD environments, adds powerful new portfolio and centralization-optimizer workflows, sharpens AI-credit management, and raises the bar on observability and diagnostics.
✨ What's New
ARC/DinD Container Support — Agentic workflows can now run inside Docker-in-Docker environments (ARC runners). The compiler emits chroot.binariesSourcePath, chroot.identity, and the `(redacted) Docker host, enabling full end-to-end agent execution on self-hosted container runners. (#38911, #38913)
Copilot Centralization Optimizer — New workflows identify redundant or inefficient Copilot invocations across your org and surface consolidation opportunities, helping teams reduce costs and improve consistency. (#39394, #39437, #39439)
Learn more →
Portfolio Analyst Workflow — A revived strategic-reporting workflow that generates cross-workflow portfolio summaries for executive visibility. (#39450)
Objective Impact Report — Executive-grade reports now restrict outcomes to issues linked via PR, include a simplified summary table, and compute AIC efficiency metrics, making ROI measurement actionable at a glance. (#39484, #39490, #39535, #39543)
OTel cicd.automation.* Standard — Proposed new OpenTelemetry semantic conventions for CI/CD automation signals, with W3C TRACEPARENT now propagated through all engine execution steps for end-to-end distributed tracing. (#38953, #39435, #39596)
Expanded gh aw forecast — Forecast output now includes threat-detection credits, exposes monthly low/high/stdev ranges, and inspects all completed runs—giving a more complete picture of your AI-credit spend. (#39101, #39102)
Forecast reference →
Smarter AI-Credit Guardrail — The daily guardrail is now skipped for user-initiated and command-routed runs, eliminating false blocks during development and testing. An actions/cache-based usage cache removes the need to download artifacts on every run. (#39123, #38856)
runs-on-slim: Array & Runner-Group Support — runs-on-slim now accepts label arrays and runner-group object forms, matching the full GitHub Actions runs-on syntax. (#39579, #38965)
Max Patch Size Raised to 4 MB — The default max-patch-size is increased from 1 MB to 4 MB, with clearer error messages when the limit is exceeded. Larger diffs no longer cause silent truncation. (#39118)
Token-Optimization Hints in Failure Issues — When a guardrail triggers, failure issues now include an "Optimize token consumption" section with actionable guidance. Tool-denial issues also include the last 5 tool calls for faster root-cause analysis. (#39069, #39122)
Anthropic WIF Auth (Claude) — Workload Identity Federation is now a first-class Claude authentication option, documented alongside the existing token-based flow. (#39241)
Setup →
🐛 Bug Fixes & Improvements
- AIC usage cache always empty — Fixed an activation-job bug where cache entries were never written, causing unnecessary artifact downloads. (#39130)
- Bundle prerequisite commit fetch —
gh aw bundlenow fetches prerequisite commits by SHA instead of a broad--deepen, preventing shallow-clone failures. (#39466) time.Aftertimer leaks eliminated — Loopedtime.Aftercalls are replaced with proper ticker management;timeafterleaklinter now enforces this in CI. (#39188, #39133)- Copilot 429 quota-exceeded retries stopped — The Copilot harness no longer retries
CAPIError: 429 quota exceededresponses, preventing runaway retry storms. (#39581) - Codex active-goal router retries stopped — Codex harness no longer retries on active-goal router failures, avoiding wasted credits on unrecoverable states. (#39156)
- Script injection S7630 fixed — Maintenance workflow
Record outputssteps are hardened against shell script injection. (#39578) set_issue_fielddiscovery query fixed — Removed an invalidIssueFieldfragment that caused field-discovery failures. (#39586)- Parallel-process test flakes fixed — Environment-dependent and parallel-process test failures in the test suite are resolved. (#39467)
- Preserve
engine.envscalar types — Numeric and booleanengine.envvalues are now preserved through compilation instead of being coerced to strings. (#39582) - Inline sub-agent frontmatter preserved — Sub-agent frontmatter is no longer dropped during extraction. (#39577)
- Cache-memory threat-detection narrowed — False positives from AIC guardrail steps in cache-memory assertions are eliminated. (#39281)
- Ambient-context token reduction — First-request token overhead in smoke-copilot and test-quality-sentinel workflows is significantly reduced. (#39157, #39280)
📚 Documentation
- Anthropic WIF is now a first-class Claude auth option in setup docs (#39241)
experimentsdocs clarified with model, sub-agent, and subskill examples (#39226)- Cache-memory branch scoping and default-branch fallback behavior documented (#39265)
max-ai-credits: 5Mremoved from reference examples to prevent misconfiguration (#39128)- Workflow authoring guidance tightened for trigger selection, noop behavior, and
workflow_runscoping (#39119, #39583)
Generated by 🚀 Release
What's Changed
- Add logging to publish-safe-outputs-node scripts by @Copilot in #39085
- reduce node image cooldown from 7d to 1d by @Copilot in #39086
- fix: enforce 48h data retention on AIC usage cache entries by @Copilot in #39084
- Harden Defender signature update with retries and failure diagnostics in release workflow by @Copilot in #39096
- Clarify Appendix A AI credits example with explicit §3.5 cache-read deduction by @Copilot in #39098
- Use ✅ for
run-successin Test Quality Sentinel messages by @Copilot in #39099 - Inspect all completed forecast runs in
gh aw forecastby @Copilot in #39102 - Tighten workflow authoring guidance for trigger selection, scenario mapping, and visual-regression network scope by @Copilot in #39119
- Skip daily AI-credit guardrail for user-initiated and command-routed runs by @Copilot in #39123
- docs: remove
max-ai-credits: 5Mexamples from reference docs by @Copilot in #39128 - Include last 5 tool calls in tool-denials failure issues by @Copilot in #39122
- Emit Copilot auth migration tip for
copilot-requestsworkflows by @Copilot in #39129 - Include threat-detection credits in forecast totals, expose monthly low/high/stdev, and fix formal-verifier tool denials by @Copilot in #39101
- [linter-miner] linter: add timeafterleak — flag time.After in for+select cases by @github-actions[bot] in #39133
- Increase default max-patch-size from 1 MB to 4 MB and improve patch-size-exceeded error messages by @Copilot in #39118
- fix(unbloat-docs): fetch LFS objects during checkout to fix docs build by @Copilot in #39145
- Reduce ambient-context payload in daily/PR workflows and shared prompt imports by @Copilot in #39157
- [spec-enforcer] Enforce specifications for github, typeutil by @github-actions[bot] in #39219
- [docs] Update documentation for features from 2026-06-14 by @github-actions[bot] in #39214
- [spec-extractor] Update package specifications for envutil, fileutil, gitutil, logger by @github-actions[bot] in #39211
- [instructions] Sync instruction files with release v0.79.8 by @github-actions[bot] in #39207
- [docs] Update dictation skill instructions by @github-actions[bot] in #39195
- Fix AIC usage cache always empty in activation job by @Copilot in #39130
- Clarify the experiments docs and add model, sub-agent, and subskill examples by @Copilot in #39226
- Clarify sub-skill progressive disclosure in token/cost optimization guidance by @Copilot in #39227
- Eliminate looped
time.Aftertimer leaks, propagate cancellation correctly, and enforcetimeafterleakin CI by @Copilot in #39188 - docs: add Anthropic WIF as a first-class Claude auth option by @Copilot in #39241
- docs(playwright): align CLI visual regression version with npm package semantics by @Copilot in #39245
- Replace raw fmt.Fprintf output in outcomes_history.go with console package by @Copilot in #39248
- Replace raw fmt.Fprintf verbose debug output with console.LogVerbose in token_usage.go by @Copilot in #39247
- Extract inline lipgloss styles and harden ShowWelcomeBanner styling by @Copilot in #39246
- docs: clarify cache-memory branch scoping and default-branch fallback by @Copilot i...
v0.79.8
🌟 Release Highlights
v0.79.8 brings two new Go linters for code quality enforcement, a wave of targeted bug fixes improving reliability and portability, a performance boost for workflow run queries, and codemod improvements to complete the max-effective-tokens → max-ai-credits migration.
✨ What's New
httpnoctxlinter (#38888) — Automatically flags Go HTTP calls made without acontext.Contextparameter, helping catch a common source of non-cancellable requests before they reach production.hardcodedfilepathlinter (#38742) — Detects hard-coded file path string literals in Go code, surfacing brittle path assumptions that break across environments.- Code Simplifier budget caps (#38851) — Per-run hard budgets with graceful
noopexit prevent runaway simplification loops from consuming unbounded AI credits. --gh-aw-refresolved to commit SHA at compile time (#38689) — Branch and tag references passed via--gh-aw-refare now pinned to their commit SHA during compilation, ensuring deterministic and auditable workflow builds.- AOAI Entra smoke workflow (#38706) — New end-to-end smoke workflow validates Azure OpenAI Entra authentication for Copilot, extending CI coverage to AOAI-backed runs.
🐛 Bug Fixes & Improvements
environment:propagation fixed (#38918) — Top-levelenvironment:blocks are now correctly propagated to thedetectionjob, resolving a compilation gap that silently dropped environment bindings.set_issue_fieldGraphQL fix (#38882) — Corrects an invalid GraphQL query infetchIssueFieldsthat causedset_issue_fieldcalls to fail at runtime.- String-form
create_issue.labelshandled (#38738) — Safe-output validation and schema definitions now correctly handle labels provided as a comma-separated string in addition to arrays, fixing label assignment failures. - False-positive AI credits failures eliminated (#38737) — Prevents erroneous failure issues from being filed on successful runs that happened to trigger unknown-model detection logic.
- Copilot supports arbitrary
HOMEdirectories (#38725) — The Copilot engine integration no longer assumes/home/runneras the home directory, improving portability for non-standard runner environments. - Designer Drift Audit permissions fix (#38855) — Added the missing
pull-requests: readscope so the Designer Drift Audit workflow can read PR data without permission errors.
⚡ Performance
- Faster workflow run queries (#38779) —
listWorkflowRunspagination now stops as soon as the 24-hour cutoff is reached rather than fetching all pages, significantly reducing API calls on active repositories.
🔧 Migration
max-effective-tokens: -1codemod completed (#38850) — Theeffective-tokens-to-ai-creditscodemod (gh aw fix --write) now correctly rewrites the-1sentinel value formax-effective-tokens, closing the last gap in the legacy budget migration. Rungh aw fix --writeif you still seemax-effective-tokens: -1in your workflows.
📚 Documentation
- Updated docs covering features shipped through 2026-06-12 (#38828) including spec audits for
fileutil,constants,timeutil, andttypackages (#38848).
Generated by 🚀 Release · 110.8 AIC · ⊞ 28.8K
What's Changed
- Prevent false-positive AI credits/unknown-model failure issues on successful runs by @Copilot in #38737
- Scale homepage hero slides correctly on mobile by @Copilot in #38740
- Add hardcodedfilepath linter to detect hard-coded file path string literals by @Copilot in #38742
- fix(copilot): support arbitrary HOME directory, not just /home/runner by @Copilot in #38725
- Add AOAI Entra smoke workflow for Copilot by @Copilot in #38706
- Handle string-form
create_issue.labelsacross safe-output validation and schema/tool definitions by @Copilot in #38738 - [community] Update community contributions in README by @github-actions[bot] in #38771
- Resolve --gh-aw-ref branch/tag to commit SHA at compile time by @dsyme in #38689
- Fix
lint-goCGO failure by normalizingResolveGhAwRefformatting and string construction by @Copilot in #38778 - [spec-enforcer] Enforce specifications for styles, syncutil, testutil by @github-actions[bot] in #38831
- [docs] Update documentation for features from 2026-06-12 by @github-actions[bot] in #38828
- [spec-extractor] Update package specifications for tty, types, typeutil, workflow by @github-actions[bot] in #38822
- optimize: stop paginating listWorkflowRuns once 24h cutoff is reached by @Copilot in #38779
- Add debug-scoped
/tmp/gh-awfile inventory to setup post cleanup by @Copilot in #38780 - refactor: semantic function clustering — dedup, shared helpers, and generics consolidation by @Copilot in #38776
- deps(go): bump golang.org/x/tools to v0.46.0 by @Copilot in #38849
- Add SEC-004 transport-body exemption to artifact client by @Copilot in #38853
- docs: spec audit — add github README, update fileutil/constants/timeutil/tty specs by @Copilot in #38848
- Add missing
pull-requests: readscope to Designer Drift Audit workflow by @Copilot in #38855 - [aw-compat] Migrate
max-effective-tokens: -1tomax-ai-credits: -1in codemod by @Copilot in #38850 - Add SEC-005 exemption annotation for apply_samples replay driver by @Copilot in #38852
- [dead-code] chore: remove dead functions — 1 function removed by @github-actions[bot] in #38858
- Cap Code Simplifier runaways with hard per-run budgets and graceful noop exit by @Copilot in #38851
- [jsweep] Clean validate_context_variables.cjs by @github-actions[bot] in #38785
- [linter-miner] feat(linters): add httpnoctx linter — flag HTTP calls without context by @github-actions[bot] in #38888
- ctxbackground: resolve
Background()calls by package identity, not identifier text by @Copilot in #38854 - Refactor engine log parsing to canonical Copilot event format by @Copilot in #38781
- [caveman] Optimize instruction verbosity — serena-tool, skills, subagents (2026-06-12) by @github-actions[bot] in #38930
- Move auto-generated notice to first line with debugging skill URL by @Copilot in #38923
- fix: propagate top-level
environment:to thedetectionjob by @Copilot in #38918 - Correct OTLP CLI version attribution for scope/service/span fields by @Copilot in #38916
- fix(set_issue_field): fix invalid GraphQL query in fetchIssueFields by @Copilot in #38882
Full Changelog: v0.79.7...v0.79.8
v0.79.7
🌟 Release Highlights
This release focuses on AI credit management hardening, codemod reliability, and expanded tooling support — with stronger guardrail enforcement and cleaner failure diagnostics throughout.
⚠️ Notable Changes
daily_effective_workflow_*metrics renamed todaily_ai_credits_*(#38611): Workflow run metrics are now standardized under thedaily_ai_credits_*namespace. If you reference these metrics in dashboards, queries, or configurations, update them to the new names. See the migration guide for details.
✨ What's New
- Codemod exclusion flags for
fixandupgrade(#38688):gh aw fixandgh aw upgradenow accept exclusion flags, giving you fine-grained control over which codemods are applied during automated maintenance runs. - Pi CLI support (#38724): The
@earendil-works/pi-coding-agentCLI is now tracked in the cli-version-checker, expanding agent compatibility monitoring.
🐛 Bug Fixes & Improvements
- Guardrail enforcement hardened (#38639): The
max_daily_ai_creditsguardrail now fails as a hard stop, preventing cost overruns while correctly preserving workflow conclusion failure handling. - Guardrail coverage expanded (#38705): Daily AI credit guardrails now apply to label-triggered and slash-command-triggered workflows, closing a gap where these trigger paths were previously unenforced.
- Codemod shell comment handling (#38682): Shell comment lines are now correctly skipped when scanning
run:blocks for expression hoisting, preventing false-positive codemod transformations. - Actionable COPILOT_GITHUB_TOKEN error messages (#38722): When
COPILOT_GITHUB_TOKENis missing, agent failure issues now include apermissions.copilot-requests: writesuggestion, making the fix immediately actionable. - Faster OIDC api-proxy startup (#38718): The initial
awf-reflectmodels probe is deferred until after startup, reducing cold-start latency for the harness.
📚 Documentation
- Azure Foundry OpenAI v1 BYOK (#38641): Documentation now covers Bring Your Own Key (BYOK) configuration for Azure Foundry OpenAI v1 deployments.
Generated by 🚀 Release · 111.2 AIC · ⊞ 28.8K
What's Changed
- [dead-code] chore: remove dead functions — 5 functions removed by @github-actions[bot] in #38640
- Add codemod exclusion flags to
fixandupgradeby @Copilot in #38688 - Fail max_daily_ai_credits guardrail as a hard stop while preserving conclusion failure handling by @Copilot in #38639
- docs: Document Azure Foundry OpenAI v1 BYOK support by @Copilot in #38641
- chore: update slides and place on hero page by @mnkiefer in #38690
- fix: enhance slide loading and error handling in WorkflowHero by @mnkiefer in #38712
- fix(codemod): skip shell comment lines when scanning run blocks for expression hoisting by @Copilot in #38682
- fix: run daily AIC guardrail for label and slash command triggers by @Copilot in #38705
- Eliminate setup-time
@actions/artifactinstall by inlining required artifact client features by @Copilot in #38684 - Remove legacy
model_multipliers.jsonartifacts and file-based multiplier merge path by @Copilot in #38642 - [linter-miner] feat(linters): add timesleepnocontext linter by @github-actions[bot] in #38704
- feat(harness): defer initial awf-reflect models probe during OIDC api-proxy startup by @Copilot in #38718
- Track Pi CLI (@earendil-works/pi-coding-agent) in cli-version-checker by @Copilot in #38724
- Fix Smoke Pi: no safe outputs due to wrong prompt order and missing gh CLI instruction by @Copilot in #38719
- rename daily_effective_workflow_* → daily_ai_credits_* by @Copilot in #38611
- Suggest
permissions.copilot-requests: writein agent failure issue when COPILOT_GITHUB_TOKEN is missing by @Copilot in #38722
Full Changelog: v0.79.6...v0.79.7
v0.79.6
🌟 Release Highlights
This release focuses on observability improvements, Windows CLI reliability, and security hardening for the AWF firewall runtime — keeping your agentic workflows stable and easier to debug.
✨ What's New
-
AI Credit Observability —
gh-aw.aicis now emitted as adoubleValueon OTLP conclusion spans, fixing Sentry EAP type inference and ensuring AI credit cap attributes appear consistently even whenINPUT_JOB_NAMEis absent. Richer data means faster cost diagnosis. (#38550, #38510, #38580) -
Go MCP Server Process Guardrail — A 4-process limit is now enforced on child
ghinvocations spawned by the Go MCP server, preventing runaway process trees and improving resource safety in constrained runners. (#38544) -
Prefetch Strategy A/B Experiment — The
weekly-blog-post-writerworkflow gains aprefetch_strategyexperiment flag, enabling controlled rollout of prefetch optimizations across agentic runs. (#38622) -
Maintenance Trigger Logging — The first trigger reason for
agentics-maintenancegeneration is now logged, giving operators clear visibility into what kicked off a maintenance cycle. (#38616)
🐛 Bug Fixes & Improvements
-
Windows CLI Deadlock Fixed — A process wrapper deadlock in the Windows CLI integration has been resolved, unblocking workflows that stalled when spawning child processes on Windows. (#38592)
-
Smarter Failure Titles — The conclusion job now uses failure-specific issue titles and detects the
unknown_model_ai_creditsfailure mode, making auto-filed failure issues more actionable. (#38615, #38610) -
Windows Test Coverage Expanded — The Windows CLI integration test suite is restructured into a scenario matrix covering shell, environment, path, and chaos scenarios for broader coverage. (#38526)
🔒 Security & Reliability
-
AWF 0.27.2 Update — Upgraded to the latest AWF firewall runtime, incorporating upstream security and stability fixes. (#38660)
-
Digest Pinning Restored — Container image digest pinning for AWF 0.27.0 firewall sidecar images has been restored, and the release pipeline now gates on resolved SHA pins before pushing tags — ensuring supply chain integrity. (#38595, #38608)
📚 Documentation
-
LLM/Agent Discovery — Replaced
starlight-llms-txtwith a customllms.txt/agents.txtthat points directly to.github/aw/*.mdworkflow sources, making this repo more discoverable by LLM-based tooling. (#38630) -
copilot-requests: writePermission Guidance — Instruction docs now recommend thecopilot-requests: writepermission for Copilot-targeted workflows. (#38410)
Generated by 🚀 Release · 107.7 AIC · ⊞ 28.8K
What's Changed
- Replace remaining
sort.Slicecall sites with type-safeslices.SortFuncby @Copilot in #38498 - [jsweep] Clean write_large_content_to_file.cjs by @github-actions[bot] in #38504
- Ensure
gh-aw.aicis emitted on conclusion spans whenINPUT_JOB_NAMEis missing by @Copilot in #38510 - Restructure Windows CLI integration into scenario matrix with missing shell/env/path/chaos coverage by @Copilot in #38526
- Add AI credit cap observability attributes to OTLP conclusion spans by @Copilot in #38550
- [instructions] Sync instruction files with release v0.79.4 by @github-actions[bot] in #38567
- [docs] Update documentation for features from 2026-06-11 by @github-actions[bot] in #38593
- [docs] Update glossary - daily scan by @github-actions[bot] in #38585
- Recommend
copilot-requests: writefor Copilot-targeted workflows in instruction docs by @Copilot in #38410 - Fix Windows CLI integration deadlock in process wrapper by @Copilot in #38592
- release: gate on resolved container SHA pins before push_tag by @Copilot in #38608
- Restore digest pinning for AWF 0.27.0 firewall sidecar images by @Copilot in #38595
- fix: always emit gh-aw.aic as doubleValue to fix Sentry EAP type inference by @Copilot in #38580
- Add a 4-process guardrail for Go MCP server child gh invocations by @Copilot in #38544
- Log first trigger reason for agentics-maintenance generation by @Copilot in #38616
- Detect unknown_model_ai_credits failure in conclusion job by @Copilot in #38610
- Use failure-specific issue titles in conclusion job by @Copilot in #38615
- Add
prefetch_strategyA/B experiment to weekly-blog-post-writer by @Copilot in #38622 - docs: replace starlight-llms-txt with custom llms.txt/agents.txt pointing to .github/aw/*.md by @Copilot in #38630
- updated to awf 0.27.2 by @pelikhan in #38660
Full Changelog: v0.79.5...v0.79.6
v0.79.5
🌟 Release Highlights
This release focuses on AI cost visibility and control: the legacy “effective tokens” metric is now called AI Credits across all surfaces, threat detection gets a configurable cost cap, and the add-wizard gains smarter Copilot org billing guidance. Several reliability improvements round out the release.
✨ What’s New
-
AI Credits Terminology — “Effective tokens” is now AI Credits (AIC) throughout the UI and workflow metrics, providing clearer cost reporting aligned with the primary billing metric. (#38481)
-
Threat Detection Cost Cap —
safe-outputs.threat-detectionnow supports amax-ai-creditsfield (default: 400) with runtime override, giving you independent budget control over security-scan runs. Learn more (#38456) -
Smarter Copilot Org Billing Setup —
gh aw add-wizardnow asks Copilot users whether they want to usecopilot-requests(org billing via Actions token, no PAT required) or a traditional PAT, simplifying enterprise onboarding. (#38449) -
AI Metrics in Failure Comments — Agent failure issue comments now include AI credit metrics from detection jobs, making cost attribution transparent even when runs fail. (#38453)
🐛 Bug Fixes & Improvements
-
Fixed false secret validation warnings for Copilot org billing mode — no more spurious warnings when secrets are correctly configured. (#38459)
-
Improved safe-outputs error surfacing —
comment_memorynow fails (instead of silently skipping) in non-PR contexts, andadd_commenthard-fails on unrecognized message targets. (#38447) -
Fixed Docker Hub dependency in safe-outputs — Safe-outputs no longer pulls
node:lts-alpinefrom Docker Hub, restoring reliability for environments with restricted container registries. (#38452) -
Fixed
push_to_pull_request_branch— Branch derivation now always uses the PR’s actual head ref, resolving incorrect branch targeting. (#37863) -
Fixed numeric telemetry —
gh-aw.aicis now always emitted as a numeric value for agent/detection spans, ensuring consistent OpenTelemetry ingestion. (#38432)
📚 Documentation
- Automated self-healing documentation fixes applied from issue analysis. (#38464)
Generated by 🚀 Release · 95.1 AIC · ⊞ 28.8K
What's Changed
- fix: always emit gh-aw.aic as numeric for agent/detection spans by @Copilot in #38432
- Update
.github/awguidance for frontier-model cost architecture (triage, context pull, bounded sub-agents) by @Copilot in #38429 - [caveman] Optimize instruction verbosity — network, pr-reviewer, report, reuse, workflow-health (2026-06-10) by @github-actions[bot] in #38440
- Creating integration tests for gh aw mcp server by @Copilot in #38448
- Fix #37835: always derive push_to_pull_request_branch from PR head ref by @dsyme in #37863
- fix: safe outputs — comment_memory fails instead of skips in non-PR context; add_comment hard-fails on unrecognized message target by @Copilot in #38447
- Include detection job AI metrics in agent failure issue comment footer by @Copilot in #38453
- Fix secret validation false warnings for copilot org billing mode by @Copilot in #38459
- fix: stop pulling node:lts-alpine for safe-outputs (Docker Hub unreachable) by @Copilot in #38452
- feat: add-wizard prompts Copilot users to choose copilot-requests (org billing) vs PAT by @Copilot in #38449
- [docs] Self-healing documentation fixes from issue analysis - 2026-06-11 by @github-actions[bot] in #38464
- Add threat-detection max-ai-credits with 400 default and runtime override by @Copilot in #38456
- Bump gh-aw-firewall to v0.27.1 by @Copilot in #38480
- Replace "effective tokens" with "AI Credits" in user-facing text by @Copilot in #38481
- [community] Update community contributions in README by @github-actions[bot] in #38493
Full Changelog: v0.79.4...v0.79.5