Skip to content

Changelog

Stay up to date with new features and improvements.

March 31, 2026Dashboard 2.15.3

Fix Dashboard Filters

Fixed an issue where some dashboard filters could return incorrect options after an internal infrastructure upgrade.

Our compatibility audit caught the regression, and we've added preventive checks to our release process for future dependency upgrades.

March 31, 2026C# SDK 2.0.2Docs 2.1.3

Ship test data from C# and .NET

You can now push test runs to TofuPilot from C# and .NET. The SDK covers the full V2 API with typed responses and errors.

csharp
var client = new TofuPilot(apiKey: "your-api-key");await client.Runs.CreateAsync(new RunCreateRequest{    ProcedureId = "FVT-001",    SerialNumber = "SN-042",    PartNumber = "PART-001",    Outcome = RunCreateOutcome.Pass,});

API docs now show C# examples next to Python. Source on GitHub, package on NuGet.

Thanks to community member @Hylaean for building the original 1.x client that got this started.

March 30, 2026Python SDK 2.2.2Dashboard 2.15.1

Fix datetime filters and simplify finalize

You can now pass datetime objects to date filters on units.list() and batches.list(). Previously these only accepted strings, while runs.list() already handled datetime. All list endpoints are now consistent.

We also cleaned up attachments.finalize(). It no longer asks for an empty request_body parameter. If you were passing request_body={}, you can drop it.

March 29, 2026Docs 2.1.0

Add V2 Python SDK examples to docs

All dashboard documentation pages now include working Python V2 SDK code examples. V1 client syntax has been removed and replaced with tofupilot.v2 throughout.

March 29, 2026Python SDK 2.2.0Dashboard 2.15.0

Track phase retries in test runs

When a test phase fails and is retried, you can now store every attempt with a retry_count field and filter retries out of your analytics.

  • Added retry_count to phases: set it to track which attempt each phase represents (0 = first, 1 = first retry). Defaults to 0 when omitted.
  • Added "Exclude retries" toggle on all insights charts (Cpk, cycle time, failures, control charts, duration) to focus on final attempts only
  • Retried phases show expandable attempt tabs in the phase detail view
  • OpenHTF retries are detected automatically from repeated phase names, no changes needed in test scripts
March 29, 2026Dashboard 2.15.0

Improve API reliability and performance

Rebuilt our REST API layer for better error handling, faster request routing, and more accurate OpenAPI documentation. This improves integration stability for all API and SDK users.

March 28, 2026Dashboard 2.14.10Python SDK 2.1.0

Add file attachments to units via Python SDK

You can now attach files directly to units using the Python SDK v2.1.0. Upload photos, test reports, calibration data, or any file and link it to a unit in two lines of code.

  • Added attachments.upload() to handle file uploads in a single call
  • Added attachments.download() to download attachments from units or runs
  • Added attachments support to the Update Unit endpoint
  • Renamed the attachment finalization endpoint for clarity
March 27, 2026Orbit 0.10.31

Add meetings section to Orbit

Enterprise customers can now view their meetings with TofuPilot directly in Orbit, including agenda, summary, and linked action items with assignees.

March 26, 2026Release Server 0.2.5Dashboard 2.14.8

Self-hosting license management

TofuPilot now handles license validation, plan enforcement, and usage tracking for self-hosted instances directly in the dashboard.

  • Added feature-based license gating. SSO, SCIM, and Teams are now tied to your plan tier and enforced at runtime.
  • Built a self-hosted usage page showing station count, user count, and monthly runs against plan limits.
  • Added air-gapped license activation for instances without internet access.
  • License card on the plan page shows current plan, limits, and expiry at a glance.
  • Fixed station duplicate check and limit-reached modal that blocked test uploads silently.
March 26, 2026Release Server 0.2.5

Fix license error messages during deployment

The self-hosted deployment script showed a generic "Invalid license key" error for all failures, making it difficult to diagnose connection problems versus actual license issues.

  • Fixed the deployment script to show specific error messages: malformed key format, unrecognized key, expired or suspended license, or network connectivity problems
  • Improved error messages for expired or suspended licenses to display the reason from the licensing server

Try these features today