Releases: github/gh-aw
Release list
v0.82.15
test highlights
This is a test.
Generated by 🚀 Release · 40.3 AIC · ⊞ 7.8K
What's Changed
- fix(cli): address 16 CLI consistency issues from 2026-07-20 audit by @pelikhan with @Copilot in #46854
- Treat expression-backed engine.model as omitted when empty by @pelikhan with @Copilot in #46777
- Refactor bootstrap profile runner into focused modules by @pelikhan with @Copilot in #46855
- Remove 120s MCP bridge cap for
logscalls to prevent partial daily audit datasets by @pelikhan with @Copilot in #46901 - Scope PR review workflows with path-based trigger filters to reduce redundant API load by @pelikhan with @Copilot in #46900
- [docs] Self-healing documentation fixes from issue analysis - 2026-07-21 by @github-actions[bot] in #46934
- [docs] docs: unbloat web search guide by @github-actions[bot] in #46940
- MCP gateway startup: degrade on optional server failures, fail only on required/no-success cases by @pelikhan with @Copilot in #46919
- Tiered validation: fast gate for intermediate saves, tests only on final push by @pelikhan with @Copilot in #46927
- [linter-miner] linter: add sprintfbool — flag fmt.Sprintf("%t", b) → strconv.FormatBool(b) by @github-actions[bot] in #46898
- [eslint-factory] Align require-mkdirsync-try-catch with unbound
fsresolution by @pelikhan with @Copilot in #46902 - [community] Update community contributions in README by @github-actions[bot] in #46950
- Bump brace-expansion from 1.1.15 to 1.1.16 in /eslint-factory in the npm_and_yarn group across 1 directory by @dependabot[bot] in #46948
- Bump astro from 7.0.9 to 7.1.0 in /docs in the npm_and_yarn group across 1 directory by @dependabot[bot] in #46949
- Stabilize Wasm round-trip determinism test by pinning
actions/cache/restoreto a SHA by @pelikhan with @Copilot in #46957 - daily-issues-report: switch Copilot SDK driver from Python to Node in workflow runtime by @pelikhan with @Copilot in #46894
- Document audit goroutine field-ownership invariants by @pelikhan with @Copilot in #46962
- Rename CLI firewall
PolicyRuletoFirewallPolicyRuleby @pelikhan with @Copilot in #46961 - [log] Add debug logging to under-instrumented Go files by @github-actions[bot] in #46964
- Propagate cancellation context through workflow job detail/status GitHub API calls by @pelikhan with @Copilot in #46963
- [yamllint-fixer] Fix yamllint comments-indentation for fully-commented on: children by @github-actions[bot] in #46960
- Extract DiffEntryBase embed to reduce anomaly-field repetition in audit_diff.go by @pelikhan with @Copilot in #46972
- Widen tool allow-lists for Daily Agent of the Day Blog Writer and Layout Specification Maintainer by @pelikhan with @Copilot in #46970
- feat(models): model alias inventory update 2026-07-21 by @pelikhan with @Copilot in #46974
- feat(copilot-opt): reduce first-turn context size with lazy skill blocks and pre-agent guards by @pelikhan with @Copilot in #46969
- fix: pin smoke-claude to claude-sonnet-4.6 to resolve model_policy_violation 403 by @pelikhan with @Copilot in #46971
- Refactor audit analysis fanout to errgroup.WithContext and propagate cancellation by @pelikhan with @Copilot in #46973
- Expand parser GitHub host unit coverage and harden host-repo assertions by @pelikhan with @Copilot in #46926
- Enforce
sprintfboolin cgo custom-linter CI gates by @pelikhan with @Copilot in #46987 - Propagate cancellation through audit analysis soft-failure paths by @pelikhan with @Copilot in #46998
- Enable Copilot SDK path in Daily Sub-Agent Model Resolution Audit to avoid provider-auth 403 failures by @pelikhan with @Copilot in #47004
- Expose schema-derived safeoutputs CLI syntax and add synchronous recursive argument validation by @pelikhan with @Copilot in #46959
- fix: expose linters.All() registry, document sprintfbool, add bidirectional doc-sync guard by @pelikhan with @Copilot in #47007
- [aw] Reduce Daily VulnHunter Scan AI credit usage by switching to Sonnet model by @pelikhan with @Copilot in #47002
Full Changelog: v0.82.14...v0.82.15
v0.82.14
🌟 Release Highlights
This release focuses on safe-outputs reliability, workshop UX polish, a new top-level model field, and a wave of new linters and security guardrails.
✨ What's New
- Top-level
modelfield — You can now specify the model at the top level of your workflow (e.g.,model: claude-sonnet-4-5), deprecating the nestedengine.modelpath. Reference docs auto_upgrade_croninaw.json— Configure a custom auto-upgrade schedule directly in your project manifest instead of relying on defaults.- Evals enabled across 64 agentic workflows — Broader evaluation coverage improves regression detection and workflow quality assurance.
--rootlessflag forinstall_copilot_cli.sh— ARC/DinD runners can now install the Copilot CLI without root privileges.- Mode-specific intent guidance for safe-output tools — Mutation tools now surface targeted guidance based on the current workflow mode, reducing misuse and improving agent decision quality.
- Fail-fast guardrail for schema file changes — The compiler now rejects schema changes that were made without a rebuild, preventing subtle runtime mismatches.
- Workshop: journey/adventure filtering, GFM alerts & task lists — Workshop steps now support filtering by journey/adventure tags, render GitHub-flavored alerts (> [!NOTE]), and display task-list checkboxes.
- Workshop URL hash navigation — Browser back/forward now restores workshop state via URL hash encoding.
- DeepSec & VulnHunter security scan workflows — On-demand and daily security scanning workflows added for continuous vulnerability detection.
errgroupfor structured concurrency in MCP inspector — Replaces ad-hoc goroutine management with proper error propagation.
🐛 Bug Fixes & Improvements
tools.startup-timeoutnow propagates togateway.startupTimeout— Fixes safeoutputs eviction on slow runners where the gateway was timing out before the tool server was ready.OTEL_SERVICE_NAMErespected — User-defined OpenTelemetry service names are no longer overridden when OTLP observability is enabled.- MCP CLI prompt list reflects
--disable-builtin-mcps— The listed MCP servers now accurately reflect which servers are actually mounted. logstool fixed for missingworkflow_namefilter — Previously caused a context deadline exceeded error; now handled gracefully.safe.directorytrust bridged viaGIT_CONFIG_*env vars — Fixes git operations in safe-outputs on restrictive runners.partial_execution+ terminal safe-output treated as success — Prevents false failure signals when an agent completes its final safe-output action after a partial execution state.- Stable cron schedule in
make recompile— Pins--schedule-seedto eliminate drift in auto-upgrade lock files across recompiles. #nosecjustification separators normalized —-and—variants are now normalised to--for consistent security annotation parsing.close_issueandassign_to_agentpayloads — Issue-intent metadata is now correctly nested in the payload structure.update_issueMCP body length regression coverage — Added tests to guard against silent truncation above 10 KB.
⚡ Performance
parseEngineDefinitionFromJSONcached — Eliminates a per-compile JSON→YAML round-trip, reducing compilation overhead for workflows with engine definitions.- Reduced ambient context token usage — 4 workflows updated to use narrower context windows, lowering AI-credit burn.
- Scheduled workflow staggering — Midnight batch workflows staggered to reduce peak AI-credit consumption.
🔒 Security
- SHA-256 checksum pinned for sentrux binary install — Resolves RGS-018 supply-chain finding.
no-exec-interpolated-commandESLint rule — Flags shell commands constructed from interpolated strings.no-github-request-interpolated-routeextended — Now recognisesglobal.getOctokit()aliases.- Cross-repo regex tightened (SEC-005) — Eliminates false positive on
frontmatter_hash_pure.cjs.
🔧 New Linters
timenowsub— Flagstime.Now().Sub(t)patterns that should betime.Since(t).trimleftright— Detects distinct-character prefix/suffix bugs fromstrings.TrimLeft/TrimRightmisuse.appendoneelement— Catches single-element append patterns that could use assignment.no-core-error-then-process-exit(ESLint) — Prevents error-then-exit anti-patterns in GitHub Scripts.prefer-core-logging(ESLint) — Enforces structured logging viacore.*instead of bareconsole.*.
📚 Documentation
- ARC/DinD guide expanded — Covers troubleshooting, log paths, and tool cache guidance for rootless runners.
COPILOT_GITHUB_TOKENvsGITHUB_TOKENclarified — New section explains why the tokens are intentionally separate.- Quick Start:
.lock.ymlcommit intent documented — Clarifies that committing lock files is intentional and expected. - Workshop relocated to
/workshop/— Canonical URL is now/workshop/(legacy/workshops/<date-org>/redirected).
Generated by 🚀 Release · 18.2 AIC · ⊞ 7.9K
What's Changed
- Fix workshop progress rail state coupling and responsive overflow by @mnkiefer with @Copilot in #46378
- [instructions] Sync instruction files with release v0.81.6 by @github-actions[bot] in #46403
- [jsweep] Clean checkout_manifest.cjs — add comprehensive tests by @github-actions[bot] in #46340
- [eslint-miner] feat(eslint): add no-core-error-then-process-exit rule by @github-actions[bot] in #46404
- fix(safe-outputs): fall back to env vars when create_report_incomplete_issue omits workflow_name by @pelikhan with @Copilot in #46400
- fix: pin --schedule-seed in make recompile to eliminate cron drift in agentic-auto-upgrade.yml by @pelikhan with @Copilot in #46410
- Enable zen-mode mobile rendering for WorkshopExperience by @pelikhan with @Copilot in #46415
- [docs] Update documentation for features from 2026-07-18 by @github-actions[bot] in #46416
- feat: fail-fast guardrail for schema file changes without rebuild by @pelikhan with @Copilot in #46189
- Document MemoHarness learnings for agentic workflow optimization by @pelikhan with @Copilot in #46417
- enforce mapclearloop in CI linter gates alongside mapdeletecheck by @pelikhan with @Copilot in #46413
- Improve workshop zen mode on mobile by @pelikhan with @Copilot in #46423
- Extend
errorfwrapvto flagfmt.Errorferror args without%wby @pelikhan with @Copilot in #46398 - feat(docs): encode workshop state in URL hash for back/forward navigation by @pelikhan with @Copilot in #46405
- Fix visual regression checker access to the docs server by @pelikhan with @Copilot in #46425
- refactor(cli): split long functions in bootstrap_profile_runner to fix largefunc lint by @pelikhan with @Copilot in #46332
- [linter-miner] feat(linters): add appendoneelement linter by @github-actions[bot] in #46289
- Enable detection for Duplicate Code Detector and exempt the upstream AIC audit from local misconfig reporting by @pelikhan with @Copilot in #46420
- Tighten workshop mobile layout spacing and header alignment by @pelikhan with @Copilot in #46427
- [eslint-miner] feat(eslint): add prefer-core-logging rule by @github-actions[bot] in #46195
- feat(mcp-inspect): adopt errgroup for structured concurrency in spawnMCPInspector by @pelikhan with @Copilot in #46409
- Render workshop content through Astro-generated markdown sources by @pelikhan with @Copilot in #46406
- auto-triage: add safe-outputs/copilot component labels, fix partial-triage gap by @pelikhan with @Copilot in #46430
- feat: render GFM alerts in WorkshopExperience by @pelikhan with @Copilot in #46443
- docs: improve ARC/DinD guide with expanded troubleshooting, log paths, and tool cache guidance by @lpcox with @Copilot in #46045
- [docs] Consolidate developer specifications into instructions file (v9.21) by @github-actions[bot] in #46447
- spec: document appendoneelement linter, setutil deps, and remove duplicate test by @pelikhan with @Copilot in #46446
- Restore entry-path card rendering in workshop experience by @pelikhan with @Copilot in #46444
- fix(unbloat-docs): run npm run build instead of npx astro build to include workshop content generation by @pelikhan with @Copilot in #46483
- docs(adr): SPDD gap-fill for ADRs 26385, 26482, 26535, 26544, 26551 by @pelikhan with @Copilot in #46459
- [caveman] Optimize instruction ...
v0.82.13
🌟 Release Highlights
This release brings smarter ESLint rule detection, improved audit accuracy, and key bug fixes across the CLI, workshop, and setup tooling — with a notable breaking change in gh aw add.
⚠️ Breaking Changes
gh aw addnow rejects packages withaw.ymlconfig — packages that include anaw.ymlconfiguration file will no longer be accepted. Update any such packages before upgrading. See PR #46273 for details.
✨ What's New
- Auto-configure
COPILOT_PROVIDER_WIRE_APIfrom the model catalog (#46156) — The CLI now automatically resolves the provider wire API endpoint from the model catalog, reducing manual configuration overhead. - Default-on issue intent metadata (#46207) —
set_issue_type,set_issue_field, andadd_labelsnow emit issue intent metadata by default, enabling richer audit trails without extra configuration. NO_COLORsupport for stdout (#46197) — The CLI now honours theNO_COLORenvironment variable, improving compatibility with non-interactive and accessibility-focused terminals.- Stronger ESLint alias detection (#46365) — The
no-core-setoutput/exportvariablerules now catch aliased and destructured@actions/corebindings, closing a common bypass pattern. - Debug logging across CLI bootstrap and logs orchestration (#46337) — New structured debug output makes it easier to trace startup and log-download behaviour.
🐛 Bug Fixes & Improvements
- Accurate safe-output write counts in audit reports (#46360) —
SafeItemsCountis now correctly populated inrun_summary.json, so audit dashboards reflect real write activity. - Workshop progress rail and overflow fixes (#46378) — Resolves state coupling in the progress rail and responsive overflow issues in the workshop UI.
- ESLint spawn-error alias guard (#46199) — Single-assignment aliases of spawn errors are now correctly recognised as valid guards, reducing false positives.
mapdeletecheckautofix safety (#46159) — Autofixes are now suppressed when comments overlap the replaced span, preventing incorrect edits.- Setup-JS error resilience (#46102) — All synchronous filesystem calls in
actions/setup/jsare now wrapped intry/catchblocks. - Integer overflow fix in allocation size hints (#46375) — Resolves a
go/allocation-size-overflowcode scanning alert.
📚 Documentation
- Workshop view guide added (#46237) — New documentation covering the workshop UI view.
- Ephemerals reference streamlined (#46288) — The ephemerals reference page has been trimmed for clarity and readability.
- ESLint factory rules documented (#46361) — Six previously undocumented ESLint factory rules now have full README entries.
Warning
Firewall blocked 1 domain
The following domain was blocked by the firewall during workflow execution:
awmgmcpg
To allow these domains, add them to the
network.allowedlist in your workflow frontmatter:
network:
allowed:
- defaults
- "awmgmcpg"See Network Configuration for more information.
Generated by 🚀 Release · 18.1 AIC · ⊞ 7.8K
What's Changed
- [code-scanning-fix] Fix js/unused-local-variable: Remove unused TSESTree import by @github-actions[bot] in #46173
- [WIP] Fix failing GitHub Actions job Integration: CLI Add & List Commands by @pelikhan with @Copilot in #46160
- [docs] Update glossary - daily scan by @github-actions[bot] in #46204
- fix: sync pkg/linters/doc.go to 51 analyzers and add drift guard test by @pelikhan with @Copilot in #46138
- refactor(threat-detection): extract shared external detector WorkflowData setup into helper by @pelikhan with @Copilot in #46142
- Refactor logs download orchestration to reduce
pkg/clilargefunc backlog by @pelikhan with @Copilot in #46125 - docs: add workshop view by @mnkiefer in #46237
- fix(setup-js): wrap all sync fs calls in try/catch (eslint-monster remediation) by @pelikhan with @Copilot in #46102
- mapdeletecheck: suppress autofix when comments overlap the replaced span by @pelikhan with @Copilot in #46159
- Refine require-new-url-try-catch safe-argument detection by @pelikhan with @Copilot in #46190
- fix(eslint-factory): recognize single-assignment alias of spawn error as valid guard by @pelikhan with @Copilot in #46199
- [spec-extractor] Update package specifications for stringutil, styles, testutil, timeutil by @github-actions[bot] in #46202
- [docs] docs: unbloat ephemerals reference by @github-actions[bot] in #46288
- [community] Update community contributions in README by @github-actions[bot] in #46327
- [log] Add debug logging to CLI bootstrap, logs orchestration, and domain buckets by @github-actions[bot] in #46337
- [docs] Self-healing documentation fixes from issue analysis - 2026-07-18 by @github-actions[bot] in #46314
- auto-configure COPILOT_PROVIDER_WIRE_API from model catalog by @pelikhan with @Copilot in #46156
- Add list_code_scanning_alerts query-bounding guardrail and regression tests by @pelikhan with @Copilot in #46198
- Refresh stale package specs and add linters doc drift guard by @pelikhan with @Copilot in #46257
- docs: record breaking change for
gh aw addrejecting packages withaw.ymlconfig by @pelikhan with @Copilot in #46273 - docs(spdd): add safeguards, edge cases, ops order, norms, and requirements to five spec files by @pelikhan with @Copilot in #46283
- fix(eslint): resolve route/URL/control-flow lint violations in actions/setup/js by @pelikhan with @Copilot in #46100
- [formal-spec] Add PM-10/AppG formal model coverage for security architecture summary by @pelikhan with @Copilot in #46280
- docs(eslint-factory): document 6 undocumented rules in README by @pelikhan with @Copilot in #46361
- [jsweep] Clean validate_secrets.cjs by @github-actions[bot] in #46129
- test(errorutil): improve edge-case coverage and reduce assertion noise by @pelikhan with @Copilot in #46366
- feat(eslint): extend no-core-setoutput/exportvariable rules to detect aliased and destructured core bindings by @pelikhan with @Copilot in #46365
- Default-on issue intent metadata for set_issue_type, set_issue_field, and add_labels by @pelikhan with @Copilot in #46207
- feat(styles,console,colorwriter): hoist palette color.Color vars and honor NO_COLOR on stdout by @pelikhan with @Copilot in #46197
- [code-scanning-fix] Fix go/allocation-size-overflow: integer overflow in allocation size hints by @github-actions[bot] in #46375
- fix: populate SafeItemsCount in run_summary.json so audits report accurate safe-output write counts by @pelikhan with @Copilot in #46360
Full Changelog: v0.82.12...v0.82.13
v0.82.12
🌟 Release Highlights
This release brings usability improvements to gh aw add, important security fixes for agent sandboxing, and a wave of internal refactoring that strengthens the codebase quality and consistency.
✨ What's New
gh aw addbootstrap by default — The package manifestconfigbootstrap flow now runs automatically when adding a new workflow, reducing manual setup steps.- Enhanced GitHub host detection — PAT creation and setup commands now correctly detect GitHub host variants, improving multi-environment setups.
- New
mapclearlooplinter — Automatically replaces range-delete loops with the idiomaticclear(m)call, keeping generated Go code clean and modern.
🐛 Bug Fixes & Improvements
- Agent sandbox credential isolation — Job-output credential env vars are now correctly excluded from the agent sandbox (
--exclude-env), preventing inadvertent credential leakage. - External threat detection — Custom engine base URLs and allowlist propagation are now properly honored, fixing false-negative detections in custom environments.
- SHA-pinned action version comments — Fixed a bug where version comments were lost when
SkipHardcodedFallbackwas set, restoring full audit traceability. - MAI model update — Updated to
mai-code-1-flash-pickerwith improved sandbox test isolation. - ESLint error-handling normalization — Consistent error-handling patterns in
actions/setup/jsimprove reliability of generated JavaScript setup steps. - Release PR comment throttling — Rate-limit-safe posting prevents secondary rate limit errors during busy release cycles.
🔧 Internal
Extensive refactoring this release: unified token-usage metrics (TokenCoreMetrics), options-struct patterns to eliminate excessive function parameters, shared analysis base types, and consolidated AST predicates across linters.
Warning
Firewall blocked 1 domain
The following domain was blocked by the firewall during workflow execution:
awmgmcpg
To allow these domains, add them to the
network.allowedlist in your workflow frontmatter:
network:
allowed:
- defaults
- "awmgmcpg"See Network Configuration for more information.
Generated by 🚀 Release · 16.7 AIC · ⊞ 7.6K
What's Changed
- Run package manifest
configbootstrap flow by default ingh aw addby @mnkiefer with @Copilot in #46041 - Throttle release PR comment posting to avoid secondary rate limits by @pelikhan with @Copilot in #46081
- refactor: extract TokenCoreMetrics to unify token-usage quartet by @pelikhan with @Copilot in #46059
- Replace positional boolean params with named option structs in workflow helpers by @pelikhan with @Copilot in #46064
- [linter-miner] feat(linters): add mapclearloop linter — replace range-delete loops with clear(m) by @github-actions[bot] in #46060
- refactor: introduce options structs to eliminate excessivefuncparams linter violations by @pelikhan with @Copilot in #46065
- Extract shared AnalysisBase from DomainAnalysis/FirewallAnalysis by @pelikhan with @Copilot in #46063
- Extract shared base for access and firewall log summaries by @pelikhan with @Copilot in #46079
- fix: update MAI model to mai-code-1-flash-picker and fix sandbox test isolation by @pelikhan with @Copilot in #46052
- Fix external threat detection to honor custom engine base URLs and allowlist propagation by @pelikhan with @Copilot in #46077
- [log] Add debug logging to workflow and CLI helpers by @github-actions[bot] in #46124
- refactor: consolidate duplicate byte/string AST predicates into linters astutil by @pelikhan with @Copilot in #46108
- Enhance GitHub host detection for PAT creation and setup commands by @mnkiefer in #46128
- fix: SHA-pinned actions lose version comment when SkipHardcodedFallback is set by @pelikhan with @Copilot in #46122
- [community] Update community contributions in README by @github-actions[bot] in #46116
- [yamllint-fixer] Trim trailing whitespace and cap blank runs in inlined prompt content by @github-actions[bot] in #46123
- fix(eslint): normalize error-handling patterns in actions/setup/js by @pelikhan with @Copilot in #46101
- fix: exclude job-output credential env vars from agent sandbox (--exclude-env) by @pelikhan with @Copilot in #46076
Full Changelog: v0.82.11...v0.82.12
v0.82.11
🌟 Release Highlights
This release focuses on improved onboarding, stronger safe-outputs reliability, expanded eval coverage, and a wave of targeted bug fixes across the agentic harnesses and compiler toolchain.
✨ What's New
- Streamlined
gh aw addsetup — The package manifestconfigbootstrap flow now runs automatically, reducing manual configuration steps when adding new workflows. (#46041) - Preconfigured Copilot PAT onboarding in
gh aw add-wizard— The wizard now walks users through setting up a Copilot Personal Access Token, making first-time setup smoother. (#45987) - Fork-backed safe-output pull request support — Safe outputs now support creating pull requests from fork-backed branches, expanding the supported workflow topologies. (#45909)
- GitHub MCP Server upgraded to v1.6.0 — The bundled MCP server is now at v1.6.0 with
fields_paramenabled by default, giving workflows access to richer GitHub data. (#45832) - Issue-intent metadata required for close/assignment tools —
closeandassign_to_agenttools now requireissue-intentmetadata by default (with per-tool opt-out), reducing unintentional issue state changes. (#46014) - Evals expanded to 24 more workflows — Automated evaluation coverage has been significantly broadened, improving reliability signals across the workflow library. (#45984)
- PR sous-chef surfaces failed checks in nudge comments — When a PR is nudged, failed CI checks are now included in the comment, making it easier to act on blocking issues. (#45957)
🐛 Bug Fixes & Improvements
- Fix
repositories: ["*"]in GitHub App token minting — Activation tokens now correctly honor wildcard repository scopes. (#45908) - Decouple safe-outputs client token from project token — The Process Safe Outputs client token is now independent of the project-specific token, fixing token confusion in multi-project setups. (#45999)
- Fix compiler version normalization for
git describeoutput — Version strings fromgit describeare now normalized correctly before use in compiled workflows. (#46030) - Fast-fail Copilot harness on LLM invocation cap — When the LLM invocation cap is saturated, the Copilot harness now fails fast instead of hanging. (#45827)
- Exempt large body/content fields from SM-IS-01 10 KB cap — Added
maxLength: 65536to body and content fields so large payloads are not incorrectly rejected. (#45826) - Detect Claude Code 401 auth errors in
claude_harness— Authentication failures from Claude Code are now caught and reported clearly. (#45982) - Fix Pi JSONL eval log parsing — YES/NO answers in Pi engine JSONL log format are now parsed correctly. (#45960)
- Align
actionlintto v1.7.12 — All references now use a consistent actionlint version. (#45979) - Prevent spurious
.githubsymlink probes — The frontmatter hash GitHub API reader no longer emits false symlink probe requests. (#45989) - Improve unknown model pricing errors — Better error messaging and accurate issue titles when a model's pricing data is missing. (#45985)
- Prevent duplicate "Download container images" step in Codex evals — A duplicate step in the generated Codex evals job is now correctly suppressed. (#45991)
Warning
Firewall blocked 1 domain
The following domain was blocked by the firewall during workflow execution:
awmgmcpg
To allow these domains, add them to the
network.allowedlist in your workflow frontmatter:
network:
allowed:
- defaults
- "awmgmcpg"See Network Configuration for more information.
Generated by 🚀 Release · 33.8 AIC · ⊞ 7.6K
What's Changed
- nilctxpassed: ignore variadic spread slice arguments to prevent false positives by @pelikhan with @Copilot in #45906
- [WIP] Fix failing GitHub Actions job Integration: Workflow Misc Part 2 by @pelikhan with @Copilot in #45927
- [WIP] Fix failing GitHub Actions job agent by @pelikhan with @Copilot in #45935
- [avenger] Update wasm golden files for action pin bumps by @github-actions[bot] in #45948
- feat: surface failed checks in pr-sous-chef nudge comments by @pelikhan with @Copilot in #45957
- fix(evals): parse YES/NO answers from Pi JSONL engine log format by @pelikhan with @Copilot in #45960
- [instructions] Sync instruction files with release v0.82.10 by @github-actions[bot] in #45967
- fix: add maxLength: 65536 to body/content fields to exempt from SM-IS-01 10 KB cap by @pelikhan with @Copilot in #45826
- Honor
repositories: ["*"]in activation GitHub App token minting by @pelikhan with @Copilot in #45908 - fix: fast-fail copilot harness when LLM invocation cap is saturated by @pelikhan with @Copilot in #45827
- [docs] Update glossary - daily scan by @github-actions[bot] in #45975
- feat: upgrade GitHub MCP server to v1.6.0, enable fields_param by default by @pelikhan with @Copilot in #45832
- eslint-factory: consolidate fs-sync try/catch rules and unify ESM/CJS fs binding detection by @pelikhan with @Copilot in #45964
- [eslint-miner] feat(eslint): add require-new-url-try-catch rule by @github-actions[bot] in #45971
- eslint-factory: extract nonStringKind to shared module; align setOutput rule with CORE_ALIASES by @pelikhan with @Copilot in #45973
- Refactor
ResolveWorkflowsinto focused helpers to reduce largefunc backlog by @pelikhan with @Copilot in #45965 - Add evals to 24 more agentic workflows by @pelikhan with @Copilot in #45984
- fix: align actionlint version to v1.7.12 across all references by @pelikhan with @Copilot in #45979
- fix: detect Claude Code 401 auth errors in claude_harness by @pelikhan with @Copilot in #45982
- fix: unknown model pricing — better error options and accurate issue title by @pelikhan with @Copilot in #45985
- fix: prevent duplicate "Download container images" step in codex evals job by @pelikhan with @Copilot in #45991
- Add fork-backed safe-output pull request support by @pelikhan with @Copilot in #45909
- fix: prevent spurious .github symlink probes in frontmatter hash GitHub API reader by @pelikhan with @Copilot in #45989
- Add preconfigured Copilot PAT onboarding in
gh aw add-wizardby @mnkiefer with @Copilot in #45987 - fix add normalization for git describe compiler versions by @mnkiefer in #46030
- feat: add smoke-copilot-mai workflow using mai-code-1-flash by @pelikhan with @Copilot in #46048
- [spdd] Daily spec work plan - 2026-07-16 (rotation 15–19) by @pelikhan with @Copilot in #46044
- Require issue-intent metadata for close/assignment tools by default, with per-tool opt-out by @pelikhan with @Copilot in #46014
- feat: add OutcomeStatusLifecycle and OutcomeStatusLifecycleClose as first-class outcome status constants by @pelikhan with @Copilot in #46039
- [aw] Decouple Process Safe Outputs client token from project-specific token by @pelikhan with @Copilot in #45999
Full Changelog: v0.82.10...v0.82.11
v0.82.10
🌟 Release Highlights
This release brings declarative custom-engine support, expanded evals infrastructure, CLI improvements, and an important security default change — alongside a strong wave of bug fixes and code quality improvements.
⚠️ Breaking Changes
- Strict security mode is now the default —
sudoinjection and--enable-host-accessare no longer injected automatically. Workflows relying on these must opt in explicitly. (#45360)
✨ What's New
- Declarative custom-engine frontmatter — Crush, OpenCode, and other engines can now be declared via shared behavior definitions in frontmatter, removing boilerplate and improving portability. (#44465)
engine.driverfrontmatter field — New reference field lets you pin workflows to a specific engine driver. Learn more (#45420)- Evals on agentic workflows — BinEval evals enabled on 10 workflows; daily evals report added; evals results now captured in conclusion usage artifacts;
--evalsflag added tologsandauditcommands for filtering. (#45751, #45805, #45373) - Bootstrap config consolidation —
gh aw addandgh aw add-wizardnow share a unified config; theactionssubcommand is renamed toconfigfor clarity. (#45758) - Azure OpenAI BYOK support documented — New guide covers bringing your own Azure OpenAI key for Copilot workflows. (#45276)
nilctxpassedGo linter — New analyzer catchesnilcontext passed to functions, preventing hard-to-debug runtime panics. (#45799)
🐛 Bug Fixes & Improvements
- Fixed secrets context leaking into
ignore-if-missingguard expressions, which could silently suppress legitimate failures. (#45828) - Fixed
update_projectsilently ignoring string-typedfieldsby iterating over characters instead of field names. (#45825) - Fixed missing
id-token: writepermission on activation/conclusion/safe_outputs jobs for OTLP OIDC auth. (#45823) - Fixed a recurring 60 s timeout in the logs MCP tool that was corrupting audit datasets. (#45714)
- Fixed MCP gateway config to use raw header serialization for the GitHub remote Authorization header. (#45335)
- Fixed safe-outputs scope rejection incorrectly triggering when the agent changeset had no workflow files. (#45870)
- CLI consistency pass:
--no-stagedrenamed for clarity,-eshorthand added tologs, grammar and style fixes. (#45280) - Reduced GitHub API consumption in PR review cluster via pre-fetching and caching (~significant reduction in rate-limit pressure). (#45431)
📚 Documentation
- New BinEval syntax and question decomposition guide at
.github/aw/evals.md. (#45833) - Replaced deprecated
dispatch_repositoryreference block with a migration note. (#45786) - CLI help text, shared flag usage, and setup docs aligned for consistency. (#45753)
Warning
Firewall blocked 1 domain
The following domain was blocked by the firewall during workflow execution:
awmgmcpg
To allow these domains, add them to the
network.allowedlist in your workflow frontmatter:
network:
allowed:
- defaults
- "awmgmcpg"See Network Configuration for more information.
Generated by 🚀 Release · 16.9 AIC · ⊞ 7.6K
What's Changed
- [caveman] Optimize instruction verbosity — skills.md (2026-07-13) by @github-actions[bot] in #45328
- fix: CLI consistency — rename
--no-staged, add-eto logs, grammar/style fixes by @pelikhan with @Copilot in #45280 - [WIP] Fix failing GitHub Actions job Integration: Workflow Misc Part 2 by @pelikhan with @Copilot in #45293
- [jsweep] Clean validate_secrets.cjs by @github-actions[bot] in #45184
- Propagate runner topology into detection AWF image pre-pull by @pelikhan with @Copilot in #45274
- Refactor token env lookup and schedule helpers to remove semantic drift by @pelikhan with @Copilot in #45298
- feat(eslint-factory): add Object.assign suggestion to no-throw-plain-object rule by @pelikhan with @Copilot in #45299
- [linter-miner] feat(linters): add bytesbufferstring linter — flag string(buf.Bytes()) in favour of buf.String() by @github-actions[bot] in #45301
- Strengthen action pin mapping spec coverage and assertion rigor in
pkg/actionpinsby @pelikhan with @Copilot in #45340 - Remove the client-side
issue_intentsruntime gate by @pelikhan with @Copilot in #45275 - eslint-factory: detect aliased/destructured/computed core.setFailed in require-return-after-core-setfailed by @pelikhan with @Copilot in #45334
- feat: enable evals on smoke-copilot by @pelikhan with @Copilot in #45324
- Stabilize Sighthound Security Scan by scanning a clean archived repo snapshot by @pelikhan with @Copilot in #45361
- Fix autofix import robustness: use actual local binding qualifier in sprintfint/writebytestring/bytescomparestring by @pelikhan with @Copilot in #45339
- Fix MCP gateway config JSON: use raw header serialization for GitHub remote MCP Authorization header by @pelikhan with @Copilot in #45335
- Annotate allowed issue field allowlist as SEC-004 exempt by @pelikhan with @Copilot in #45363
- [log] Add debug logging to docker-sbx install step generators by @github-actions[bot] in #45374
- refactor(workflow): split 420-line buildMainJob into focused helpers by @pelikhan with @Copilot in #45333
- Refine interpolated-route diagnostics for opaque Octokit route helpers by @pelikhan with @Copilot in #45364
- Document Azure OpenAI BYOK configuration for Copilot workflows by @pelikhan with @Copilot in #45276
- [community] Update community contributions in README by @github-actions[bot] in #45367
- [yamllint-fixer] fix(workflow): reduce yamllint noise in generated lock files (16 → 3) by @github-actions[bot] in #45372
- Harden daily multi-device docs tester for Playwright startup and docs preview readiness by @pelikhan with @Copilot in #45399
- fix(create_pull_request): redirect fallback issue to alternate repo when target has issues disabled (410) by @pelikhan with @Copilot in #45359
- Lock in tag-scoped
on.pushas a valid scoped trigger by @pelikhan with @Copilot in #45362 - Audit: surface actionable failure diagnostics from step logs or agent-stdio fallback by @pelikhan with @Copilot in #45398
- docs: add
engine.driverto frontmatter reference by @pelikhan with @Copilot in #45420 - [instructions] Sync instruction files with release v0.82.9 by @github-actions[bot] in #45422
- feat: add --evals flag to logs and audit commands to filter by evals results by @pelikhan with @Copilot in #45373
- [jsweep] Clean harness_retry_config.cjs by @github-actions[bot] in #45378
- Add declarative custom-engine frontmatter and migrate Crush/OpenCode to shared behavior definitions by @pelikhan with @Copilot in #44465
- chore: remove outdated package workflows for dependabot by @mnkiefer in #45433
- [docs] Update glossary - daily scan by @github-actions[bot] in #45447
- feat: reduce GitHub API consumption in PR review cluster via pre-fetching and caching by @pelikhan with @Copilot in #45431
- Handle braceless
core.setFailed()control-flow inrequire-return-after-core-setfailedby @pelikhan with @Copilot in #45430 - [rendering-scripts] Fix Pi log parser for the v3 streaming schema (empty step summaries) by @github-actions[bot] in #45414
- enforce: add stringsindexcontains + stringscountcontains to CI linter batch by @pelikhan with @Copilot in https://github.com/github/gh-...
v0.82.9
🌟 Release Highlights
This release focuses on security hardening, performance improvements, and expanded runtime support — including a new docker-sbx runtime, better compiler analysis, and meaningful speed gains in core compilation paths.
✨ What's New
docker-sbxruntime support — Workflows can now target a Docker-based sandbox runtime via thedocker-sbxkey in the compiler, enabling more isolated execution environments. (#45006)- PowerShell installer for Windows —
gh-awnow ships a PowerShell install path and Windows CI coverage, making it easier to get started on Windows. (#44953) private-to-public-flows: allowfrontmatter field — Workflows can now explicitly opt in to cross-visibility flows using a newtools.githubfrontmatter field. (#45113)- Issue dependency tools in GitHub MCP toolsets — The MCP toolset mapping now includes issue dependency tools. (#45082)
- Unscoped push trigger validation — A new
ValidatePushBranchScopecompiler check prevents accidental workflow fan-out from unscopedpushtriggers. (#44915) toJSON(secrets)blocking rule — The compiler now flags expressions that would expose secrets viatoJSON. (#44922)pull_request → pull_request_targetescalation detection — The safe-update analysis now flags trigger escalations that could grant elevated permissions unexpectedly. (#44925)- Sighthound-gated agentic scan workflow — New workflow for artifact-backed security scanning with configurable gating. (#45120)
⚡ Performance
ParseWorkflowregression fixed — Targeted caching reduces parse time by ~51% vs the regression baseline. (#44994)CompileMemoryUsageregression fixed — OptimizednormalizeBlankLinesandfindRunValuepaths recover a memory regression. (#44995)ExtractWorkflowNameFromFilehot-path improvements — Faster header parsing recovers a benchmark regression on the critical path. (#45225)
🐛 Bug Fixes
- CLI proxy default policy now correctly respects repository visibility, blocking private-repo access from public-repo contexts. (#45158)
- GitHub MCP server fallback — When native HTTP initialization fails, the CLI mounts the MCP server as a fallback. (#44976)
COPILOT_MODELalias resolution — Model aliases are now resolved at runtime before the Copilot CLI is spawned. (#44975)- PR triage agent
gh pr checksreplaced — Switched to MCPget_check_runsto eliminate CLI proxy 403 errors. (#44927) - gVisor pinned release bumped — Updated from
20250623.0to20250707.0. (#45101) - sbx credential refresh — A credential refresh step is now emitted before agent execution. (#45146)
- Hamburger nav breakpoint — Fixed iPad Pro 12.9 header overlap by extending the breakpoint to 1050px. (#45281)
- Docs mobile overflow — Resolved hidden-label overflow on mobile and restored the homepage skip-link target. (#45224)
📚 Documentation
- Deprecated
dispatch_repositoryde-emphasized in the frontmatter reference. (#44928) engine.token-weightsfrontmatter field removed (was deprecated). (#44948)- Developer specifications consolidated into the instructions file (v9.20). (#44961)
Warning
Firewall blocked 1 domain
The following domain was blocked by the firewall during workflow execution:
awmgmcpg
To allow these domains, add them to the
network.allowedlist in your workflow frontmatter:
network:
allowed:
- defaults
- "awmgmcpg"See Network Configuration for more information.
Generated by 🚀 Release · 23.7 AIC · ⊞ 7.6K
What's Changed
- [instructions] Sync instruction files with release v0.82.8 by @github-actions[bot] in #44920
- fix(eslint): require-return-after-core-setfailed — detect nested-block fall-through, document break/continue limitation by @pelikhan with @Copilot in #44917
- [eslint-miner] eslint: add no-throw-plain-object rule by @github-actions[bot] in #44924
- docs: de-emphasize deprecated
dispatch_repositoryin frontmatter full reference by @pelikhan with @Copilot in #44928 - [spec-extractor] Update package specifications for agentdrain, cli, console, constants by @github-actions[bot] in #44930
- fix(pr-triage-agent): replace
gh pr checkswith MCPget_check_runsto stop CLI proxy 403s by @pelikhan with @Copilot in #44927 - feat: add ValidatePushBranchScope to prevent unscoped push triggers causing workflow fan-out by @pelikhan with @Copilot in #44915
- Flag pull_request → pull_request_target trigger escalation in compiler safe-update analysis by @pelikhan with @Copilot in #44925
- [avenger] Fix prettier formatting in eslint rule source by @github-actions[bot] in #44935
- Reduce Smoke CI REST fan-out by scoping pull_request triggers by @pelikhan with @Copilot in #44934
- Add rule to block toJSON(secrets) expressions by @pelikhan with @Copilot in #44922
- Stop recommending
get_mefor workflow identity in GitHub MCP prompts by @pelikhan with @Copilot in #44936 - Reduce
list_pull_requestsMCP context bloat via default pagination + minimal output guidance by @pelikhan with @Copilot in #44941 - [spec-enforcer] Enforce specifications for colorwriter, console, constants by @github-actions[bot] in #44949
- Normalize progressive-disclosure guidance across reporting workflows by @pelikhan with @Copilot in #44960
- Remove deprecated
engine.token-weightsfrontmatter by @pelikhan with @Copilot in #44948 - eslint-factory: suppress unsafe
addReturnsuggestion after terminal cleanup followingcore.setFailedby @pelikhan with @Copilot in #44929 - [docs] Consolidate developer specifications into instructions file (v9.20) by @github-actions[bot] in #44961
- Skip closed-PR follow-up workflows on Copilot branches by @pelikhan with @Copilot in #44967
- Add formal safe-update specification for compiler enforcement and manifest baselines by @pelikhan with @Copilot in #44997
- feat: Add
docker-sbxruntime support to compiler by @lpcox with @Copilot in #45006 - chore: bump firewall version to v0.27.30 by @lpcox with @Copilot in #45025
- [docs] Update dictation skill instructions by @github-actions[bot] in #45053
- [safe-output-integrator] Add missing copilot safe-output fixture files (close-discussion, assign-to-agent, assign-to-user, unassign-from-user) by @github-actions[bot] in #45004
- Improve docs homepage JSON-LD for GEO citation (WebSite + Organization) by @pelikhan with @Copilot in #44991
- [docs] docs: unbloat about page by @github-actions[bot] in #44992
- fix: bump pinned gVisor release from 20250623.0 to 20250707.0 by @lpcox with @Copilot in #45101
- feat: implement
private-to-public-flows: allowas atools.githubfrontmatter field by @lpcox with @Copilot in #45113 - fix: emit sbx credential refresh step before agent execution by @lpcox in #45146
- Fix CLI proxy default policy to respect repo visibility (block private repos in public repos) by @lpcox with @Copilot in #45158
- spdd: 2026-07-11 spec work plan — normative requirements, combined-integrity fixture, coverage audit by @pelikhan with @Copilot in #44986
- fix: resolve COPILOT_MODEL aliases at runtime before spawning Copilot CLI by @pelikhan with @Copilot in #44975
- Formalize
replace-labelcompliance model and fixture-backed conformance tests by @pelikhan with @Copilot in #44981 - [linter-miner] feat(linters): add ioutildeprecated linter to flag deprecated io/ioutil usag...
v0.82.8
🌟 Release Highlights
This release brings substantial quality and reliability improvements across the compiler, linters, CLI tooling, security architecture, and documentation — with particular focus on ARC/DinD self-hosted runner support and safe-outputs robustness.
✨ What's New
- gVisor container runtime support — Workflows can now opt into the gVisor runtime via
sandbox.agent.runtime: gvisorfor stronger sandbox isolation. (#44796) - Shared partials can declare
sandbox.agent.mounts— Partial workflow files can now define mount configurations that are merged into the parent workflow, enabling reusable sandbox setups. (#44500) - AI authorship disclosure header — A new
disclosure-headersafe-output message type allows agents to declare AI authorship inline in PR comments and issues. (#44497) gh aw addresolves transitiveuses:references — Importing a workflow partial now automatically resolves and includes any nested imports, eliminating manual dependency management. (#44763)- OAuth token failure propagated to conclusion job — When an OAuth or missing-token failure occurs, it is now surfaced in the conclusion job so failures are never silently swallowed. (#44777, #44756)
- New
stringscountcontainslinter — Detectsstrings.Count(s, sub) > 0patterns that should be written asstrings.Contains. (#44820) - ARC DinD how-to guide — New documentation covering how to run the GitHub Copilot coding agent on self-hosted ARC runners with Docker-in-Docker. (Learn more) (#44561, #44586)
🐛 Bug Fixes & Improvements
- Compiler performance —
CompileSimpleWorkflowno longer scans heredoc content for run-block expressions, recovering a measurable regression. (#44454) - GHE SSH remote URL parsing — Fixed fuzzy schedule scattering for GHE SSH remotes with non-standard usernames. (#44502)
- Stale lock guard — A base-ref-aware guard now prevents stale lock files from being introduced when workflow markdown edits occur on branches. (#44912)
- Confused deputy fix — The confused deputy check is now correctly scoped to bot actors on
pull_request:synchronizeevents only. (#44494) - Docker socket GID resolution — Robust GID resolution for ARC/DinD and split-daemon topologies ensures correct socket permissions. (#44446)
- Playwright-based model pricing scraper — Replaced the fragile static HTML scraper with a Playwright-driven extractor that stays reliable as pricing pages evolve. (#44453)
pull_request_reviewevent handling — Fixedadd_workflow_run_comment.cjsto correctly handle thepull_request_reviewevent type. (#44503)- CI token authentication — Extra-empty-commit CI triggers now correctly authenticate using the CI token rather than persisted checkout credentials. (#44180)
- linter self-contained fixes —
sprintfint,writebytestring, andbytescomparestringsuggested fixes are now fully self-contained, including all required import edits. (#44911, #44665, #44488) - Copilot harness idle termination — The Copilot harness now terminates idle processes after a terminal safe output, preventing lingering background jobs. (#44440)
📚 Documentation
- Cost management page — Reorganized and expanded the cost management reference for clarity. (#44685)
- Imports reference tightened — Redundant content pruned and accuracy improved in the imports reference. (#44804)
- CLI reference aligned — The CLI reference now matches the current
gh aw --helpoutput and exposes theexperimentscommand. (#44603, #44794) - Sandbox reference — Updated sandbox reference reflects new
sandbox.agent.runtimeandsandbox.agent.mountsfields.
Warning
Firewall blocked 1 domain
The following domain was blocked by the firewall during workflow execution:
awmgmcpg
To allow these domains, add them to the
network.allowedlist in your workflow frontmatter:
network:
allowed:
- defaults
- "awmgmcpg"See Network Configuration for more information.
Generated by 🚀 Release · 25.3 AIC · ⊞ 7.6K
What's Changed
- fix: replace allocating string comparison with bytes.Equal in virtual_fs.go by @pelikhan with @Copilot in #44463
- fix(daily-model-inventory): replace static HTML pricing scraper with playwright-based extraction by @pelikhan with @Copilot in #44453
- [community] Update community contributions in README by @github-actions[bot] in #44457
- docs: expand dispatch-repository nested fields in frontmatter-full.md by @pelikhan with @Copilot in #44456
- Copilot harness: terminate idle process after terminal safe output by @pelikhan with @Copilot in #44440
- Ensure extra-empty-commit CI trigger push authenticates as CI token, not persisted checkout credentials by @pelikhan with @Copilot in #44180
- perf: fix CompileSimpleWorkflow regression — skip heredoc content in run-block expression scan by @pelikhan with @Copilot in #44454
- pkg/agentdrain: add nil-guard to Analyze and improve anomaly test quality by @pelikhan with @Copilot in #44455
- chore: bump gh-aw-firewall to v0.27.28 by @pelikhan with @Copilot in #44467
- [instructions] Sync instruction files with release v0.82.7 by @github-actions[bot] in #44541
- fix: remove double-normalization in overridePersistedExtraheader by @pelikhan with @Copilot in #44492
- fix: resolve all non-largefunc custom linter findings by @pelikhan with @Copilot in #44461
- Fix yamllint violations in generated lock files by @pelikhan with @Copilot in #44491
- fix: handle pull_request_review event in add_workflow_run_comment.cjs by @pelikhan with @Copilot in #44503
- Use specific failure categories before
agent_failurein failure-issue routing by @pelikhan with @Copilot in #44498 - Document and pin
no-github-request-interpolated-routeboundary behavior by @pelikhan with @Copilot in #44550 - Add ARC DinD how-to guide for running GitHub Copilot coding agent on self-hosted runners by @lpcox with @Copilot in #44561
- docs: DinD is required for ARC (not optional), fix NET_ADMIN misinformation, clarify sudo scope by @lpcox with @Copilot in #44586
- fix: scope confused deputy check to bot actors on pull_request:synchronize by @pelikhan with @Copilot in #44494
- Track compiled lock files for the new test workflows by @pelikhan with @Copilot in #44551
- [docs] docs: unbloat workflow structure reference by @github-actions[bot] in #44596
- Align CLI reference with current
gh aw --helpoutput by @pelikhan with @Copilot in #44603 - [safe-output-integrator] fix: use canonical dispatch-repository key in test fixture by @github-actions[bot] in #44614
- fix: parse GHE SSH remote URLs with non-standard usernames for fuzzy schedule scattering by @pelikhan with @Copilot in #44502
- Always compile after any workflow .md change to keep .lock.yml in sync by @pelikhan with @Copilot in #44565
- Reframe
bytescomparestringas style/intent lint and fix single-import autofix output by @pelikhan with @Copilot in #44488 - Refresh package specs for spec-audit mismatches and stale README coverage by @pelikhan with @Copilot in #44564
- Reduce
ExtractWorkflowNameFromFileoverhead in CLI workflow title parsing by @pelikhan with @Copilot in #44604 - Surface ex...
v0.82.7
🌟 Release Highlights
This release delivers significant reliability improvements for ARC/DIND runners, MCP Gateway upgrades, expanded checkout authentication, and a wave of bug fixes and documentation enhancements.
✨ What's New
-
Safe-output GitHub App checkout auth — Workflows can now authenticate checkouts in
safe_outputsjobs using a GitHub App (checkout.safe-output-github-app), enabling secure, credential-scoped repository access without using personal tokens. (#44444) -
MCP Gateway v0.4.1 — Upgraded the embedded MCP Gateway (
mcpg) to v0.4.1, bringing the latest guard-policy fixes and sink-visibility support to all agentic workflow runs. (#44403) -
Smoke tests for
model: smallalias — A new daily smoke workflow validates that themodel: smallalias resolves correctly end-to-end, catching regressions before they reach production. (#44288) -
Decentralized
label_commandauto-permissions — The compiler now automatically grantspull-requests:readtopre_activationjobs whenlabel_commandis used onpull_requestevents, eliminating a common manual permission boilerplate. (#44282) -
Formal checkout behavior spec — Agent and
safe_outputsjob checkout behavior is now formally specified, giving workflow authors a clear contract for credential availability and repo access. (#44225)
⚡ Performance
- Faster
run-scriptexpression guardrail — CutYAMLGenerationoverhead in therun-scriptexpression guardrail, improving compilation throughput for workflows with many run steps. (#44438)
🐛 Bug Fixes & Improvements
-
ARC/DIND runner fix — Propagating
RunnerConfigto the detection job resolves aENOENTerror on ARC-dind Copilot runners. (#44445) -
Sandbox firewall directory permissions — Root-owned sandbox firewall directories are now reclaimed on reused runners, preventing
EACCESerrors on subsequent runs. (#44276) -
Copilot CLI hang on exit fixed — Reduced the post-completion idle watchdog timeout and added cleanup timeouts, preventing the Copilot CLI from hanging after workflow completion. (#44254)
-
Elixir runtime
erlexposure —erlis now correctly exposed in the AWF sandbox when usingruntimes.elixir. (#44283) -
Nested repo-memory glob matching — Fixed glob matching for memory files stored in nested subdirectories. (#44215)
-
Claude startup failure hardening — Empty-log Avenger runs no longer fail silently; Claude startup failures are now detected and surfaced correctly. (#44332)
-
Safe-outputs graceful fallback —
GH_AW_SAFE_OUTPUTSis now correctly passed to the "Parse agent logs" step, activating the graceful fallback path when needed. (#44354) -
Engine driver schema broadened — The
engine.driverschema description now matches the actual runtime multi-language support, reducing schema validation false positives. (#44355)
📚 Documentation
-
Sink visibility field — Documented the
sink-visibilityfield in the MCP Gateway write-sink guard policy (spec v1.15.0) and tightened guard-policy prose. (#44373, #44305) -
--force-public-reposproxy flag — The--force-public-reposflag for theproxysubcommand is now documented. (#44360) -
CLI flag alignment —
audit,status,experiments, and legacy--disable-*flags are now consistently documented with their deprecation behavior. (#44312) -
Custom model pricing FAQ — Added a FAQ entry covering custom model pricing in agentic workflow frontmatter. (#44450)
Warning
Firewall blocked 1 domain
The following domain was blocked by the firewall during workflow execution:
awmgmcpg
To allow these domains, add them to the
network.allowedlist in your workflow frontmatter:
network:
allowed:
- defaults
- "awmgmcpg"See Network Configuration for more information.
Generated by 🚀 Release · 36.5 AIC · ⊞ 7.6K
What's Changed
- add smoke-copilot-small workflow to validate
model: smallalias resolution by @pelikhan with @Copilot in #44288 - Fix repo-memory glob matching for nested memory files by @pelikhan with @Copilot in #44215
- Compiler: auto-grant pull-requests:read to pre_activation for decentralized label_command on pull_request events by @pelikhan with @Copilot in #44282
- fix: reduce post-completion idle watchdog and add cleanup timeouts to prevent Copilot CLI hang on exit by @pelikhan with @Copilot in #44254
- docs(parser): document missing internal dependencies in README by @pelikhan with @Copilot in #44308
- docs: document sink-visibility field in MCP Gateway write-sink guard policy (spec v1.15.0) by @lpcox with @Copilot in #44305
- docs: document --force-public-repos flag for proxy subcommand by @lpcox in #44360
- Copilot/document sink visibility field by @lpcox in #44373
- [linter-miner] linter: add bytescomparestring — flag string(a)==string(b) where a,b are []byte by @github-actions[bot] in #44389
- Add formal checkout behavior specification for agent and safe_outputs jobs by @pelikhan with @Copilot in #44225
- [docs] docs: tighten MCP gateway guard-policy prose by @github-actions[bot] in #44365
- fix: broaden engine.driver schema description to match runtime multi-language support by @pelikhan with @Copilot in #44355
- [safe-output-integrator] Add missing safe-output type fixtures and Go test coverage (11 types) by @github-actions[bot] in #44405
- [dead-code] chore: remove dead functions — 1 function removed by @github-actions[bot] in #44330
- fix: pass GH_AW_SAFE_OUTPUTS to "Parse agent logs" step to activate graceful fallback by @pelikhan with @Copilot in #44354
- Normalize report body formatting rules across 11 reporting workflows by @pelikhan with @Copilot in #44314
- Bump MCP Gateway (mcpg) to v0.4.1 by @lpcox with @Copilot in #44403
- Schedule Smoke Copilot Sub Agents workflow to run daily by @pelikhan with @Copilot in #44443
- Align CLI docs and deprecation behavior for audit, status, experiments, and legacy
--disable-*flags by @pelikhan with @Copilot in #44312 - Refactor safe-outputs config parsing into focused workflow modules by @pelikhan with @Copilot in #44313
- SPDD 2026-07-08: close spec sync gaps and enforce add-flow rollback semantics by @pelikhan with @Copilot in #44358
- fix: expose erl in AWF sandbox when using runtimes.elixir by @pelikhan with @Copilot in #44283
- docs: FAQ entry for custom model pricing in agentic workflow frontmatter by @pelikhan with @Copilot in #44450
- Harden Claude startup failure handling for empty-log Avenger runs by @pelikhan with @Copilot in #44332
- perf(workflow): cut YAMLGeneration overhead in run-script expression guardrail by @pelikhan with @Copilot in #44438
- fix: reclaim root-owned sandbox firewall dirs to prevent EACCES on reused runners by @pelikhan with @Copilot in #44276
- fix: propagate RunnerConfig to detection job to fix arc-dind Copilot ENOENT by @pelikhan with @Copilot in #44445
- Add
checkout.safe-output-github-appsupport for safe_outputs checkout auth by @pelikhan with @Copilot in #44444
Full Changelog: v0.82.6...v0.82.7
v0.82.6
🌟 Release Highlights
This release focuses on correctness and reliability — fixing subtle bugs in workflow compilation, strengthening security defaults, and improving developer tooling with new ESLint rules and unit tests.
✨ What's New
-
ESLint rule:
no-github-request-interpolated-route— A new static analysis rule flags interpolated template literals and string concatenation in Octokit.request()route arguments. This prevents malformed URLs and enforces the typed placeholder syntax ({owner},{repo}) that GitHub's REST API expects. (#44268) -
Comment-memory support for deterministic jobs — Custom jobs and
on.stepsflows withrestore-memory: truenow correctly receive the comment-memory config, enabling deterministic steps to consume persisted memory before agent execution. (#44214)
🐛 Bug Fixes & Improvements
-
Safer lockdown defaults on API failure — When the
determine-automatic-lockdownstep cannot fetch repository visibility,sink-visibilitynow defaults to"public"(strict policy) instead of the previously unrecognized"unknown"value, preventing unpredictable guard policy behavior. (#44286) -
Detection job dependency fix —
engine.envvalues referencingneeds.<job>.outputs.*expressions now correctly propagate to thedetectionjob'sneedslist, preventing silent empty-string resolution at runtime. (#44202) -
Lockdown autodetection skip when guard policy is explicit — The
determine-automatic-lockdownstep is now skipped when guard policies are already statically configured in frontmatter, eliminating redundant runtime detection. (#44270) -
Deprecated output references cleaned up — All remaining uses of
needs.activation.outputs.{text,title,body}in tests and specs replaced with the currentsteps.sanitized.outputs.*form, eliminating spurious deprecation warnings. (#44255)
📚 Documentation
- Token type validation clarified — Auth reference docs now explicitly document that
COPILOT_GITHUB_TOKENandGH_AW_GITHUB_TOKENmust be fine-grained PATs. OAuth user tokens (gho_...) are intentionally rejected at activation with remediation guidance. (#44275, Learn more)
Warning
Firewall blocked 1 domain
The following domain was blocked by the firewall during workflow execution:
awmgmcpg
To allow these domains, add them to the
network.allowedlist in your workflow frontmatter:
network:
allowed:
- defaults
- "awmgmcpg"See Network Configuration for more information.
Generated by 🚀 Release · 24.6 AIC · ⊞ 7.6K
What's Changed
- [spec-extractor] Update package specifications for tty, types, typeutil, workflow by @github-actions[bot] in #44266
- fix: skip lockdown autodetection step when guard policy is explicitly configured by @pelikhan with @Copilot in #44270
- Replace deprecated
needs.activation.outputs.{text,title,body}withsteps.sanitized.outputs.*by @pelikhan with @Copilot in #44255 - fix: detection job missing engine.env job dependencies in needs list by @pelikhan with @Copilot in #44202
- Restore comment-memory config for deterministic memory-read jobs by @pelikhan with @Copilot in #44214
- refactor(workflow): rename same-name/different-semantics helpers to eliminate navigation confusion by @pelikhan with @Copilot in #44149
- [docs] Update documentation for features from 2026-07-08 by @github-actions[bot] in #44275
- [docs] Update glossary - daily scan by @github-actions[bot] in #44273
- feat(eslint): add no-github-request-interpolated-route rule by @pelikhan with @Copilot in #44268
- fix: default sink-visibility to "public" when repository visibility check fails by @pelikhan with @Copilot in #44286
- Add unit tests for StripANSI in pkg/stringutil by @pelikhan with @Copilot in #44277
Full Changelog: v0.82.5...v0.82.6