Changelog¶
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
Unreleased¶
0.2.0 - 2026-05-29¶
Changed¶
- Breaking:
query.run_typeis renamed toquery.run_id_patternand now takes an arbitrary regex matched against eachrun_idwithre.fullmatch(the wholerun_idmust match). The old trailing-segment equality check is recoverable as'.*-<value>'. Malformed patterns raisepydantic.ValidationErrorat config load, before any HTTP. The rename also applies to theBenchmarkoorClient.list_runs(run_id_pattern=...)kwarg and to thequery.run_id_patternkey inmeta.json.
Removed¶
DiskCache.runs_keyhelper, now thatlist_runsis uncached.
Fixed¶
opcountis now correct for fixtures whose target opcode is theECRECOVERorP256VERIFYprecompile. These were missing from the precompile set, so the trace lookup fell back to a non-existent opcode column and silently producedopcount=0; they now route throughSTATICCALLlike the other precompiles.opcountis now correct forKECCAK256fixtures (e.g.test_keccak_diff_mem_msg_sizes).KECCAK256is EVM opcode0x20, not a precompile (the precompile at address0x02isSHA2-256), but it was wrongly in the precompile set, so the lookup routed throughSTATICCALLand producedopcount=0despite the trace's populatedKECCAK256column.BenchmarkoorClient.list_runsno longer caches its response on disk. The listing accumulates new completed runs over time under the same(suite, start_date)key, so the never-expiring cache silently returned stale data and missed runs added after it was first populated.list_runsnow always hits the API, matching suite discovery. The content-addressed per-runtest_statsparquets and per-suitesummary.jsontrace caches are unchanged. Existing<cache_dir>/<suite>/runs-from-*.jsonandruns-all.jsonfiles are no longer read or written and can be deleted.
0.1.1 - 2026-05-26¶
Added¶
- MkDocs site with
mkdocstrings-generated API reference and a quickstart Jupyter notebook underexamples/. - GitHub Actions workflow to deploy docs from
main.
Changed¶
- README expanded with installation and usage details.
0.1.0 - 2026-05-26¶
Initial release.
Added¶
BenchmarkoorClientwithresolve_suite,list_suites,list_runs,fetch_test_stats,fetch_trace,parse, and end-to-endrun.FetchConfig(pydantic v2) loaded from YAML, with CLI overrides for anyquery.*/output.*field.FetchResultwithbench_df,trace_df, andwrite()for the standard artifact bundle (runtimes.csv,opcounts.json,bench_data.parquet,trace.parquet,meta.json).parse_test_titlesfor the current Benchmarkoor test-title shape, with unparsed titles surfaced as a single end-of-run warning and recorded underunparsed_fixturesinmeta.json.- Content-addressed on-disk cache, never-expiring by default; suite discovery is intentionally uncached.
- CLI:
benchmarkoor-fetch runandbenchmarkoor-fetch suites, with--verbose/--quiet,--no-cache,--cache-dir, and per-field overrides. Exit codes:0success,1config/input error,2HTTP error,3empty result.