Fixed
- GH-1631: expose bounded extension-owned diagnostics on expected SDK errors elemento pm-gh1631
- Advertise safe linked-test command replacement after an immutable-command edit refusal elemento pm-1rfy0y
- Route project-schema keys to their declared flags in field refusals elemento pm-wftvem
- Typed refusals keep their own headline in human output: a likely_duplicate create refusal no longer reads as an invalid flag value elemento pm-btv6x7
- Preserve surrogate pairs in bounded extension error diagnostics elemento pm-y4v90c
Other
- Refresh mature GitHub Action pins: CodeQL 4.39.1, CodSpeed action 5.6.0 and TruffleHog 3.99.7 elemento pm-ey1zh7
Fixed
- A continuable key=value prose segment containing a colon is misread as a new key, so --comment/--note/--learning seeds store the raw entry with its text= prefix elemento pm-fr10t8
- GH-1580: Host-bound extension settings sections elemento pm-gh1580
- pm config set on a schema-invalid settings.json writes the fallback defaults as the whole file, deleting unrelated settings elemento pm-4zpq71
- Pin tested runtime peers in the published manifest so Bun installs resolve them without peer-range warnings elemento pm-2csj4k
Security
- GH-1647: acquireLock / acquireLockLease follow a symlinked locks directory and create the lock outside the tracker elemento pm-gh1647
Other
- Refresh aged Unicorn 79, Stryker 10.1.1 and knip 6.43.0 without changing strict lint policy elemento pm-8g06ma
- Adopt Vitest 5 with CodSpeed 6.1, keeping exact coverage, benchmark history and the CodSpeed Axios patch elemento pm-fokyhh
Fixed
- MCP read tools read every declared flat parameter, pm_search honours its keywords alias, and filtered pm context keeps dependency edges elemento pm-hke9z7
- GH-1642: compact brief pm list and pm search TOON envelopes while keeping the effective default sort visible elemento pm-gh1642
- GH-1644: disclose when a --for intent reduces an explicit --limit and recommend the measured canonical pm context --for orient elemento pm-gh1644
- GH-1643: make pm claim --next --start one atomic select-claim-start write and type the claim-target refusals elemento pm-gh1643
Fixed
- pm close clears the assignee but leaves claim_principal, so closed claimed items keep an active owner elemento pm-8xgg7i
- GH-1618: prevent automated comment churn from misleading next-work priority elemento pm-gh1618
- GH-1610: compact lean refusals and expose structured claim context elemento pm-gh1610
- GH-1627: bound the entire next response and compact optional TOON sections losslessly elemento pm-gh1627
- GH-1628: preserve terminal timestamps for identical forced SDK updates elemento pm-gh1628
- Pull-request CI requests 33 hosted-runner jobs per push against the account's 20-job concurrency cap, so required checks wait hours before they start elemento pm-m6ig79
- Text refusals drop the specific What happened detail when an echoed argv overflows the diagnostic ceiling elemento pm-4oc353
- GH-1622: investigate pm-presets SDK-loading fault blocking daily release elemento pm-gh1622
- Successful linked-test receipts carry non-actionable execution_context and all-zero failure_categories, even under --lean elemento pm-covpax
- Unknown-option recovery drops a dash-leading prose value: the advertised replay closes, comments or creates without the user's text elemento pm-stq61b
- GH-1633: accept comma-separated --unset field lists with per-field validation elemento pm-gh1633
- GH-1630: bound selective linked-test receipts to the selected collection elemento pm-gh1630
- GH-1626: offer same-command replay corrections for brief completeness spellings elemento pm-gh1626
- GH-1609: recover killed commit owners and bound lock waits with a monotonic clock elemento pm-gh1609
- GH-1624: define typed Unicode handling for extension output across JSON and TOON elemento pm-gh1624
- GH-1625: align extension-refusal Sentry capture with declared contracts and telemetry source context elemento pm-gh1625
- GH-1602: keep preflight warnings inside JSON error envelopes elemento pm-gh1602
- Bound independent native receipt regression cases elemento pm-native-index-proof
- GH-1558: Settle Windows generation-fixture rename rejections without weakening lock assertions elemento pm-gh1558
Security
- Registry advisories GHSA-mrwp-f3q8-3g9p (follow-redirects 1.16.1, high) and GHSA-g3hv-75wg-m249 (minimatch 10.2.6, moderate) block the static gate on main and every PR elemento pm-irviv0
Added
- GH-1597: expose host-bound item transaction status and safe abandonment or supersession elemento pm-gh1597
- GH-1598: bind batch mutation APIs to PmClient and expose canonical staged preview records elemento pm-gh1598
Fixed
- GH-1617: make history display order explicit and consistent across projections elemento pm-gh1617
- GH-1603: Reduce null agenda fields and escaped tag overhead in bounded context output elemento pm-gh1603
- GH-1606: Validate public SDK runtime operand values before mutation internals elemento pm-gh1606
- GH-1614: keep typed SDK data literal across CLI sentinel inputs elemento pm-gh1614
Other
- Use resilient temporary-root cleanup in the packed-install workflow fixture elemento pm-p5u6
- Refresh mature tooling, scanner pins and changelog SDK contracts elemento pm-8skz5z
Added
- Allow safe transaction previews in managed-package workspaces with derived dependency links elemento pm-jhkzk0
Security
- GH-1583: recognize concrete private home paths through bounded shared normalization elemento pm-gh1583