CHANGELOG

Small changes. Better testing.

Stay up to date with new features and improvements.

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
August 10, 2026Dashboard 2.38.3Python SDK 2.15.2C# SDK 2.13.2Rust SDK 2.14.2C++ SDK 2.9.0MATLAB SDK 2.9.0Docs 2.4.11

Fix attachment size showing 0 on the dashboard

Attachments uploaded through the SDKs showed a size of 0 and no file type on the dashboard, even though the file itself was stored and downloadable.

  • Fixed the server to record each attachment's size and content type when an SDK links an uploaded file to a run
  • Fixed the C#, Rust, C++ and MATLAB upload helpers to finalize uploads, and the Python client to declare file size and type up front
  • Improved upload error reporting: a stored file that fails to link to its run is now reported instead of logged as success
August 10, 2026CLI 1.2.0Python SDK 2.15.0Dashboard 2.38.2Docs 2.4.10

Slim OpenHTF uploads, trust private CAs

Stations that only upload no longer install a full test framework, and self-hosted instances behind a corporate certificate authority work end to end.

  • Removed the TofuPilot context manager and its streaming stack from the Python client — uploads go through the upload() output callback, and the CLI provides the live operator UI.
  • Made OpenHTF an optional extra: install tofupilot[openhtf] for the callback, plain tofupilot for API-only stations.
  • Added private CA support to the CLI: pass --ca-cert at login or set TOFUPILOT_CA_CERT, and the saved certificate is reused by unattended stations across logins.
  • Neutralized leftover upload() callbacks under tofupilot run, so migrated procedures work unedited without crashing on a missing API key or creating duplicate runs.
  • Fixed custom CA bundles replacing the trust store instead of extending it, which broke attachment uploads to publicly-signed storage hosts.

Try these features today