What's Changed
π New Features
- ci: adopt GitHub Merge Queue with tiered CI (#770) by @danielmeppiel in #771
π§ Other Changes
- chore: add @sergio-sisternes-epam as maintainer by @danielmeppiel in #623
- feat: add apm info, apm outdated, and list_remote_refs by @sergio-sisternes-epam in #613
- feat: proxy-aware marketplace indexes by @chkp-roniz in #617
- fix: propagate headers through OpenCode MCP adapter by @alopezsanchez in #622
- feat: support project-local .apm/ content during apm install by @sergio-sisternes-epam in #644
- fix(runtime): pin codex setup to rust-v0.118.0 for security by @sergio-sisternes-epam in #663
- fix: rewrite Windows backslash paths in hook commands by @danielmeppiel in #609
- [fix] include dependency instructions in claude compile (#631) by @edenfunf in #642
- Enable SSH timeout to fallback to HTTP. by @tillig in #653
- fix: add encoding="utf-8" to prompt file open() calls in script_runner (Windows CP950) by @edenfunf in #607
- Fix: apm marketplace add silently fails for private repos by @sergio-sisternes-epam in #701
- fix(hooks): make apm install idempotent for hook entries by @srid in #709
- [fix] suppress internal config keys from apm config get output (#564) by @edenfunf in #571
- fix: use yaml.safe_dump for virtual package apm.yml generation by @edenfunf in #707
- feat: add configurable temp directory to resolve Windows access denied errors by @sergio-sisternes-epam in #629
- fix: enhance git remote validation by trying SSH URLs for generic hosts by @zzoubian in #584
- fix(auth): provide ADO-specific authentication error message for dev.β¦ by @coakenfold in #742
- fix: strip skills prefix from bare skill plugin export by @zeel2104 in #738
- fix: deploy root project .apm/ primitives without a sub-package stub by @edenfunf in #715
- [fix] support codeload github archive urls for artifactory (#710) by @edenfunf in #712
- Add 55 tests for deps/_utils.py and view.py coverage by @Copilot in #682
- fix(deps): align _count_package_files to use .apm/context/ (singular) dir by @edenfunf in #748
- test(marketplace): isolate test_auto_detect_through_proxy from real network by @danielmeppiel in #759
- harden(plugin): enforce plugin-root containment for manifest paths by @danielmeppiel in #760
- fix(install): clean up stale deployed files on rename/remove within a package (#666) by @Boubalou in #750
- fix(install): harden stale-file cleanup with per-file content-hash provenance (#666 follow-up) by @danielmeppiel in #762
- refactor(install): modularize install.py into engine package by @danielmeppiel in #764
- test(integration): close install/uninstall/update CLI coverage gaps surfaced by #764 review by @danielmeppiel in #767
- fix: create target dir for explicit --target claude; content hash fallback when .git absent by @Copilot in #763
- fix: validate project name to reject path separators in apm init by @edenfunf in #724
- fix: prevent duplicate Test Improver monthly activity issues by @sergio-sisternes-epam in #681
- Add .editorconfig to standardize formatting across contributions by @Copilot in #671
- fix: _parse_artifactory_base_url() ignores PROXY_REGISTRY_URL β lockfile reinstall fails (#614) by @chkp-roniz in #616
- fix: route --target codex/opencode through AGENTS.md compiler (#766) by @edenfunf in #769
- chore: prepare v0.8.12 release by @danielmeppiel in #774
New Contributors
- @tillig made their first contribution in #653
- @srid made their first contribution in #709
- @zzoubian made their first contribution in #584
- @coakenfold made their first contribution in #742
- @zeel2104 made their first contribution in #738
- @Boubalou made their first contribution in #750
Full Changelog: v0.8.11...v0.8.12