# Release Notes ## Unreleased ## 0.6.0 - 2026-07-16 ### Added - Complete iOS and iPadOS 27 beta 3 rule catalog, including current Siri, Shortcuts, App Intents, Foundation Models, CoreAI, SwiftUI, UIKit, Background Assets, and document-model changes. - Ten low-noise iOS 27 Swift diagnostics with evidence-aware advisory status and two deterministic SwiftUI API migrations shared by the CLI and Xcode extension. - Xcode 27 beta 3 build-configuration analysis, duplicate Clang module detection, and bounded Swift test repetition helpers. - App Store Connect API 4.4.1 migration analysis for versioned commerce metadata and social-media age-rating attributes. - Accessibility Nutrition Label common-task matrices and Markdown proof reports. - Hosted MCP support for both legacy initialization and the stateless `2026-07-28` release candidate. - Node 24/26, Python 3.14/3.15, Xcode 27, and MCP v2 compatibility canaries, plus a TypeScript 7 compiler API canary that records the current upstream package-entry migration blocker without weakening supported TypeScript 6 release gates. - Brownfield benchmark v3 with 38 paired cases across 10 categories. ### Changed - All compact MCP tool cards now state how non-obvious inputs interact, which defaults matter, when a sibling tool is more appropriate, and what local or network effects can occur. - npm artifacts, all Python extras, wheel/source distributions, and the hosted Worker are audited and smoke-tested as coordinated release gates. ### Fixed - The hosted MCP server now deploys and verifies from the release workflow, so package, server, tool, and prompt versions cannot silently drift. - Python MCP startup now uses the stable SDK's supported stdio context and server-run boundary across both console entrypoints. - The WWDC SDK scanner no longer follows compatibility symlinks or performs an unbounded recursive walk. - Private Cloud Compute simulator guidance now reflects the issue Apple marked resolved in beta 3, while the active greedy-decoding workaround is generated. ## 0.5.2 - 2026-07-11 The Python MCP console entrypoint now crosses the async stdio boundary through `asyncio.run(...)` instead of returning an un-awaited coroutine and exiting. Installed-package tests protect the synchronous console-entrypoint contract. Why it matters: a successful Python package install now starts the MCP server through the same path users invoke from their host configuration. ## 0.5.1 - 2026-07-11 ### Added - `axint prove` discovers an Apple project, checks Swift, runs the available Xcode build and tests, reconciles evidence, and writes a compact signed receipt. - Proof receipts use canonical JSON, SHA-256 payload and artifact hashes, and Ed25519 signatures with local or managed signing identities. - Finding-level feedback records source-free review decisions while preserving stronger compiler-confirmed evidence. - `axint prove --fix` applies only supported deterministic rewrites and reruns the proof loop. - Brownfield benchmark v2 covers labeled precision, recall, and abstention cases with source hashes and release thresholds. - Source-free proof-outcome learning records gate decisions, diagnostic codes, repair results, and evidence without project source. ### Fixed - Dry-run Xcode commands are marked skipped and cannot be mistaken for passing build or test evidence. - Projects without test targets can prove a build without misclassifying the absent test action as a product failure. Why it matters: existing Apple projects can produce a portable proof artifact from one local command, while static findings remain subordinate to real Apple tooling evidence. ## 0.5.0 - 2026-07-10 ### Added - Evidence-aware Swift findings now carry confidence, status, blocking behavior, provenance, and supporting or contradicting evidence. - Xcode reconciliation can confirm matching findings or suppress compiler-shaped claims contradicted by a successful selected build. - Minimal existing-project mode provides a local, non-mutating check with no network, generated source, project instructions, memory installation, automatic fixes, or persistent Axint state. - The reproducible brownfield benchmark measures precision, recall, and clean-project abstention. ### Changed - Fix Packets expose evidence state and gate on active blocking findings instead of raw severity alone. - CLI and MCP run contracts share integration, locality, advisory, fix, and output-directory controls. - Product positioning makes generation optional for existing Swift projects and centers proof and repair. Why it matters: compiler truth can now override a confident heuristic, making Axint more appropriate for mature Swift projects where false positives carry a real review cost. ## 2026-07-07 — Apple platform refresh and marketplace validation This release consolidates the July Apple modernization work, the marketplace manifest fix reported by Anthropic, and the final open dependency PR so main is clean before publishing. ### Added - A typed Apple capability registry for iOS, iPadOS, macOS, watchOS, and visionOS 27-era App Intents, AppIntentsTesting, Foundation Models, Core AI, BackgroundTasks, MetricKit, SwiftUI, WidgetKit, and Xcode surfaces. - iOS 27 Beta 3 readiness rules for Siri/App Intents schema renames, EntityStringQuery resolution, UnionValue edge cases, WidgetKit configuration risk, Photos transfer imports, UIKit drag-resource loading, Core AI background inference entitlement proof, Foundation Models PCC/tool-calling caveats, launch screens, scene lifecycle, and MetricKit migration. - UnionValue and App Intent-backed WidgetKit configuration support across TypeScript, Python, schema compile, generator, validator, and MCP paths. - Foundation Models and Apple Intelligence proof helpers, privacy-manifest helpers, richer Apple view blueprints, and a detailed platform audit roadmap. ### Changed - Public truth advances to v0.4.34 with 36 MCP tools, 5 prompts, 225 diagnostic codes, 1467 tests, 58 live packages, and 53 bundled templates. - The WWDC nightly workflow now uses `actions/cache@v6` after refreshed CI and CodeQL checks. ### Fixed - The community plugin manifest now validates with an object-shaped `mcpServers` block, required skill frontmatter, and regression coverage. ## 2026-06-25 — AppIntentsTesting harness and Apple Intelligence proof gaps This release keeps the repo clean after the Dependabot sweep and ships the remaining WWDC26 proof surfaces that were still only partially covered. ### Added - `axint appintents test ` generates a Swift Testing/AppIntentsTesting readiness harness from existing App Intent and App Entity source. - `generateAppIntentsTestingHarness` is exported for agents and tooling that want the same harness without shelling out to the CLI. - Cloud Check now flags generated `UUID()` entity ids and thin AppEntity metadata before entities are exposed to Shortcuts Use Model transcripts. - Cloud Check now asks Foundation Models tool-calling sessions for dynamic profile boundaries, evaluation coverage, and Private Cloud Compute fallback/quota proof. - Cloud Check now asks Core AI code for deployment and model-availability proof and flags `ImageCreator` usage as a migration risk. - `shortcuts-use-model-entity`, `foundation-model-evaluation`, and `core-ai-local-model` join the bundled template registry. ## 2026-06-16 — SwiftUI container interactions and Dynamic Profile proof This release picks up two lower-noise WWDC26 signals that matter for real app work: SwiftUI custom containers no longer need to fall back to `List` just to get native swipe actions, and Foundation Models Dynamic Profiles need proof that the selected model/tools/instructions actually changed. ### Added - `swiftui-reorderable-swipe-container` template: a compileable proof scaffold with SwiftUI notes for `ScrollView`, `LazyVStack`, `reorderable()`, `reorderContainer(...)`, and `swipeActionsContainer()`. - Cloud Check diagnostic `AXCLOUD-WWDC26-SWIFTUI-SWIPE-CONTAINER`, which points SwiftUI views using `List` plus `.swipeActions` toward the WWDC26 custom container path when appropriate. - Stronger Dynamic Profile template cues for selected-profile logging, `LanguageModelSession` tools, transcript metadata, and profile-switch proof. ## 2026-06-15 — Siri/App Schema readiness and Foundation Models safety proof This release tightens the WWDC26 path Apple just made more important: schema-backed App Intents, Siri/App Schema readiness, and Foundation Models tool-calling proof. ### Added - TypeScript and JSON IR can now preserve WWDC26 entity continuity fields: `ValueRepresentation(...)`, `RelevantEntities` contexts, and `EntityCollection` parameters. - The Swift generator emits `RelevantEntities.shared.updateEntities` and `removeAllEntities` helpers when an entity declares AppEntity contexts. - Cloud Check adds a Siri/App Schema readiness coverage row for App Schema, entity continuity, RelevantEntities, EntityCollection, ExecutionTargets, Foundation Models proof, and security boundaries. - Cloud Check now flags missing confirmation, authorization, prompt-injection, and data-boundary proof on sensitive schema-backed App Intents and Foundation Models flows. - The `foundation-model-tool` template now includes concrete tool-calling, prompt-version, transcript, and redaction proof cues. ## 2026-06-10 — First-hour polish: validated defaults, diagnostic spans, quieter pipes This release closes the gap between "validated Swift" and what a cold user actually sees in their first hour: a default/type mismatch can no longer sail through a green check, diagnostics point at the exact line and column with a source excerpt, and piped output stays clean for agents. ### Added - AX127 rejects param defaults that disagree with the declared type — both `axint validate` and `axint compile` stop before emit and suggest the concrete fix. Every param type is covered; date and duration params reject literal defaults outright. - TS diagnostics print `--> file.ts:line:col` plus a caret-underlined source excerpt; JSON output gains additive `line` and `column` fields. - `axint compile` prints a one-line note when a TS `perform` body is discarded into the Swift stub. ### Changed - `axint --help` leads with a Core section of hero commands and groups the rest under Authoring, Registry & cloud, and Project & agents. - Successful runs no longer print Fix Packet paths or the sign-in tip (`--verbose` restores them), and ANSI color turns off for non-TTY output and `NO_COLOR`. - `axint.suggest` maps consumer phrases like "habit tracker with streaks" onto the stock health/productivity/finance domains and writes a distinct rationale for every suggestion in a plan. - The default MCP manifest drops to ~40 KB (about 45% smaller) with hero tools listed first; `AXINT_MCP_MANIFEST_MODE=full` keeps the full prose. - `param.url` and array defaults now emit compilable Swift (`URL(string: "...")!`, array literals). - Public truth advances to v0.4.32 with 36 MCP tools, 5 prompts, 217 diagnostic codes, 1426 tests, 58 live packages, and 49 bundled templates. ### Fixed - AX849 attributes a missing `return` to the offending computed property instead of the stored property above it. ## 2026-06-10 — Provider fallback templates and compiler-parity diagnostics This release ships the WWDC26 custom LanguageModel provider and App Intents testing templates, plus two Swift validator checks that catch real Xcode build failures before the build. ### Added - `foundation-models-custom-provider` template: a session backed by a custom LanguageModel provider with an on-device fallback profile. - `app-intents-testing-harness` template: an intent plus an AppIntentsTesting XCTest harness that drives `perform()` with sample inputs behind a `canImport` guard. - `dynamic-profile-session` template: a Foundation Models session that selects a DynamicProfile per request context. - `testHarness` config on `defineIntent` for emitting the XCTest harness from any intent definition. - AX849 flags computed properties that declare locals but never return the final expression. - AX860 flags `switch self` statements that omit a declared enum case without a `default` branch. - `axint.suggest` routes Axint dogfood prompts to a dedicated `axint-dogfood` plan instead of generic app-feature suggestions. ### Changed - Public-facing copy now says "audit-grade" and "production readiness" instead of fundraising vocabulary. - Public truth advances to v0.4.31 with 36 MCP tools, 5 prompts, 216 diagnostic codes, 1377 tests, 58 live packages, and 49 bundled templates. ## 2026-06-08 — WWDC26 compiler support This release adds the first Axint compiler support for the Xcode 27 / WWDC26 Apple Intelligence and App Intents changes. ### Added - App schema support for `@AppIntent(schema:)`, `@AppEntity(schema:)`, and `@AppEnum(schema:)`. - Schema domain catalog types and SDK exports for Apple Intelligence era App Intents. - Entity metadata for syncable, indexed, indexed query, ownership, and intent value representation flows. - Intent metadata for schema domains, schema names, protocol conformances, supported modes, and allowed execution targets. - P1 templates and examples for long-running progress, snippets, system shortcut bridges, entity collection search, and union value routing. - Cloud Check diagnostics for WWDC26 schema, entity, model, long-running, snippet, and union proof gaps. ### Changed - Public truth advances to v0.4.30 with 36 MCP tools, 5 prompts, 214 diagnostic codes, 1350 tests, 58 live packages, and 34 bundled templates. ## 2026-05-24 — Dogfood routing and release-readiness patch This patch ships the Cadabra dogfood fixes needed before the next large build run. ### Fixed - `axint.suggest` now routes product hierarchy prompts into a dedicated `product-hierarchy` plan instead of collapsing launch promise, public vocabulary, default lanes, feedback buttons, and hidden advanced controls into generic Magic Pass controls. - `axint.suggest` now treats provider-output quality rescue prompts as proof-first provider repair work, not fake new feature generation. - Cloud Check now classifies Xcode code-signing failures caused by resource forks, FinderInfo, or FileProvider metadata and points the repair to `/tmp` DerivedData, `xattr -cr`, and `COPYFILE_DISABLE=1`. ### Changed - Public truth advances to v0.4.29 with 36 MCP tools, 5 prompts, 204 diagnostic codes, 1341 tests, and 26 bundled templates. ## 2026-05-08 — Activation proof and first-use funnel This release closes the biggest dogfooding ambiguity: a server-start event proves that an MCP host launched Axint, but it does not prove the user got value from Axint. ### Added - `axint activate` - Runs a source-free compiler smoke test. - Returns `status: ok` and `signal: axint_activated` when the package can produce real Axint output. - Gives terminal users a one-command proof path immediately after install. - `axint.activate` - MCP equivalent for compatible coding agents, editors, Xcode, and other MCP hosts. - Lets an agent prove the server is not merely running, but actually useful. - Activation telemetry - Emits setup initialization separately from activation. - Treats activation and completed CLI/MCP work as first-value proof. - `npm run install:gauntlet` - Packs the current build into the same tarball shape npm will publish. - Installs that tarball into a fresh temporary project. - Verifies `axint activate` through both local dist and packed install. - Checks that `create-axint-app --no-install` writes the launchpad proof files. ### Changed - Status, doctor, upgrade, Xcode setup, MCP prompts, rehydration files, project start packs, README, and website install prompts now point agents to `axint activate` / `axint.activate` after setup. - Public truth advances to v0.4.28 with 36 MCP tools, 5 prompts, 204 diagnostic codes, 1341 tests, and 26 bundled templates. ### Why it matters Pulse can now answer the question that promotion raised: did someone just start the server, or did Axint return first value? ## 2026-05-06 — MCP Marketplace scoring and packaged dependency hardening This patch improves the public MCP marketplace surface after Glama accepted the runtime container but scored individual tools too low on behavior, usage guidance, and parameter clarity. ### Changed - Runtime MCP tool descriptions now include explicit `Use:` guidance and `Effects:` behavior notes by default. - Compact parameter descriptions are longer so defaults, constraints, and file/network side effects survive marketplace inspection. - The MCP SDK is bundled into Axint's compiled MCP and CLI entrypoints, keeping the published package install tree small and scanner-clean. ### Fixed - Fresh downstream npm installs no longer inherit the MCP SDK's vulnerable `express-rate-limit -> ip-address@10.1.0` transitive scanner path. - `@axint/compiler/mcp` remains importable while `node dist/mcp/index.js` continues to satisfy Glama-style `mcp-proxy` launch specs. ## 2026-05-06 — Glama MCP entrypoint compatibility This patch fixes the container launch path used by Glama and other MCP marketplaces that execute the package MCP export file directly. ### Fixed - `node dist/mcp/index.js` now starts the stdio MCP server when executed directly, matching `mcp-proxy -- node dist/mcp/index.js` launch specs. - `@axint/compiler/mcp` remains import-safe for SDK consumers and tests. - Added a regression test so the direct entrypoint cannot silently become export-only again. ## 2026-05-06 — pnpm lockfile security parity This patch closes the remaining scanner gap after the MCP SDK and npm lockfile were already clean. ### Fixed - `pnpm-lock.yaml` now resolves `ip-address` through the safe `10.2.x` line. - `package.json` includes a matching pnpm override so future lockfile refreshes do not reintroduce the stale vulnerable path. - Public truth advances to v0.4.25 with the same 35-tool MCP surface introduced in v0.4.24. ## 2026-05-06 — Project-pack version sync and MCP Marketplace hardening This release tightens the upgrade story. When Axint updates inside a long-running agent workflow, the package version, MCP server version, and local project-pack truth need to agree. ### Added - `axint project sync-version` - Updates Axint-owned project version hints after an upgrade. - Refreshes `.axint/project.json`, `AGENTS.md`, `CLAUDE.md`, and the Axint-owned `.axint` memory/rehydration/docs files. - Leaves unrelated user-authored notes alone unless they match a known Axint version marker. - Supports `--dry-run`, `--version`, `--dir`, and `--format json`. - `axint.project.syncVersion` - MCP equivalent for agents that need to refresh stale project-pack truth without leaving the active thread. ### Fixed - MCP Marketplace package scanners now see the patched MCP SDK path and the safe `ip-address` resolution. - Same-thread upgrades no longer leave the local project pack telling agents to expect the previous Axint version. ## 2026-05-05 — Create Axint App Day Agent launchpad This release wave turns first use into something developers can demo, screenshot, run locally, and hand to an AI agent without extra setup. ### Added - `axint create` - Creates a premium Apple-native launchpad for AI coding agents. - Defaults to a Day Agent starter backed by Create Event, Create Reminder, and Check Weather App Intent templates. - Writes the same compiler-ready project skeleton as `axint init`, plus proof, prompt, demo, SwiftUI app, and share artifacts. - `create-axint-app` - Added as a bin alias that routes into `axint create`. - Gives docs, demos, and launch content a single memorable command path. - Launchpad artifacts - `.axint/START_HERE.md` gives the agent a grounded proof loop before it edits anything. - Tool-specific files in `.axint/agent-prompts/` give each coding agent the same Apple-native repair contract. - `ios/App/DayDashboardView.swift` gives the starter a realistic SwiftUI mini app shell. - `ios/Preview/CalendarCommandCenter.swift` keeps a compact companion surface available for quick Xcode previews. - `share/built-with-axint.html` gives the user an interactive local proof preview with app shell, contracts, generated Swift, and Axint proof. ### Why it matters The first run should not look like a generic scaffold or a static poster. It should prove the core Axint promise: AI writes Apple-native contracts, Axint compiles and validates them, the user sees a real mini app surface, and the agent gets a concrete repair loop instead of guessing through Swift. ## 2026-04-29 — Agent-aware run loop and first-use wow fixture This release wave makes Axint feel more like a project brain for Apple-native agents instead of a set of separate commands. ### Added - `axint init --apple-project` - Initializes Axint inside an existing Apple/Xcode project. - Writes the project start pack and installs the local multi-agent brain in one command. - `axint run --agent ` - Starts the run with the active supported coding-agent, cowork, Xcode, or all-host lane. - Returns host-safe repair guidance instead of generic “try this” instructions. - `axint.agent.*` - Installs `.axint/agent.json`, project context, local file claims, and a coordination ledger. - Gives coding agents, Xcode, and humans one shared local truth layer. - `axint memory index` - Writes `.axint/memory/latest.json` and `.axint/memory/latest.md` from project context, latest run proof, latest repair packet, and source-free learning packets. - Gives agents a compact project memory after context compaction or when multiple tools are working in the same project. - `examples/wow/composer-blocker` - A small SwiftUI interaction-repair fixture where an invisible overlay blocks a composer text field. - Includes a focused UI-test failure log so Axint can demonstrate project-aware diagnosis without private dogfooding notes. ### Improved - `axint.run` now embeds the active agent profile in markdown, JSON, and repair-prompt output. - `axint.run` now accepts MCP-style CLI aliases such as `--cwd`, `--modified`, `--modified-files`, and `--project-name` so fallback commands work when MCP transport is closed. - `axint.run` now writes privacy-safe Cloud learning packets from Cloud Check signals to `.axint/feedback`. - Compact JSON keeps the important verdict, diagnostics, artifact paths, agent lane, and next moves visible while still omitting source by default. - The repair prompt now includes the host lane, local brain status, file-claim guidance, and the smallest proof loop to rerun next. - Direct Cloud Check no longer treats prose-only SwiftUI behavior notes as runtime proof. View/app checks stay at `evidence_required` until build, UI-test, runtime, or `axint run` evidence is supplied. - Swift validation adds `AX767` for non-`@ViewBuilder` `some View` helpers that declare locals but forget an explicit `return`. - Generation self-audit adds `AX855` so existing-app UI generation refuses to invent a requested project token namespace that is not present in the supplied context. - `axint mcp recover` gives agents a same-thread fallback packet when MCP transport closes, including version proof, context-recovery commands, and the next CLI run command. - `axint.run` now classifies Xcode runner-health failures separately from app failures, including UI automation startup failures and hosted macOS `--only-testing` timeouts before assertions. - Cloud Check downgrades pending UI/runtime proof instead of treating build-only evidence plus prose as ready to ship. - Swift validation adds `AX768` for same-target changed files that reference members not declared on the known type. - The `.axint` language now has safe public-page manifest plumbing for `page` and `module` declarations, so future registry/profile surfaces can be rendered by a host without accepting arbitrary web code. ### Why it matters The first-use story is now clearer: 1. Point Axint at an existing Apple project. 2. Let Axint index the app and install the local project brain. 3. Ask any configured coding agent, Xcode, or the terminal for the same repair loop. 4. Run focused proof and keep the result in `.axint/run/latest.*`. ## 2026-04-20 — Xcode repair loop and Apple coverage expansion This release wave sharpens the Xcode workflow and expands Apple-native Swift coverage in places where generic coding assistants usually feel soft. ### Added - `latest.check.json` / `latest.check.md` - Every compile, watch, and validate-swift run now emits a lightweight Axint Check verdict next to the richer Fix Packet - The summary leads with pass / needs review / fail, top findings, and the next step instead of dropping straight into raw packet detail - `axint xcode check` - Reads the latest Xcode-side Axint Check from DerivedData or a plugin work directory - Can print markdown, raw JSON, or the AI repair prompt directly - `axint xcode packet` - Reads the latest Fix Packet from Xcode DerivedData or a plugin work directory - Can print markdown, raw JSON, the AI repair prompt, or the packet path - New Swift diagnostics: - `AX716` — missing `import AppIntents` - `AX717` — missing `import WidgetKit` - `AX718` — missing `import SwiftUI` - `AX719` — AppIntent inputs missing `@Parameter` - New intent-validation diagnostics: - `AX114` — HealthKit entitlement declared without matching privacy usage descriptions - `AX115` — HealthKit privacy usage descriptions declared without the HealthKit entitlement - `AX116` — privacy usage description is empty or still placeholder copy - `AX117` — probable HealthKit entitlement shorthand instead of the real Apple entitlement key - `AX118` — probable HealthKit plist shorthand instead of Apple's real usage-description keys - New safe repair coverage: - insert missing Apple framework imports - inject missing `TimelineProvider` stubs - inject missing `appShortcuts` into `AppShortcutsProvider` - rewrite `lazy var` inside actors to `var` - rewrite `Task.detached {}` to `Task {}` ### Improved - Compile, watch, and validate-swift now share one repair-artifact emission path, so the lightweight verdict summary and the full packet stay in lockstep instead of drifting across CLI surfaces - Xcode docs now explain the `build -> packet -> fix -> rerun` loop directly - Xcode docs now also explain the `build -> check -> packet -> fix -> rerun` loop so the Apple workflow starts with the simple verdict before it expands into repair detail - Fix Packets now carry a low-confidence signal for Swift files that Axint does not recognize as supported Apple-native surfaces - Fix Packets now read like a structured Apple repair brief instead of a flat error dump: - `What broke` - `Why it matters` - `Make this change` - generated artifact hints for Swift, plist, and entitlements when available - Metrics now expose Xcode fix rule counts and names so coverage can be tracked more explicitly - Intent validation now catches a common App Review / HealthKit setup failure before you leave the compiler loop - The bundled examples are now part of the proof surface: they compile in CI, and the HealthKit example shows the same entitlement + privacy contract the validator enforces - The Python SDK now accepts real Info.plist usage-description copy, ships a HealthKit example, and mirrors the HealthKit/privacy diagnostics that landed in TypeScript - The compiler now keeps a real Cloud HealthKit failure as a regression test, so shorthand entitlement/plist mistakes stay actionable instead of drifting back to generic warnings ### Why it matters The goal is not just “more errors.” The goal is a tighter Apple-native repair loop: 1. Build or validate 2. Read one repair packet 3. Hand the prompt to your AI tool or use it directly in Xcode 4. Rerun until the result is clean