Skip to main content
April 6, 2026
Measurement types, performance improvements, total time termination, parameterized model enhancements

Measurement types for non-time-series data

Cell measurements now support a measurement_type field with three values: time_series (the default), properties for key-value metadata such as checkpoint measurements, and file for arbitrary files such as images, PDFs, or numpy arrays. Each type has its own creation and retrieval flow, and list endpoints can filter by type.Find out more →

Performance improvements

Pipeline creation is now significantly faster: large job configurations are offloaded to object storage instead of being written inline to the database. The entire backend has also been migrated to an async Supabase client, improving throughput under concurrent load. Models, parameterized models, studies, and optimizations now use server-side pagination and filtering, eliminating the need to load entire collections into memory.

Total time termination condition

Protocol steps can now use total_time as a built-in termination condition, ending a step after a specified duration of total elapsed experiment time rather than just step time.Find out more →

Parameterized model improvements

The parameterized model detail view has been consolidated into a single page with tabs, replacing the previous multi-page layout. Models can now be downloaded as a zip archive containing the full configuration, and initial temperature is now parsed in design optimization objectives for temperature-dependent studies.Find out more →
Improvements
  • Cell specification list now displays as a sortable data table instead of cards.
  • Added a UI warning when a simulation produces no data because all protocol steps were skipped.
  • Removed hardcoded convenience variables from the variable evaluator and improved the evaluate variables UX.
  • Migrated all update endpoints from PUT to PATCH semantics with partial update bodies.
  • Standardized all duplicate resource errors to return HTTP 409 with structured error details.
  • Replaced signed URL downloads with HTTP 307 redirects for simpler, faster file access.
  • Flattened cell measurement composite response shapes for a more consistent API surface.
  • Design optimizations now default to the Differential Evolution algorithm.
Fixes
  • Fixed optimization deletion hitting the wrong API endpoint.
  • Fixed clone optimization sending a reverted request body.
  • Fixed optimization list page sending redundant API requests.
Improvements
  • Parse initial temperature in DesignObjective for temperature-dependent optimization studies.
Fixes
  • Fixed Transform.to_dict leaking a base_name entry into fitted parameter dictionaries.
  • Fixed validation to correctly unwrap FunctionForExport when checking transformed parameters.
  • Fixed initial SOC not being passed to EIS frequency-domain simulations.
Improvements
  • Added support for arithmetic expressions with input parameters in the UCP-to-PyBaMM converter (e.g. 1000 / input["Total cells"] now produces correct symbolic expressions).
Fixes
  • Fixed initial SOC not being applied in EIS frequency-domain simulations.
Improvements
  • Replaced signed URL downloads with direct HTTP 307 redirects for measurement file access.
  • Flattened cell measurement response shapes for simpler data access.
  • Added measurement_type field to measurement models for non-time-series data.
  • Migrated all update methods from PUT to PATCH.
  • Improved loading of studies and parameterized models with large numbers of simulations via server-side pagination.
Improvements
  • Replaced pickle-based local cache with Parquet format for faster, more portable caching.
  • Added Latin-1 encoding support for Neware CSV files.