March 23, 2026
Protocols section, job cancellation, parameterized durations, and optimization management
Dedicated Protocols section with parameterized input support
Studio now has a dedicated Protocols section where you can browse, edit, and clone saved experiment templates. Each protocol detail page shows the source YAML, a tabbed UCP/human-readable preview, and automatically detected input parameters with a generatedparameters_schema. This makes it easy to
build reusable, parameterized protocols and simulate them with different input values.Find out more →Cancel running jobs from Studio
You can now cancel pipelines, optimizations, and simulations directly from the UI. Each detail page shows a cancel button for in-progress jobs, with optimistic status updates and automatic rollback if the cancellation fails. On the backend, cancelling a parent job cascades to all child jobs.Protocol termination conditions and parameterized durations
Protocol simulations now support early termination based on variable conditions — useful for ending long protocols (e.g. multi-cycle Arbin tests) after a target number of cycles. Duration and termination end conditions also acceptinput['...'] references, enabling fully parameterized
experiments such as eVTOL design optimization with variable cruise duration.Find out more →Edit and delete optimizations
Optimization name and description are now editable from the detail page, and you can delete optimizations with a confirmation dialog. The experiment-step validation toggle is also exposed as a per-objective setting, letting you control whether each objective validates against experiment steps.Studio
Studio
Improvements
- Added cancel buttons for running pipelines, optimizations, and simulations with cascading cancellation.
- Added optimization editing (name and description) and delete with permission checks.
- Exposed the validate-against-experiment-steps toggle on each optimization objective.
- Unified table UI across optimizations, protocols, and pipelines — actions behind three-dot menus, clickable row names, no more “Actions” column header.
- Added more plot variables to the protocol simulator results view.
- Design parameters and experiment conditions are now preserved when rerunning simulations, and columns for differing parameters default to visible.
- Removed the
slugandadditional_datafields from cell specification, instance, and measurement models.
- Fixed 500 error when simulating non-UTF-8 protocol files (e.g. BioLogic
.mps). - Fixed optimization detail page layout issues.
Pipeline
Pipeline
Improvements
- Added support for
input['...']parameter references in UCP duration and termination end conditions. - Deprecated the
ionworkspipeline.workflowsmodule in favor of the newer API.
Protocol Simulator
Protocol Simulator
Improvements
- Added
termination_conditioncallback for ending protocol simulations early when a variable condition is met. - Added support for Python-style list repetition (
["step"] * N) in PyBaMM experiment strings. - Added support for
PV_CHAN_Cycle_Indexbranching in Arbin protocol parsing.
- Fixed latin-1 fallback decoding for non-UTF-8 protocol files in the standalone simulator.
Python API
Python API
Improvements
- Large request payloads (>512 KB) are now gzip-compressed automatically, reducing upload sizes significantly (e.g. 24.5 MB to 3.7 MB for typical serialized models).
- Removed
slugandadditional_datafields from cell models. - Job status fields now use typed enums instead of raw strings.