Added
Adds in-process local model support for structured extraction without an external model server. (L#NAVI-86)
Added
Adds a no-sampling decision-readout primitive (LLAMAW_Decide/LLAMAW_TokenizeSingle) to the in-process llama.cpp wrapper. (#3645)
Added
Adds an opt-in (enableComplexFieldGrounding) path that scores object/array-row fields through the document decision model’s real JSON context instead of a synthesized heuristic sentence; accuracy impact vs. the existing heuristic isn’t yet independently measured. (#3647)
Added
Adds opt-in local decision-model backends for document classification and splitting. (#3644, #3648, #3649)
Added
Adds continuation links for paragraphs and tables split across pages in the JSON export and merged Markdown output. (J#NAVI-74)
Added
Adds dispose() to editors, pages, metadata, and collections, fixing native-resource leaks. (#3422)
Added
Adds highlighted-word metadata and preserves highlights in Markdown and JSON exports. (#3315)
Added
Adds llama.cpp model discovery for configurable local vision models. (L#NAVI-73)
Added
Adds optional partial redaction that preserves the final logical group of detected sensitive values. (#3597)
Added
Adds support for the gpt-6-luna OpenAI vision model. (#3487)
Added
Adds Vision.Decide, a generic decision-model API that lets callers submit their own state and questions JSON directly to the native decision readout. (#3646)
Added
Adds text from small pictures and extracted chart data to Vision JSON output. (#3521)
Changed
Improves document processing performance with SIMD-accelerated image preprocessing and model decoding. (#3327)
Changed
Improves AI extraction reliability by retrying an OpenAI request once when it times out, instead of failing. (#3580)
Changed
Improves chart value accuracy by keeping axis titles and legends inside the region sent to the vision model. (
#3322(opens in a new tab))
Changed
Improves document parsing: Detects code blocks, recognizes numbered section headings, and removes duplicated OCR text. (#3686)
Changed
Improves Markdown export: plain captions, no generated chart summaries, and valid image syntax for pictures. (#3637)
Changed
Improves SVG rendering security. (L#NAT-691)
Changed
Improves table recognition speed when tables are processed on the CPU. (#3582)
Changed
Improves table extraction by preserving cell text on rotated pages, recovering missing rows in long tables, and detecting tables missed in the initial page analysis. (#3488)
Changed
Changes the default OpenAI vision model to gpt-6-luna. (#3707)
Changed
Changes the default per-attempt OpenAI network timeout from 600 to 300 seconds, so a stalled AI call is retried sooner. (#3777)
Removed
Removes the embedded OpenSSL; local VLM model downloads now use the operating system TLS stack and proxy settings. (#3530)
Fixed
Fixes an issue where prompts were truncated in the VLM generation path. (#3645)
Fixed
Fixes a macOS crash at process exit after running the local in-process vision language model. (L#NAVI-85)
Fixed
Fixes process crashes when several threads register a license key or evaluate a licensed feature at the same time. (L#GDPIC-1655)
Fixed
Fixes an issue where trial-mode feature traces were lost and trial initialization ran more than once when licensed features were first used concurrently. (L#GDPIC-1655)
Fixed
Fixes an issue where the licensing banner and licensed feature list were printed to the console after a production license key was registered. (L#GDPIC-1622)
Fixed
Fixes an issue where AI data extraction failed with a misleading error when a schema field had an empty list of allowed values. (L#DWS-806)
Fixed
Fixes an issue where AI extraction failed on very large schemas. Properties are now extracted in groups. (#3580)
Fixed
Fixes an issue where AI parsing failed a page when the provider’s content filter stopped the VLM reply. Affected zones retain their OCR text. (#3580)
Fixed
Fixes AI reader requests failing with Claude Opus 5 and 5.5 and OpenAI gpt-6-sol, gpt-6-astra, and gpt-6.1-sol. (L#NAVI-169)
Fixed
Fixes crashes during concurrent document processing with GPU acceleration on macOS. (#3769)
Fixed
Fixes CUDA acceleration on Linux systems with glibc older than 2.38, such as Debian 12 and Ubuntu 22.04. (L#NAVI-165)
Fixed
Fixes document processing failing on pages that need a targeted re-OCR when the OCR engine is set to PaddleOCR. (#3579)
Fixed
Fixes an issue where editors closed their document twice and leaked native handles when released. (#3422)
Fixed
Fixes malformed Markdown when extracted text contains less-than signs before HTML tables. (#3473)
Fixed
Fixes page rendering in document processing to apply the page’s rotation, as the DocProcessor render command does. (#3693)
Fixed
Fixes PDF 2.0 saves to preserve existing XMP and migrate standard Info fields when XMP is absent. (#3091)
Fixed
Fixes signing encrypted PDFs without losing protection and opening certificate-encrypted PDFs. (#3091)
Fixed
Fixes macOS installation and native-library compatibility; the Python SDK now supports macOS 14 or newer. (#3813)
Fixed
Fixes VLM-based extraction failing or misreading text on high-resolution scans and with newer models. (#3382)
Added
Adds automatic handwriting layout recovery that reconstructs under-segmented handwritten regions before extraction. (#3374)
Added
Adds automatic per-page routing (VisionEngine.Auto) that picks the cheapest suitable extraction pipeline per page. (#3296)
Added
Adds GPU-accelerated Paddle OCR with automatic fallback and hybrid Tesseract routing for vision document processing. (#3317)
Changed
Improves automatic OCR language detection. (L#NAVI-115)
Changed
Improves automatic OCR language selection. (L#NAVI-123)
Changed
Improves OCR accuracy on GPU machines. (L#NAVI-126)
Changed
Improves automatic OCR language detection speed. (#3566)
Changed
Improves bold detection on scanned pages by comparing each word’s stroke weight with same-size text on the page. (#3641)
Changed
Improves document splitting accuracy on merged files that contain rotated scanned pages. (#3497)
Changed
Improves OCR language detection on scanned pages, identifying more languages correctly in less time. (#3710)
Changed
Improves OCR on low-contrast scans. (L#NAVI-108, L#NAVI-109)
Changed
Improves OCR processing speed when using GPU acceleration. (#3299)
Changed
Improves OCR speed on GPU by checking uncertain words in parallel. (#3566)
Changed
Improves page orientation detection on scanned pages. (#3710)
Changed
Improves text extraction from scanned pages that carry a few typed or stamped words by reading the whole page with OCR. (#3710)
Changed
Keeps the text of table regions that the recognized cell structure doesn’t account for: Words inside a detected table but outside every recognized cell (total lines under the last row, lines merged into a neighboring row) are now exported as text after the table instead of being dropped. (#3342)
Changed
Makes document conversion reproducible: Reading order, spatial lookups, and word ordering no longer depend on the order in which internal collections happen to enumerate, so converting the same document twice produces the same text. (#3343)
Changed
Changes document data extraction to ignore a PDF’s invisible OCR text layer and read those pages with its own OCR. (#3628)
Changed
Enables fully local structured extraction: Extract with provider local and no endpoint now runs the model in-process, downloading the default local model on first use, instead of requiring an OpenAI-compatible server. (L#NAVI-166)
Changed
Optimizes OCR processing speed on scanned pages. (#3710)
Changed
Optimizes text detection speed in OCR and language detection, most on GPU. (J#NAVI-218)
Changed
Updates the in-process local model runtime to llama.cpp 0.5.0, which adds support for newer local models such as Qwen3.8 (models with multitoken prediction layers). (L#NAVI-167)
Fixed
Fixes recognized text being dropped from the output when it falls in a region no recognition stage produced content for. (#3343)
Fixed
Fixes an issue where label and value words on the same row of a scanned page could be emitted out of order. (L#NAVI-84, #3343)
Fixed
Fixes a crash when OCR with several languages reads a word differently in each language. (#3786)
Fixed
Fixes automatic OCR language detection misreading Latin-script pages as Cyrillic when Ocr.maxScripts is above 1. (L#NAVI-148)
Fixed
Fixes making PDFs searchable in Danish, Swedish, Norwegian, and most other languages, which were read as English. (L#NAPY-24)
Fixed
Fixes multizone OCR returning no words for a zone that shares a text line with an earlier zone. (#3609)
Fixed
Fixes OCR failing on every page when the OCR engine is pinned to Paddle. (#3423)
Fixed
Fixes thousands separators in amounts read from faint scans. (L#NAVI-135)
Added
Adds support for the STYLEREF field when converting Word documents to PDF, so a header or footer prints the text of the relevant paragraph — typically the current heading — on each page instead of repeating the value cached in the document. (J#MAMBO-2116)
Added
Adds Hebrew and Arabic letter list numbering to DOCX-to-PDF conversion. (J#MAMBO-2129)
Changed
Improves the precision of cell and paragraph shading when converting documents to PDF and SVG. (J#MAMBO-2126)
Fixed
Fixes HTML and Markdown export of Office documents and images, which failed instead of converting them to PDF first. (#3091)
Fixed
Fixes missing rows and incorrect row heights when converting presentation tables to PDF. (J#MAMBO-2126)
Fixed
Fixes Excel workbooks failing to open when a table style omits its optional display settings. (#3528)
Fixed
Fixes Excel workbooks with damaged internal references failing to open when they could be repaired. (#3528)
Fixed
Fixes MSG files rendering as binary garbage when their compound file directory is fragmented. (J#DV-759)
Fixed
Fixes a paragraph after a floating table being pushed below the table by unneeded automatic spacing. (L#MAMBO-2131)
Fixed
Fixes a table of contents entry or other field result rendering entirely in the font of its first character. (L#MAMBO-1911)
Fixed
Fixes field results and field codes being swapped when converting legacy Word documents to Word format. (L#MAMBO-1911)
Fixed
Fixes Markdown-to-PDF conversion producing raster pages with no extractable text. (L#GDPIC-1660)
Fixed
Fixes multilevel list numbers being scrambled (6.1 shown as 16.) in right-to-left DOCX-to-PDF conversion. (J#MAMBO-2129)
Fixed
Fixes pictures placed in a line of text being pinned to a corner when converting legacy Word documents. (L#MAMBO-1911)
Fixed
Fixes PowerPoint tables using the “No Style, No Grid” table style being rendered with black cell borders. (L#MAMBO-2132)
Fixed
Fixes regular text rendered in a heavy weight when converting Office documents that use static multiweight font families, such as Lato. (#3699)
Fixed
Fixes right-to-left text order and column-break layout when converting Word documents to PDF. (J#MAMBO-2045)
Fixed
Fixes right-to-left text running under floating text boxes and images instead of wrapping around them in DOCX to PDF. (L#MAMBO-2130)
Fixed
Fixes shapes with a picture or texture fill disappearing when converting PowerPoint presentations to PDF. (J#MAMBO-2121)
Fixed
Fixes table columns in Word documents being too narrow for their longest word, so words no longer break mid-word. (L#MAMBO-2131)
Fixed
Fixes Word documents failing to open with InvalidParameter when a table cell spans zero grid columns. (L#MAMBO-2136)
Fixed
Fixes Word table cells with zero cell margins being rendered with the table’s default margins. (L#MAMBO-2131)
Fixed
Fixes words being repeated or truncated in a table of contents rendered with small capitals. (L#MAMBO-1911)
Changed
Improves PDF encryption to use random AES initialization vectors and keys and the system cryptographic provider. (#3665)
Changed
Improves heading detection for document titles in Markdown output. (#3567)
Changed
Improves table detection in PDF layout analysis. (#3567)
Changed
Improves detection of ruled tables with stacked records, merged cells, or shaded rows in PDF layout analysis. (#3520)
Changed
Improves font handling for specific document configurations. (J#PDFA-114)
Changed
Improves PDF-to-HTML conversion speed and memory use for documents with many text runs. (#3631)
Changed
Improves text extraction fidelity for ligature glyphs, underlines, and clipped text on rotated PDF pages. (#3488)
Changed
Improves text extraction for fonts that identify characters by glyph name. (#3653)
Changed
Improves the accuracy of heuristic document layout detection. (#3377)
Fixed
Fixes HTML and PDF export replacing the underlying error with a generic one, hiding the real cause of a failed export. (#3091)
Fixed
Fixes annotation text such as contents and author reading back garbled when stored as UTF-16 or non-ASCII. (#3505)
Fixed
Fixes bold text extracted as regular from PDFs whose embedded fonts carry no weight information other than the font header. (#3629)
Fixed
Fixes PDF form field iteration returning base-class objects instead of specific field types, such as text fields and checkboxes. (#3534)
Fixed
Fixes page rendering failing on PDFs that embed CFF2 OpenType fonts; affected text now renders with a substitute font. (#3579)
Fixed
Fixes PDF 2.0 text stored as UTF-8 — such as annotation contents, form field values, and bookmarks — reading back garbled. (#3505)
Fixed
Fixes PDF text extraction for Type 1 fonts with a scaled font matrix and for Euro signs mapped to a wrong character. (#3686)
Fixed
Fixes PDF text extraction to use the actual text a PDF gives for glyphs and to return ligatures such as fl as letters. (J#GDPDF-1537)
Fixed
Fixes redaction region placement on PDF pages whose page box doesn’t start at the origin. (L#GDPIC-1658, L#GDPDF-1532)
Fixed
Fixes rotated text, such as vertical table headers and axis labels, missing from PDF layout extraction. (#3625)
Fixed
Fixes structured data extraction failing for schemas that use local $defs or $ref definitions. (#3580)
Fixed
Fixes symbolic fonts that name glyphs by Unicode extracting raw character codes instead of the characters. (#3625)
Fixed
Fixes text drawn with a negative font size in a half-turned text matrix being extracted mirrored and rendered with misplaced spacing. (J#GDPDF-1344)
Fixed
Fixes the PDF reducer clearing the producer metadata of the output document when no producer name is set. (#3436)
Fixed
Fixes title metadata preservation and annotation placement when editing PDF tags. (#3627)
Fixed
Fixes XFDF export failing on FIPS-enabled hosts when the PDF contains file attachment annotations. (#3535)
Added
Adds a dedicated connection setting for the form field detect-extract model, plus an optional fallback flow and connection for form field enrichment. (#3452)
Added
Adds a Markdown EmitFigurePlaceholders setting; the bare [Figure] picture placeholder is now off by default. (L#NAT-626)
Added
Adds a vlm_batches_failed event to VLM-enhanced recognition that reports how many vision-model batches failed on a page and the first error, so a page that lost part of its text to a provider failure is visible in the logs instead of passing silently. (#3448)
Added
Adds an opt-in enableInlineFormatting option to DWS.Parse for bold, italic, and other inline styles in Markdown. (L#NAT-514)
Added
Adds an opt-in setting that reads a list printed in side-by-side column groups with a repeated header as one table. (L#NAVI-187)
Added
Adds description, value, and group ID to each detected form field in the JSON output, and reports the enrichment strategy used to produce each form’s fields. (#3452)
Added
Adds document-settings configuration for in-process parsing and schema-based extraction through DataExtraction. (#3424, #3608)
Added
Adds orientation correction to the Structure engine for rotated pages that require OCR. (#3555)
Added
Adds streamCandidateLabels to document splitting: per-page and per-segment document types, with a split at each type change. (#3649)
Added
Adds support for reading USPS Intelligent Mail barcodes in parsed documents, such as the barcode printed on an envelope or mail label. (L#DWS-869)
Added
Adds the font class to text from born-digital PDFs and cleans up their font family names in Vision output. (#3751)
Added
Adds the font family, class, and size of each paragraph and table cell to the Vision JSON output. (#3717)
Changed
Improves Markdown export by rejoining words hyphenated across line breaks using language-specific dictionaries. Disable joinHyphenatedLineBreaks to preserve those breaks. (L#NAT-627)
Changed
Improves Excel-to-Markdown conversion by recognizing each table, heading, and paragraph on a sheet. (#3528)
Changed
Improves checkbox and option-state extraction with VLM-enhanced recognition: Checkboxes, radio buttons, and tick boxes are transcribed in place as marked or empty boxes and are no longer lost when OCR and VLM text are merged. (#3447)
Changed
Improves OCR accuracy on scanned pages. (L#NAVI-130)
Changed
Improves OCR accuracy when the recognition pipeline runs directly: It now reads scans as the extraction modes do. (#3607)
Changed
Improves the reading order of scanned forms and receipts: A page the layout detector splits into many short one-line regions is now read row by row, which keeps each label next to its value. (#3450)
Changed
Improves VLM-enhanced recognition accuracy. (L#NAVI-124)
Changed
Improves word accuracy in VLM-enhanced recognition. (L#NAVI-125)
Changed
Improves AdaptiveOCR table output: rejects layout boxes misread as tables and emits enumerated items as lists. (#3520)
Changed
Improves AI data extraction from charts and diagrams with OpenAI models: The images of the pages that hold a chart or a picture are now sent to the model with their text by default. Set includePageImages to send every page. (#3782)
Changed
Improves AI data extraction of long lists on large documents by filling them from a second pass over smaller page windows. (#3778)
Changed
Improves AI extraction from very long or wide pages, such as well logs and time-location charts, with gpt-6 on OpenAI: Such a strip page is now sent as overlapping image tiles near its rendered resolution instead of one image the provider shrinks. (#3803)
Changed
Improves automatic document parsing speed by using available GPUs for page routing. (L#DWS-967)
Changed
Improves bold and italic detection on scanned pages, and adds font family, class, and size to recognized text. (#3717)
Changed
Improves chart data extraction with fast geometry-based bar chart reconstruction. (#3316)
Changed
Improves computed values in AI data extraction, such as totals, counts, and shares: A second pass works out the number fields the model left at 0, and OpenAI reasoning models now default to a high reasoning effort. (#3783)
Changed
Improves form field detection and fill-state accuracy with an updated detector and a dedicated fill-state model. (#3330)
Changed
Improves ICR table extraction for tables without printed grid lines, cut across page tiles, or read as text or form. (#3625)
Changed
Improves ICR table headers, columns, and splits, and keeps grouped header rows in Markdown table export. (#3625)
Changed
Improves table detection in VLM-enhanced ICR by asking the VLM whether grid-like text regions are tables. (#3625)
Changed
Improves table extraction on scanned documents. (L#NAVI-106, L#NAVI-107)
Changed
Improves table text in VLM-enhanced recognition. (L#NAVI-110)
Changed
Improves text recognition in tables, including tables pasted as images and text on shaded cells. (#3610)
Changed
Improves the reliability of model downloads. (L#NAVI-117)
Changed
Improves the text of machine-readable zones on passports, identity cards, and visas, and flags unconfirmed readings. (L#NAVI-189)
Changed
Changes the default OCR language to automatic detection, so each document is read in its own language. (L#NAVI-115)
Changed
Exports the charts embedded in an Excel workbook as data tables when converting it to Markdown or IR Lite. (#3826)
Changed
Markdown export now applies the lexicon pack of the configured OCR language (OcrSettings.DefaultLanguages) to born-digital text, whose words carry no language of their own, and OcrSettings.DetectLanguageFromDigitalText (advanced, off by default) identifies born-digital pages from their text without an OCR pass when an explicit language is configured. (L#NAT-633)
Changed
Changes layout reconstruction to require the VLM-enhanced ICR license, as the VLM setting does. (#3607)
Changed
Changes VLM-enhanced recognition to keep OCR running by default, so text outside the detected regions and table content is no longer missing from scanned pages. Where the VLM’s transcription of a region is kept, the region’s words spell that transcription; a word OCR didn’t find gets an estimated position, marked boundsEstimated in the JSON output. Set the OCR activation mode to deactivated to make the VLM the only text source. (#3446)
Changed
Changes document classification and splitting to read page text with AdaptiveOcr unless a vision engine is set. (#3809)
Changed
Changes the Vision.Decide context window from 8K to 32K tokens, which uses about 0.6 GB more memory per process. (#3698)
Changed
Changes Vision.Decide to answer requests it can’t accept with a 400 and code invalid_input instead of a 500. (#3728)
Changed
Changes Vision.Decide to fail when the decision model calibration is unavailable instead of returning uncalibrated probabilities. (#3708)
Fixed
Fixes layout reconstruction not running on scanned pages, now with the local vision model too. (#3607)
Fixed
Fixes lower OCR accuracy on GPU machines when several pages or documents share the GPU. A time limit canceled the GPU text-recognition pass while it waited for the GPU, so those pages lost that pass. The limit is now off by default, and a recognition pass that is cut short or fails is reported. (L#NAVI-127)
Fixed
Fixes words read twice on scanned pages when the recognition pipeline runs directly on a GPU machine. (#3607)
Fixed
Fixes a repaired word in a PDF text layer picking up text from the line above or below it. (#3620)
Fixed
Fixes a value printed beside its label being read before the label. (#3609)
Fixed
Fixes Auto-mode extraction failing with an internal error on documents whose pages all route to the structure tier. (#3541)
Fixed
Fixes Auto-mode pages routed to the understand and agentic tiers returning corrupted text on GPU machines: They now run the same evidence-fusion OCR pipeline the explicit modes use. (#3562)
Fixed
Fixes barcode blocks in parsed documents covering the whole surrounding picture instead of only the barcode. (L#DWS-853)
Fixed
Fixes document decision classification falling back to CPU when it’s the first operation on a GPU host. (#3800)
Fixed
Fixes duplicate text recognition when printed and handwritten regions partially overlap. (L#NAVI-69)
Fixed
Fixes extraction losing the text of a zone printed on the same line as another, such as a value beside its label. (#3609)
Fixed
Fixes form values and check marks that no detected region claimed being output in one block, away from their labels; each now follows the text beside or above it in the reading order. (#3611)
Fixed
Fixes grounding scores missing from the confidence results of windowed and schema-split extractions. (#3647)
Fixed
Fixes invoice headers whose multiline addresses were split into several table rows. (L#NAVI-134)
Fixed
Fixes label and value lines printed above a table being merged into the table. (L#NAVI-180)
Fixed
Fixes Markdown export fusing a hyphenated compound whose own hyphen sits at a line wrap, so quasi-experimental no longer becomes quasiexperimental. (L#NAT-625)
Fixed
Fixes missing font and bold or italic styles on words that Vision recognizes late on scanned pages, such as table cells, and missing font sizes on scanned images that declare their resolution. (#3756)
Fixed
Fixes ordinary words being reported as superscript or subscript on gray and low-contrast scans. (#3449)
Fixed
Fixes paragraphs that share a reading position appearing in a different order from run to run in the text layer of OCR’d PDFs. (#3616)
Fixed
Fixes reading order on pages where a value is printed beside its label, such as an email header or a totals box: Each label now reads with its value before the text below it. (#3621)
Fixed
Fixes scanned zones losing their text when the page’s language couldn’t be detected. (#3618)
Fixed
Fixes small tables with one or two rows of values being exported as text instead of a table. (L#NAVI-177)
Fixed
Fixes some QR codes and barcodes being returned as pictures instead of their decoded value. (#3475)
Fixed
Fixes Specialist form field VLM calls using best-effort (not strict) structured output, which could silently degrade labeling accuracy by letting malformed fields through instead of being rejected up front. (#3652)
Fixed
Fixes superscript formatting in Markdown exports when inline formatting is enabled. (L#NAVI-195)
Fixed
Fixes table cells that held the values of two neighboring columns. (L#NAVI-178)
Fixed
Fixes table cells that wrap over two lines being split into two rows. (L#NAVI-134)
Fixed
Fixes table header rows being exported as a heading above the table. (L#NAVI-179)
Fixed
Fixes tables whose first columns were exported as text beside the rest of the table. (L#NAVI-180)
Fixed
Fixes tables whose total line was merged into the last row. (L#NAVI-176)
Fixed
Fixes text extraction on rotated PDF pages. (L#NAVI-111)
Fixed
Fixes text painted in the same color as its background appearing in ICR output. (#3625)
Fixed
Fixes text printed twice when one recognized word covered both a label and its value, such as a tax number after its label. (#3617)
Fixed
Fixes the Specialist form field VLM creating fields not grounded in any real detection on the page. (#3669)
Fixed
Fixes checkbox and radio button states being misread and requires non-empty field labels and descriptions during AI form field extraction. (#3652)
Fixed
Fixes Vision coordinates that could differ slightly between two GPU runs on the same document. (L#NAVI-192)
Fixed
Fixes Vision extraction results that could change when the same document is processed again. (L#NAVI-192)
Fixed
Fixes Vision warmup skipping the local vision model that the Auto engine and layout reconstruction use. (#3614)
Fixed
Fixes Vision.Decide answering a question with empty instructions with a 500 instead of a 400 invalid_input. (#3753)
Fixed
Fixes words of two text lines read interleaved, and in a different order from run to run, when a tall graphic on the same line was recognized as text. (#3615)