Repository navigation
1.3.0
Synced bundled spec (content_api_mcp/schema/endpoints.json) to the module's v1.11 (previously v1.7 — four versions behind), adding two new tools and extending two existing ones:
content_records_parity(module #120):GET records/{classRef}/{id}/parity— compares a record and everything it$ownsbetween draft and live, reporting a machine-readable structure plus a flatreportlist. Seedynamic/silverstripe-content-apiPR #138.content_fingerprint(module #131):GET fingerprint— a deterministic, path-keyed snapshot of the site's content for diffing across gates or environments, plus a reachability-invariant check (violations). Seedynamic/silverstripe-content-apiPR #139.content_records_stagegainsliveOnlyanddryRun(module #90/#102,mode: subtreeonly) — preview or selectively skip a subtree publish without writing.mode: subtreeitself now also authorization-checks every descendant before writing anything, refusing the whole call (403 FORBIDDEN_CLASS/FORBIDDEN_RECORD, nothing written) on the first one the caller can't publish. Seedynamic/silverstripe-content-apiPR #113.content_batchgainsdryRun(module #130) — runs the batch with full authorization/validation inside an unconditionally-rolled-back transaction, prefixing response statuseswould*on success. Its rollback is verified the same way an atomic failure's is (module #127), including the newupdated-op re-check that verification gained alongside it. Seedynamic/silverstripe-content-apiPR #140 (#130) and PR #135 (#127).- No client code change needed —
client.py's path-substitution/query-vs-body handling is already generic; both new tools and both new parameters work as soon as the spec lands.
Supersedes the never-tagged 1.2.1. See CHANGELOG.md for the full 1.2.1/1.3.0 history.