CHANGELOG

Small changes. Better testing.

Stay up to date with new features and improvements.

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
August 11, 2026Dashboard 2.38.6

Clarify procedure and station setup tabs

The Get Started tabs on procedure and station pages now say what each integration path actually does, so new users can pick between the CLI and the SDKs at a glance.

  • Renamed the setup tabs to "TofuPilot runs your tests" and "Your code sends results" on both pages, with icons matching each path
  • Improved the station setup descriptions: supported frameworks and SDK languages are now listed inline in a single readable sentence
  • Updated the API key empty state to a shorter, clearer call to action
August 11, 2026Python SDK 2.16.0

Restore the OpenHTF TofuPilot context manager

Bench scripts using with TofuPilot(test): work again without code changes, while a deprecation warning points to the recommended upload callback and CLI operator UI.

  • Added the TofuPilot context manager back as a thin wrapper around the upload output callback, keeping the historical quiet Ctrl-C exit
  • Fixed duplicate uploads when reusing one test object across several runs, and restored console quieting between runs
  • Fixed attachment uploads to always verify TLS with the client's CA bundle on self-hosted instances with a private CA
August 11, 2026Dashboard 2.38.5

Fix MCP client connection after authorization

Connecting an AI client over MCP could stall after clicking Authorize, leaving the client waiting even though access was granted.

  • Fixed the authorization hand-off so the client receives its connection code reliably on the first try
  • Removed the confusing "finish connecting manually" step from the authorization screen
August 11, 2026Dashboard 2.38.5

Read full measurement names in pareto charts

Long measurement and phase names were cut off after 24 characters in Measurement Control and Phase Pareto, so bars that differed only by frequency band or test temperature all looked identical and there was no way to tell which one to click.

  • Added a name column that sizes itself to the longest name on screen, with a drag handle to widen or narrow it and a double-click to return to automatic
  • Improved shortening to keep both ends of a name when space runs out, so measurements that differ only by their suffix stay distinguishable
  • Added the execution count and Cpk value at the end of each bar, and kept the value scale pinned in view while scrolling through long lists

Try these features today