> ## 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.

# Changelog — Page 3

> Ionworks Studio product updates from November 2025 to January 2026

<Update label="January 26, 2026" description="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.

  <AccordionGroup>
    <Accordion title="Studio">
      **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.
    </Accordion>

    <Accordion title="Pipeline">
      **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`.
    </Accordion>

    <Accordion title="Python API">
      **Improvements**

      * List operations now accept a `limit` parameter for controlling result size.
    </Accordion>

    <Accordion title="Protocol Simulator">
      **Improvements**

      * Compound end conditions are now supported, allowing expressions like "Voltage \< 2.5 and VAR1 \< 1" to combine multiple termination criteria.
    </Accordion>
  </AccordionGroup>
</Update>

<Update label="January 19, 2026" description="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 →](/build/models)

  ## 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 →](/data/visualizing)

  ## 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.

  <AccordionGroup>
    <Accordion title="Studio">
      **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.
    </Accordion>

    <Accordion title="Pipeline">
      **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.
    </Accordion>

    <Accordion title="Python API">
      **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.
    </Accordion>

    <Accordion title="Protocol Simulator">
      **Improvements**

      * Input parameters can now be read from the ParameterValues dictionary.
      * Added Hermite interpolation for smoother solution evaluation.
    </Accordion>
  </AccordionGroup>
</Update>

<Update label="January 12, 2026" description="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 →](/data/uploading)

  ## 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.

  <AccordionGroup>
    <Accordion title="Studio">
      **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.
    </Accordion>

    <Accordion title="Pipeline">
      **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.
    </Accordion>

    <Accordion title="Protocol Simulator">
      **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.
    </Accordion>
  </AccordionGroup>
</Update>

<Update label="January 5, 2026" description="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 →](/core-concepts/cells)

  ## 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.

  <AccordionGroup>
    <Accordion title="Studio">
      **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.
    </Accordion>

    <Accordion title="Pipeline">
      **Improvements**

      * Metric weight renamed to action weight for clearer optimization configuration.
      * Added variable support to the design optimization schema.
    </Accordion>

    <Accordion title="Protocol Simulator">
      **Fixes**

      * Fixed current termination sign handling for charge and discharge steps.
    </Accordion>
  </AccordionGroup>
</Update>

<Update label="December 29, 2025" description="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.

  <AccordionGroup>
    <Accordion title="Studio">
      **Improvements**

      * DataFit job timeout extended to 24 hours.

      **Fixes**

      * Fixed parameterized model variable name lookup for list-type domains.
    </Accordion>

    <Accordion title="Pipeline">
      **Improvements**

      * Design optimization now reads initial SOC directly from UCP files.
      * Metric values are saved before action execution for better progress tracking.
    </Accordion>

    <Accordion title="Protocol Simulator">
      **Improvements**

      * Added missing operators to step termination conditions for broader protocol support.
      * Updated compatibility with latest Studio API changes.

      **Fixes**

      * Fixed NumPy compatibility issue.
    </Accordion>
  </AccordionGroup>
</Update>

<Update label="December 22, 2025" description="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.

  <AccordionGroup>
    <Accordion title="Studio">
      **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.
    </Accordion>

    <Accordion title="Pipeline">
      **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.
    </Accordion>

    <Accordion title="Protocol Simulator">
      **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.
    </Accordion>
  </AccordionGroup>
</Update>

<Update label="December 15, 2025" description="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 →](/optimize/overview#design-optimization)

  ## 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.

  <AccordionGroup>
    <Accordion title="Studio">
      **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.
    </Accordion>

    <Accordion title="Pipeline">
      **Fixes**

      * Fixed reaction overpotential (eta\_r) calculation bug.
    </Accordion>
  </AccordionGroup>
</Update>

<Update label="December 8, 2025" description="Data management for cells, silicon design optimization, and UCP solution save/load">
  ## Comprehensive data management

  Studio now provides a full data management experience for cell specifications, cell instances, and measurements. You can define cell specs, track individual cell instances, and associate measurements — all from a redesigned UI with streamlined navigation.

  [Find out more →](/data/overview)

  ## Silicon design optimization

  The pipeline now supports silicon-based electrode design optimization, including cell mass calculations. This enables end-to-end design studies for cells with silicon anodes.

  ## UCP solution save and load

  Protocol simulation results can now be saved to disk and reloaded later with lazy variable evaluation. This makes it practical to work with large simulation outputs without keeping everything in memory.

  [Find out more →](/simulate/universal-cycler-protocol)

  <AccordionGroup>
    <Accordion title="Pipeline">
      **Fixes**

      * Fixed a bug where data was not reverse-parsed in calculations.
      * Improved MSMR objective error handling with proper NumericalError support.
      * Silenced sundials solver warnings for cleaner output.
    </Accordion>
  </AccordionGroup>
</Update>

<Update label="December 1, 2025" description="EIS simulations, child job status, and saved validation plot config">
  ## EIS simulations

  EIS (Electrochemical Impedance Spectroscopy) simulations now work out of the box — default double-layer capacity parameters are automatically included so you no longer need to manually specify them.

  [Find out more →](/simulate/experiment-templates#7-eis-electrochemical-impedance-spectroscopy)

  ## Child job status visibility

  Pipeline and optimization pages now display the status of individual child jobs, making it easy to monitor progress and identify which steps have completed or failed.

  ## Saved validation plot configuration

  Validation plot settings are now persisted, so you no longer need to reconfigure plots each time you revisit a validation result. This also avoids unnecessary recomputation.

  <AccordionGroup>
    <Accordion title="Studio">
      **Fixes**

      * Fixed JWT secret configuration and error handling; improved metric display.
      * Fixed datafit parameter bounds format (now uses `[lower, upper]`).
      * Fixed model selection in optimization, charge time display, and cycler protocol metrics.
    </Accordion>

    <Accordion title="Pipeline">
      **Improvements**

      * OCP data loading now gracefully ignores steps instead of erroring.
      * Reverse parsing support added for costs.
      * Added current to the lumped SPMR model.

      **Fixes**

      * Fixed a bug with custom parameters in pipeline evaluation.
    </Accordion>

    <Accordion title="Protocol Simulator">
      **Fixes**

      * Fixed step label casing to match ionworksdata conventions.
    </Accordion>
  </AccordionGroup>
</Update>

<Update label="November 24, 2025" description="Models management, data fit performance, and parallel DifferentialEvolution">
  ## Models management

  Studio now has dedicated pages for managing models — browse a list of available models, view model details, and create new models. Parameterized model details are also viewable from the model pages.

  [Find out more →](/build/models)

  ## Data fit performance improvements

  The data fit UI is now significantly more responsive. React memoization and element collapsing prevent unnecessary re-renders, and RPC payload sizes have been reduced for batch job updates.

  <AccordionGroup>
    <Accordion title="Studio">
      **Fixes**

      * Fixed batch payload format for nested dictionaries.
      * Fixed pipeline data fit element fetching.
    </Accordion>

    <Accordion title="Pipeline">
      **Improvements**

      * Penalties and constraints refactored to use PyBaMM expressions for greater flexibility.
      * SciPy DifferentialEvolution optimizer now supports parallelization.

      **Fixes**

      * Fixed MSMR validation plot range clipping and a type-conversion bug with large integers.
      * Fixed bugs with lumped model and ECM compatibility.
      * Fixed parameter reverse-parsing.
    </Accordion>
  </AccordionGroup>
</Update>

***

<div className="flex justify-between items-center pt-2">
  <a href="/changelog/2">← Newer updates</a>
  <a href="/changelog/4">Older updates →</a>
</div>
