Skip to content

Changelog

Stay up to date with new features and improvements.

August 18, 2026Dashboard 2.39.2

Filter units that have never been tested

The units list could not answer "which units were never tested?" — filtering by run count only ever considered units that already had a run, so asking for zero came back empty on every organization.

  • Fixed the run count filter to count units with no runs as zero and return them.
  • Added the zero bucket to the run count histogram, so the range covers never-tested units.
August 14, 2026Docs 2.5.1

Rework access and alerts documentation

The access and alerts docs are rewritten in a shorter overview-and-configure format: corrected access-group visibility rules, five alerts pages collapsed into two with all detection thresholds documented, and Root Cause Analysis promoted to the top level of the AI section, with redirects for every removed page.

August 13, 2026Python SDK 2.16.1C# SDK 2.14.0Rust SDK 2.15.1C++ SDK 2.9.1MATLAB SDK 2.9.1

Add Bitbucket support to all five SDKs

All five official clients are generated from one V2 specification, so they stay consistent with each other and with the API.

  • Added Bitbucket alongside GitHub and GitLab wherever a repository provider is returned, so procedures and deployments connected through Bitbucket now read correctly.
  • Improved aggregation values in the C# client to carry any measured type, instead of text only.
  • Documented the order phases are returned in: the attempts of a retried phase always arrive in attempt order.
  • Removed the conflict error from the station create and update paths, since station names are deliberately not unique and the API never returns it.
August 12, 2026Dashboard 2.38.10

Track each curve axis on its own control chart

A multi-dimensional measurement records several quantities across one test, and each of them now gets its own control chart in Measurement Control.

  • Added one control chart per axis, so an average, minimum or maximum is tracked against the quantity it actually belongs to.
  • Added series names to the chart's axis selectors, so a curve is picked by what it measures rather than by its unit alone.
  • Extended the second Y axis to the whole population of runs, so a comparison between two quantities is visible before any unit is selected.
August 12, 2026Rust SDK 2.15.0

Pass private CA certificates as PEM bytes

add_root_certificate now takes the PEM bytes and returns a Result. It accepts a bundle, so a root and its intermediates can be passed together.

  • Changed add_root_certificate to take PEM bytes; certificates added through it are now applied to the trust store
  • Added the bundled certificate authorities alongside the system trust store, so a container without a system certificate bundle keeps connecting
  • Added a connect timeout to attachment transfers
August 12, 2026Studio 1.4.14Station 1.4.14Framework 1.4.14

Version your procedures from procedure.yaml

The version in your procedure.yaml is now the version recorded with every run. It used to be ignored — runs read pyproject.toml instead, so monorepo procedures recorded no version at all.

  • Changed the recorded version to come from procedure.yaml. OpenHTF, pytest and Robot Framework procedures keep using pyproject.toml.
  • Made version optional. Procedures without one run normally and are not linked to a version.
August 12, 2026Dashboard 2.38.8

Compare multi-dimensional curves across runs

Measurement Control now charts measurements that record a whole curve per run rather than a single value — a temperature ramp, a current draw over time, a sweep across setpoints.

  • Added an Individuals view that overlays one curve per run, colouring golden and failing reference units automatically and keeping the rest as a grey population. Selecting a curve selects its row in the table below, and vice versa.
  • Added a Band view that summarises every run in the window as a p05–p95 envelope with its median, so a single unit can be read against the whole fleet at production volume rather than against a wall of overlapping curves.
  • Added spec limits drawn from the min and max aggregations already attached to a series, and an optional second series on its own right-hand axis.
August 12, 2026CLI 1.3.0Docs 2.4.13

Add private CA support to live stations

The --ca-cert certificate from CLI 1.2.0 only covered HTTP, so stations behind a corporate CA uploaded runs but showed as offline.

  • Added private CA support to the live connection, so one flag covers every connection.
  • Added the system certificate store as a trust source, so a CA installed by IT works without the flag.
  • Fixed the "check DNS" message hiding the real certificate error.
August 11, 2026CLI 1.2.2

Fix DNS failures on linux stations

On some networks, the linux CLI failed to connect with a DNS "Try again" error while other tools on the same machine resolved fine, because the static linux build shipped a strict built-in resolver.

  • Fixed the linux build to use a more robust DNS resolver that tolerates unanswered parallel queries and falls back to TCP
  • Kept the system resolver on macOS and Windows, which were not affected
August 11, 2026CLI 1.2.1

Show the real cause of CLI connection errors

When a station could not reach its TofuPilot instance, the CLI printed a generic "error sending request" message with no way to tell what actually failed.

  • Fixed connection errors to report the underlying cause, such as a rejected TLS certificate, a DNS failure or a proxy issue
  • Added the full error chain to the message, for example "invalid peer certificate: UnknownIssuer" when the instance certificate is not trusted

Try these features today