Skip to content

Changelog

Stay up to date with new features and improvements.

July 23, 2026CLI 0.26.23

Fix test runs freezing when realtime is blocked

On locked-down factory networks where the realtime streaming server is unreachable (missing DNS record, firewalled WebSockets), test runs and the station service could freeze forever before starting, with no error and no log.

  • Fixed runs and the station service to start immediately in every case: the dashboard live view now connects in the background and can never block a run, the operator UI, or result uploads. If it cannot connect within 10 seconds, a clear warning explains what to check and the station keeps working locally
  • Fixed stations where a user login coexisted with the station identity: deployment runs now always use the station identity, restoring the dashboard live view that was silently disabled
  • Added self-identifying diagnostics: every run prints its CLI version and writes a per-run log from the very start, so support screenshots and log files always show which binary ran and what happened
July 22, 2026Dashboard 2.37.0Docs 2.4.0

Get alerted to quality incidents early

TofuPilot now watches your production test data and tells you when quality slips — automatically, with no dashboards to babysit.

  • Added automatic detection for measurement drift, yield drops, and streaks of failed runs — each judged against the procedure's own history, with nothing to configure.
  • Added checks for units that get retested too often and for reference (golden) samples that stop behaving — early signs of a drifting fixture or test.
  • Added custom alert rules with your own thresholds and scope, plus an in-app inbox and email notifications when something fires.
  • Added full Alerts documentation: alert types, automatic detection, rules, and the alert lifecycle.
July 22, 2026CLI 0.26.21

Fail fast when security software blocks a run

On locked-down stations, endpoint-protection software could suspend the Python worker or block the venv interpreter, leaving runs hanging forever with no explanation.

  • Added startup watchdogs that detect a stalled Python worker (30s to respond, 300s to finish importing) and fail the phase with clear guidance to allowlist the venv in EDR/antivirus software
  • Fixed tofupilot pull to name AppLocker/WDAC/EDR blocking as the cause instead of a bare "Access is denied" error, with one automatic retry for transient scans
  • Added a per-run event log at ~/.tofupilot/logs/ referenced from stall diagnostics for faster troubleshooting with IT
July 22, 2026CLI 0.26.21

Stop framework runs hanging silently at start

A station run of a framework procedure could sit on the spinner forever with no error when the test worker process was blocked from starting — most often by security software on locked-down machines.

  • Fixed framework runs hanging indefinitely at startup: the station now stops waiting after a deadline and shows a clear, actionable error naming the likely cause.
  • Added the worker's own error output to the failure message, so a crash during startup points straight at the offending line.
July 21, 2026CLI 0.26.20

Fix stuck station runs with a clear error

A station run could get stuck on a spinner with no explanation when the test process was blocked before it could start — often by antivirus or endpoint-protection software holding the newly launched process on a locked-down machine.

  • Fixed runs hanging indefinitely: the station now surfaces a clear, actionable error instead of an endless spinner when a run cannot start.
  • Added a "still starting" hint in the operator UI that points you to the terminal if a run is slow to begin.
  • Improved crash messages so a failed run tells you whether it hit a Python error or was stopped from outside.
July 20, 2026Dashboard 2.36.101

Fix missing charts for imported test history

Runs uploaded with an older start date, such as imported history or a migration from another system, were missing from the Measurement Control charts and filters even though the measurement table below listed them.

  • Fixed backdated runs not appearing in measurement analytics: charts, trends and sidebar filters now include them as soon as the data is uploaded
  • Improved how historical data is folded into the pre-computed analytics so charts stay fast once the import settles
July 20, 2026Rust SDK 2.14.0Docs 2.3.44

Add custom CA support to the Rust SDK

The Rust SDK can now connect to self-hosted instances that use a private certificate authority.

  • Added add_root_certificate and root_certificate_from_pem_file to the client configuration.
  • Switched to the system trust store by default, so system-installed certificates work without code changes.
  • Updated the self-hosting guide with the Rust certificate setup.
July 20, 2026Docs 2.3.43

Clarify certificate setup for self-hosted

Self-hosted instances often run behind a private CA, and the deploy guide only showed one client's certificate setup while still documenting the retired v1 Python client.

  • Removed the legacy Python SDK v1 examples from the self-hosting deploy guide, leaving OpenHTF and the current Python SDK.
  • Added certificate guidance for every client: the Python SDK accepts a custom certificate directly, while OpenHTF and the C++ and MATLAB SDKs use the standard OpenSSL environment variable.
  • Documented that the Rust SDK cannot connect to an instance using a private certificate authority yet.
July 20, 2026Orbit 0.11.23

Fix self-hosted license creation in Orbit

Requesting a self-hosted license in Orbit failed with an unauthorized error for every account, blocking new self-hosting evaluations.

  • Fixed license creation by resolving your organization from your membership instead of a session flag that was never set
  • Added clear error messages for each failure case: signed out, no organization yet, missing admin role, or multiple organizations
  • Fixed stale changelog links from search results to land on the changelog index instead of a 404 page
July 16, 2026Studio 1.4.12Station 1.4.12Framework 1.4.12

Debug Python phases with a debugger

Debugging a failing phase used to mean adding print statements; you can now attach VS Code or any debugpy client and step through your Python phase code with breakpoints.

  • Added a debug mode to the CLI (tofupilot run --debug) that starts a debugger listener, runs a single worker, and disables phase timeouts so a breakpoint pause isn't cut off
  • Added a Debugging guide covering debug mode and manual debugpy attachment, with a ready-to-use VS Code configuration

Try these features today