chore(release): 0.9.3#950
Conversation
Bumps version to 0.9.3 and finalizes the CHANGELOG entry. Every line in the new section is rewritten to answer 'so what' for users instead of restating internals. Skipped: dependabot bumps and changelog housekeeping PRs per repo convention. Milestone 0.9.3 closed (3 delivered). Undelivered issues #916, #913, #898 bumped to new milestone 0.9.4. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
There was a problem hiding this comment.
Pull request overview
Mechanical release PR to cut APM CLI v0.9.3 by downgrading the Python package version and finalizing the v0.9.3 changelog section.
Changes:
- Update
apm-cliversion0.10.0 -> 0.9.3in project metadata. - Regenerate
uv.lockto reflect the version change. - Finalize
CHANGELOG.mdby moving entries into## [0.9.3] - 2026-04-26and resetting## [Unreleased].
Show a summary per file
| File | Description |
|---|---|
| CHANGELOG.md | Moves Unreleased entries into the new 0.9.3 section and resets Unreleased. |
| pyproject.toml | Sets the published Python package version to 0.9.3. |
| uv.lock | Updates the editable apm-cli lock entry to 0.9.3. |
Copilot's findings
- Files reviewed: 2/3 changed files
- Comments generated: 2
| - `includes:` manifest field (`auto` or list) gives you explicit control over which local `.apm/` files are deployed; pair with `policy.manifest.require_explicit_includes` to block silent expansion. Audit raises an `includes-consent` advisory while you migrate. (#887) | ||
| - `apm-triage-panel` skill: three-persona issue triage panel (DevX UX, Supply Chain Security, APM CEO) emitting a single labelled-decision comment, mirroring `apm-review-panel`. (#915) | ||
| - `apm-primitives-architect` persona for designing and critiquing `.apm/` skill bundles, plus a `pr-description-skill` that enforces self-sufficient PR bodies (TL;DR/Problem/Approach/Implementation/Diagrams/Trade-offs/Benefits/Validation/How-to-test) with anchored citations and validated mermaid. (#882, #884) | ||
| - New docs guide [`dev-only-primitives`](https://danielmeppiel.github.io/awd-cli/guides/dev-only-primitives/): canonical pattern for maintainer-only primitives that must not ride into your published bundle. (#949) |
There was a problem hiding this comment.
The release notes link for dev-only-primitives points to https://danielmeppiel.github.io/awd-cli/..., but this repo’s docs canonical base URL is https://microsoft.github.io/apm/ (see README.md). This will 404/misdirect users reading the changelog; please update the link to the APM docs site path for that guide.
| - New docs guide [`dev-only-primitives`](https://danielmeppiel.github.io/awd-cli/guides/dev-only-primitives/): canonical pattern for maintainer-only primitives that must not ride into your published bundle. (#949) | |
| - New docs guide [`dev-only-primitives`](https://microsoft.github.io/apm/guides/dev-only-primitives/): canonical pattern for maintainer-only primitives that must not ride into your published bundle. (#949) |
| [project] | ||
| name = "apm-cli" | ||
| version = "0.10.0" | ||
| version = "0.9.3" |
There was a problem hiding this comment.
This PR bumps the Python package version to 0.9.3, but the repo’s root apm.yml manifest still declares version: 0.10.0 (apm.yml:2). Since APM reads apm.yml version for package identity (e.g., pack/export), cutting a 0.9.3 release with a 0.10.0 manifest version is inconsistent and likely to confuse users/tools. Please align apm.yml version with the release version (or explicitly document why it intentionally differs).
| version = "0.9.3" | |
| version = "0.10.0" |
chore(release): 0.9.3
TL;DR
Cuts APM v0.9.3 from
main. Bumpspyproject.toml0.10.0 -> 0.9.3(the previous0.10.0bump was premature and is being walked back to a patch on the 0.9 line) and locks in the[0.9.3] - 2026-04-26CHANGELOG entry covering 27 user-facing PRs since v0.9.2. Milestone0.9.3closed; undelivered issues bumped to a new0.9.4milestone.Highlights
--target gemini). (feat(gemini): add Gemini CLI as supported target with integration tests #917)apm experimentalopt-in flag system for previewing new behaviour. (feat(cli): apm experimental - feature-flag registry with list/enable/disable/reset #849)apm audit --cinow hash-verifies deployed.apm/content -- hand-edits and config drift fail CI. (feat: close audit-blindness gap for local .apm/ content via virtual self-entry + includes: manifest field #887)apm-triage-panel+apm-primitives-architect+pr-description-skillship as first-party.apm/skills. (feat(skills): add apm-triage-panel for issue triage #915, harden(apm-review-panel): one-comment discipline + Hybrid E auth routing + apm-primitives-architect persona #882, add(skills): pr-description-skill -- anchored, self-sufficient PR bodies for microsoft/apm #884)apm-review-panelwith CEO-synthesized verdict and Hybrid E auth routing -- no more per-persona spam. (harden(apm-review-panel): one-comment discipline + Hybrid E auth routing + apm-primitives-architect persona #882, chore(panel-review): tighten one-comment contract; safety cap 1 -> 7 #905, fix(panel-review): orchestrator self-arbitrates and emits in skill contract #907, fix(apm-review-panel): restore in-context persona model (per agentskills.io) #908)apm-actionv1.4.2: fixes restore-mode workspace pollution that was overwriting trackedapm.lock.yaml/apm.yml. (chore: bump shared/apm.md to microsoft/apm-action@v1.4.2 #904)apm updatenow works on Debian trixie arm64 / Fedora 43 (PyInstallerLD_LIBRARY_PATHno longer leaks to systemcurl/tar). (fix(update): sanitise env before spawning installer #899)[x]exit 1 instead of silent. (fix(install): route HYBRID and CLAUDE_SKILL packages through skill-bundle path #946)compilation.excludepruning. (perf(discovery): prune excluded subtrees during traversal #870)Full list in CHANGELOG.md.
Approach
Mechanical release PR. No code changes beyond the version bump and changelog finalization.
CHANGELOG.md[Unreleased]->[0.9.3] - 2026-04-26; every line rewritten to answer "so what" for users instead of restating internals; added entries for #948 and #949; new empty[Unreleased]abovepyproject.tomlversion = "0.10.0"->version = "0.9.3"uv.lockuv syncto reflect the version bumpTrade-offs
0.10.0 -> 0.9.3: rejected leaving0.10.0because nothing in this batch warrants a minor bump per SemVer (additive flags, no behaviour break for existing users). Patch line keeps the door open for0.10.0to mean a real promotion later..github/instructions/changelog.instructions.md.(#882, #905, #907, #908)for the panel-review hardening series) over per-PR lines, to keep the section scannable for users.Milestone reclassification
Milestone
0.9.3closed (3 issues delivered: #886, #883, #684). New milestone0.9.4created and the 3 undelivered issues bumped:Validation
uv syncregenerateduv.lockcleanly (apm-cli 0.9.3confirmed)..github/instructions/changelog.instructions.md.How to ship
v0.9.3onmainand push (the release workflow takes it from there).#apmonce GitHub Release is published.Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com