Full optimization experiment editor, Arbin reader, Maccor coverage, UCP input schema
Full editor for optimization experiments
Optimization experiments now use the same protocol editor as the rest of the app. The bare text field has been replaced with a rich editor featuring YAML syntax highlighting, dark-mode support, frontend pre-validation, and the full protocol-builder dialog for picking templates and tuning steps. New protocols pre-load a “Constant Current Charge” template so users have a working starting point.Iterative metrics for design optimization
Design optimization now supportsCyclewiseMetric and StepwiseMetric
wrappers end-to-end. The optimization form lets you target a metric on a
specific cycle or step with bounded input fields driven by the parsed
experiment, mix pipeline variables alongside PyBaMM variables, and
round-trips wrapped metrics through save/load. A long-standing bug where
repeated protocol blocks were flat-expanded has also been fixed, which broke
solution.cycles indexing for cycle-wise metrics. Two new templates ship: a
simplified Charge optimization and composite system models.Arbin cycler support
ionworksdata now reads native Arbin exports — CSV, XLSX, and the binary
.res format. The .res reader extracts data directly from Arbin’s export
format (no separate Access database tool required), sorts rows chronologically
to handle interleaved multi-session recordings, and reads the absolute start
time from the file’s session metadata. Auto-detection picks the right reader
from file headers, and arbin res is also exposed as an explicit reader name.Maccor protocol coverage
The Maccor parser and simulator now handle several real-world protocol features that previously failed at parse time or during simulation, including per-limit safety gotos,Chg/Dis Func CCCV step types, and robust variable
setvar handling. The Maccor ionworksdata reader also gained support for the
compact short-form column header set used by some firmware versions, which
previously crashed and silently dropped capacity/energy columns.Machine-checkable UCP input schema
The discovery endpoint/discovery/schemas/protocol now exposes a JSON
Schema matching the actual YAML authoring format (single-key dicts like
{Charge: {...}}) rather than the internal parsed shape. Parity tests
round-trip good and bad fixtures through both the schema and the parser so
they cannot drift. Submitting the legacy kind: shape to
POST /protocols/validate now returns a helpful error pointing at the
canonical YAML examples, and the discover-api and run-simulations skills
show local pre-validation via jsonschema.validate(...).Studio
Studio
Improvements
- The Ionworks Agent tab has been replaced with a static instructions page; the in-app chat agent has been removed in favour of the agent-skills workflow.
- New cell specifications no longer pre-fill a default capacity, so users enter the actual cell capacity from the start.
- Storage permissions are now enforced at the organization level so members of the same org can read each other’s measurement files as expected.
created_by_emailis now consistently populated on cell-spec, cell-instance, and cell-measurement responses across bothgetandlistendpoints.- Simulation usage is aggregated at the organization level (matching the
org-level usage limit that the backend already enforces) and is fetched
from a dedicated
GET /organizations/current/usageendpoint.
Pipeline
Pipeline
Fixes
- Half-cell ECM now exposes anode and cathode potential variables
(
Anode potential [V],Cathode potential [V]) for plotting and metrics. get_cycle_metricskeeps theCycle countcolumn name on output instead of renaming it toCycle number, matching the input convention used throughout the data pipeline.
Python API
Python API
Improvements
validate_measurement_data,CellMeasurement.create, andCellMeasurement.create_or_getaccept askip_checksparameter so callers can relax a single strict validator (e.g.time_gaps) instead of disabling strict mode wholesale. Unknown check names raiseValueError, and the canonical set is exposed asionworks.validators.STRICT_CHECK_NAMES.validate_strict=Trueis now the recommended default.
Data Processing
Data Processing
Improvements
- New Arbin reader covering CSV, XLSX, and native
.resexports (see the highlight above). - Maccor reader now accepts the compact short-form column header set used by some cycler firmware versions.
Documentation
Documentation
Improvements
- New electrolyte parameterization page with a worked Landesfeind fit example.
- Optimization experiment editor, iterative metrics, simplified Charge template, and composite system models are documented.
- Custom variables reference now documents anode/cathode potential exposure on the half-cell ECM (English and Japanese).
- Maccor native
CCCVstep type is documented (English and Japanese). - Arbin is listed in the supported cyclers table.
- SEO metadata (keywords, OG tags, tightened descriptions) added across the docs site, including expanded data-fitting guide descriptions.
Skills
Skills
Improvements
- Each mirrored package (
ionworksdata,ionworks-schema,ionworks-api,iwutil,ionworkspipeline,skills) now ships a per-packageCHANGELOG.mdin Keep-a-Changelog format, written and validated as part of the release workflows. discover-apiandrun-simulationsskills updated to reference the new UCP input JSON Schema and demonstrate local pre-validation.upload-dataskill updated to recommendvalidate_strict=Trueand document the newskip_checksparameter.