Releases: github/gh-aw
v0.49.3
🌟 Release Highlights
This release brings a new workflow control option to quiet bot comments, improved engine icons, and reliability fixes for download scripts — plus two community-requested improvements.
✨ What's New
- Silence activation comments — The new
activation-comments: falsefrontmatter flag lets you disable the bot comments gh-aw posts when activating or falling back on a workflow. Useful for keeping issue/PR comment threads clean. (#17834) - Engine icons for Claude, Codex & Gemini — Local icon assets are now bundled for Claude, Codex, and Gemini alongside a Gemini author entry, giving workflow UIs a consistent visual identity across all supported engines. (#17837)
- Community contributor celebration in release highlights — The release highlight generator now cross-references community-labeled issues with merged PRs and explicitly calls out the issue authors. (#17842)
🐛 Bug Fixes & Improvements
- web-fetch MCP fix — The web-fetch MCP server was incorrectly generating a container format instead of the expected
command/argsstructure, preventing it from initializing. (#17822) - Duplicate code detector — The detector now correctly emits a
noopsafe output when no duplication is found, avoiding spurious failures. (#17836) - Retry on transient download failures — Install scripts now pass
--retry 3 --retry-delay 5tocurlwhen downloading the Copilot CLI and AWF binary, automatically recovering from the occasional 502 on public runners. (#17841)
📚 Documentation
- Clarified that
CLAUDE_CODE_OAUTH_TOKENis not a supported authentication method. (#17835) - Updated reference documentation with the latest features. (#17830)
🌍 Community Contributions
A huge thank you to the community members who reported issues that were resolved in this release:
@strawgatefor Feature request: add flag to disable activation/fallback comments (#17828)@strawgatefor Retry downloads automatically (#17839)
For complete details, see CHANGELOG.
Generated by Release
What's Changed
- Fix smoke-copilot golden file to include --browser-arg --no-sandbox in Playwright entrypointArgs by @Copilot in #17819
- [jsweep] Clean close_discussion.cjs by @github-actions[bot] in #17824
- fix: web-fetch MCP server generates container format instead of command/args by @Copilot in #17822
- [docs] Update documentation for features from 2026-02-23 by @github-actions[bot] in #17830
- docs: clarify CLAUDE_CODE_OAUTH_TOKEN is not supported by @Copilot in #17835
- Add Gemini author and local icons for Claude, Codex, and Gemini by @Copilot in #17837
- fix(duplicate-code-detector): require noop when no duplication found by @Copilot in #17836
- feat(release): celebrate community issue authors in release highlights by @Copilot in #17842
- feat: add
activation-commentsto disable activation/fallback bot comments by @Copilot in #17834 - Add --retry 3 with delay to curl downloads to handle transient 502s by @Copilot in #17841
Full Changelog: v0.49.2...v0.49.3
v0.49.2
🌟 Release Highlights
This release brings new workflow privacy controls, improved CI integration, key bug fixes in Playwright and safe-outputs conformance checks, and token-efficiency improvements in the safe-outputs prompt system.
✨ What's New
-
Workflow privacy via
privatefrontmatter (#17801) — Workflows marked withprivate: trueare now hidden from thegh aw addcommand, giving teams a clean way to keep internal-only workflows out of the public catalogue. -
CI trigger token support for PR and branch pushes (#17803) — Workflows can now supply a dedicated token when triggering CI on PRs and branches, enabling richer automation pipelines that require elevated or scoped credentials.
🐛 Bug Fixes & Improvements
-
Playwright MCP: Chromium sandbox disabled for localhost access (#17808) — Fixed a configuration issue that prevented Playwright MCP from accessing
localhost-hosted services inside the runner container. -
Safe-outputs conformance: reduce SEC-003 false positives (#17790) — The conformance checker was incorrectly flagging valid safe-output patterns as SEC-003 violations; this is now resolved, reducing noise in security reports.
-
Safe-outputs prompt: XML wrapping & template extraction (#17769) — The safe-outputs prompt has been refactored to use dedicated template files and XML-wrapped content, improving token efficiency and maintainability without changing observable behaviour.
🔧 Internal
- Shared components extracted for Serena Go analysis tooling and Copilot PR analysis base setup (#17797, #17798), improving reuse across workflows.
- Developer specifications consolidated into a single instructions file (#17794).
For complete details, see CHANGELOG.
Generated by Release
What's Changed
- Refactor safe outputs prompt: extract all content to template files, wrap in XML, optimize for token usage by @Copilot in #17769
- Fix SEC-003 false positives in safe-outputs conformance check by @Copilot in #17790
- [instructions] Sync github-agentic-workflows.md with release v0.49.1 by @github-actions[bot] in #17792
- [docs] Consolidate developer specifications into instructions file (2026-02-23) by @github-actions[bot] in #17794
- Extract Serena Go Analysis Tool Configuration into shared component by @Copilot in #17798
- Extract Copilot PR Analysis Base Setup into shared component by @Copilot in #17797
- 🔔 Add CI trigger token support for PR and branch pushes by @dsyme in #17803
- [q] fix: disable Chromium sandbox in Playwright MCP to allow localhost access by @github-actions[bot] in #17808
- Add
privatefrontmatter field to blockaddcommand by @Copilot in #17801
Full Changelog: v0.49.1...v0.49.2
v0.49.1
🌟 Release Highlights
This patch release delivers targeted security hardening, reliability improvements, and documentation polish—keeping your agentic workflows running smoothly and securely.
🔒 Security
- Cross-repository allowlist validation (#17771): Flagged workflow handlers now enforce strict cross-repository allowlist checks, preventing unintended cross-repo access.
🐛 Bug Fixes
add-wizardimports resolution (#17765): Frontmatterimports:dependencies are now fetched locally duringadd-wizard, fixing resolution failures in offline or restricted environments.- Safe outputs expiry (#17737): All
create-discussionsafe output jobs across workflows now correctly setexpires: 1d, avoiding stale output retention. - Parser property ordering (#17754): Strict unknown-property ordering in the parser is now stable, eliminating non-deterministic compilation output.
📚 Documentation
- Quick Start guide hierarchy (#17745): Fixed heading levels in the Quick Start guide for improved navigation and accessibility.
- Feature docs update (#17741): Documentation updated to reflect the latest features from 2026-02-22.
✨ Improvements
- Archie workflow messaging (#17746): Workflow status messages from the Archie agent now use a more professional, consistent tone.
For complete details, see CHANGELOG.
Generated by Release
What's Changed
- Set expires: 1d for create-discussion safe outputs across all workflows by @Copilot in #17737
- [docs] Update documentation for features from 2026-02-22 by @github-actions[bot] in #17741
- Improve test quality for pkg/parser/import_cache_test.go by @Copilot in #17742
- fix: correct heading hierarchy in Quick Start guide by @Copilot in #17745
- Elevate professional tone in Archie workflow messages by @Copilot in #17746
- parser: stabilize strict unknown-property ordering by @davidahmann in #17754
- fix: fetch frontmatter
imports:dependencies locally duringadd-wizardby @Copilot in #17765 - refactor(workflow): Priority 1 semantic clustering — shared mount validation, copilot function relocation by @Copilot in #17768
- [code-simplifier] parser: add doc comment and assertion message to normalizeAdditionalPropertyList by @github-actions[bot] in #17772
- fix(IMP-003): move generateCustomJobToolDefinition to safe_outputs_config_generation.go by @Copilot in #17770
- SEC-005: Add cross-repository allowlist validation to flagged handlers by @Copilot in #17771
Full Changelog: v0.49.0...v0.49.1
v0.49.0
🌟 Release Highlights
This release focuses on security hardening, safe outputs flexibility, and code quality improvements — making workflows more robust and configurable.
🔒 Security Hardening
Critical security fixes and hardening across the codebase:
- Shell injection fix in
upload_assets.cjs— closes an incomplete fix from a prior commit (#17736) - Hardened
exec.Commandinvocations for cross-platform compatibility and security across the codebase (#17729)
✨ What's New
- Templatable boolean & integer fields in safe outputs — workflow authors can now use template expressions for boolean flags and integer max fields, enabling dynamic configuration without recompilation (#17653, #17667, #17694)
expirescodemod — a migration helper that automatically converts integerexpiresvalues to the new day-string format, making upgrades seamless (#17695)- Configurable bot trigger neutralization —
safe-outputs.max-bot-mentionscontrols how many bot trigger references are preserved vs. escaped, with smarter handling for already-quoted entries (#17689) - Source links in GitHub MCP tools report — the MCP tools report now includes direct links to source definitions, improving discoverability (#17709)
- MCP Gateway updated to v0.1.5 (#17697)
🐛 Bug Fixes & Improvements
- Fixed
base64executable not found on Windows duringgh aw update(#17720) - Resolved 22 actionlint expression errors caused by missing
needs:declarations in 4 workflows (#17681) - Fixed
ci-doctorto pre-download logs and artifacts, applying generic error heuristics to reduce token usage (#17719) - Replaced
curl | shuv install with pinnedastral-sh/setup-uvaction for more reliable CI (#17688)
🔧 Internal
- Enabled 16 additional Go linters +
modernizeandintrangelinters with all issues resolved (#17714, #17705) - Normalized report formatting across multiple internal workflows (#17727, #17698)
For complete details, see CHANGELOG.
Generated by Release
What's Changed
- [docs] Update dictation skill instructions by @github-actions[bot] in #17665
- Convert boolean safe output fields to templatable bools by @Copilot in #17653
- Add templatable integer support for safe output max fields by @Copilot in #17667
- Fix SC2129: use grouped redirect for prompt construction in compiler template by @Copilot in #17687
- Replace
curl | shuv install with pinnedastral-sh/setup-uvaction by @Copilot in #17688 - Update safe outputs spec with templatable boolean and integer fields by @Copilot in #17694
- Normalize report formatting for step-name-alignment and bot-detection workflows by @Copilot in #17698
- Add codemod to migrate expires integer values to day-string format by @Copilot in #17695
- fix: rename "Upload Assets to Orphaned Branch" step to "Push assets" across 23 workflows by @Copilot in #17696
- Fix missing
needs:declarations causing 22 actionlint expression errors in 4 workflows by @Copilot in #17681 - Add
modernizeandintrangelinters and fix all issues by @Copilot in #17705 - Update MCP Gateway to v0.1.5 by @Copilot in #17697
- Add source links to GitHub MCP tools report by @Copilot in #17709
- fix(ci-doctor): pre-download logs and artifacts, apply generic error heuristics to reduce token usage by @Copilot in #17719
- Fix
base64executable not found on Windows ingh aw updateby @Copilot in #17720 - neutralizeBotTriggers: allow first n references unchanged then escape excess, skip already-quoted entries, configurable via safe-outputs.max-bot-mentions by @Copilot in #17689
- Normalize report formatting in org-health-report and daily-safe-outputs-conformance workflows by @Copilot in #17727
- fix: use strings.Cut to resolve stringscut lint violation in known_needs_expressions by @Copilot in #17728
- Enable 16 additional Go linters and fix all reported issues by @Copilot in #17714
- Review and harden all exec.Command invocations for cross-platform compatibility and security by @Copilot in #17729
- fix: close shell injection in upload_assets.cjs (incomplete fix from d07e64c) by @Copilot in #17736
Full Changelog: v0.48.4...v0.49.0
v0.48.4
🌟 Release Highlights
This release promotes Google Gemini CLI to general availability, improves validation error quality, and consolidates network configuration with a migration codemod for Playwright users.
⚠️ Breaking Changes
- Playwright
allowed_domains/allowed_hostsremoved — These fields have been moved fromtools.playwrightto the unifiednetwork.allowedconfiguration. Run the migration codemod to update your workflows automatically:The codemodgh aw fix --write
playwright-allowed-domains-migrationhandles the conversion. (#17629)
✨ What's New
-
Google Gemini CLI is now GA — The Gemini engine graduates from experimental status and is ready for production workflows. Gemini gains
/tmp/gh-aw/read access outside the workspace, neutral tool mappings for settings compatibility, and improved diagnostics (DEBUG env var support, error log artifacts). (#17656, #17642, #17612, #17558) -
Repo-memory branch scoped by workflow ID — Default repo-memory branches are now qualified with the workflow ID, preventing collisions when multiple workflows share the same repository memory. (#17657)
-
Smarter schema validation errors — Validation failures now include caret (
^) pointers to the exact problem location, plain-English constraint descriptions, and contextual examples — making it much easier to fix frontmatter issues at a glance. (#17551) -
Parent author allowed in
add_comment— Workflows can now mention the author of the parent issue, PR, or discussion when posting comments, enabling more targeted notifications. (#17628)
🐛 Bug Fixes & Improvements
- Audit surfaces pre-agent step errors —
gh aw auditnow reports errors that occur before the agent executes (e.g., setup failures), so investigations no longer require manual log digging. (#17623) - Standardized error codes in safe-output handlers — All safe output handlers now emit structured error codes (e.g.,
USE-001) for consistent error tracking and automation. (#17557) - PR triage scoped to fork PRs — Triage workflows now correctly restrict processing to fork-originated pull requests, reducing noise on internal PRs. (#17576)
- Preserve expression-based draft boolean — The
create-pull-requesthandler no longer drops expression values for thedraftfield during config compilation. (#17597) - Status comments enabled on all smoke workflows — All
smoke-*workflows now post status comments, improving end-to-end validation coverage. (#17566)
📚 Documentation
- Workflow Editors reference page — A new Workflow Editors page consolidates all available editors including the Agentic Prompt Generator. (#17570, #17574)
- Supported runners table — The frontmatter reference now includes a table of supported runner types. (#17361)
- Create Workflows page enhanced — Scenario-based AstroTabs examples replace the single prompt, giving new users concrete starting points. (#17560)
For complete details, see CHANGELOG.
Generated by Release
What's Changed
- Fix schema validation error quality: caret pointer, duplicate path prefix, plain-English constraints, contextual examples by @Copilot in #17551
- fix(workflows): add Python network preset to shared/trending-charts-simple.md by @Copilot in #17554
- docs: replace single prompt with AstroTabs scenario examples on Create Workflows page by @Copilot in #17560
- Enable status-comment on all smoke-* workflows by @Copilot in #17566
- docs: convert Compiler Playground sidebar link into Workflow Editors reference page by @Copilot in #17570
- feat(triage): restrict PR triage to fork PRs only by @Copilot in #17576
- docs: add Agentic Prompt Generator to reference/editors page by @Copilot in #17574
- Improve Gemini engine diagnostics: DEBUG env var, error log artifacts, and remove model fallback by @Copilot in #17558
- Copilot/weekly workflow editor checks by @pelikhan in #17585
- Copilot/update firewall access editors by @pelikhan in #17599
- fix(USE-001): add standardized error codes to all safe output handlers by @Copilot in #17557
- Copilot/update parser log javascript by @pelikhan in #17605
- [instructions] Sync github-agentic-workflows.md with v0.40.1 by @github-actions[bot] in #17622
- Allow parent issue/PR/discussion author as an allowed mention in add_comment by @Copilot in #17628
- [docs] docs: unbloat dispatch-ops by condensing bullet lists and thin sections by @github-actions[bot] in #17626
- [jsweep] Clean add_copilot_reviewer.cjs by @github-actions[bot] in #17641
- fix(audit): surface pre-agent step errors when agent never executed by @Copilot in #17623
- [docs] Update documentation for features from 2026-02-22 by @github-actions[bot] in #17647
- Refactor: Extract shared missing issue handler logic into missing_issue_helpers.cjs by @Copilot in #17644
- fix: preserve expression-based draft boolean in create-pull-request handler config by @Copilot in #17597
- Remove tools.playwright allowed_domains/allowed_hosts; add codemod to migrate to network.allowed by @Copilot in #17629
- feat(gemini): fix /tmp/ access and add neutral tool mapping for Gemini CLI settings by @Copilot in #17642
- docs: add supported runners table to frontmatter reference by @Mossaka in #17361
- Promote Google Gemini CLI from experimental to GA by @Copilot in #17656
- Qualify default repo-memory branch by workflow ID by @Copilot in #17657
Full Changelog: v0.48.3...v0.48.4
v0.48.3
🌟 Release Highlights
This release focuses on reliability improvements to the safe-outputs pipeline and workflow tooling, ensuring failures surface cleanly and findings remain actionable.
🐛 Bug Fixes & Improvements
-
Fail-fast mode for code-push safe outputs (#17543): When
push_to_pull_request_branchorcreate_pull_requestfails, the safe-output pipeline now stops processing subsequent outputs immediately. Previously, downstream steps likeadd_commentwould continue running and produce misleading success-looking messages — this is now fixed. -
Workflow normalizer: single consolidated issue (#17540): The
workflow-normalizerwas creating parent/sub-issue hierarchies (group: true), which prevented each run's findings from being standalone actionable reports. Findings are now consolidated into a single issue per run.
🔧 Internal Improvements
- Repo memory prompt generation refactored to use runtime template files, aligning it with all other built-in prompt sections (#17544).
- Workflow functions relocated to their correct domain files for improved maintainability (#17541).
For complete details, see CHANGELOG.
Generated by Release
What's Changed
- fix: workflow-normalizer: remove grouping, consolidate findings in single issue by @Copilot in #17540
- refactor(workflow): relocate functions to correct domain files by @Copilot in #17541
- Refactor repo memory prompt generation to use template files by @Copilot in #17544
- Add fail-fast mode for code-push safe outputs by @Copilot in #17543
Full Changelog: v0.48.2...v0.48.3
v0.48.2
🌟 Release Highlights
This release brings meaningful improvements to the workflow authoring experience — a smarter gh aw new wizard, better safe-output tooling, and a wave of reliability fixes across MCP, activation, and compiler-generated scripts.
✨ What's New
- Smarter
gh aw newcommand (#17450): The new-workflow wizard now auto-detects toolsets, generates dynamic safe-outputs, sets read-only permissions by default, and detects repo network access — reducing boilerplate and manual configuration. - Improved
gh aw addwizard (#17517): The add wizard now includes a merge prompt and dirty-check guard, preventing accidental overwrites when your workflow files have uncommitted changes. update-issuegainstitle-prefixsupport (#17512): Safe-outputupdate-issueoperations can now prepend a prefix to the issue title, enabling richer automation patterns.- Auto-inject
create-issuesafe output (#17418): Workflows with no non-builtin safe outputs automatically get acreate-issuesafe output injected, so results are always surfaced somewhere actionable. - Enhanced scout command (#17429, #17435): The scout command now accepts additional inputs and has an increased timeout for deep research workflows.
- Contribution-check report expiration (#17458): Contribution check reports now expire after 1 day, keeping issue trackers clean.
🐛 Bug Fixes & Improvements
- Activation job correctness (#17499, #17498): Fixed invalid
needs.pre_activation.outputs.*references in activation jobs for workflows without apre_activationstep, and resolvedmatched_commandbeing undefined inpre_activationoutputs — eliminating actionlint failures. - PR fallback comment (#17530): Fixed fallback comment creation on PRs when there is no activation comment, ensuring workflow results always reach the right thread.
update-pull-requestrespectsfooter: false(#17525): Theupdate-pull-requestsafe output now correctly omits the footer whenfooter: falseis set.- Safe-output schema validation (#17524): Parser now reports all safe-output schema failures with precise per-field line and column locations, making configuration errors much easier to diagnose.
- Shell quoting in compiled scripts (#17500): Fixed missing quotes around
$GITHUB_OUTPUTin compiler-generated shell scripts (SC2086), preventing word-splitting issues in edge cases. - MCP protocol compliance (#17419): The
check_mcp_servers.shscript now implements the proper MCP handshake (ping → initialize → session ID → tools/list), improving reliability of MCP server health checks. - Assign-to-agent key mismatch (#17396): Resolved a key mismatch (
namevsdefault-agent) in the assign-to-agent handler that could cause agent assignment to silently fail. - Go toolchain downloads (#17453): Added the Go ecosystem to the CLI version checker's network allowlist, fixing toolchain download failures in restricted environments.
- Multi-repo wildcard support (#17400): Refactored
isRepoAllowed()intosanitize_content_corefor consistent wildcard matching across multi-repo configurations.
📚 Documentation
- Fixed typos in the AI Engines reference (#17492)
- Corrected nested code fence formatting in the HTTP MCP servers authentication example (#17447)
- Added missing required sections to 7 safe output type reference pages (#17417)
For complete details, see CHANGELOG.
Generated by Release
What's Changed
- docs: add missing required sections to 7 safe output types (REQ-002) by @Copilot in #17417
- docs: hyphenate Ops pattern slugs and update cross-references by @mnkiefer in #17422
- Enhance scout command with additional inputs by @mnkiefer in #17429
- Increase scout timeout for deep research by @mnkiefer in #17435
- Auto-inject create-issue safe output when no non-builtin safe outputs are configured by @Copilot in #17418
- Add daily-rendering-scripts-verifier agentic workflow by @Copilot in #17421
- [actions] Update GitHub Actions versions - 2026-02-21 by @github-actions[bot] in #17439
- refactor: use
isRepoAllowed()in sanitize_content_core for consistent multi-repo wildcard support by @Copilot in #17400 - docs: fix nested code fence in HTTP MCP servers authentication example by @Copilot in #17447
- fix: resolve assign-to-agent key mismatch (name vs default-agent) by @Copilot in #17396
- Relax brittle description assertion in live MCP registry integration test by @Copilot in #17449
- fix(cli-version-checker): add go ecosystem to network allowlist for toolchain downloads by @Copilot in #17453
- Update CLI versions: Claude Code 2.1.50, Copilot CLI 0.0.414 by @Copilot in #17448
- fix: implement proper MCP protocol (ping + initialize + session ID + tools/list) in check_mcp_servers.sh by @Copilot in #17419
- feat(contribution-check): add 1d expiration to report issues by @Copilot in #17458
- Add missing operations to safe-outputs schema $comment by @Copilot in #17461
- Remove unused git-fallback dead code from download_workflow.go by @Copilot in #17475
- Improve
gh aw newcommand: toolsets, dynamic safe-outputs, read-only permissions, repo network detection by @Copilot in #17450 - Constrain agentic-workflows agent to single-file output by @Copilot in #17479
- Replace %v with %w for error wrapping in fmt.Errorf calls by @Copilot in #17472
- Update wasm golden fixtures for Copilot CLI 0.0.414 by @Copilot in #17478
- Add error return to MCPConfigProvider.RenderMCPConfig interface by @Copilot in #17476
- Add grouped section headers to
gh aw logshelp text examples by @Copilot in #17491 - Fix typos in AI Engines reference documentation by @Copilot in #17492
- fix: align step names across smoke-gemini, layout-spec-maintainer, prompt-clustering-analysis, and mergefest workflows by @Copilot in #17487
- doc(skills): Add GitHub API limitations section to github-mcp-server skill by @Copilot in #17502
- 🧙 Improve add wizard with merge prompt and dirty check by @dsyme in #17517
- .NET: Add missing new
.slnxsolution file by @Saibamen in #17516 - 🔧 Refactor update command and move audit to upgrade by @dsyme in #17519
- Fix SC2086: quote $GITHUB_OUTPUT in compiler-generated shell scripts by @Copilot in #17500
- Fix invalid
needs.pre_activation.outputs.*references in activation job for workflows without pre_activation by @Copilot in #17499 - Add title-prefix support to update-issue safe output by @Copilot in #17512
- Add security architecture slide to slides/index.md by @Copilot in #17501
- Remove unused
checkExtensionUpdateto fix golangci-lint failure by @Copilot in #17526 - 🔧 Fix fallback comment creation on PR when no activation comment by @dsyme in #17530
- fix(parser): report all safe-output schema failures with per-field line/column locations by @Copilot in #17524
- Fix actionlint
matched_commandundefined inpre_activationoutputs by @Copilot in #17498 - fix: update-pull-request honors footer: false by @Copilot in #17525
New Contributors
Full Changelog: v0.48.1...v0.48.2
v0.48.1
🌟 Release Highlights
A focused polish release improving reliability and presentation quality across the board.
🐛 Bug Fixes & Improvements
- More robust summary formatting — Summaries now use 6-backtick fences, preventing escaping breakage when nested code blocks appear in agent-generated output. (#17384)
- Consistent step names — "Set up Go", "Install UV", and "Upload source" step names are now aligned across all workflows, making run logs easier to read and correlate. (#17386)
📚 Documentation
- Multiple PR creation support documented — The docs now cover the ability to create multiple pull requests in a single workflow run, helping users take full advantage of this capability. (#17388)
🎨 Presentation
- Improved slide contrast — Slide code blocks now use a light theme for better readability during projection. (#17385)
For complete details, see CHANGELOG.
Generated by Release
What's Changed
- slides: use light code block theme for projection contrast by @Copilot in #17385
- [docs] Update documentation for multiple PR creation support by @github-actions[bot] in #17388
- fix(step-names): align Set up Go, Install UV, and Upload source inconsistencies by @Copilot in #17386
- fix: use 6-backtick fences in summaries to prevent escaping breakage by @Copilot in #17384
Full Changelog: v0.48.0...v0.48.1
v0.48.0
🌟 Release Highlights
This release focuses on reliability and polish — fixing several long-standing bugs in multi-PR workflows and agent assignment, reducing log noise, and sharpening the developer experience.
🐛 Bug Fixes & Improvements
- Multi-PR runs now work correctly — When an agent called
create-pull-requestorpush-to-pull-request-branchmultiple times in a single run, only the last patch survived due to a shared/tmp/gh-aw/aw.patchoverwrite. Each invocation now gets its own isolated patch file. (#17284) base-branchinassign-to-agentis now effective — The field was previously injected as a natural language hint rather than using thebaseRefGraphQL field, meaning it had no real effect. It now uses the authoritative API mechanism. (#17347)- Better network inference for language-specific repos — Agentic authoring on repos using ecosystems like .NET previously defaulted to
network: defaults, omitting package registries (e.g. NuGet) and causingdotnet restorefailures. Network configuration is now inferred more accurately from the repo's ecosystem. (#17373) - Quieter logs for
runtime-importworkflows — Front matter in shared markdown files triggered acore.warningon every import despite being expected behavior. These are now debug-level logs only. (#17374)
✨ Developer Experience
- Cleaner
gh aw logs --help— Orchestrator-only guidance (YAML snippets, project board tracking) has been removed from the human-facing help text, making the flags and examples much easier to find. (#17376) - Report formatting standardized — Four workflows (
pr-triage-agent, and others) now use consistent h3+ headers and<details>progressive disclosure, keeping reports readable and collapsible. (#17377) - Smoke test and daily report issues auto-labelled — Issues created by automation workflows now receive
automationandtestinglabels at creation time, keeping the unlabelled issue backlog near zero. (#17375)
For complete details, see CHANGELOG.
Generated by Release
What's Changed
- Support multiple
create-pull-requestandpush-to-pull-request-branchin a single run by @Copilot in #17284 - Lower front matter warning to debug log in runtime import by @Copilot in #17374
- Normalize report formatting across four workflows (h3+ headers, progressive disclosure) by @Copilot in #17377
- Trim orchestrator-only guidance from
gh aw logs --helpby @Copilot in #17376 - Auto-apply labels on smoke test and daily report issue creation by @Copilot in #17375
- fix: improve network ecosystem inference in agentic authoring by @Copilot in #17373
- fix: use GraphQL
baseReffield forbase-branchin assign-to-agent by @Copilot in #17347
Full Changelog: v0.47.6...v0.48.0
v0.47.6
🌟 Release Highlights
This release focuses on expression replacement reliability, ARM64 platform support, and improved model routing — making workflows more robust across a wider range of environments.
✨ What's New
- ARM64 Support (#17331) — Copilot smoke tests now run on
ubuntu-24.04-arm, validating workflow compatibility on ARM64 runners. - Native Model Routing (#17296) — Model selection is now routed to engines via native CLI environment variables, improving compatibility with engine-specific model configuration.
- JavaScript Global Object Shim (#17353) — Core global object shim implemented for JavaScript files, enabling better runtime compatibility in sandboxed environments.
- Improved Output Preview (#17315) — Replaced the Copilot
--shareflag with a JS log parser for output preview, providing more reliable workflow output visibility.
🐛 Bug Fixes & Improvements
- Expression Replacement Robustness (#17330, #17332) — Fixed two critical bugs: expressions are now replaced in all occurrences (not just the first), and a double-substitution bug in runtime import expression replacement has been resolved.
- Cache Memory Fix (#17349) —
GH_AW_WORKFLOW_ID_SANITIZEDis now correctly set in theupdate_cache_memoryjob environment, preventing cache key mismatches. - GFM HTML in Issue Updates (#17346) — Inline HTML tags (e.g.,
<details>,<summary>) are now preserved when updating issue bodies via safe-outputs. - Base Ref Handling (#17370) — Workflows now correctly use
github.base_ref || github.ref_namefor consistent branch targeting across push and pull_request events. - Maintenance Release Tag (#17316) — Fixed
agentics-maintenanceincorrectly ignoring--action-tagwhen running in release mode. - System Prompt Efficiency (#17314) — System prompts for
/sessionand/mdare now compressed and XML-wrapped, reducing token usage; multi-cache placeholder bug also resolved. - Safe Outputs Auto-Targeting (#17350) — Clarified behavior for
add_comment,add_labels, andadd_reviewerwhen no workflow context is available, preventing silent failures.
📚 Documentation
- Developer documentation consolidated (v2.6) and
network.mdtrimmed by 21% for clarity. - Slides updated from "Research Preview" to Technical Preview status.
For complete details, see CHANGELOG.
Generated by Release
What's Changed
- Route model to engine via native CLI environment variables by @Copilot in #17296
- Fix agentics-maintenance ignoring --action-tag in release mode by @Copilot in #17316
- [instructions] Sync github-agentic-workflows.md with v0.40.1 by @github-actions[bot] in #17319
- [docs] Consolidate developer documentation v2.6 (2026-02-20) by @github-actions[bot] in #17321
- [docs] docs: remove bloat from network.md (21% line reduction) by @github-actions[bot] in #17327
- Copilot/update smoke labels by @pelikhan in #17329
- Compress and XML-wrap system prompts for /session and /md; fix multi-cache placeholder bug by @Copilot in #17314
- feat: add Copilot ARM64 smoke test on ubuntu-24.04-arm by @Mossaka in #17331
- Remove Copilot
--shareflag; use JS log parser for output preview by @Copilot in #17315 - [safeoutputs] Clarify auto-targeting behavior for add_comment, add_labels, and add_reviewer when no workflow context exists by @Copilot in #17350
- fix: add GH_AW_WORKFLOW_ID_SANITIZED to update_cache_memory job env by @Copilot in #17349
- Allow GFM inline HTML tags in update-issue body sanitization by @Copilot in #17346
- refactor: eliminate duplicate utilities and simplify engine domain API by @Copilot in #17348
- [WIP] Implement core global object shim for JavaScript files by @Copilot in #17353
- Apply documentation site CSS styles to slides by @Copilot in #17367
- 🔧 Fix base ref to use
github.base_ref || github.ref_namein all workflows by @dsyme in #17370 - Update slides: Research Preview → Technical Preview by @Copilot in #17369
- fix: improve slides contrast and font sizes by @Copilot in #17372
- 🔧 Fix expression replacement to handle all occurrences by @dsyme in #17330
Full Changelog: v0.47.5...v0.47.6