Skip to content

v3.0.0

Latest

Choose a tag to compare

@ruoka ruoka released this 04 Aug 00:29
b2ab677

Breaking

  • JSONL version is 2. Rebuild kinds own_pcm_* / pcm_stale / dependency_pcm_stale are now own_bmi_* / bmi_stale / dependency_bmi_stale. Field pcm_path is bmi_path.
  • Object-cache profile cb-object-cache-v4. Keys: toolchain_root, compiler, compiler_signature, compiler_version, std_module (replacing llvm / cxx / cxx_sig / clang_ver / std_cppm). Old caches invalidate once on profile mismatch.
  • cb test --help prints CB usage and exits; it no longer forwards to test_runner.

Changed

  • JUnit XML is CI-readable for GitHub Actions test-summary: classname is path:line, name is the case title (no test_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 suite failures/errors count cases.
  • Project BMI filenames keep dots (only : → -) for Clang -fprebuilt-module-path lookup.
  • Two-phase modular rebuilds enqueue pcm→.o as 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

See CHANGELOG.md for the full entry.