Skip to content

v8.0.0

Choose a tag to compare

@github-actions github-actions released this 17 May 15:20
0b17150

Changed

  • Added a maintained cargo xtask miri proof lane for the FFHN-to-HTMLCut selector boundary, wired it into ./check.sh, tightened the host/devcontainer bootstrap so the pinned QA nightly toolchain now installs miri plus rust-src as part of FFHN's normal maintainer contract, and temporarily patched servo_arc plus tendril locally so FFHN can prove the current pinned HTMLCut interop stack under strict provenance until the later HTMLCut dependency bump removes the override.
  • Renamed the old "coverage toolchain" concept to a truthful QA nightly toolchain across tooling/rust-tooling.env, maintainer scripts, fuzzing commands, and developer/release docs because the same pinned nightly now owns Miri, coverage, and fuzzing work instead of pretending to be coverage-only.
  • Bumped the workspace line to 8.0.0 and updated the maintained htmlcut-core dependency to 10.1.0.
  • Rebuilt the FFHN target and report contract around explicit compare ownership: target selection now only locates the fragment, [compare] now owns the projection basis (text, inner_html, or outer_html) plus rendering controls, compare.canonicalization now defaults to [], and the persisted/report vocabulary now speaks in terms of compare sources and compare artifacts instead of the older overloaded canonical-text/output-language.
  • Added monitoring-contract fingerprinting to persisted state and extraction artifacts so FFHN can tell when a saved baseline belongs to a different target definition instead of silently reusing it across incompatible compare contracts.

Fixed

  • Fixed the HTMLCut-interop seam: FFHN now compares the projection named in [compare].basis instead of always comparing rendered text, so outer_html and inner_html monitoring actually work as configured.
  • Fixed dry-run behavior for incompatible baselines so ffhn run --dry-run continues as a safe preview path under the shared lock, while live run and status report the incompatible baseline explicitly and require the operator to clear or replace it before mutating durable state.
  • Refreshed the public target, report, and starter examples/docs to the new compare contract, updated the maintained fuzz/contract fixtures, and rewired stateful test helpers so monitoring-contract digests are derived from the target definition instead of from stale magic values.
  • Fixed the contributor-devcontainer proof chain so validate-devcontainer.sh now verifies the nightly Miri entrypoint and promotes the validated image to ffhn-devcontainer:local; the documented FFHN_DEVCONTAINER_SKIP_BUILD=1 ./scripts/run-devcontainer-check.sh release and maintainer path now reuses the exact image that was just proven instead of drifting onto an ambient stale local tag.