ECM parameterization
A new ECM parameterization page lets you upload cycling data, select 0–5 RC pairs with a live circuit diagram, and view fitted parameters including OCV and R0. Results can be downloaded as CSV.Find out more →Adjust resistance in protocol simulations
The protocol simulator now uses Equivalent Circuit Models (ECM) instead of SPM for faster, more robust cycler protocol simulations. ECM parameter sets are available for all six supported chemistries, and a new resistance scaling parameter in the UI lets you adjust the overall cell resistance before running a simulation.Find out more →Custom variables on models
You can now define custom derived quantities on models — such as electrode potentials or temperature in different units — as PyBaMM expressions stored in the model configuration. These custom variables are evaluated at simulation time and included in result data, making it easy to track application-specific metrics across design sweeps.Find out more →BaSyTec battery cycler reader
The data processing library now supports BaSyTec CSV exports (CTS, X50 series). The reader auto-detects BaSyTec files by header signature, parsesHH:MM:SS.sss timestamps (including values
above 24 hours), applies the correct current sign convention, and extracts start times from companion
_meta.txt files.Find out more →Studio
Studio
Improvements
- Added dark mode with a theme toggle in the dashboard header.
- Moved optimization templates from organization scope to project scope with project-level management pages.
- Made optimization name optional when creating optimizations.
- Added pagination to cell specification, instance, and measurement list endpoints.
- Added OCV traces to drive cycle simulation result plots.
- Unified EIS column naming to
Z_Re [Ohm]/Z_Im [Ohm]across simulation, measurement ingestion, and frontend rendering. - Migrated experiment template metrics from code-string evaluation to serializable ionworkspipeline metric configs.
- Completed removal of deprecated
slugandadditional_datacolumns from cell models.
- Fixed datafit processor receiving unresolved
db:refs during validation. - Fixed
LumpedSPMRmodel crash due to missingself.paramattribute. - Fixed mutating datafit setup configuration between runs.
Pipeline
Pipeline
Improvements
- Added support for computing lithium inventory from maximum stoichiometries without requiring maximum concentration values.
- Adopted PyBaMM’s native
to_config/from_configfor model and experiment serialization, removing custom parser logic. - Added
absas a unary operation for composed metrics.
- Fixed thermal model using incorrect heat generation variable in ECM.
- Fixed trailing space in electrode balancing direction parameter names.
- Fixed validation to discover sub-parameters inside
FunctionParameternodes. - Fixed parser to handle sampler configurations and expanded schema sync tests.
- Fixed pandas/polars/DataLoader compatibility issues.
Protocol Simulator
Protocol Simulator
Improvements
- Unified EIS impedance columns to
Z_Re [Ohm]/Z_Im [Ohm]with SI units and standard sign convention.
- Fixed CCCV resolution to apply consistently to all sub-steps within a protocol.
Python API
Python API
Improvements
- Added local data caching for cell measurements, reducing repeated downloads.
- Added pagination support (
limit/offset) to cell list methods, returning aPaginatedListwith a.totalattribute. - Completed removal of deprecated
slugandadditional_datafields from cell models. - Improved sign detection algorithm for measurement current data.
Data Processing
Data Processing
Improvements
- Added BioLogic plain CSV reader for non-MPR exports.
- Added automatic derivation of
Z_ReandZ_ImfromZ_ModandZ_Phasewhen impedance components are missing. - Moved cell data caching logic into
ionworks-apifor reuse across packages.
- Fixed CSV reader to skip auto-detection for explicitly mapped columns.
- Fixed plotting bugs in data visualization utilities.