> ## Documentation Index
> Fetch the complete documentation index at: https://docs.eigenpal.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 0.13.0

> EigenPal platform release 0.13.0

## Platform (Studio)

* API reference for listing dataset examples now documents `include=metadata`, so you can page through example ids, names, and file refs without loading every payload.
* Local Studio development no longer keeps a growing on-disk compiler cache that can exhaust memory during long `bun dev` sessions.
* Studio's sidebar theme picker now supports keyboard navigation across system, light, and dark.
* Studio dashboard sessions continue to authenticate `/api/v1` calls. Token-based `/api/v1` and `/v1` requests still work without a browser login, and the dedicated API hostname keeps its public routing and CORS behavior.
* Studio save-as-release still publishes a tagged version as the live workflow. Publishing from an existing snapshot creates a new tagged release instead of rewriting the original tag, so earlier releases stay intact. Connect API docs version pickers follow the public version list, so after restore the current untagged version shows as latest while tagged releases stay selectable.

## Public API

* List dataset examples without pulling every payload. `GET /api/v1/automations/:id/examples` now accepts `include=metadata`, which returns ids, names, annotations, and expected file refs while leaving input and expected JSON unloaded. Keep the default `include=full` when you still need the complete example bodies.
* You can now create, promote, and restore workflow versions through the public API. Create a tagged candidate with `activate: false` to test it without changing live traffic, then promote that exact version after it qualifies. You can also publish from YAML, copy an existing version into a new release without changing its original tag, or restore an earlier snapshot. Name-conflict errors include `conflictingWorkflowId` so you can see which workflow already owns the name.

## CLI

* `eigenpal workflow versions` can now create, promote, and restore YAML workflow versions through the public API. Tag a candidate from a YAML file or an existing snapshot with an explicit semver, keep it off live traffic with `--no-activate`, then promote that exact version when it qualifies. Restoring still rolls a workflow back by copying a snapshot into a new current version — lists now show that untagged HEAD clearly instead of hiding it. `workflow versions list --limit` and `--offset` page that full public list locally. `--json` prints the sliced `\{ data, total, limit, offset }` envelope (`total` is the unsliced count), not the raw server payload.

## SDK

* TypeScript and Python SDKs can list dataset examples with `include: "metadata"`. That returns ids, names, annotations, and expected file refs without loading each example's input and expected JSON. The default remains a full payload, so existing list calls stay unchanged.
* The TypeScript and Python SDKs can create, promote, and restore workflow versions. Create a tagged candidate with `activate: false`, evaluate it without moving the live version, then call `promoteVersion` / `promote_version` when it is ready. Existing restore helpers still roll a workflow back to an earlier snapshot. Name-conflict errors expose `conflictingWorkflowId` on the typed error envelope.
