chore: release v0.16.1#1572
Merged
Merged
Conversation
Two unit tests asserted st_mode & 0o111 == 0o111, which fails on Windows because NTFS does not honor POSIX execute bits. Guard both with pytest.mark.skipif(sys.platform == 'win32'), matching the existing convention used elsewhere in the suite. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
scripts/test-integration.sh runs under `set -euo pipefail`. On macOS
the default /bin/bash is 3.2, where expanding an empty array with a
bare "${arr[@]}" raises an unbound-variable error. Local integration
runs (PYTEST_EXTRA_ARGS unset) aborted before pytest with
'extra_args[@]: unbound variable'. Use the ${arr[@]+"${arr[@]}"}
guard so the empty-array expansion is safe; CI behaviour (with
PYTEST_EXTRA_ARGS set) is unchanged.
Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Roll the [Unreleased] changelog into a dated 0.16.1 block and bump pyproject.toml + uv.lock. Adds the previously-missing user-facing entries for #1539 (apm doctor), #1566, #1569, #1567, #1553, #1552, and #1538 surfaced by enumerating merged PRs since v0.16.0. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Contributor
There was a problem hiding this comment.
Pull request overview
Cuts the v0.16.1 release by bumping the project version and promoting the accumulated user-facing changes into a dated changelog section, while also carrying a couple of CI/test-infra stability fixes.
Changes:
- Bump
apm-cliversion to0.16.1inpyproject.tomlanduv.lock. - Move the prior release notes into
CHANGELOG.mdas## [0.16.1] - 2026-06-01with categorized entries. - Unblock CI/local runs by skipping POSIX execute-bit assertions on Windows and hardening integration test arg passing under
set -u.
Show a summary per file
| File | Description |
|---|---|
uv.lock |
Updates the editable package version entry to 0.16.1. |
pyproject.toml |
Bumps the project version to 0.16.1. |
CHANGELOG.md |
Moves release notes into a new 0.16.1 section dated 2026-06-01. |
tests/unit/test_file_ops.py |
Skips an execute-bit preservation test on Windows where POSIX mode bits are not reliable. |
tests/unit/test_download_strategies.py |
Skips an archive execute-bit preservation test on Windows for the same reason. |
scripts/test-integration.sh |
Avoids unsafe empty-array expansion under set -u when passing optional pytest args. |
Copilot's findings
- Files reviewed: 5/6 changed files
- Comments generated: 1
Comment on lines
+36
to
+42
| - Surface the `compilation.strategy: distributed` default in the | ||
| concepts ramp and `apm compile` reference so users understand why | ||
| `apm compile` may add `AGENTS.md` / `CLAUDE.md` files in | ||
| subdirectories driven by `applyTo:` scopes. Adds a new "Where | ||
| compiled context files land" section to the primitives-and-targets | ||
| page and a distributed-layout example in the compile reference. | ||
| Default behavior is unchanged. (closes #1447) -- by @tillig |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Cut release v0.16.1.
pyproject.tomlto 0.16.1 (anduv.lock).[Unreleased]to[0.16.1] - 2026-06-01inCHANGELOG.md, with one short "so what?" entry per user-facing PR merged since v0.16.0.This branch also carries two test-infra fixes that unblock CI and local integration runs (see commits below); they are internal and intentionally carry no CHANGELOG entry per the release entry-sanitizer.
What's in this release
Enumerated every PR merged since
v0.16.0(2026-05-28) and folded the user-facing ones into the changelog. The prior[Unreleased]block was stale -- it was missing 8 merged user-facing PRs, now added:Added
apm doctortop-level command, promoted frommarketplace doctor(feat(cli): promote 'marketplace doctor' to top-level 'apm doctor' (+ workflow discoverability) #1539)Fixed
--update <pkg>scoping + lockfiledeployed_filesde-dup (fix: dedup deployed_files and scope --update to named packages (closes #1558) #1567)apm uninstallcan remove--devinstalls (fix(uninstall): scan devDependencies.apm so --dev installs can be removed (closes #1549) #1552)Performance
apm installdiscovery memoized; up to 30-40x faster on large repos (perf(install): memoize discovery, drop per-file resolve, expand skip dirs (#1533) #1538)Dropped as internal per the entry-sanitizer DROP list: #1545 (panel workflows), #1531 (docs housekeeping / sidebar IA), #1527 (cut-release skill). #1554 (#1507) and #1536 (#1534) were already represented.
Why PATCH (0.16.1), not MINOR (0.17.0)
Full transparency for the reviewer before tagging: the semver-rubric's Row 2 ("ANY PR added a NEW user-visible CLI command -> MINOR") is technically tripped by #1539, which would mechanically point at 0.17.0.
It is shipped here as a PATCH (0.16.1) for two reasons:
apm doctoris a promotion/alias of the pre-existingmarketplace doctorsubcommand -- a new invocation surface over functionality that already shipped, not net-new capability. No behavior changed; nothing broke.Every other merged PR in the window is a fix, a perf improvement, or internal. If a maintainer considers the new command surface minor-worthy, retarget to 0.17.0 before tagging -- the bump is the only thing that changes.
Validation
.apm/instructions/linting.instructions.md.win32(the original CI breakage this branch started from). Integration suite validated locally under CI-equivalent (warm-cache) conditions: 9208 passed.Post-merge
Tag
v0.16.1to trigger the release workflow (do NOT tag before merge):Co-authored-by: Copilot 223556219+Copilot@users.noreply.github.com