Summary
- Total Breaking Changes: 1
- Severity: HIGH
- Commits Analyzed: 1
- Status: ⚠️ Requires Immediate Review
Critical Breaking Changes
| Commit |
File |
Category |
Change |
Impact |
| bb2a018 |
.changeset/major-remove-imports-if.md + pkg/workflow/ |
Schema Change |
Removed if condition support from imports: frontmatter entries |
Any workflow using imports: [{path: ..., if: ...}] will now fail to compile |
Full Code Diff Analysis
Detailed Commit Analysis
Commit: bb2a018 — Fix apply_samples cross-repo subdirectory patch staging (#40086) (#40087)
Author: Don Syme
Date: 2026-06-18
Alongside the primary bug fix, this commit introduced a major schema breaking change via the changeset major-remove-imports-if.md.
What changed:
imports: entries in workflow frontmatter no longer accept an if condition.
- Schema validation now rejects
imports entries with an if field (error: "Unknown property: if").
- A migration guard also rejects it with error:
"import 'if' is no longer supported".
- Tests explicitly assert that
CompileWorkflow fails with these errors when imports.if is present.
Before (now broken):
imports:
- path: shared/tools.md
if: ${{ experiments.my-experiment }}
After (required):
# Use runtime-import in the workflow body instead:
{{#if experiments.my-experiment}}
{{#runtime-import shared/tools.md}}
{{/if}}
Breaking Change Patterns Detected
- Schema Change: Removing accepted properties from
imports object entries → BREAKING per policy
- Behavior Change: Workflows using
imports.if now fail at compile time instead of being accepted
All Commits Analyzed
| Commit |
Description |
Author |
Relevant Files |
bb2a018 |
Fix apply_samples cross-repo subdirectory patch staging (#40086) (#40087) |
Don Syme |
2248 Go files + schema/changeset files |
Action Checklist
Complete the following items to address these breaking changes:
Recommendations
Version bump: This change requires a major semver bump (breaking change).
Migration steps for users:
- Search workflows for
imports: entries containing if: conditions.
- Replace with
{{#if experiments.<name>}} + {{#runtime-import ...}} template conditionals in the workflow body.
- Recompile all affected workflows with
gh aw compile.
Reason for removal: Conditional imports could change workflow setup and security posture at runtime, creating unpredictable behavior and potential security issues.
Reference
See scratchpad/breaking-cli-rules.md for the complete breaking change policy.
Once all checklist items are complete, close this issue.
⚠️ Compatibility report by Breaking Change Checker · ◷
Summary
Critical Breaking Changes
.changeset/major-remove-imports-if.md+pkg/workflow/ifcondition support fromimports:frontmatter entriesimports: [{path: ..., if: ...}]will now fail to compileFull Code Diff Analysis
Detailed Commit Analysis
Commit:
bb2a018— Fix apply_samples cross-repo subdirectory patch staging (#40086) (#40087)Author: Don Syme
Date: 2026-06-18
Alongside the primary bug fix, this commit introduced a major schema breaking change via the changeset
major-remove-imports-if.md.What changed:
imports:entries in workflow frontmatter no longer accept anifcondition.importsentries with aniffield (error:"Unknown property: if")."import 'if' is no longer supported".CompileWorkflowfails with these errors whenimports.ifis present.Before (now broken):
After (required):
Breaking Change Patterns Detected
importsobject entries → BREAKING per policyimports.ifnow fail at compile time instead of being acceptedAll Commits Analyzed
bb2a018Action Checklist
Complete the following items to address these breaking changes:
.changeset/directory - ✅ Already created:.changeset/major-remove-imports-if.mdwithmajorbump typeimports.ifsupportRecommendations
Version bump: This change requires a major semver bump (breaking change).
Migration steps for users:
imports:entries containingif:conditions.{{#if experiments.<name>}}+{{#runtime-import ...}}template conditionals in the workflow body.gh aw compile.Reason for removal: Conditional imports could change workflow setup and security posture at runtime, creating unpredictable behavior and potential security issues.
Reference
See scratchpad/breaking-cli-rules.md for the complete breaking change policy.
Once all checklist items are complete, close this issue.