v1.9.0 — Document Review & Approval Workflow
SPARC v1.9.0 — Document Review & Approval Workflow.
Highlights
- Document review & approval workflow (#640, #630–634) — new
Approvablemodel, review queue, andBaselineReviewService/DocumentApprovalService. Gated bySPARC_REQUIRE_DOCUMENT_APPROVAL(default off, so existing publish flows are unchanged until an org opts in). - Authoritative sources & federation (#657, #646) — add/import an authoritative source, plus a release-validation gate (API-coverage + nav CSP sweep).
- Bulk delete for CDEF + Authorization Boundary index (admin) (#638, #629).
- Content-completeness gate + empty-shell recovery (#637, #627/#628).
Fixes
- HDF→OSCAL translation restored on hdf-cli 3.2.0 (#662, #648) — 3.2.0 made
baselinesrequired forhdf→oscal-sarand removed the directhdf→oscal-poamconverter. SPARC now injectsbaselines: []for real scanner HDF (gated on aprofileskey so non-HDF input is still rejected), andpoam_from_hdfreturns 501 (POA&M was re-sourced upstream tohdf-amendments → oscal-poam; tracked as #663). - CSP hardening (#656) — eliminated inline event handlers (#645/#647),
Cache-Control: no-storeon login (#649), and CSP violation reporting (#528).
Security & dependencies
- Dropped the unused
thrustergem — clears 8 Go-module CRITICAL CVEs (#651, #612/#639). - nokogiri 1.19.4 — fixes two use-after-free advisories (GHSA-wfpw-mmfh-qq69, GHSA-wjv4-x9w8-wm3h), reachable via untrusted XML upload parsing (via #662).
- rubyzip 3.4.0 + shoulda-matchers 8.0 (#658); patch-updates group (#652).
- SHA-pinned every GitHub Action repo-wide (#659) — clears Sonar supply-chain hotspots and makes Dependabot SHA-pin going forward.
Docs & test infra
- README refresh — Key Features + dev setup for v1.9.0 (#664).
- System specs now always exercise the mandatory login consent banner (#190), independent of a developer's
.env(via #662).