Skip to content

Harness v0.14.0

Choose a tag to compare

@obinnanwachukwu1 obinnanwachukwu1 released this 30 Jul 15:45
· 253 commits to main since this release
v0.14.0
b85cf8d

Harness 0.14 makes the TraceKernel-backed Judge the browser evaluation boundary while keeping the root Harness package as the only published artifact.

Highlights

  • Adds BrowserRuntimeHost and scoped Judges for preparation, isolated cases, verdicts, cancellation, and teardown.
  • Adds reusable prepared-program contracts for JavaScript, TypeScript, Python, Java 23, C#, and C++.
  • Reduces the public root surface to seven intentional entrypoints.
  • Decomposes TraceKernel workspace internals into explicit lifecycle, filesystem, terminal, network, journal, device I/O, access-policy, persistence, and runtime-command modules.
  • Makes language APIs implementation-neutral and uses TraceJVM as the prepared Java browser path.
  • Adds Chromium, Firefox, and WebKit release gates for lifecycle, isolation, cancellation, and disposal.
  • Enforces that all renamed runtime, Judge, TraceKernel, and workspace packages remain private; only @tracecode/harness is published.

Breaking changes

  • Removes the old language, core, native, SQL, and internal root subpaths.
  • Replaces the direct BrowserHarness lifecycle with BrowserRuntimeHost plus createBrowserRuntimeJudge.

See CHANGELOG.md for the complete migration and fix list.