Skip to main content
March 9, 2026
Multi-measurement comparison, cycle aging simulations, and improved optimizer convergence

Multi-measurement comparison view

Select multiple measurements in the Cell Data table and click “Compare” to open a dedicated comparison page. The Time Series tab plots measurements on the same chart with configurable axes and a stack-cycles mode, while the Cycles tab shows cycle metrics like discharge capacity and coulombic efficiency across all selected measurements with optional retention mode. Filters can be applied globally or per-measurement.Find out more →

Cycle aging simulation template

A new cycle aging template is available for simulations, allowing you to define cycling protocols and visualize cycle-level metrics such as capacity fade and efficiency over hundreds of cycles.Find out more →

Improved optimizer convergence

The Differential Evolution optimizer now uses Latin Hypercube Sampling for better initial coverage of the parameter space, along with canonical mutation factor clamping and seed-based reproducibility. These changes improve convergence reliability across a wide range of fitting problems.
Improvements
  • Simulations can now be force-rerun while preserving the same simulation ID and study mappings.
  • The data list table now shows expanded specification columns (anode, cathode, electrolyte, case sub-fields), copy-on-click IDs, and a search-on-this-page feature.
  • EIS and dV/dQ data can now be viewed in dedicated tabs on measurement detail pages.
  • Cycler simulator jobs now provide live partial-result updates during execution.
  • Parameter sets are now dynamically discovered rather than hardcoded, so newly installed parameter sets appear automatically.
  • The API now includes a /discovery endpoint to help programmatic clients understand available capabilities and schemas.
  • Cell creation no longer requires anode and cathode to be defined upfront, simplifying the model creation workflow.
Fixes
  • Fixed stale data appearing after switching organizations.
  • Fixed a deserialization bug where model options were missing from design optimization jobs.
  • Fixed PyBaMM expression parameters (symbol tree dicts) not being deserialized correctly during parameterized model creation.
Improvements
  • Composite models now support nested list/tuple options (e.g. open-circuit potential configurations).
  • Capacity calculations now correctly account for the number of electrodes in parallel (n_elec).
  • Validation runs now surface simulation errors immediately instead of silently filling results with sentinel values.
  • Custom initial state support added for lumped SPMr and ECM models, accepting either a voltage string or SOC float directly.
Fixes
  • Fixed drive cycle step serialization losing interpolant data during roundtrip.
  • Fixed EIS simulation including unnecessary output variables in kwargs.
  • Fixed NaN values in simulation results causing constraint actions (GreaterThan/LessThan) to crash instead of returning penalty values.
Improvements
  • Added an API discovery skill to help agents explore available endpoints and schemas.
Improvements
  • DataLoader now accepts environment configuration for database connections.
  • Step detection now checks the last step after the first for more reliable step boundary identification.
Fixes
  • Fixed DataLoader.copy() failing on lazy-loaded from_db instances by ensuring time series data is loaded before cloning.
Fixes
  • Fixed a drive cycle temperature handling bug.
  • Added validation that safety limit minimums must be less than maximums, preventing misconfigured protocols.
  • Fixed a delayed processing bug where initial SOC parameter values were not saved for later variable evaluation.
  • Fixed Maccor parser not recognizing constant-power/constant-voltage (CPCV) protocol steps.