Breaking
- JSONL
versionis 2. Rebuild kindsown_pcm_*/pcm_stale/dependency_pcm_staleare nowown_bmi_*/bmi_stale/dependency_bmi_stale. Fieldpcm_pathisbmi_path. - Object-cache profile
cb-object-cache-v4. Keys:toolchain_root,compiler,compiler_signature,compiler_version,std_module(replacingllvm/cxx/cxx_sig/clang_ver/std_cppm). Old caches invalidate once on profile mismatch. cb test --helpprints CB usage and exits; it no longer forwards totest_runner.
Changed
- JUnit XML is CI-readable for GitHub Actions
test-summary:classnameispath:line,nameis the case title (notest_case ->/scenario ->noise), failed cases point at the assertion call site, nested BDD steps fold under the parent scenario with a step list in<system-out>, and suitefailures/errorscount cases. - Project BMI filenames keep dots (only
:→-) for Clang-fprebuilt-module-pathlookup. - Two-phase modular rebuilds enqueue
pcm→.oas a separate ready job after BMI publish. - Faster CB warm rediscovery (closer to Ninja no-op).
- Internal CB structure (Clang driver, cache stores, table-driven CLI,
cache_admin) with no new public flags or events beyond the above.
Toolchain
- Minimum: Clang 21 with libc++ modules (unchanged).
JSONL
- Envelope
version: 2 (was 1). - Schema:
docs/jsonl-schema.json.
See CHANGELOG.md for the full entry.