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

# 2026 08 24

<Update label="August 24, 2026" description="Search across every model list, download measurement data as a zip, multi-gigabyte uploads, and higher-fidelity cycler exports">
  ## Search every model list from one box

  Every model list — pipelines, designs, models, optimizations and the rest — now
  has a **search box that queries the whole list on the server**, not just the page
  you happen to be looking at. Type a name, a fragment of one, or paste a full id,
  and the list narrows to matches across all of your records — partial ids
  included. A CSV export carries the active search with it, so the file you
  download matches the list you were looking at rather than everything.

  The filter controls moved with it. Filters that previously lived behind a
  separate panel button now appear as the same **pills** as every other active
  filter, so what is narrowing a list is visible at a glance and removable in one
  click, rather than hidden one dialog away.

  ## Download measurement data as a zip

  A new **Download data** action bundles a cell measurement's raw data — no plots —
  into a zip. It works for a single measurement from its detail page, and for a
  multi-select on every measurement-list surface, so a whole batch comes down in
  one file. Each measurement gets its own folder containing its data tables (or its
  uploaded files, for file measurements) plus a `metadata.json` recording the
  measurement's id, name, type and creation time, its cell instance and
  specification, and each table's row count and column names.

  ## Multi-gigabyte uploads

  `client.raw_data.upload()` now handles payloads up to **500 GB**, transferring
  large files in parts — enough to store a multi-gigabyte published dataset as the
  raw bytes it was released as. Upload errors now report how many bytes transferred
  against the total, so an interrupted transfer is legible. Install the optional
  `large-uploads` extra to enable it:
  `pip install 'ionworks-api[large-uploads]'`.

  ## Cycler exports now preserve what you wrote

  We audited every export format against every protocol we can read, round-tripping
  the whole fixture corpus, and tightened the places where an exported file could
  drift from the protocol you authored. Exports now faithfully carry:

  * **Jumps to the end of a schedule**, so a protocol's step count and total
    duration match what you designed.
  * **Full current precision**, rather than rounding to one decimal place.
  * **A CCCV block's constant-voltage taper** when the block also has a duration,
    so the voltage hold keeps its termination.
  * **Repeat-block loop counts**, so a routine meant to run three times runs three
    times.
  * **The auxiliary sensor a temperature end condition references** — including
    safety limits — on both Maccor and Arbin, instead of collapsing every
    temperature end onto sensor 1. Two distinct sensors compared against the same
    threshold now stay distinct.

  And where an export genuinely cannot represent a jump, it now tells you rather
  than quietly substituting a fallback.

  ## Arbin MITS Pro 8+ export

  Arbin exports now cover both MITS Pro generations: **`.sdx` for MITS Pro 8 and
  newer**, alongside `.sdu` for 7 and earlier. Previously only the older dialect
  was written, so a bench running MITS Pro 8+ could not load the file.

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

      * The Test Scheduler now **flags overdue runs** — a run still open past its
        estimated end — in the Lab view, so an operator can close it out or extend the
        estimate. Scheduling behaviour is unchanged: an estimate is a forecast, not a
        commitment, so a lapsed one still releases its channel rather than freezing the
        schedule.
      * The in-app agent now knows **which page you are on** across every route, so
        you can ask about what's in front of you without naming it.

      **Fixes**

      * Planned measurements can no longer be **scheduled into the past**, on every
        path that books a channel window — creating a scheduled test, the Schedule
        dialog, and applying an auto-schedule proposal.
      * A browser tab left open across a deploy now refreshes itself cleanly instead
        of showing an error.
      * The job configuration and metadata on optimization and fit detail pages now
        load reliably.
    </Accordion>

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

      * Uploads above roughly 512 MB now transfer in parts, raising the practical
        ceiling to 500 GB, behind the optional `large-uploads` extra.
    </Accordion>

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

      * Protocols can be exported to **Arbin `.sdx` (MITS Pro 8+)** in addition to
        `.sdu`.
      * Temperature end conditions now carry the **auxiliary sensor index** they
        reference, on both read and write, for Maccor and Arbin.

      **Fixes**

      * A protocol's sampling interval can now be given as an expression, not just a
        plain number.
    </Accordion>

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

      * The skills now explain how to run **long jobs from inside the in-app agent**:
        submit the work, print the job id and return, then poll that id in later
        turns rather than blocking on a wait that would be cut short. A cut-short call
        never cancels work already submitted, so the guidance is to poll rather than
        re-submit.
    </Accordion>
  </AccordionGroup>
</Update>
