Skip to content

Changelog

Stay up to date with new features and improvements.

May 9, 2026CLI 0.22.1Dashboard 2.23.1

Run Robot Framework suites on stations

Robot Framework joins pytest and OpenHTF as a first-class test framework on TofuPilot stations.

  • Added a native Robot Framework connector: each test case becomes a phase, with measurements from the shipped TofuPilot keyword library
  • Detected .robot suites automatically when importing a repo, with a new Robot starter template
  • Added end-to-end coverage with eight Robot scenarios alongside the existing pytest agent-protocol tests
May 9, 2026CLI 0.21.29

Better monorepo venv support

Stations now find the right Python environment every time, including monorepo deployments where the venv lives next to a sub-package.

  • Improved monorepo support: venv is resolved deterministically at the package directory, no more walk-up search
  • Fixed run failures on stations where divergent venv resolvers picked the wrong interpreter
  • Added regression tests covering monorepo, single-package, and local-path runs
May 9, 2026CLI 0.21.28

Steadier station operation

Stations recover better from edge cases and surface clearer feedback when things go wrong.

  • Fixed dispatcher hangs so stations no longer get stuck between runs
  • Improved worker error reporting so failures are easier to diagnose
  • Cleaned up kiosk shutdown and update handling for orphaned stations
May 9, 2026Dashboard 2.22.19CLI 0.21.26

Faster, more reliable Windows stations

Setting up and running stations on Windows is now smoother, with fewer prompts and quicker startup.

  • Fixed Windows station install so PowerShell execution policy no longer blocks setup
  • Pre-seeded kiosk procedures before launch so stations are ready immediately
  • Reduced teardown latency between runs on Windows
May 9, 2026CLI 0.21.25Dashboard 2.22.18

Cleaner runs across runtimes

Stations now produce consistent results whether running OpenHTF or pytest, and back-to-back runs no longer carry over leftover state.

  • Aligned operator UI behavior across both runtimes for parity in measurements and outcomes
  • Fixed cross-run state leaks so each run starts clean
  • Hardened protocol handling to prevent stale data between runs
May 8, 2026CLI 0.21.23Dashboard 2.22.17

Run pytest test suites on stations

Pytest is now a first-class procedure framework alongside OpenHTF and the TofuPilot Framework. Each test function becomes a phase, and recognized assert shapes are promoted to measurements with validators on the dashboard, no SDK imports required.

  • Added a pytest connector that streams phase events live and bundles measurements per phase
  • Added AST extraction for numeric ranges, single bounds, equality, pytest.approx, string equality and membership, and boolean asserts
  • Added support for multiple measurements in one test (distinct identifiers) and stacked validators on one measurement (repeated asserts on the same identifier)
  • Added a Pytest Starter template in the New Procedure picker so you can clone and run in one click
May 8, 2026CLI 0.21.24

Improve station connectivity diagnostics

Faster troubleshooting when the kiosk page is unreachable or blank, with clearer log output pointing at the actual cause.

  • Added tofupilot service status loopback probe that reports listening, refused, or timeout, and names the process holding the port.
  • Added locale-stable Windows port-holder lookup so non-English Windows hosts (Chinese, Japanese, German, French) report the same diagnostics as macOS and Linux.
  • Fixed hardcoded port 7321 in several paths so TOFUPILOT_LOCAL_UI_PORT is honored everywhere.
  • Improved bind errors with specific remediation hints for port-in-use, permissions, loopback down, and container/network-namespace cases.
  • Added kiosk readiness probe and browser exit detection so blank-page situations surface in the logs instead of failing silently.
May 8, 2026CLI 0.21.23Dashboard 2.22.17Release Server 1.2.6

Reliability and kiosk fixes

A round of fixes covering the auto-update flow, kiosk polish on Windows, the git provider setup, and how stations refresh to the latest CLI.

  • Fixed auto-update segfaults and the boot ENOENT race that occasionally crashed stations on first launch after an upgrade
  • Fixed the Windows TUI double-registering keystrokes and the desktop shortcut launching the procedure runner instead of the station daemon
  • Fixed the GitHub and GitLab provider setup screens losing state on reload, and surfaced underlying provider errors instead of a generic toast
  • Refreshed installs to the latest CLI faster: removed the CDN cache on the version endpoint and suppressed spurious "update failed" warnings on subsequent boots
May 8, 2026Dashboard 2.22.10

Default new stations to kiosk mode

Operator-facing stations come up in kiosk mode out of the box, with a tighter install command and a polished repo list on the New Procedure flow.

  • Defaulted new station deployments to kiosk mode (full-screen operator UI on boot)
  • Refactored the install command snippet so the copy-paste flow is shorter
  • Polished the linked-repo list on the procedure detail page
May 8, 2026Dashboard 2.22.17

Detect pytest repos without a main.py

Pytest-only repos with no sentinel main.py now show up in the New Procedure picker on their own. The audit treats a leaf test_*.py next to pyproject.toml as enough signal to commit to the pytest framework.

  • Added test_*.py / *_test.py as a procedure signal in the repo audit
  • Defaulted detected pytest procedures to entry point "." (the package directory)
  • Dropped the sentinel main.py from the Pytest Starter template

Try these features today