Skip to content

v1.2.3

Pre-release
Pre-release

Choose a tag to compare

@github-actions github-actions released this 13 Nov 03:30
· 129 commits to main since this release
Immutable release. Only release title and notes can be modified.
5b6d021

🌟 Release Highlights

v1.2.3 centers on model routing, safer connectors and merges, and a Go 1.27.4 baseline that fixes an HTTP/1 server crash. It also adds security hardening across temporary files, installers, and workflow handling.

⚠️ Breaking Changes

  • Default model routing changed. Eligible workflows that set neither a model nor routing now use goal: cost, mode: auto on GitHub Copilot. Recompile and review model, output, and cost changes. To keep the previous non-routed selection, set engine.model-routing: false. Learn more
  • Native Jira, Linear, and Azure DevOps integrations are replaced by declarative connectors. Import .github/workflows/connectors/<provider>.md, select read profiles and write effects, configure credentials, then recompile. Learn more
  • merge-pull-request blocks PRs that change protected files. Merge those manually, add safe-outputs.merge-pull-request.protected-files.exclude entries, or set protected-files: allowed when intentional.
  • pull_request_target admits same-repository PRs only by default. List exact owner/repo entries under forks to admit forks, then recompile.
  • AWF and Copilot CLI downloads require a checksum pin. Supply sandbox.agent.checksums-sha256 or engine.checksums-sha256 with an explicit version. Unpinned and latest downloads now fail closed.
  • Go 1.27.4 is required for repository builds and release binaries. Older toolchains are rejected.
  • MCP workflow-writing tools are disabled by default. Enable add, update, fix, and compile with gh aw mcp-server --allow-write-tools.
  • Graders run in conclusion as pure computation. Custom JavaScript and Bash graders run in a separate graders job. Recompile workflows and move Bash graders from stdin to $1 / GH_AW_SESSION_FILE.
  • CLI changes. gh aw outcomes is removed; use gh aw logs --outcomes. gh aw logs now defaults to a 1 GB storage budget (--max-storage 0 for unlimited).
  • Work-queue setup. Remove initializeWorkQueue and pre-submission policy commands. The first accepted submission creates the policy.

✨ What's New

  • Model routing by name. Set model: router, router/economy, router/balanced, or router/robust instead of a separate routing block. Learn more
  • Security advisory safe outputs. create-security-advisory creates draft advisories only and never publishes them. add-security-advisory-comment posts comments by GHSA ID. Learn more
  • Protected-file checks for merges. merge-pull-request inspects the live PR file list before merging.
  • Streaming logs. gh aw logs --format jsonl emits progress and run data while collection runs.
  • Work-queue bootstrap. Global queue config moves to .github/workflows/aw.json under work_queue, with first-use bootstrap. Learn more
  • Declarative connector conformance. Daily conformance workflows now cover all 14 connectors.
  • Experimental Atomic engine. Atomic output now flows into the unified session format and step summaries.

πŸ› Bug Fixes & Improvements

  • Connector safe outputs no longer fail with Unknown connector argument (#76981).
  • The Copilot harness honors Retry-After on HTTP 429 with bounded waits (#76807).
  • Safe-output URL redaction no longer corrupts HTML tag boundaries (#76719).
  • report_incomplete now appears in reviewer prompts and runtime tool lists (#76537).
  • Workflow and run names are serialized as YAML scalars (#76903).
  • Label names longer than 50 characters are rejected at compile time (#76941).
  • Quota exhaustion is handled in daily-AIC accounting and run-info setup (#76583).
  • Declared workflow imports now propagate 404 errors (#76430).

πŸ”’ Security Hardening

  • Go 1.27.4 fixes [GO-2026-6859 (CVE-2026-97054)]((pkg.go.dev/redacted)
  • Shell injection prevention in maintenance and upgrade workflows (#76951).
  • Symlink traversal and leaf-symlink race protections for step summaries and Markdown fixtures (#76958, #76956).
  • Temporary files hardened across cache commits, MCP shell outputs, and installer logs (#76954).
  • Gateway fallback configuration is withheld from logs (#76952).
  • Daily AIC history fails closed when contradictory (#76804).

πŸ“š Documentation

  • Model-choice guidance now leads with default routing and model: router (#76985).
  • Custom CA trust for the AWF API proxy is documented (#76918).

Generated by πŸš€ Release Β· copilot Β· routed: haiku55 xhigh Β· ~3 AIC Β· ⊞ 7.6K


What's Changed

  • Retry rate-limited workflow metadata reads by @pelikhan with @Copilot in #76351
  • Handle legacy memory state in the daily git simulator by @pelikhan with @Copilot in #76401
  • Default eligible no-model workflows to cost/balanced model routing on GitHub Copilot by @SivaKesava1 with @Copilot in #76313
  • [Safe Outputs Conformance] REQ-002: Complete spec sections for report_missing_tool and report_missing_data by @github-actions[bot] in #76418
  • Provision isolated Go caches for Daily Go Test Parallelizer by @pelikhan with @Copilot in #76402
  • Fix Super-Linter startup quoting and preserve failure logs by @pelikhan with @Copilot in #76432
  • [dead-code] chore: remove dead functions β€” 4 functions removed by @github-actions[bot] in #76529
  • [spec-enforcer] Enforce specifications for workqueue, actionpins, agentdrain by @github-actions[bot] in #76499
  • Complete package specifications and reconcile API documentation by @gh-aw-bot with @Copilot in #76523
  • [avenger] Fix stale GH_AW_ENGINE_MODEL assertion in steering issue integration test by @github-actions[bot] in #76444
  • [docs] Update glossary - daily scan by @github-actions[bot] in #76474
  • [ca] chore: update eligible CLI and scanner pins by @github-actions[bot] in #76415
  • Document default model-routing breaking change by @gh-aw-bot with @Copilot in #76543
  • [fp-enhancer] Improve pkg/actionpins immutability by @github-actions[bot] in #76470
  • Add centralized /cook alias for PR Sous Chef by @pelikhan with @Copilot in #76548
  • [blog] Ecosystem Spotlight – elastic/oblt-aw by @github-actions[bot] in #76549
  • Clarify daily AIC restore quota blocks and recovery guidance by @pelikhan with @Copilot in #76433
  • Propagate 404s for declared workflow imports by @pelikhan with @Copilot in #76430
  • Harden Pi sub-agent invocation validation by @gh-aw-bot with @Copilot in #76422
  • Authenticate setup-cli release downloads with GH_TOKEN by @pelikhan with @Copilot in #76428
  • Provision compiler resources for the A/B testing advisor by @pelikhan with @Copilot in #76546
  • Align report_incomplete across safe-output tool lists by @pelikhan with @Copilot in #76537
  • Fix Package Specification Enforcer coverage upload path by @pelikhan with @Copilot in #76534
  • Preserve inline agents and skills in embedded prompts by @pelikhan with @Copilot in #76429
  • Migrate remaining Copilot GPT-5.6 Terra pins before 16 November 2026 retirement by @SivaKesava1 with @Copilot in #76319
  • Close SPDD specification coverage gaps by @gh-aw-bot with @Copilot in #76554
  • Route four Copilot-backed Codex workflows to cost model routing instead of fixed GPT pins by @SivaKesava1 with @Copilot in #76330
  • Improve ANSI stripping test coverage by @gh-aw-bot with @Copilot in #76577
  • Run Windows agent framework jobs in WSL by @pelikhan with @Copilot in #76536
  • fix(auditor): add explicit stale-checkpoint recovery by @pelikhan in #76593
  • Harden OpenAI WIF version, detection, and egress handling by @pelikhan with @Copilot in #76427
  • Preserve Go workflow validation failures and completed progress by @pelikhan in #76587
  • Trust normal toolchain caches in the stock XPIA policy by @SivaKesava1 with @Copilot in #76580
  • Route nine pinned Codex workflows through GitHub Copilot model routing by @SivaKesava1 with @Copilot in #76323
  • Default implicit model routing to cost/auto instead of cost/balanced by @SivaKesava1 with @Copilot in #76602
  • Bound Windows CLI output draining by @gh-aw-bot with @Copilot in #76576
  • Align CLI reference with command defaults and side effects by @gh-aw-bot with @Copilot in #76575
  • Preserve CLI proxy timeout diagnostics when logs exceed the capture limit by @pelikhan with @Copilot in #76538
  • Fix Breaking Change Checker review coverage inputs by @pelikhan in #76588
  • Fix visual review capture contract and incomplete-report processing by @pelikhan in #76585
  • Fix restricted tool contracts in Formal Spec Verifier and Delight by @pelikhan in #76589
  • Resume Auditor sampling while preserving unresolved checkpoint gaps by @pelikhan in #76596
  • Align spending charts with forecast JSON schema by @gh-aw-bot with @Copilot in #76621
  • fix: validate workflow env credentials using parsed references by @lpcox in #76633
  • fix: filter scheme-less www autolinks in safe outputs by @lpcox in #76708
  • Promote AWF Reflect route to stable reference by @pelikhan in #76710
  • Repair AgentRx dependency compatibility checks by @gh-aw-bot with @Copilot in #76696
  • Split audit report implementation into focused files by @gh-aw-bot with @Copilot in #76622
  • [linter-miner] Add ignored local error linter by @gh-aw-bot with @Copilot in #76620
  • Clarify workflow evaluation defaults, targets, and milestone triggers by @gh-aw-bot with @Copilot in #76697
  • [docs] docs: unbloat reference/engines.md by @github-actions[bot] in #76704
  • [safeoutputs] Clarify submit_pull_request_review allowed-events in tool description by @github-actions[bot] in #76610
  • Centralize maintenance operation names by @gh-aw-bot with @Copilot in #76727
  • Handle GitHub API quota exhaustion in daily-AIC accounting, run-info metadata and AWF detection setup by @SivaKesava1 with @Copilot in #76583
  • Add safe outputs for security advisory drafts and comments by @pelikhan in #76711
  • feat: enforce protected files for merge-pull-request by @pelikhan in #76771
  • Fix safe-output URL redaction corrupting HTML tag boundaries by @lpcox in #76719
  • Sync MCP spec pin and reviewer workflow locks by @gh-aw-bot with @Copilot in #76754
  • Raise the Go toolchain baseline to 1.27.4 by @gh-aw-bot with @Copilot in #76753
  • Add declarative connectors and migrate native provider integrations by @pelikhan in #74077
  • [docs] Update documentation for features from 2026-11-11 by @github-actions[bot] in #76835
  • Sync the CI spec pin and extend Auditor health collection by @gh-aw-bot with @Copilot in #76776
  • Keep Go probe tests from enumerating process environment by @gh-aw-bot with @Copilot in #76800
  • Harden Windows WSL runtime setup by @gh-aw-bot with @Copilot in #76731
  • fix(linters): unwrap parentheses in bufferresetbeforereuse and panic-in-library-code by @github-actions[bot] in #76740
  • [docs] Update glossary - daily scan by @github-actions[bot] in #76828
  • [spec-enforcer] Enforce specifications for actionpins, agentdrain, workqueue by @github-actions[bot] in #76845
  • Add per-checkout data-only acknowledgement for ref warnings by @pelikhan with @Copilot in #76806
  • Document verified breaking changes and migration guidance by @gh-aw-bot with @Copilot in #76885
  • fix: preserve observed engine session initialization by @pelikhan in #76815
  • [dead-code] chore: remove dead functions β€” 4 functions removed by @github-actions[bot] in #76879
  • Fail closed on contradictory empty daily AIC history by @pelikhan with @Copilot in #76804
  • Honor Node runtime pins in agent engine-install steps by @pelikhan with @Copilot in #76803
  • Qualify GHES Copilot endpoint guidance by @gh-aw-bot with @Copilot in #76896
  • Serialize workflow names and generated run names as YAML scalars by @lpcox with @Copilot in #76903
  • Align CLI flags, defaults, and unknown-command errors by @gh-aw-bot with @Copilot in #76897
  • Split parser import field extraction into focused modules by @gh-aw-bot with @Copilot in #76898
  • Align daily specification findings by @gh-aw-bot with @Copilot in #76900
  • build(deps): apply 1ES-compatible Dependabot updates after cooldown by @pelikhan in #76917
  • Choose model routing with model: router and router/economy|balanced|robust by @SivaKesava1 with @Copilot in #76617
  • Use Microsoft-approved npm feed across repository projects by @pelikhan in #76921
  • Document custom CA trust for the AWF API proxy by @gh-aw-bot with @Copilot in #76918
  • [eslint-miner] Add require-null-check-with-typeof-object rule by @github-actions[bot] in #76738
  • Honor Retry-After in Copilot harness HTTP 429 retries by @pelikhan with @Copilot in #76807
  • Clarify Auditor success criteria by @gh-aw-bot with @Copilot in #76940
  • Support repository-relative imports and staged connector dry-runs by @pelikhan in #76933
  • Reject label names longer than 50 characters at compile time and in MCP by @pelikhan in #76941
  • fix: withhold gateway fallback configuration from logs by @pelikhan in #76952
  • Raise work queue publication retry budget for contended ledgers by @elefthei in #76425
  • fix: prevent shell injection in maintenance and upgrade workflows by @pelikhan in #76951
  • fix: prevent leaf symlink races in Markdown fixture reads by @pelikhan in #76956
  • Add a success rubric and self-check to AI Moderator by @gh-aw-bot with @Copilot in #76942
  • Strengthen add command gitattributes coverage by @gh-aw-bot with @Copilot in #76919
  • Clarify deterministic checks, safe-output limits, and PR diff guidance by @gh-aw-bot with @Copilot in #76964
  • Preserve hidden reference markers in PR review bodies by @pelikhan with @Copilot in #76805
  • Ignore nested lists when hashing workflow imports by @gh-aw-bot with @Copilot in #76939
  • fix: contain package-owned file cleanup within repository by @pelikhan in #76955
  • [safe-output-integrator] test: cover remaining safe-output types in handler config tests and fixtures by @github-actions[bot] in #76931
  • Add errorsnewerrorstring analyzer by @gh-aw-bot with @Copilot in #76920
  • chore: update mirrored Alpine image digest by @pelikhan in #76977
  • Harden temporary files and fix Windows installer test compatibility by @pelikhan in #76974
  • Persist Claim delivery evidence for restart-safe verification by @elefthei in #76718
  • test: verify compiled action pins against actions-lock by @pelikhan in #76991
  • fix: preserve workflows and report update merge failures by @pelikhan in #76975
  • Protect agent step summary publication from symlink traversal by @pelikhan in #76958
  • Fix reproducible CI failures and annotated tag resolution by @pelikhan in #76995
  • Fix connector safe-output metadata causing unknown argument failures by @pelikhan in #76981
  • Extract prompt bootstrap into a shared runtime helper by @pelikhan in #76990
  • Classify GitHub context wildcard projections as credential-bearing by @lpcox with @Copilot in #76980
  • Harden temporary files for cache commits, MCP shell outputs, and installer logs by @pelikhan in #76954
  • [duplicate-code] Refactor: dedupe agent_output.json extraction in logs_metrics.go by @github-actions[bot] in #76976
  • [docs] docs: unbloat reference/tools.md by @github-actions[bot] in #77002
  • Bump experimental Atomic sample to 0.9.79 by @lavaman131 in #77011
  • Handle quote-adjacent attributes in HTML sanitization by @lpcox with @Copilot in #77007
  • [log] Add debug logging to cli package and audit search files by @github-actions[bot] in #77033
  • [compiler-threat-spec] Daily compiler threat spec audit (2026-11-12) by @github-actions[bot] in #77018
  • Enable Atomic built-in tools and schedule the Atomic smoke test by @lavaman131 in #77020
  • [community] Update community contributions in README by @github-actions[bot] in #77019
  • [docs] Update documentation for features from 2026-11-12 by @github-actions[bot] in #77129
  • Add daily conformance workflows for all 14 connectors by @pelikhan with @Copilot in #77010
  • [static-analysis] RGS-006/RGS-012: suppress false positives in windows.lock.yml WSL Node.js bootstrap by @github-actions[bot] in #77079
  • [spec-enforcer] Enforce specifications for cli/data, workflow/actions, workflow/actionslanguageservice by @github-actions[bot] in #77137
  • [docs] Update glossary - daily scan by @github-actions[bot] in #77124
  • fix(linters): unwrap parenthesized callees and labeled range loops by @github-actions[bot] in #77043
  • Audit package specifications and document connector APIs by @gh-aw-bot with @Copilot in #77159
  • [blog] Agent of the Day – 2026-11-12 by @github-actions[bot] in #77169
  • docs: describe AWF's on-by-default budget notices for token-steering and max-ai-credits by @rabeckett with @Copilot in #77087
  • Bump firewall to v0.29.12 and MCP gateway to v0.5.8 by @lpcox with @Copilot in #77082
  • Make incomplete-task failures actionable by @pelikhan with @Copilot in #77183
  • docs: lead model-choice guidance with default routing and model: router by @SivaKesava1 with @Copilot in #76985
  • Explain why Dependabot Burner skips outstanding PRs by @pelikhan with @Copilot in #77189
  • Accept status_changed issue triggers by @pelikhan with @Copilot in #77179
  • Allow Claude docs review to publish its discussion by @pelikhan with @Copilot in #77177
  • Remove workqueue test that enumerates the process environment by @SivaKesava1 in #77219
  • Add missing checksum pin for firewall v0.29.12 by @pelikhan with @Copilot in #77231
  • Trim debug playbook under agent consumption budget by @pelikhan in #77235
  • build(deps): apply Dependabot npm bumps available in the 1ES feed by @pelikhan in #77247
  • Add streaming JSONL output to gh aw logs by @pelikhan in #77304
  • Fix relative import destinations in gh aw add by @pelikhan with @Copilot in #77176
  • Extract shared PR safe-output defaults by @gh-aw-bot with @Copilot in #77050
  • [compiler-threat-spec] Daily compiler threat spec audit (2026-11-13) by @github-actions[bot] in #77313
  • Pin the TLA+ installers to the current release_integrity.sh by @lavaman131 in #77300
  • [docs] docs: unbloat imports reference by @github-actions[bot] in #77301
  • Convert Atomic sessions to the unified session format by @lavaman131 in #77052
  • Fix CI upstream update smoke test isolation by @pelikhan in #77316

New Contributors

  • @elefthei made their first contribution in #76425
  • @lavaman131 made their first contribution in #77011

Full Changelog: v1.2.2...v1.2.3