Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.ionworks.com/llms.txt

Use this file to discover all available pages before exploring further.

February 16, 2026
Permissions, optimizer selection, and Arbin protocol support

Role-based permissions for projects

Studio now supports granular role-based permissions at the project level. Contributors and viewers see only the actions they are allowed to perform, with UI elements hidden or disabled based on their role. Admins can manage project membership directly from organization settings.

Optimizer selection in optimization creation

When creating an optimization, you can now choose from multiple optimizer algorithms — XNES, CMAES, SNES, PSO, Differential Evolution, and Nelder-Mead — and configure hyper-parameters like step size and population size directly in the UI.Find out more →

Arbin protocol support

The protocol simulator now supports Arbin cycler protocols. Drive cycle data is stored in a dedicated table, and users can configure variable callback rules for fine-grained control over protocol simulations.Find out more →

In-project protocol simulation

Protocol simulations can now be run directly within a project context, using a parameterized model from that project instead of a generic one. A new Protocol Simulator page is available in the project navigation.Find out more →
Improvements
  • Distributed evaluation worker planning now scales from population size with polling-based readiness checks and retry with exponential backoff.
  • Extended job timeout to 14 days with automatic failure cascading to child jobs.
  • The “View” button in the simulation list is now in its own column for quicker access.
Fixes
  • Fixed plot loading requiring two loads — plots now initialize correctly on first view.
  • Added search functionality to simulation plot dropdowns.
  • Fixed composite plating simulation bugs with SOC calculation error handling and missing variable detection.
  • Fixed voltage components plot reliability with proper loading states and data availability checks.
  • Fixed pipeline element list showing elements from other pipelines.
  • Fixed pending job status menu not displaying for optimization and data fit jobs.
  • Fixed linked parameters in pipeline baseline construction.
  • Fixed organization member list appearing empty on the admin settings page.
  • Fixed users being redirected to project list with an error after creating a new project.
  • Fixed permission guard to wait for project data before checking permissions.
Improvements
  • Added GaussianLogLikelihood cost function for Gaussian negative log-likelihood optimization. Deprecated MLE in favor of SSE.
  • Reverse parsing now supports solver roundtrip serialization (ScipySolver, CasadiSolver, IDAKLUSolver, CompositeSolver).
  • clean_parameters now correctly handles nested expressions and dependent parameters, including FunctionParameter types.
  • Flat prior format is now supported alongside the nested format for simpler configuration.
  • Added missing API documentation for Arrhenius, piecewise conversion, and piecewise interpolation classes.
Improvements
  • Standardized error parsing for the new backend error format while remaining backward-compatible. Pipeline failures are now surfaced via raise_on_failure.
Improvements
  • Added cycle aging experiment template for long-duration degradation studies.
  • Additional Arbin protocol file formats can now be parsed and simulated.
  • Simulation results are now saved to disk during solve for improved reliability with long-running protocols.
Fixes
  • Fixed amp-hour tracking in step charge protocols.
  • Fixed Arbin protocol parsing regression from a previous change.
February 9, 2026
Cloud storage, signed URLs, and data validation

Simulation solutions in cloud storage

Simulation solution data is now stored in cloud storage (Parquet format) instead of the database, significantly improving performance for large simulations and enabling more efficient data retrieval.

Signed URL downloads

Data downloads now use signed URLs, bypassing the backend proxy for faster and more reliable file transfers. This improvement is available in both Studio and the Python API.

Measurement data validation

The Python API now validates measurement time series data before upload, catching issues like incorrect current sign conventions, non-monotonic cumulative values, and insufficient data points per step — preventing invalid data from entering the system.Find out more →
Improvements
  • Measurements table now supports server-side filtering for improved performance with large datasets.
  • Studies now load more efficiently with optimized data fetching.
  • Backend now caches API keys to reduce authentication latency.
  • Protocol documentation is now shown in experiment templates.
  • Added links to Python library documentation throughout Studio.
  • File existence checks now use signed URLs, improving upload time by ~20%.
Fixes
  • Fixed voltage components display and data loading.
  • Fixed simulation creation and retrieval via the API for cloud-stored solutions.
  • Fixed steps limit in experiment configuration.
  • Fixed various data display bugs including non-numeric column handling.
Improvements
  • Priors are now properly parsed with support for distribution configuration.
Improvements
  • Added customizable retry and timeout configuration for the API client, with correlation ID logging on errors.
  • Added step count and time validators for uploaded data.
  • Added infinity sanitizer for DataFrames.
  • Optional strict validation mode. Fixes
  • Fixed pipeline list pagination.
Improvements
  • Added support for Maccor files with 4-digit suffixes.
  • Added data caching in the data loader for significantly faster repeated loads.
  • Added additional column mappings with dunders.
  • Added validation and capacity calculation options.
  • Updated README and examples.
Improvements
  • Input expressions (e.g. 10 / input["C-rate"]) are now supported in resolution fields for time, voltage, and current — previously only numeric values were accepted.
February 2, 2026
API documentation, simulation study management, and input expressions

API documentation

Studio now includes a full API Reference tab powered by a custom OpenAPI schema. Browse available endpoints, see request/response schemas, and try out calls directly from the documentation.

Simulation study management

A new simulation study feature lets you organize related simulation runs into studies, making it easier to compare parameter sweeps, model variants, and protocol configurations side by side.Find out more →

Input expressions in protocol simulations

The protocol simulator now supports input expressions in resolution fields, such as 10 / input["C-rate"]. This lets you define resolution relative to operating conditions, so protocols automatically adapt when C-rate or other inputs change.Find out more →
Improvements
  • Fraction and C-rate inputs are now accepted, with better failure messages and links to the relevant cell and model.
  • Pinned actions column and updated single simulation plot style.
  • Updated data management documentation.
Fixes
  • Fixed voltage components plot displaying both split and unsplit data incorrectly.
  • Fixed Enter key not advancing from email to password on the login page.
Improvements
  • Batteries 101 guide added to technical documentation.
  • Consolidated optimization documentation for easier navigation.
  • Calculation docs now link to corresponding Python API methods.
  • Technical guide figures are now included in the documentation.
  • Migrated documentation to GitHub Pages with a custom domain.
  • Replaced hardcoded polish default with a configurable option.
Fixes
  • Fixed equations scrollbar overflow in documentation pages.
Improvements
  • Added Sphinx documentation site for the Python API.
January 26, 2026
Pipeline table with filtering, data filter fixes, and advanced cycle aging metrics

Pipeline management with filtering and export

The pipeline list now supports server-side filtering, pagination, and CSV download, making it much easier to find and export pipeline results across large projects.

Advanced cycle aging metrics

The pipeline now supports composed metrics for cycle aging analysis, including a CycleSlicer for splitting data by cycle and RelativeTime for time-since-start calculations. These building blocks make it straightforward to track capacity fade, resistance growth, and other degradation indicators over hundreds of cycles.

WebSocket support

Studio now supports WebSocket connections for real-time updates, laying the groundwork for live status updates on running simulations and optimizations.
Improvements
  • Wider application layout for better use of screen space.
  • Cell and model selections in the simulation form are now persisted across sessions.
  • Project member management at the organization level with admin pages for roles and permissions.
Fixes
  • Fixed data filters — resolved infinite loading after zoom, added a clear button, and corrected reset-zoom behavior.
  • Fixed extra variables appearing in simulation outputs.
  • Fixed data display for non-numeric columns.
  • Fixed organization admin permissions and table client-side pagination.
  • Fixed cell spec handling in projects — project ID is now required and chemistry validation is more lenient.
Improvements
  • Added pipeline description field and unified reverse parsing via ReverseParserMixin.
  • Updated data loader integration.
  • Updated to ionworksdata 0.3.6.
  • Updated to PyBaMM v25.12.2.
Fixes
  • Fixed add_inputs parameter on LumpedSPMR.set_initial_state.
Improvements
  • List operations now accept a limit parameter for controlling result size.
Improvements
  • Compound end conditions are now supported, allowing expressions like “Voltage < 2.5 and VAR1 < 1” to combine multiple termination criteria.
January 19, 2026
Custom model uploads, improved data UI, and project member management

Custom model uploads

You can now upload custom PyBaMM models to Studio as serialized JSON. This lets you use your own model definitions in simulations and optimizations without being limited to the built-in model library.Find out more →

Improved data visualization

The data UI has been redesigned with improved downsampling for faster initial rendering, automatic upsampling when you zoom in for full-resolution detail, and a larger plot layout for better readability.Find out more →

Project member management

Projects now support member management with dedicated roles and permissions. Organization admins can add and remove project members and assign roles through new CRUD operations.
Improvements
  • Added the LumpedSPMeR model with electrolyte dynamics.
  • Added an auth continuation page to prevent email security scanners from consuming login tokens.
  • Updated optimization documentation.
Fixes
  • Fixed lumped thermal models with the correct temperature variable and improved error messages.
  • Fixed user list to only show organization members, even for superadmins.
  • Fixed migration ordering issue.
Improvements
  • Initial conditions are now wrapped in pybamm.Scalar for consistency.
  • Extended default max_evaluations limit for longer optimization runs.
  • Pipeline elements now use ParameterValues explicitly for clearer parameter handling.
  • Added db: processing mode for the data loader.
  • Added lumped SPMeR model with electrolyte dynamics.
Improvements
  • Added CI for running example notebooks.
  • Proof-of-concept support for fetching pipelines from the API.
  • Improved error handling for project_id during pipeline creation.
Improvements
  • Input parameters can now be read from the ParameterValues dictionary.
  • Added Hermite interpolation for smoother solution evaluation.
January 12, 2026
Faster data uploads, MSMR extrapolation, and performance improvements

Faster data uploads

Data uploads now use signed URLs instead of JSON request bodies, eliminating timeouts when uploading large datasets. This is especially noticeable for files that previously failed to upload due to size limits.Find out more →

OCP data interpolation with MSMR extrapolation

OCP fitting now blends measured data with MSMR physics-based fits, providing smooth interpolation within the data range and physically-grounded extrapolation outside it. A new custom export class for piecewise functions supports this workflow.

Performance improvements

Pipeline loading is significantly faster thanks to reduced unnecessary fetching and elimination of duplicate element requests. Database queries have also been optimized with new indexes and a more efficient authentication check.
Improvements
  • Default model constants are now available for parameterized models.
  • API responses include a correlation ID for easier troubleshooting.
  • Route guards added for projects and cyclers to prevent unauthorized access.
Fixes
  • Fixed infinite recursion when switching organizations.
  • Fixed variable names in the optimization creation form.
Improvements
  • Composite MSMR support for multi-particle electrode models.
  • Added optimizer to the reverse parser mixin for round-trip serialization.
Fixes
  • Pchip interpolation errors are now wrapped as NumericalErrors to prevent unexpected pipeline failures.
Improvements
  • IDAKLU solver options can now be passed through as keyword arguments for finer control over solver behavior.
Fixes
  • Fixed solver warnings during protocol simulation.
January 5, 2026
Cell metadata, gzip compression, and improved AI chat

Cell metadata support

Cells now support rich metadata with a structured spec format, letting you attach and query detailed cell specifications alongside measurement data.Find out more →

Gzip compression for faster uploads

JSON file uploads to storage now use gzip compression, significantly reducing upload times for large parameter files and simulation results.

Enhanced AI project chat

The AI chat assistant has been updated with improved simulation awareness, providing more relevant answers to questions about your project data and pipeline results.
Improvements
  • Automatic JSON schema generation for frontend form validation.
  • Removed old parameterization UI in favor of the new pipeline-based workflow.
Fixes
  • Fixed missing .gz extension for child job parameter and metadata files.
  • Fixed pipeline list page sending unnecessary API requests.
  • Improved stale job and pipeline detection reliability.
Improvements
  • Metric weight renamed to action weight for clearer optimization configuration.
  • Added variable support to the design optimization schema.
Fixes
  • Fixed current termination sign handling for charge and discharge steps.
December 29, 2025
AI project assistant, simplified experiment configuration, and initial SOC from UCP

AI assistant for projects

Studio now includes an AI-powered chat assistant within each project. Ask questions about your project data, get guidance on setting up simulations and optimizations, and explore results — all from a conversational interface.

Simplified experiment and model configuration

Experiment parameters and model configuration have been streamlined with a simpler API. Additional simulation variables are now accessible through the API, making it easier to inspect and customize simulation outputs.
Improvements
  • DataFit job timeout extended to 24 hours.
Fixes
  • Fixed parameterized model variable name lookup for list-type domains.
Improvements
  • Design optimization now reads initial SOC directly from UCP files.
  • Metric values are saved before action execution for better progress tracking.
Improvements
  • Added missing operators to step termination conditions for broader protocol support.
  • Updated compatibility with latest Studio API changes.
Fixes
  • Fixed NumPy compatibility issue.
December 22, 2025
Live progress updates, modernized PSO optimizer, and lumped models

Live progress updates during pipeline runs

Pipeline runs now stream live progress updates to the UI, so you can monitor optimization and data fitting progress in real time. Metadata updates are deferred during execution to keep things fast, and pipeline job timeout has been extended to 24 hours.

Modernized PSO optimizer

The Particle Swarm Optimization implementation has been modernized with configurable boundary handling options, inertia weighting, constriction coefficients, and velocity clamping — giving you finer control over optimizer behavior.

Lumped models and voltage component plots

Studio now supports lumped battery models alongside the existing physics-based models, and voltage component plots are available for visualizing individual voltage contributions during simulation.
Improvements
  • New API endpoints for retrieving optimization variable names.
  • Design optimization schema integrated with the DataFit framework.
  • Validation results moved to metadata storage for improved reliability.
Fixes
  • Fixed experiment UCP format string that could crash the app.
  • Fixed charge optimization regression with new pipeline; prevented accidental baseline data overwrite.
  • Fixed memory issue in pipeline updates.
Improvements
  • Added UCP YAML string support for experiments in design optimization.
  • Added regularizer parsing for optimization constraints.
  • Bokeh-based validation reports for visual inspection of fit quality.
  • Improved interpolant slope formulation for smoother parameter interpolation.
  • Reinstated reformulate Xj option for electrode models.
  • Updated LGM50 demo notebooks.
Fixes
  • Fixed circular reference memory bugs during multistart optimization.
Improvements
  • Support for custom models with Voltage and Power operating modes, plus improved EIS simulation.
  • Added UCP to PyBaMM experiment converter for translating protocols into PyBaMM experiments.
  • Improved input reference handling in UCP to PyBaMM conversion.
December 15, 2025
Redesigned design optimization API and voltage components plot

Redesigned design optimization API

Design optimization has been restructured with a cleaner API for configuring models, parameters, experiments, and objectives. A new strict schema enforces valid configurations and enables automatic frontend form generation, making it easier to set up and validate optimization runs.Find out more →

Voltage components plot

A new voltage components plot lets you visualize the individual contributions to cell voltage — such as open-circuit voltage, ohmic losses, and reaction overpotentials — for deeper insight into cell behavior during simulations.
Fixes
  • Fixed cells from other projects appearing in cell selection lists.
  • Empty simulation data now correctly shows a failed status instead of a blank result.
Fixes
  • Fixed reaction overpotential (eta_r) calculation bug.