April 30, 2026
[New] New organizations get 5,000 free credits
Every new organization is now automatically granted 5,000 credits on creation, recorded as a standard billing transaction.
April 28, 2026
[Breaking + API] Split confidence is now a 0–100 integerSplitRange.confidence is now an integer in [0, 100] end-to-end (graph output, backend validation, database, and frontend rendering) instead of a 0–1 float. Existing values were migrated automatically.Action required: if your integration reads confidence from split results, expect integers (87) instead of floats (0.87). Confidence badges no longer render 0.87% or 8700%.
[Breaking + API] Workflow results response shape is now canonicalGET /v2/workflows/{wid}/files/{cid}/results/ now always returns {collection_id, verification_url, parse, extraction} — parse-only workflows return extraction: null instead of omitting the key. The internal field_id no longer leaks in responses.Action required: if your integration relied on extraction being absent for parse-only workflows, check for null instead. Cookbook examples and the API reference have been rewritten to match.
[New] Classify nodes return evidence and confidence
Classify nodes now return a structured result with category, evidence, and confidence. The UI surfaces confidence and evidence in the category data viewer, with a dedicated Classify tab at workflow level and a per-file Classify tab with verdict cards. The new classifications include option exposes the same data via the file API.
[New] HTML files render inside the document viewer
You can now upload .html and .htm files and view them in the document viewer. Files render inside a sandboxed, sanitized iframe to block script execution and same-origin access.
[API] Better OpenAPI for SDKs and try-it surfaces
POST /v2/workflows/ now declares its JSON request body, so SDKs and AI agents stop falling back to raw extra_body dicts. Bearer authentication is now declared as a proper API-key security scheme, so try-it panels render the lock icon and treat auth as required. Webhook responses now expose url as an HttpUrl and created_at as a datetime.
[Improved] Smart-table search now reaches inside table cells
Smart-table search now scans both page prose and table cells, returning cell matches with {table, row, column, value} provenance. Scalar values inside tables are no longer dropped behind prose hits.
[Improved] Per-category accuracy and confidence charts in monitoring
The monitoring tab now groups per-field accuracy and confidence charts into per-category sections for multi-schema workflows, with sensible fallbacks and an improved empty state.
[Improved] Validate view now shows results for classify-routed files
Per-file validation now displays extracted data for files routed via Classify by synthesizing entries from the file’s results when pinned to an extract node. The partition selector and sibling tabs are hidden when they don’t apply.
[Fixed] Improved processing of .docx and .msg uploads
.docx, .msg, and other non-PDF uploads now hydrate from their converted PDF instead of feeding the original binary into the PDF parser. Markdown for these formats is now correct and no longer triggers spurious “corrupt PDF” warnings.
[Improved] Other improvements and fixes
Reliable PDF callback uploads via short-lived presigned URLs (no more “Request Too Big” errors on large rendered PDFs), file-detail columns in splits and per-category tables, search_text helper exposed in the smart-table sandbox, object/list extraction fields no longer dropped from v3 results, timeouts and retries on frontend list requests, lighter /files list payloads, and eval and XFA disabled in the PDF viewer for a smaller attack surface.
April 27, 2026
[Fixed] Smart-table extraction no longer drops scalar fields
Smart-table extraction plans now must assign every schema field to either a table or a scalar_fields list, rejecting incomplete plans so scalar fields can no longer be silently dropped.
[Fixed] Master-file + extract workflows now run without error
Non-split workflows that combine a master-file node with an extract node now run cleanly — master-file nodes can augment an extract branch without triggering single-non-split-node validation.
April 24, 2026
[Improved] Tabbed data viewer on workflow detail
Reworked the workflow detail data viewer into a tabbed layout with shared grid skeletons and improved loading behavior. Added an inline workflow-name editor and tighter studio reload/loader behavior when workflows change.
[Fixed] Empty splits tab now shows a clean overlay
The splits tab now uses a proper no-rows overlay (resolving the previous “Element type is invalid” error) and filters out splits with no results, so empty entries no longer appear.
[Improved] More content captured during PDF parsing
Text missed by layout segmentation now reaches downstream parsing through orphan OCR detection and synthetic text-block injection. Orphans are clustered into lines, merged into nearby blocks where appropriate, or promoted to new blocks; redundant smaller blocks are absorbed to prevent duplicates.
[Fixed] Date parsing in the smart-table sandbox no longer silently returns None
The sandbox now allows datetime.strptime’s runtime dependencies, so parsed dates are correctly returned instead of being silently converted to None.
[Fixed] Smart-table no longer overwrites populated fields with empty values
Storing an empty list can no longer overwrite an already-populated list field (e.g. a transactions table). Column-statistics summaries now clearly label examples and indicate additional unique values so the worker doesn’t mistake samples for full datasets.
[Improved] Better table merging when headers differ
Same-title tables with differing headers are disambiguated to avoid dropping rows during merge, and the block-parsing prompt and markdown assembly capture text the model sees that isn’t covered by any block id.
[Fixed] Classifier results survive workflow amendments
Category queries continue to return populated classifications and datapoints after prompt adjustments — the version-compatible result builder now maps datapoints across amended versions by their stable persistent identifier.
April 23, 2026
[Fixed] Partitioned splits now flow into Validate and Smart Lookup
When a split rule declares a partition_key and the downstream extract is wired into a Validate or Smart Lookup, each partition is now processed independently — one validation pass per partition, one lookup pass per partition — and the results attach to the right per-partition child extraction. Previously the downstream node saw nothing.
[Improved] Per-partition fan-out is now bounded
Per-partition fan-out is now capped (default 4 parallel branches) so a 100-partition document running through extract → validate → lookup doesn’t saturate the model provider.
April 20, 2026
[Breaking] Smart Lookup is now part of ExtractThe standalone Smart Lookup node has been removed — lookup behavior now lives on the Extract node. You manage lookup files directly from the Extract menu, enable lookups per-field via a checkbox in the field editor, and see inline badges when lookup files are missing.Action required: none for most users — existing workflows migrate automatically and inherit Extract’s model settings. If you scripted Smart Lookup as a standalone node, switch to enabling lookup fields on Extract.
[Breaking] Smart Table is now an agentic mode on ExtractThe standalone Smart Table node has been removed — replaced by a Standard / Agentic mode selector on the Extract node.Action required: none for most users — existing Smart Table workflows migrate automatically to Extract with mode="agentic".
[New] Splits results tab in workflow results
Added a Split tab in the extraction results UI showing split-group cards and a collapsible per-page table, plus a document_split_groups include option on the workflow-version file endpoint with category, partition value, page range, and confidence.
[Improved] Redesigned Classify and Split menus
Both nodes now share a Config / Options tab layout with validated card-based editors, uniqueness checks, reserved “Other” handling for Split, click-to-edit from the Config preview tables, and cleaner Save-from-header behavior that closes open forms first.
[API] Split groups consolidated by category and partition value
document_split_groups responses now group rows by (category, partition_value) and return consolidated page_ranges arrays instead of per-row page_start / page_end fields.
[Improved] Better figure parsing in PDFs
The figure-enhancement prompt now uses chart-type-specific strategies, handles multi-panel figures, gives statistical-annotation guidance, and applies column-header rules. Segment deduplication now preserves the largest picture blocks to avoid losing visual context.
[Improved] Inline field-level errors in the field editor
Replaced the top-level field-form error banner with inline, field-adjacent errors, column-level highlighting, and deduplicated summary messages for enum options and nested fields.
[Improved] Default extraction model upgraded to gpt-5.2
The default extraction model is now gpt-5.2 across markdown and PDF extraction paths.
[Fixed] OneDrive and Google Drive imports work reliably in production
Fixed the cloud-connector reliability issues that affected OneDrive and Google imports in staging and production: a stricter content-security policy now allows the required SDK scripts and frames, SDK load errors surface instead of failing silently, consumer-vs-business OneDrive accounts are detected correctly, and a popup-polling leak is gone.
[Improved] Other improvements and fixes
Validation tab only appears when the workflow includes a Validate node and the file has an extraction; latest_version endpoint returns a clean 400 for invalid workflow UUIDs instead of a noisy 500; OAuth callback token exchange no longer stalls; Smart Lookup handles nested object fields correctly; agentic-extraction description typo fixed; partition tools only exposed when split rules define a partition key; null figure-parsing responses no longer crash; markdown viewer no longer has an infinite scroll loop and the markdown download button moved to the top of the panel.
April 14, 2026
[New] Redesigned Workflow Studio
The Studio now ships redesigned Parse and Extract node menus, smart node placement with auto-connect, a way to add connected nodes from an output handle, empty-state guidance, an updated sidebar with hover cards, and save-from-header with per-node validation errors.
[New] Validate node for cross-document rule validation
A new Validate node type lets you express cross-document rules that run after extraction.
[New] XML file support
Added an XML-to-PDF converter for files with embedded base64 attachments, so XML files extract end-to-end.
[Improved] API keys are hashed at rest, with multiple named keys per user
API keys are now hashed at rest, support naming, and you can hold multiple keys per user — better security and easier rotation.
[Improved] Per-cell parse confidence with logprob breakdowns
Parse confidence now uses cell-level logprobs when available, with per-cell and per-row logprob breakdowns for table blocks.
[Improved] Studio warns when leaving with unsaved changes
The Studio now blocks tab switches when configuration is dirty or an inline editor is open, and preserves in-progress work across tab navigation.
[Improved] Faster, paginated billing usage
The billing usage table is now server-side paginated with summary cards, dramatically improving query performance on large datasets.
[Improved] Visual grounding toggle for local-model compatibility
Added a toggle to disable visual grounding for environments where the local model doesn’t support it.
[API] Files nested under workflows; multi-node results; richer OpenAPI
File endpoints are now nested under workflows. A new multi-node results endpoint returns results across multiple graph nodes in one call. The OpenAPI spec is now enriched for better SDK documentation, and the billing API gained pagination, filtering, and ordering.
[Improved] Other improvements and fixes
OCR confidence is now included in segment and table-cell metadata; the schema builder uses a local config store for faster field editing; toast colors, mobile sidebar, long descriptions in choice fields, lookup-file display overflow, and schema editor header sizing fixes; corrupt-PDF hydration errors are now downgraded to warnings.
April 6, 2026
[New] Agentic document splitter
The batch LLM splitter has been replaced by an agentic workflow. You can now define custom split rules (name, description, optional partition key for grouping repeating sections) directly in the Studio SplitPages node, with a built-in “Other” catch-all rule.
[Fixed] Non-figure blocks no longer receive figure wrapping
Generic non-figure blocks are no longer treated as pictures, so only true figures receive screenshot crops and figure markup in PDF-to-markdown output.
[API] Removed duplicate health check endpoint
A duplicate health check endpoint has been removed from the API surface.
April 1, 2026
[Breaking + API] Workflow results endpoint always returns unified JSONGET /v2/workflows/{id}/results/ now always returns unified JSON (parse markdown plus extraction data per file). The output_format, as_lists, and file-filter query parameters have been removed; filter to a single file with the new file_id query parameter.Action required: if your integration relied on output_format, as_lists, or the legacy file-filter param, remove them and use file_id instead.
[Improved] Workflow usage endpoint supports pagination and ordering
The workflow usage endpoint now supports server-side pagination (page, page_size), ordering, and database-level filtering with the standard results response wrapper.
[API] v1 routes restored with deprecation headers
v1 routes (workflows, jobs, uploads/results) are back with Deprecation and Sunset response headers and X-API-Key auth fallback for backward compatibility.