The new Lab view for tracking cyclers and channels, measurement analyses, and throughput-based degradation in the ECM
Lab view — see every cycler and channel at a glance
A new project-scoped Lab dashboard shows all of your test equipment organized as sites → cyclers → channels, so you can tell at a glance what’s running where. The Lab wall lists every cycler with a utilization bar and per-state channel counts, filterable by site and by amp/volt rating range. Drill into a cycler to see its full channel grid, or into a single channel to see exactly which cell is on test, its measurement history, and an editable out-of-service toggle with notes.Each channel’s state — occupied, stale (a run that stopped updating and likely needs attention), free, or out of commission — is derived from the measurements linked to it, so the view stays accurate without any live telemetry hookup. Channel cards also show an estimated end time for still-running tests when one is available. A set of scheduling rules keeps the data honest: two runs can’t overlap on the same channel, and a channel can’t be taken out of commission while a test is active.The same equipment picture is available programmatically through the newclient.lab sub-client in the Python SDK — ask for overall utilization, list
free channels (optionally filtered by required ratings), find stale channels
that need attention, or look up what’s on a specific channel, all from a single
call.Measurement analyses
You can now attach analyses to a measurement — a named table of extracted features (e.g. ECM parameters from EIS, or LLI/LAM degradation points from RPT data) stored alongside the raw measurement. The measurement detail page lists a measurement’s analyses, and each analysis has its own detail page with a data preview, downloadable parquet, and a link back to its source measurement. Analyses are fully supported in the Python SDK via the newclient.analysis
client (create from a polars/pandas DataFrame, list, fetch data, update,
delete).Throughput-based degradation in the ECM
The Equivalent Circuit Model (iwp.models.ECM) gained an opt-in degradation
capability: capacity and internal resistance can now evolve as user-supplied
functions of capacity throughput (the running integral of |current|), so a
single simulation can capture fade over the course of a run. Both options
default to constant, so existing ECM configs are unaffected.Studio
Studio
Improvements
- Global search now covers cyclers and channels alongside projects, studies, and cells — search from anywhere and jump straight to a channel’s detail page.
- The cell specification detail page is now organized into three tabs — Measurements, Instances, and Parameterized models — each with server-side pagination, filtering, and sorting.
- Organization admins can now deactivate a member to suspend their access while preserving their membership and role, then reactivate them later. A deactivated user sees a dedicated screen with an option to switch to another organization.
- Materials and components are now scoped to the project of the cell specification that references them, keeping each project’s parameter data within its own boundary.
- Sorting the project measurements grid by the measurement id column no longer makes every row disappear.
Pipeline
Pipeline
Improvements
- DataFit runs with a Bayesian sampler now return the full posterior sample chain (per-parameter samples and per-sample costs), not just the point estimate, retrievable from the job result.
Python API
Python API
Improvements
- New
client.labsub-client for point-in-time equipment questions: overall utilization, free channels (optionally filtered by required amp/volt ratings), stale channels needing attention, and what’s on a given channel. - New
client.analysissub-client for creating, listing, fetching, updating, and deleting measurement analyses, serializing DataFrames to and from parquet transparently. - Submitted pipelines can now reference local data with
file:andfolder:refs; their contents are read and inlined at submit time, and the same inline row cap that applies to raw DataFrames is now correctly enforced for these refs (afile:pointing at a very large CSV no longer slips through). - Raw-data upload now uses the same fast signed-URL flow as regular measurement uploads.
Protocol Simulator
Protocol Simulator
Improvements
- Arbin Power Simulation drive cycles are now supported — they parse into a drive-cycle step that can apply a power (W) waveform rather than current, and Arbin cumulative capacity/energy counters are modelled correctly across steps.
- Arbin
SetValuesteps that read a last-step quantity (e.g.MV_UD1 = LS_CHAN_Discharge_Capacity, the “measure C/20 capacity then log it” idiom) now resolve correctly at simulation time instead of failing with an unresolved-variable error, so the downstream steps that depend on that value run. - Arbin subschedule steps that happen to share a step index and label with a
step in the parent schedule no longer collide with a duplicate-step-name
error; each subschedule’s steps are kept distinct while still resolving
gototargets correctly.