Skip to content

Changelog

Stay up to date with new features and improvements.

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
July 16, 2026Studio 1.4.11Station 1.4.11Framework 1.4.11

Run and unit metadata added to the framework

High-value units are often tested while undergoing modifications, and standard identifiers like revision number can't capture that state — custom metadata now records it on every run and unit.

  • Added run.metadata and unit.metadata to the Python phase API, validated at assignment with clear errors and included even when a phase fails
  • Added operator-prompted unit metadata fields to the procedure file, rendered in the unit identification form next to the serial number
  • Added metadata to uploaded reports and Studio local reports so runs and units can be filtered by any key
July 16, 2026Studio 1.4.11Station 1.4.11Framework 1.4.11

Configure plugs from your procedure file

Plugs can now receive settings like instrument addresses directly from your procedure file, so you no longer have to hard-code them in Python or duplicate a plug class per instrument.

  • Added an optional config mapping on each plug that is passed to the plug class as keyword arguments
  • Added support for running several instruments of the same model by giving each plug its own config
  • Documented the new config option and the multi-instrument pattern in the plugs guide
July 16, 2026Dashboard 2.36.99

Fix invitation acceptance for SSO users

New team members signing in through Microsoft SSO could hit an "Invalid invitation" error when opening their invite link.

  • Fixed invitation acceptance for users whose identity provider does not report a verified email
  • Improved invitation error pages to show the actual reason instead of a generic message
July 16, 2026Dashboard 2.36.98Docs 2.3.36Website 0.11.22

Rename Teams to Access Groups + free for all

Teams are now called Access Groups and available to every organization, no add-on required.

  • Renamed Teams to Access Groups across the dashboard, docs, and pricing
  • Removed the add-on requirement so any organization can scope station and member access
  • Updated documentation with the new Access Groups guide
July 16, 2026Release Server 1.4.8Dashboard 2.36.97

Fix automatic database backups before upgrades

Self-hosted instances take a database snapshot before applying upgrade migrations, but a version mismatch had silently prevented it from completing, and snapshots were not kept across upgrades.

  • Fixed the pre-upgrade database backup so it completes and persists in a dedicated storage volume across upgrades
  • Added clear log output when a backup fails, with an optional strict mode (REQUIRE_BACKUP) that halts the upgrade instead of continuing without one
  • Limited backups to one per version with automatic cleanup so they never fill the server disk
July 15, 2026Dashboard 2.36.96

Fix rare sign-in lockout after security upgrade

A recent security upgrade hardened how sign-ins from identity providers attach to existing accounts, which could lock out a small set of long-standing accounts on upgraded self-hosted instances.

July 15, 2026Dashboard 2.36.95

Improve self-hosted deployment migration

Self-hosted instances migrating to the new deployment architecture now get a smoother, more reliable experience, even on restricted networks.

  • Improved resilience when optional deployment services are not yet configured, removing recurring errors from instance logs.
  • Added a prebuilt build environment so new deployments start faster without downloading dependencies at boot.
  • Fixed sign-in for existing members using single sign-on after upgrading from older versions.

Try these features today