Skip to content

Bencher

v0.6.9 Breaking

This release includes 1 breaking change for platform teams planning a safe upgrade.

Published 8d Pipelines
✓ No known CVEs patched
Read the diff → Tool health → What is this tool? →

✓ No known CVEs patched in this version

Topics

benchmark benchmarking ci-cd code-quality continuous-benchmarking performance

Affected surfaces

breaking_upgrade

ReleasePort's take

Moderate signal
editorial:auto 8d

The GET /v0/projects/{project}/reports endpoint now excludes results and alerts by default.

Why it matters: Affects API consumers expecting full report data; adjust queries or enable explicit inclusion flags to retain previous behavior. (Severity: high, triggered by v0.6.9 release)

Summary

AI summary

Breaking change: reports list endpoint now omits results/alerts by default.

Changes in this release

Breaking High

Omit results and alerts from reports list endpoint by default.

Omit results and alerts from reports list endpoint by default.

Source: llm_adapter@2026-07-18

Confidence: high

Feature Medium

Add Vitest adapter (`js_vitest`).

Add Vitest adapter (`js_vitest`).

Source: llm_adapter@2026-07-18

Confidence: high

Feature Medium

Add `database.cache_size` server config option (default 64 MiB).

Add `database.cache_size` server config option (default 64 MiB).

Source: llm_adapter@2026-07-18

Confidence: high

Feature Medium

Update a plot in place via PATCH, UI button, or `bencher plot update`.

Update a plot in place via PATCH, UI button, or `bencher plot update`.

Source: llm_adapter@2026-07-18

Confidence: high

Feature Medium

Add project name and link row to PR comment report table.

Add project name and link row to PR comment report table.

Source: llm_adapter@2026-07-18

Confidence: high

Feature Medium

Create GitHub Check with `in_progress` status before benchmarks and complete it after results.

Create GitHub Check with `in_progress` status before benchmarks and complete it after results.

Source: llm_adapter@2026-07-18

Confidence: high

Feature Medium

Add runner update channels (`stable` and `canary`) via `runner up --update-channel <...>`.

Add runner update channels (`stable` and `canary`) via `runner up --update-channel <...>`.

Source: llm_adapter@2026-07-18

Confidence: high

Bugfix Medium

Reject cross‑project plot dimension UUIDs with 404 and empty lists with 400.

Reject cross‑project plot dimension UUIDs with 404 and empty lists with 400.

Source: llm_adapter@2026-07-18

Confidence: high

Bugfix Medium

Prevent WebSocket reconnect loop when runner update checksum fetch fails.

Prevent WebSocket reconnect loop when runner update checksum fetch fails.

Source: llm_adapter@2026-07-18

Confidence: high

Full changelog
  • Add Vitest adapter (js_vitest)
  • Add a database.cache_size server config option for the writer connection page cache in KiB (default 64 MiB)
  • Update a pinned plot in place with PATCH /v0/projects/{project}/plots/{plot}, the Perf explorer "Update Pin" button, or bencher plot update
  • Reject plot dimension UUIDs from other projects with a 404 Not Found and empty dimension lists with a 400 Bad Request
  • Add the project name and link as the first row of the PR comment report table (Thank you @OmarTawfik)
  • Create the GitHub Check with an in_progress status before benchmarks run and complete it with the results once they finish, so reruns no longer show a stale conclusion; if bencher run exits with an error before the results are posted, the check is marked as failed (Thank you @OmarTawfik)
  • Add runner update channels via runner up --update-channel <stable|canary> (default: stable); the canary channel tracks a rolling prerelease that is rebuilt whenever the runner changes on a Bencher Cloud deploy, so runner changes are field-tested on Bencher Cloud before a versioned release; canary runners report their binary checksum and converge on the published build by content rather than by version
  • Runner self-update checksum fetch failures no longer drop the WebSocket channel into a reconnect loop; the server now logs the failure, skips the update offer, and retries at the runner's next ready poll
  • BREAKING CHANGE The reports list endpoint (GET /v0/projects/{project}/reports) now omits the results and alerts for each report by default, drastically reducing response sizes for projects with large reports; set the new expand query param to true (bencher report list --expand) to restore the previous behavior. A new counts field summarizes each report with the number of benchmarks and distinct measures per iteration and the total and active alerts. Note that older CLI versions cannot parse the new default list response, so update the CLI before using bencher report list; bencher run is unaffected

Breaking Changes

  • GET /v0/projects/{project}/reports now omits `results` and `alerts` fields by default; use `expand=true` to restore previous behavior.

Weekly OSS security release digest.

The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.

No spam, unsubscribe anytime.

Share this release

Track Bencher

Get notified when new releases ship.

Sign up free

About Bencher

Suite of continuous benchmarking tools designed to catch performance regressions in CI.

All releases →

Related context

Beta — feedback welcome: [email protected]