chore: release v0.25.0#2164
Conversation
Bump apm-cli and the lockfile to 0.25.0, move sanitized user-facing changes into the dated changelog section, and confirm the CI lint mirror passes. Post-merge: tag v0.25.0 to trigger the release workflow. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 425fcf34-8659-4f23-a91e-a5a590208239
Docs sync advisoryVerdict: no_change * Pages affected: 0 * LLM calls: 1/15 * Took: 1s SummaryNo documentation changes are needed for this release-preparation PR. All three changed files -- How this advisory was produced
This is an advisory comment from the Re-run by removing and re-applying the |
There was a problem hiding this comment.
Pull request overview
Prepares the v0.25.0 release by moving the user-facing notes into a dated changelog section and aligning the package version across the Python project metadata and uv lockfile.
Changes:
- Added a
0.25.0dated section toCHANGELOG.mdand left[Unreleased]empty for the next cycle. - Bumped
apm-cliversion to0.25.0inpyproject.toml. - Updated
uv.lockto reflectapm-cli==0.25.0(and refreshed some lock metadata).
Show a summary per file
| File | Description |
|---|---|
| CHANGELOG.md | Adds the 0.25.0 release section and reorganizes entries into Added/Changed/Fixed/Performance. |
| pyproject.toml | Updates the package version from 0.24.1 to 0.25.0. |
| uv.lock | Updates the editable apm-cli version to 0.25.0 and refreshes dependency metadata for at least exceptiongroup. |
Review details
- Files reviewed: 2/3 changed files
- Comments generated: 3
- Review effort level: Low
| - Azure DevOps marketplace checks now preserve suffix-free `/_git/<repo>` URLs | ||
| and pass Azure CLI bearer authentication through to `git ls-remote`. | ||
| (closes #2119, #2121) |
| - `apm install` now removes stale deployment records for inactive targets, so | ||
| fresh checkouts can return `apm audit --ci` to green. (by @edenfunf, closes | ||
| #2059, #2114) |
| - `apm install --target intellij` now configures JetBrains Copilot MCP support | ||
| while routing package file primitives through the Copilot profile. | ||
| (by @sergio-sisternes-epam; closes #1957) (#2041) | ||
| - Global Claude installs now support an absolute `CLAUDE_CONFIG_DIR` outside | ||
| `HOME` without leaving a partial deployment. (closes #2129) (#2135) | ||
| - Azure DevOps marketplace checks now preserve suffix-free `/_git/<repo>` URLs | ||
| and pass Azure CLI bearer authentication through to `git ls-remote`. (closes #2119) | ||
| - `apm pack` now treats `.apm/` as the authoritative local source, warns on | ||
| mixed layouts, and enforces explicit `includes:` lists exhaustively while | ||
| preserving root-only Claude plugin directories, including after `apm init`. | ||
| (#2122) | ||
| (by @sergio-sisternes-epam, closes #1957, #2041) |
Define the evidence-backed grouping and validation contract for restoring every issue closed by PR #2155 to the v0.25.0 changelog. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 425fcf34-8659-4f23-a91e-a5a590208239
Plan the issue-set validation, grouped changelog rewrite, PR body synchronization, and release-gate checks for #2155. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 425fcf34-8659-4f23-a91e-a5a590208239
Expand PR #2155 into grouped user outcomes and link every issue it closed. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 425fcf34-8659-4f23-a91e-a5a590208239
Remove the repository-local superpowers planning tree and ignore future local planning artifacts. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com> Copilot-Session: 425fcf34-8659-4f23-a91e-a5a590208239
ship(release): prepare v0.25.0
TL;DR
Cut release 0.25.0 from the 11 pull requests merged after v0.24.1.
This PR moves the user-facing changes into a dated changelog section,
updates the project and lockfile versions, and leaves tagging as the
post-merge human gate. The complete CI lint mirror is green locally.
Important
This PR stops before tagging. After merge, tag
v0.25.0to triggerthe release workflow.
Problem (WHY)
pyproject.tomland the editableapm-clipackage inuv.lockstill reported
0.24.1, so the next build needed one authoritativeversion transition.
surfaces. The release rubric maps
"ANY PR added a NEW supported target / adapter / integration host"
to a MINOR bump.
Compressing them into one broad entry removed the connection between
community reports and shipped outcomes, so this release preserves grouped
entries for each outcome family.
Why these matter: Agent Skills defines the validation loop as
"The pattern is: do the work, run a validator (a script, a reference checklist, or a self-check), fix any issues, and repeat until validation passes."
The release range, version decision, lockfile refresh, and lint result
therefore come from repository scripts and Git evidence rather than recall.
Approach (WHAT)
v0.24.1..HEADfrom Git history and GitHub metadata.0.25.0because Row 6 of the release rubric fires; reject0.24.2because a patch would understate new integration surfaces.[Unreleased]as[0.25.0] - 2026-07-12, keep concise entriesfor normal PRs, and preserve 11 grouped user-outcome entries for refactor(core): consolidate red-team lifecycle fixes behind canonical owners #2155 with
all 24 closed issues linked.
pyproject.tomlanduv.lockmove together, then pass every CI lint guard before opening the PR.
Implementation (HOW)
CHANGELOG.md[Unreleased]placeholder and credits external contributors.pyproject.toml0.24.1to0.25.0.uv.lockapm-cliversion and refreshes the existingexceptiongroupmarker metadata throughuv lock.Diagrams
Legend: the dashed nodes are the release-preparation steps in this PR;
the final tag remains outside the PR as a human-controlled action.
flowchart LR subgraph Inputs[Release inputs] P["11 merged PR records"] C["CHANGELOG.md Unreleased"] V["pyproject.toml version 0.24.1"] end subgraph Prep[Release preparation] S["Sanitize user-facing entries"] B["Bump version to 0.25.0"] L["Regenerate uv.lock"] G["Run CI lint mirror"] end subgraph Gate[Human release gate] R["Release PR"] T["Tag v0.25.0 after merge"] end P --> S C --> S V --> B B --> L S --> G L --> G G --> R R --> T classDef new stroke-dasharray: 5 5; class S,B,L,G,R new;Trade-offs
0.25.0; rejected0.24.2because supported policy and compile-target surfaces make Row 6 the
highest applicable release signal.
entries because one unusually broad PR closed 24 distinct issues; rejected
one mega-entry and 24 repetitive entries because neither is traceable and
scannable.
v0.25.0tag; rejected tagging from this branch because the releaseworkflow intentionally starts only after maintainer approval.
bump with no runtime behavior change; the rubric's pure asset-bump
skip applies.
Benefits
0.25.0appears consistently in both package version authorities.user-visible changelog outcome.
[Unreleased]section.v0.25.0.Why MINOR (0.25.0), not PATCH (0.24.2)
MINOR because this cycle expands supported policy and compile target
integrations, adds contributor-dashboard workflows, and ships user-facing
reliability and performance fixes. No
**BREAKING:**marker appears inthe release range, so a major escalation is not warranted on the pre-1.0
line.
Validation
CI lint mirror
./.agents/skills/cut-release/scripts/verify-lint-mirror.sh:The YAML I/O, 2100-line source-file, and raw
str(relative_to())guards also completed with no findings.
Scenario Evidence
Skipped under the pure asset-bump clause: this PR changes release notes,
package metadata, and lock metadata without changing runtime behavior.
How to test
pyproject.tomlreportsversion = "0.25.0".apm-clipackage inuv.lockreportsversion = "0.25.0".CHANGELOG.mdand confirm[Unreleased]is empty above[0.25.0] - 2026-07-12../.agents/skills/cut-release/scripts/verify-lint-mirror.shand observe four PASS rows plus the final success line.
Post-merge
Tag
v0.25.0to trigger the release workflow:Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com