Measurement tags, cell batches and CAD models, and a lab utilization history
Tag your measurements
Measurements can carry free-form tags — “baseline”, “rpt”, “batch-7” — added the way you would in Notion: type to find one of the project’s existing tags or create a new one. Tags match regardless of case and reuse the project’s existing spelling. Click a tag chip in any measurement table to filter by it, and a second to narrow further; tag several measurements at once; and find measurements by tag in global search. The spec and instance pages gain the tag column and filter, plus a type filter.Through the API, measurements accepttags on create and PATCH, lists filter with
tags_all / tags_any, GET /cell_measurements/tags lists the project’s tags with
usage counts, and POST /cell_measurements/tags/bulk adds and removes tags on up to
1000 measurements.Cell batches and CAD models
- Batches are records of their own. A cell’s manufacturing lot used to be a text
field on each instance. It is now a batch belonging to a cell specification, with a
name, notes, manufacture date and properties. Existing batch text has been converted
into batches. Deleting a batch keeps its instances. This changes the API: cell
instances replace
batchwith a writablebatch_idand a read-onlybatch_name, and batches have their own endpoints under/cell_specifications/{id}/cell_batchesand/cell_batches/{id}. - Attach a CAD model to a cell specification (
.step,.iges,.stl,.obj,.ply,.glb,.off, up to 100 MB). A rendered thumbnail shows on the spec page and in the Cells table.
Lab: utilization history and channel checks
- A Utilization history page shows the cycler fleet over time as bars stacked by state (occupied, stale, free, out of service), from 30 days to 10 years, daily to annually, as a share or as a channel count. Open it from History under the utilization figure.
- Scheduling checks channel ratings. The Schedule dialog shows the voltage and current range the protocol reaches, and flags any channel whose ratings it would exceed (“Draws 7.5 A, rated 5 A”) or whose ratings are unknown. It warns but does not block.
- A test request shows what actually happened once it starts: the channel and window it ran on, a link to the measurement it produced, actual against estimated duration, and live channel data while it runs. Schedule is now the first row action in the Test Scheduler.
Studio
Studio
Improvements
- Simulate a protocol from its own page. A Simulate button runs the saved protocol against a cell and model you choose, with its inputs prefilled and comma-separated values sweeping. Full setup opens the full form with the protocol preselected.
- Looping protocols no longer need a setting raised. Max backward jumps now defaults to 1000 and has left the simulation forms; a simulation that exceeds it offers Rerun with higher limit.
- Cycles plots for every simulation, not only Cycle Aging (EIS excepted).
- Auto-generated analyses open on a plot suited to their kind: retention against cycle for cycling, capacity against C-rate for a rate test, resistance against SOC for a pulse sweep, charge and discharge capacity for formation.
- Rate-capability analyses record each step’s start and end voltage, so a step that began below the upper cutoff is visible as such rather than looking like poor rate capability.
- Analysis detection covers more test shapes. Staircase charges and pulses logged in stages are read as one load, GITT and incremental-OCV titrations are found as pulse sections, capacity-capped rate tests keep their slow and fast steps, and a record that changes voltage window between tests (formation then rate tests, for example) reads each test against its own window. Stored analyses have been re-derived.
- Invite a member as Member or Admin. The Members invite box has a role choice defaulting to Member; inviting someone who is already a member keeps their role.
- Faster time-series loading for large measurements, which now fetch only the part of the file a plot needs.
- Deleting a study says its simulations are kept, and how to delete them first if you want to. Study simulation counts stay current.
- The project members panel says clearly when everyone in the organization is already on the project.
- Simulation actions in study, model and protocol grids now show only when you can carry them out.
- The Cells table gives the name column most of its width; measurement tables beside a details card no longer hide their toolbar on a laptop screen.
- Project Contributors can create pipelines. Creating one failed for members whose organization role was Member.
- The protocol generator no longer puts cutoffs on its own safety limits. A step ending on or past the protocol’s safety limit is now an error, so a generated test no longer aborts in its first cycle.
- Older Data Fit and Validation results draw their plots again, for jobs from before March 2026 that showed a legend and no plots.
- Adding a time-series plot to a simulation in a study loads it. It could sit on “Loading variables” indefinitely.
- Comparing measurements keeps the Cycles tab when both have cycle data.
- Table search is consistent as you type: a whole word no longer returns more loosely related rows than a partial one.
- The specification-name filter on the Measurements list applies. It showed the pill but kept every row.
- A material’s Used by cell specifications table no longer empties on scroll.
- The optimizations list and the lab utilization plot fill the page height.
Pipeline
Pipeline
Improvements
iwp.Parameteris immutable. Theset_*methods are replaced by copies:with_bounds,with_initial_value,with_fitting_scale,with_normalize,with_priorandwith_initial_guess_distribution. Assigningp.boundsorp.initial_valueraises, naming the method to use instead.- A half-cell
GITTModelcan start from"Initial voltage [V]". It used to fail, or, with a full-cell parameter set, start at the wrong voltage.
- Objective-level constraints are applied with every SciPy optimizer.
ScipyMinimize(all methods) andScipyShgosilently ignored them. - The regularization docs now state that a penalty contributes
w * fun**2, notw * fun, sofunshould not be squared beforehand.
Python API
Python API
Improvements
- Manage memberships from the SDK.
client.organizationgainsmembers(),get_member(),invite(),set_role(),deactivate(),reactivate(),resend_invite()andremove();client.projectgainsroles(),add_member(),invite_member(),update_member()andremove_member(). Invites take a role and default to Member. client.analysis.create(..., plots=[...])stores plot presets for an analysis, validated against its columns.- The MCP server can run simulations, with
run_simulation,run_simulation_batchandwait_for_simulations. POST /jobsis retired and returns410 Gonenaming the endpoint to use instead:/pipelines,/simulations/with-template/batch,/optimizationsor the ECM fit endpoints.
- A malformed id returns
400, not500— for exampleclient.job.cancel(None). - NaN or Infinity in analysis metadata returns
400naming the offending key, instead of500.
Data Processing
Data Processing
Improvements
generate_experimentsplits a CC-CV charge logged as one step into a CC step and a CV step, so long cycling replays stay within the cell’s voltage window. Passsplit_cc_cv=Falsefor the previous behaviour.- Step typing works for sub-mA coin-cell data. Rest and constant-current thresholds
scale with the cell’s rated capacity (pass
cell_spec), or with the data’s own current, instead of typing every step as Rest. - Unparseable numbers warn. Values like
"N/A"in voltage or current columns are reported with the column and examples rather than silently becoming null. - Step labels and groups are removed.
iwdata.steps.label_*andvalidateare gone, steps no longer carryLabel/Group number, and thegitt_to_ocptransform is removed (userest_to_ocp).
- Neware BTSDA flat CSVs map
Cycle Index/Step Index, so cycles no longer collapse into one, and capacity and energy columns read as floats. - The empty-column warning from Excel readers is silenced.
Skills
Skills
Improvements
run-pipelinesreplacesrun-simple-pipelines, steering fits to regular pipelines so they appear in the web app.run-simulationscovers running simulations through the MCP server.discover-apilists the new membership methods;manage-cellsdocuments analysis plot presets, measurement tags and cell batches;process-datadocuments passing a cell spec for coin-cell step typing.