0.10.40 (2026-07-25)
Infrastructure & processing
- Processing reliability on busy deployments: health checks are now served independently of document processing, so the service stays responsive to them even while working through a heavy document. It is no longer restarted mid-run just because it is under load, so long-running document runs complete more reliably.
- Document processing is more resilient on CPU- and memory-constrained deployments. Page rasterization for vision and OCR now runs in isolation, so a single large or malformed document can no longer stall the processing service or cause it to restart mid-run. Runs on big scanned documents that previously failed partway through with “the worker stopped before this attempt recorded a terminal result” now complete reliably.
0.10.39 (2026-07-25)
Platform (Studio)
- Label Pages runs: the page preview now shows the classified document in the full viewer instead of small thumbnails. PDFs render page-by-page with zoom and navigation and each page’s labels shown beside it; Word and other Office documents open in their own preview next to a per-page label list. Filter by a label to focus on just the pages that carry it.
0.10.38 (2026-07-24)
Platform (Studio)
- OpenParser Studio: manage extraction pipelines from a dedicated workspace — create, edit, run, duplicate, and delete saved configurations. Jobs show the pipeline and version that produced each result, and you can save a new pipeline from job settings.
- OpenParser Studio: clearer progress while documents upload, parse, and extract, with live elapsed timing at each stage. Job history and the playground share a unified header with breadcrumbs, improved document and Markdown output viewers, and a cleaner parse sidebar. Choose light or dark theme and manage your account from the sidebar; model selectors and in-product copy are simpler throughout the workspace.
- Members provisioned through SSO are now read-only in workspace member settings. Their role and access come from your identity provider’s groups, so admins can no longer change or remove them by hand, and each SSO member is clearly labeled. Accounts created with a username and password stay fully manageable by admins.
Public API
- Breaking: OpenParser API resource identifiers now use consistent prefixed ids. Parse, extract, and batch jobs return
opj_…ids instead of UUIDs. Saved extraction pipelines useoppl_…instead ofoep_…. New parse output writes figure image ids asopfig_…instead ofocrfig_…. Existing jobs and pipelines are remapped automatically on upgrade when the OCR queue is idle enough for migration preflight. Prefer the new formats in job URLs,parse_job_id,pipeline_id, and batch childjob_idfields. During the transition, previously issued UUID job ids,oep_…pipeline ids, and UUID list cursors remain readable; responses continue to return the preferredopj_…/oppl_…forms. Historical parse artifacts andresult_jsonmay still embed legacyocrfig_…figure paths;GET /files/\{id}accepts bothopfig_…andocrfig_….
Infrastructure & processing
- Hardened AI-powered document processing against prompt-injection attempts hidden inside uploaded documents. Instructions embedded in a document can no longer steer extraction, classification, or vision results away from the requested schema, or coax the model into disclosing its own configuration.
- AI vision step results no longer include internal document storage references in their metadata. The step’s
_visionprovenance now records only which pages were inspected and how many were merged, keeping internal storage paths out of workflow output.
0.10.37 (2026-07-24)
Platform (Studio)
- New Label Pages step tags each page of a document with zero or more labels (multi-label) using AI, and groups the results into a label-to-pages map. Unlike section splitting — which produces one contiguous range per section — this collects pages of the same kind wherever they appear, so scattered pages (for example every signature or photo page throughout a report) can be gathered in one place. The page-inspection step can now take an explicit list of page indices, so you can route the pages for a given label straight into a visual inspection without hand-listing them.
0.10.36 (2026-07-23)
Platform (Studio)
- OpenParser Job History now reports the real end-to-end duration for completed parse and extraction jobs instead of showing a zero or unavailable measurement.
- Running OpenParser jobs now show the document scanning animation from the playground while results are being prepared.
- Parse and Extract now use consistent operation icons across OpenParser Studio and documentation.
0.10.35 (2026-07-23)
Platform (Studio)
- OpenParser sign-in and account creation now redirect directly to the branded authentication flow without an intermediate confirmation page.
- OpenParser parse jobs now retain both
rawandopenparser@1results. Retrieve either representation withGET /jobs/\{id}/result?format=..., switch formats in the Studio Output tab, and start extraction from a raw-format parse job without running OCR again.
Public API
- OpenParser parse jobs now retain both
rawandopenparser@1results. Retrieve either representation withGET /jobs/\{id}/result?format=..., switch formats in the Studio Output tab, and start extraction from a raw-format parse job without running OCR again. - OpenParser now keeps recognized text aligned with its original bounding box by default. Set
ocr_options.merge_layout_blockstotrueper parse, extraction, batch item, or saved pipeline when merged recognition is preferred over one-to-one text geometry.
0.10.34 (2026-07-23)
Platform (Studio)
- OpenParser sign-in and account creation now keep OpenParser branding throughout the authentication experience.
- OpenParser Studio: uploads and sample documents now open their Job History detail immediately, so browser back and forward navigation follows each run naturally while extraction and result review stay in one place.
- Run detail now shows clean, readable file names for inputs and outputs instead of internal storage identifiers, and long file names no longer overlap the preview and download buttons.
Public API
- OpenParser parsing now preserves every detected layout region—including empty title, header, and figure boxes—so document overlays remain complete. The obsolete
figure_assetsoption is removed because figure regions are now always retained. - OpenParser can now process documents beyond 25 pages and admit batches of up to 100 documents, while retaining per-page safety limits.
- OpenParser jobs can now stream their retained source documents with
GET /jobs/\{id}/source, making it easier to build durable review experiences around past runs. POST /suggest-schemanow returns the suggested schema inline as a convenience response instead of creating a job that clients must poll.
Infrastructure & processing
- Documents uploaded without a declared file type are now recognized from their contents, so PDFs, RTF, and Office files parse reliably instead of failing with an “unsupported file type” error. This most often helped uploads coming from automated integrations that omit the file type.
0.10.33 (2026-07-22)
Platform (Studio)
- OpenParser Studio: make Playground the home page, add shareable social previews, clarify job status and pipeline empty states, and tidy the OCR model selector copy.
Public API
- OpenParser suggested extraction model catalog (
GET /models/llmin suggested mode) now surfaces up to 20 recommended models instead of 12, so more current options appear before you need to search.
0.10.32 (2026-07-22)
- Internal improvements.
0.10.31 (2026-07-22)
Platform (Studio)
- OpenParser Studio production sign-in no longer auto-redirects to Eigenpal when you are signed out. Choose Continue to sign in on the local OpenParser page to authenticate with your Eigenpal account; sign-out stays on OpenParser.
0.10.30 (2026-07-22)
Platform (Studio)
- OpenParser production sign-in now shares Eigenpal sessions across its dedicated domain and returns users to their original OpenParser destination after authentication.
- OpenParser Playground: remove the doubled border and rounded corners around the document workspace.
Infrastructure & processing
- OpenParser: restore schema suggestions, use GPT-5.6 Terra as the default extraction model with GPT-4.1 Mini as a certified fallback, tighten compatibility checks, and provide clearer failure guidance.
0.10.29 (2026-07-22)
Platform (Studio)
- OpenParser Studio sign-in and sign-up now load the shared identity UI correctly for signed-out visitors.
0.10.28 (2026-07-22)
Platform (Studio)
- API keys: keep usable credentials in the primary list and move revoked or expired credentials into a collapsed history section for faster scanning.
- OpenParser Studio sign-in and sign-up now show OpenParser product copy and logo while retaining the shared Eigenpal identity.
Public API
- OpenParser model discovery (
GET /models/llm) now refreshes the live compatible catalog on the API service instead of falling back to a short emergency list when the catalog credential is missing from that process.
Infrastructure & processing
- OpenParser document processing now bounds source downloads and retries transient storage failures, preventing stalled jobs from running indefinitely.
0.10.27 (2026-07-21)
Platform (Studio)
- New Inspect Pages (Vision) step lets a workflow look at the actual page images of a document and return structured results, for details that only exist in the pixels rather than the text. Use it to check whether a document is signed, rate embedded photos, or spot stamps and logos. It works on PDFs, images, and Office documents, and you can point it at a specific page range (for example the section found by a Split step) so it only reviews the pages that matter. The run trace shows the pages it inspected next to the results.
- Parsing can now describe the figures on a page as text. Enable “describe figures” on a Parse step and the images on each page (property photos, charts, stamps) are detected and captioned inline, so later steps that work on text, like Split, can find image-only pages. This is especially useful for scanned documents, where the photo pages carry almost no text on their own. You can provide custom instructions for how figures should be described.
- Split step results are now also available keyed by section name. A later step can point at one section directly, for example
\{\{ steps.split.output.sections.photos.page_range }}, instead of filtering the full list. This makes wiring a Split step into a downstream step much simpler. - The Inspect Pages (Vision) step now takes a Page From / Page To range instead of a single page-range expression, and both are optional. Leave them blank to inspect the whole document, which is processed in chunks and the results merged automatically. This makes it much easier to point the step at a range (for example the start and end of a Split section) or to scan an entire document without writing a range expression.
0.10.26 (2026-07-21)
Platform (Studio)
- Wildcard API keys can use the OpenParser OCR API consistently with every other platform capability. Keys can also be restricted to the dedicated
ocr:fullscope when OCR-only access is preferred. - Run traces now include a Grounding panel for extract steps: every extracted value is highlighted in the input text, tinted by confidence, and clicking a field or a highlight jumps between them. Grounded fields also show inline context previews of the exact source passage, both in the panel and in the expanded step row. Split steps gain the same visual page-range panel the segmenter uses, with page thumbnails and per-section preview. The workflow builder reflects that grounding is on by default and lets you pick any configured provider as the grounding model, and capturing expected output from a run no longer snapshots volatile grounding metadata into evals.
Public API
- Wildcard API keys can use the OpenParser OCR API consistently with every other platform capability. Keys can also be restricted to the dedicated
ocr:fullscope when OCR-only access is preferred. - OpenParser: completed extraction jobs can now be retrieved reliably with their attempt and usage metadata.
CLI
- The step catalog now documents grounded extraction as the default: extract steps ship per-field confidence and source spans under the
_groundingoutput key unlessgrounded: falseis set.
Infrastructure & processing
- Data extraction now verifies itself by default. Every extract step traces each extracted field back to its exact location in the source text and attaches a confidence level (high, medium, or low) plus a needs-review flag under a reserved
_groundingoutput key, so downstream steps and evaluators can route uncertain values to a human. The verification pass runs on your workspace model (any configured provider), chunks long documents automatically, and falls back to deterministic text matching instead of failing the run when no model is available. Setgrounded: falseon a step to opt out.
0.10.25 (2026-07-20)
Platform (Studio)
- Failed single sign-on attempts now return to the sign-in page with a clear, actionable message (for example, when an account’s email domain isn’t authorized or the account hasn’t been granted access) instead of a blank error page.
0.10.24 (2026-07-15)
Platform (Studio)
- Agent runs graded by configured evaluators now record a weighted score and pass/fail result, visible in the runs feed and run detail responses. Previously only workflow runs carried an evaluator verdict.
- Email addresses for a workflow are unique across your whole organization, not just the workflow you are editing. Picking one that is already taken used to fail with a server error. It now tells you which workflow already receives email at that address, or that the workflow you are editing already has it, so you know what to do next. Duplicate folder names and duplicate workspace invites also report clearly instead of failing.
ai.extractwithgrounded: trueno longer succeeds silently without producing grounding. When the grounding pass cannot run (missing OpenAI credentials on the worker, or a grounding model that is not an OpenAI model) the step now fails with an error that names the exact misconfiguration. When the pass runs but produces no field grounding, the output carries an explicit degraded marker instead of nothing. The grounding model picker in the workflow builder now only offers OpenAI models, matching what the grounding pass supports.- Agent training: when a training session fails to open, the dashboard now shows what went wrong instead of a generic error. The message names the setup step that failed, and a session blocked by secrets that cannot be decrypted says so and points at the agent settings. A session whose setup fails partway through no longer opens on an incomplete workspace.
- Self-hosted deployments can now sign users in through corporate single sign-on services that use a redirect-and-token flow instead of OIDC. The new protocol supports mutual TLS for the server-to-server exchange, maps directory groups to EigenPal roles (admin, member, viewer) on every SSO sign-in so the directory stays the source of truth, and links existing password accounts by email so nobody loses access when SSO is turned on. Startup validation rejects unsafe callback origins and provider identifiers, while malformed or oversized identity responses fail closed.
Public API
- Syncing an automation immediately after a release no longer fails with HTTP 500 while the new release tag propagates. The sync endpoint now reports a retryable status with a clear message when the Git source is momentarily unavailable.
- Fixed single-experiment results export returning HTTP 400 whenever the
includeTracequery flag was omitted.workflow experiment resultsand the auto-pull at the end ofworkflow experiment watchnow download per-evaluator results in JSON and CSV again. - Creating an email trigger address that is already in use now returns 409 with a message naming the workflow in your organization that already uses it, instead of 500.
CLI
- Agent example runs now report a real evaluator verdict in the CLI:
eigenpal run agents.<name> --example <name> --waitwaits for the verdict, prints the weighted score and pass/fail result, and--fail-on-mismatchexits non-zero when the run fails its evaluators, matching the existing workflow behavior. When no evaluators are configured, the CLI says so instead of silently reporting nothing. agents secretsis now one command group withlist,set,unset,import, andexportsubcommands (agents secretremains as an alias). The newagents secrets listshows the secret names and descriptions declared in the package without ever printing values. Previouslysetandunsetlived under a separate singular command andsecrets listfailed with an argument error.agents syncretries automatically with a short backoff when the server reports the Git source as temporarily unavailable, so the sync right afteragents releasesucceeds without manual retries.agents dataset validatenow checks the same layout the server accepts onagents dataset push: example folders underexamples/, file inputs referenced frominput.jsonwith\{ "$file": "input/..." }, andexpected.jsonoptional. Previously the local validator demanded a different layout that push would then reject, so no dataset could satisfy both. Validation errors now point at the exact rule that failed, including a hint when example folders sit at the dataset root instead of underexamples/. When the agent package carries an input schema, each example’s full input object is validated against it (required fields, unknown keys, and value types, with\{ "$file": ... }references accepted for file fields), so inputs that would fail at run start are caught locally. Failure-expected examples (expected.jsonwith$error) are rejected for agent datasets, since agent runs are evaluated only when they complete.
0.10.23 (2026-07-15)
- Internal improvements.
0.10.22 (2026-07-14)
Platform (Studio)
- Organization members can now configure, test, and manage outbound webhooks from Studio.
0.10.21 (2026-07-14)
Platform (Studio)
- Webhooks: notify external systems when workflow or agent runs are created or change status, with signed delivery, custom headers, retry history, testing, and manual redelivery from Studio.
- Webhook signing secrets are now easier to copy securely from endpoint setup and details, with clearer event selection defaults.
- Webhook setup now keeps failed submissions actionable with clear inline error feedback.
Public API
- Run creation and rerun requests now publish signed lifecycle webhooks only after inputs are ready, so API-triggered automations never emit events for runs that fail during setup.
Infrastructure & processing
- Improved staging worker deployment reliability when compute capacity is fully allocated.
0.10.20 (2026-07-12)
Platform (Studio)
- Workflows: configure automatic retries from Studio at the workflow level or override them for individual HTTP GET/HEAD and Website Reader steps.
CLI
- The bundled workflow reference now documents durable retry policies, inheritance, supported step types, and retry safety limits.
Infrastructure & processing
- Workflow runs can recover replay-safe network steps from transient failures without restarting completed work, using bounded backoff and durable retry state. Retry behavior is now step-scoped. Legacy whole-run retry settings no longer restart a failed workflow; configure durable retries on eligible steps or through the workflow retry default instead.
0.10.19 (2026-07-09)
Platform (Studio)
- Workflow composition is unified on
action.invoke-workflow: useexecution: inline(default) to run a target workflow’s steps inside the parent run, orexecution: childfor a separate child run. Reusable blocks (control.block,kind: block) are removed — migrate to inline invoke withworkflow: <name-or-id>.
Public API
- Workflow run endpoints now preserve inline invoke snapshots across initial runs, reruns, and dataset executions so composed workflows remain reproducible after target workflows change.
CLI
- Workflow YAML reference docs now describe
action.invoke-workflowas the single composition primitive, including inline and child execution modes.
0.10.18 (2026-07-08)
Infrastructure & processing
- On-prem deployments: improve OpenShift compatibility so migration and processing jobs can start reliably under random-user security policies.
0.10.17 (2026-07-08)
Platform (Studio)
- Document parser: vision parsing can now render PDF pages at higher resolution and image quality for documents where small text or compression artifacts hurt OCR accuracy.
Infrastructure & processing
- Document parser: vision parsing can now render PDF pages at higher resolution and image quality for documents where small text or compression artifacts hurt OCR accuracy.
0.10.16 (2026-07-07)
Platform (Studio)
- Workflow experiment results now preserve evaluator error details alongside each per-evaluator score, so example grading views and tools can distinguish failed judges from unknown results instead of treating them as passing.
CLI
eigenpal run <workflow> --example <name>now actually grades the example instead of printingPASSwhenever the run merely finished. It runs the workflow’s current published version on the server’s stored dataset example, so configured evaluators run automatically and the CLI surfaces the real weighted score and per-evaluator pass/fail. Workflows with no evaluators fall back to a structural diff of the output against the example’s stored expected output. The summary reports two separate signals: execution health (ok/errored) and accuracy. Add--fail-on-mismatchto exit non-zero when a graded example fails. Because the run uses the server-side example, push your latest dataset and evaluators (eigenpal workflow dataset push,eigenpal workflow evaluators push) before running--example.
0.10.15 (2026-07-06)
Platform (Studio)
- Experiments: make result review easier in Studio with trace exports, clickable score bars, calmer live refreshes, developer-view defaults, and clearer separation between below-threshold results and run errors.
Public API
- Experiment export endpoints now support JSON exports with full run trace details for deeper debugging and audit review.
SDK
- SDK clients now expose the trace-inclusive experiment export option for deeper debugging and audit review.
0.10.14 (2026-07-06)
Platform (Studio)
- Evaluations: expected workflow failures now report cleaner scores when a run is supposed to stop early. Studio marks non-applicable quality judges as skipped, so successful rejection examples can receive a full score from the structured failure checks that actually apply.
0.10.13 (2026-07-06)
- Internal improvements.
0.10.12 (2026-07-06)
- Internal improvements.
0.10.11 (2026-07-03)
- Internal improvements.
0.10.10 (2026-07-03)
- Internal improvements.
0.10.9 (2026-07-02)
Platform (Studio)
- Build document-processing workflows that split, route, and verify a mixed batch: - Document separation detects the boundaries and types of the documents inside one large scan, so a single upload can be broken into its individual documents and each sent to its own extraction pipeline — even for batches hundreds of pages long. - Multi-way routing sends each detected document to the right branch by its type, and stays readable on the canvas even with many branches. - Grounded extraction attaches a confidence level and source location to each extracted field, flagging values that aren’t found verbatim in the document so reviewers know where to look. - The run view now lets you open the detected documents and preview their pages, and inspect the OCR layout with bounding boxes drawn over the page (with a toggle to the extracted text) — right from the step timeline.
CLI
- The workflow step catalog now lists the new document-separation and multi-way routing steps, plus the grounded-extraction options, so authoring and validating workflows from the CLI stays in step with what the platform supports.
Infrastructure & processing
- Self-hosted (on-prem) deployments can now run official EigenPal release images, with access provisioned per customer. Images are published only after a release ships and are signed so you can verify their authenticity before deploying.
0.10.8 (2026-07-01)
Platform (Studio)
- Single-file workflow inputs now display correctly after a dataset import. Previously an input that takes one file could show an empty file slot; imported examples now match each file to the workflow’s declared input shape.
- Evaluator scoring now uses a single pass threshold for the whole workflow. The score-by-example chart’s cutoff line and every evaluator’s pass/fail are measured against that one threshold, so the chart, the per-evaluator results, and the run gate always agree. Experiment scores are shown in two states — passing (green) or below threshold (amber).
- The LLM judge evaluator now requires evaluation criteria. Without them the model invents its own scoring rubric, so the editor marks the field required, renames it to “Evaluation criteria” with a worked example, and blocks saving until it is filled in.
- Workflow folders can now be reorganized. A new “Move to folder” action in each folder’s menu lets you move a folder (and everything inside it) into another folder or back to the top level, so you can restructure your workspace without recreating folders. Destinations that would nest a folder inside itself are blocked, with a tooltip explaining why.
- Nested sub-workflows now display and resolve correctly across runs, the workflow builder, and the CLI. In the Runs list, a run that invokes a sub-workflow which itself invokes another sub-workflow now nests every level under its parent, instead of stopping at the first level. In the workflow builder, an “Invoke Workflow” step that targets a workflow built from other invoked workflows now shows the real output field types instead of “unknown”, so you can reference those fields with autocomplete; referencing one of those fields no longer triggers a false “field not found” warning. The same resolution now applies when validating and publishing workflows (including via the CLI), so deeply nested invoke chains validate against their real output fields. All of this resolves through arbitrarily deep chains with a safety limit that prevents looping on workflows that invoke each other.
- Runs: add a simplified review mode with developer-view toggle, review status badges, and inline output review for JSON fields and generated files.
- New debugging and control primitives for runs. You can now cancel an in-progress run through the API, experiment results report when a batch has fully finished, steps skipped by a condition or an empty loop are reported as skipped rather than succeeded, and each step records the exact configuration it ran with so failures are easier to diagnose.
- Run detail responses are leaner and more explicit: you choose exactly which sections to expand, and the public run schema now exposes the workflow version, cancellation-request time, and trace, retry, and email-trigger details.
CLI
eigenpal workflow validatenow tells you when a workflow contains Invoke Workflow steps that local validation cannot fully check. Because those steps reference other workflows that live on the server, the command prints a short note pointing you tovalidate --online(or push) to verify the invoke targets, input types, and cycles. The skill guidance now shows the--onlinestep in the validate-then-push flow as well.- The evaluator configuration reference now reflects the single workflow-level pass threshold. A per-evaluator
passThresholdis documented as legacy — pass/fail is decided by the one workflow-level threshold — and that workflow-level threshold no longer shows a fixed default, since it is derived when omitted.
SDK
- The Python SDK now requires Python 3.10 or newer. Python 3.9 has reached the end of its support window, and dropping it keeps the SDK on current, actively maintained dependencies. If you are still on Python 3.9, upgrade to 3.10+ to continue receiving SDK updates.
0.10.7 (2026-06-30)
Platform (Studio)
- Faster dashboard navigation. Lists keep their contents on screen while filters and folders refresh instead of flashing a loading state, document and image previews are cached so they no longer re-download on every navigation, and heavy viewers (PDF, charts, rich text) load on demand for a quicker first paint.
- Workflows that invoke another workflow now pass file inputs through to the sub-workflow, so file-backed sub-workflow runs no longer fail before they start.
CLI
eigenpal --helpnow groupsrun,rerun, andrunsunder a dedicated “Run” section instead of the catch-all “Other” bucket, so starting a run and reading its output is easy to find.
0.10.6 (2026-06-30)
This release contains maintenance and reliability improvements with no customer-facing changes.0.10.5 (2026-06-29)
This release makes EigenPal’s public changelog a reliable product record. Each release now has a dedicated docs page that explains what changed for Studio, the public API, the CLI, SDKs, and document processing in one place. That means teams can follow platform improvements without piecing together GitHub activity or package-specific notes. The changelog is organized around customer-facing product areas, so it is easier to see which changes affect app users, API integrations, developer tools, and processing behavior.Platform (Studio)
- Invoke Workflow steps are now typed end to end. Pick a target workflow and map each input it declares to a value, then reference the workflow’s output fields and any files it generates from downstream steps with autocomplete. Inputs and outputs are checked when you save and when the step runs, so mismatches surface early instead of failing mid-run.
- Runs that invoke another workflow now appear nested under their parent run in both the runs feed and the run timeline, and link straight to the sub-workflow’s own run and trace.
- You can view a workflow’s inferred output schema (the fields and files it returns, typed from its own steps) without running it.
- File inputs are preserved consistently across runs, reruns, reviewed examples, and dataset experiments, so reused runs and examples no longer lose or mispoint their files.
- Creating new organizations and other Git-backed source operations stay reliable even during Git provider outages.
Public API
- Run file inputs now use a consistent artifact model. Callers provide reusable files with
$fileIdor inline files with$inline, and EigenPal materializes them into run-owned artifacts before execution, reruns, promotion, and dataset workflows. - A new endpoint returns a workflow’s inferred output schema without running it, as JSON Schema or as a TypeScript or Python type.
CLI
eigenpal workflow schema <workflow>prints a workflow’s inferred output schema as JSON Schema, or as a TypeScript or Python type with--format.
0.10.4 (2026-06-25)
Platform (Studio)
- Unify file list review surfaces
0.10.3 (2026-06-24)
SDK
Patch Changes
- e48cb81: Remove
fileVerdictfrom run review correction types; file correction intent is encoded viacorrectedArtifactPath.
0.10.2 (2026-06-24)
CLI
Patch Changes
- ca9ae4f: Workflow inputs can declare an external file
source(single-tenant on-prem). Atype: fileinput withsource: <name>(e.g.gpfs) is provided as a plain string id at run time; the worker resolves it to a file artifact via the configured source before the workflow executes.
0.10.1 (2026-06-23)
Public API
- Polish reviews pages and group API reference nav
Infrastructure & processing
- Client-shareable deployment architecture PDFs
0.10.0 (2026-06-23)
Platform (Studio)
- Add simple runs review mode
Infrastructure & processing
- Autogenerate chart architecture diagram from helm template
- AWS/GCP/Azure Terraform examples with architecture diagrams
- Helm chart + local kind for single-tenant on-prem
0.9.0 (2026-06-22)
CLI
Minor Changes
-
c35d5d4: Clean up the public runs and evaluation API surface: move workflow eval operations onto automations, expose run scores/artifacts through the unified runs API, and update CLI/SDK helpers to use the canonical routes.
Breaking:
runs.evalResultsandGET /api/v1/runs/\{id}/eval-resultsare replaced byruns.scoresandGET /api/v1/runs/\{id}/scores.
Patch Changes
- c35d5d4: Clarify
--max-waithelp text so timeout exit behavior reads naturally.
SDK
Minor Changes
-
c35d5d4: Clean up the public runs and evaluation API surface: move workflow eval operations onto automations, expose run scores/artifacts through the unified runs API, and update CLI/SDK helpers to use the canonical routes.
Breaking:
runs.evalResultsandGET /api/v1/runs/\{id}/eval-resultsare replaced byruns.scoresandGET /api/v1/runs/\{id}/scores.
0.8.0 (2026-06-18)
CLI
Minor Changes
-
d620a00: Expose the clean public automation API around automations, runs, files/artifacts, datasets, evaluators, experiments, evaluation results, and run promotion. This intentionally breaks the pre-v1 SDK/CLI surface that exposed workflow- and agent-specific top-level resources outside the explicit legacy compatibility routes.
[!WARNING] Breaking change (pre-v1). The workflow- and agent-specific top-level resources have been removed in favor of a single automation-centric surface. These packages are still 0.x, so this breaking redesign ships as a
minorbump. Update your integration before upgrading.Removed
- Top-level workflow resources, e.g.
client.workflows.*, includingclient.workflows.executions.runAndWait(...)and the rest of theclient.workflows.executions.*tree. - Top-level agent resources, e.g.
client.agents.*(runs, reviews, traces, files, expected artifacts). - Top-level source/git resources, e.g.
client.sources.*.
- Top-level workflow resources, e.g.
0.7.2 (2026-06-13)
SDK
Minor Changes
- c5a709c: Public workflow list/detail responses include
apiEnabledandtriggers; run definition docs note workflow-only scope.
0.7.1 (2026-06-13)
SDK
Patch Changes
- 9db3f01: Expose
apiEnabledandtriggersonAgentSummaryfor runtime trigger projection.
0.7.0 (2026-06-12)
CLI
Minor Changes
- 963fd6c: Unify run detail on
GET /api/v1/runs/\{id}: return the canonical Run object directly (no\{ run: ... }envelope) and merge expanded fields in-place via documentedexpandtokens. Remove the session-onlyexpand=internaldashboard escape hatch; SDKs and CLI now use explicit expand lists.
Patch Changes
- 963fd6c: Update runs commands for the grouped run API shape and four expand tokens.
SDK
Minor Changes
- 963fd6c: Unify run detail on
GET /api/v1/runs/\{id}: return the canonical Run object directly (no\{ run: ... }envelope) and merge expanded fields in-place via documentedexpandtokens. Remove the session-onlyexpand=internaldashboard escape hatch; SDKs and CLI now use explicit expand lists.
Patch Changes
- 12c00d8: Docs: clearer wording in the file-input and TypeScript-runtime sections. No API or behavior changes.
0.6.17 (2026-06-12)
SDK
Patch Changes
- 716c3cf: Update the hosted default API base URL and API-key guidance from
app.eigenpal.comtostudio.eigenpal.com.
0.6.16 (2026-06-12)
CLI
Patch Changes
- 75dd64c: Internal refactor: move the skill tool registry into its own module so other tooling can import it. No change to any command, flag, argument, or output.
0.6.15 (2026-06-10)
CLI
Minor Changes
-
ca87265: Unify workflow and agent run starts behind the canonical
/api/v1/run/\{target}endpoint, rooteigenpal run/eigenpal reruncommands, and root SDKclient.run()/client.rerun()methods. The old nested CLI commands and SDK resource methods for starting workflow or agent runs have been removed.
Patch Changes
- 5ea0bb5:
workflow dataset pullgains--example-id <id>(repeatable) to export a single example or a selected subset of a dataset, instead of always pulling the whole dataset. The subset ZIP uses the same archive layout as a full pull, so it re-imports into any dataset viadataset push --mode append. Requesting an example id that does not exist for the workflow exits non-zero.
SDK
Minor Changes
-
ca87265: Unify workflow and agent run starts behind the canonical
/api/v1/run/\{target}endpoint, rooteigenpal run/eigenpal reruncommands, and root SDKclient.run()/client.rerun()methods. The old nested CLI commands and SDK resource methods for starting workflow or agent runs have been removed.
0.6.10 (2026-06-08)
CLI
Patch Changes
- 99ca1b4: Unify agent and workflow run commands and SDK helpers on the shared
/api/v1/runsAPI, including the publicclient.runsfacade and regenerated SDK reference docs.
SDK
Patch Changes
- 99ca1b4: Unify agent and workflow run commands and SDK helpers on the shared
/api/v1/runsAPI, including the publicclient.runsfacade and regenerated SDK reference docs.
0.6.9 (2026-06-04)
SDK
Minor Changes
- 5e7c051: Add
observability(phase timeline + structured failure) to workflow execution and agent run status API responses.
0.6.6 (2026-06-03)
CLI
Patch Changes
- 245f347: Clean up the agent CLI surface by removing obsolete compatibility commands, moving reruns to
agents rerun, and replacing run pulls with canonical artifact fetching. - 5ab00ee: Tighten permissions on
~/.config/eigenpal/credentials.jsonand its parent directory to owner-only (0600 / 0700). Previously the file was written 0600 but the parent directory inherited the user’s umask (typically 0755), allowing other local users to list the directory and stat the file. The CLI now also re-tightens permissions on every write, so installs created with older versions are corrected on the nextauth login/auth use.
0.6.4 (2026-06-03)
CLI
Patch Changes
- c3486a5: Fix agent git cutover QA findings: dashboard runs now navigate to the created run, inbound email aliases preserve mixed-case organization qualifiers, sandbox source materializes under
/workspace/agent, run artifact downloads use direct paths like/files/eigenpal.lock, wait-for-completion responses include source provenance, and CLI wait/watch commands exit nonzero for failed or cancelled runs.
SDK
Patch Changes
- c3486a5: Fix agent git cutover QA findings: dashboard runs now navigate to the created run, inbound email aliases preserve mixed-case organization qualifiers, sandbox source materializes under
/workspace/agent, run artifact downloads use direct paths like/files/eigenpal.lock, wait-for-completion responses include source provenance, and CLI wait/watch commands exit nonzero for failed or cancelled runs.
0.6.2 (2026-06-02)
CLI
Patch Changes
- d2202b6: List all agent runs for unqualified targets, and reserve source-ref filtering for explicit
@reftargets.
0.6.0 (2026-06-02)
CLI
Minor Changes
- 2aeeaf2: Add native source
git saveand branch-awaregit releaseflows for Git-backed builder workspaces.
Patch Changes
- 2aeeaf2: Complete the agent Git cutover with pluralized agent CLI commands, source-ref run support, lockfile metadata, and regenerated SDK/docs surfaces.
- 2aeeaf2: Expose Git-backed agent source refs and public source automation APIs consistently across CLI docs and SDK facades.
SDK
Patch Changes
- 2aeeaf2: Complete the agent Git cutover with pluralized agent CLI commands, source-ref run support, lockfile metadata, and regenerated SDK/docs surfaces.
- 2aeeaf2: Expose Git-backed agent source refs and public source automation APIs consistently across CLI docs and SDK facades.
0.5.12 (2026-06-02)
CLI
Minor Changes
- d3b0768: Add
control.failandai.classifystep types, plus theexpected/error.jsondataset assertion format.-
control.failterminates a workflow with a typed status code + message envelope. Optionalconditiontemplate gates the fail. Compose withai.classifyto reject documents that match an undesired label. -
ai.classifyruns single-label closed-set classification through the existing extract LLM pipeline. Output is\{ label, confidence, reason }, wherelabelis constrained to the configured names. -
examples/<name>/expected/error.json(mutually exclusive withoutput.json) lets eval examples assert that a workflow should fail with a specific\{ code, messageContains, step }. The exact-diff evaluator scores 1 on match, 0 otherwise. -
eigenpal workflow validatenow catchesexpected/error.jsonshape issues and per-step config violations (e.g.ai.classifywith fewer than two labels) at push time instead of deferring to runtime. Skill reference docs (step-types.md,dataset-format.md,evaluators.md,workflow-yaml.md) updated.
-
Patch Changes
- 99cad97: Skill reference (auto-generated from
WorkflowDefinitionSchema) now documents the newvaluesrow for enum inputs, alongside the existingitemsrow used by array inputs. Output-only doc refresh — no CLI behavior change. - d70f697: Document the
control.parallel,control.parallel_map,control.foreach,control.if, andcontrol.blockstep types in the bundled skill reference. The auto-generated catalog cannot render nested step shapes, so the YAML form, output access paths (e.g.steps.<parallel>.output.<branch>.<inner>.<field>), and scoping rules now live as hand-written prose. Also documents the multi-step iteration hazard: only the LAST inner step’s output is keyed into eachitems[i]forparallel_map/foreach— end the body with atransform.scriptif you need to preserve intermediate fields. - ed2cde6: Fix
eigenpal workflow pullwriting a 0-byte file. The v1 single-workflow endpoint now returns the current YAML at the top level (yamlContent) via a newWorkflowDetailresponse shape, and the CLI throws a clear error instead of silently writing empty output when no version has been published. Also fixes adjacent regressions caused by the same picker:workflow listnow shows the workflow name and version columns (previously always-),workflow push --bumpreads the server’s current version correctly, the “did you mean?” suggestion on a slug typo lists candidates again, andworkflow execution listshows a duration column computed from the run start/end timestamps.
0.5.11 (2026-05-26)
CLI
Patch Changes
- 2958f4d: Fix Git-backed source smoke-test polish: hidden
git showandgit syncnow accept bare agent slugs, and workflow scaffolds use the currenttriggerMethodsYAML shape.
0.5.10 (2026-05-26)
CLI
Patch Changes
- aee7e0c: Add hidden Git source commands for editing trigger policy and encrypted secrets.
0.5.9 (2026-05-26)
CLI
Major Changes
-
fadb59b: CLI command tree reorganized around the data model. Top-level surface is now
workflow,agent(reserved), andskill; everything that operates on a workflow lives underworkflow, grouped by sub-entity. Renames (clean break — no aliases):eigenpal exec <slug>→eigenpal workflow execution run <slug>eigenpal clear→eigenpal workflow cleareigenpal install-skill→eigenpal skill(same interactive multiselect UX)eigenpal execution \{get,list,watch,compare}→eigenpal workflow execution \{…}eigenpal workflow set-definition→eigenpal workflow pusheigenpal workflow get-definition→eigenpal workflow pulleigenpal workflow set-evaluators/get-evaluators→workflow evaluators \{push,pull}eigenpal workflow set-dataset/get-dataset/list-examples→workflow dataset \{push,pull,list}eigenpal workflow run-experiment/get-experiment-status/get-experiment-results/get-eval-results/list-executions→workflow experiment \{run,status,results,eval-results,list}eigenpal workflow list-versions/restore-version→workflow version \{list,restore}