Release Notes
Stay up-to-date with the latest improvements, new features, and bug fixes for Kensho Extract.
August 2026
🚀 New
- Documents up to 4,000 pages. Raised from 3,500.
- Self-deployed container: OCR enabled by default. No longer requires opt-in. Disable with
ENABLE_DOCUMENT_OCR=falseif needed.
🐛 Fixed
- Extractions are no longer lost during scale-down. Workers now finish the extraction they're running before shutting down.
- Bug fixes and stability improvements.
July 2026
🚀 New
- Multi-page tables merge into one result. Set
merge_multi_page_tableson the v3 extract request and a table that continues across a page break comes back as a single table instead of one per page, with no repeated header rows. Also available in the self-deployed container.
✨ Improved
- Documents up to 3,500 pages. Raised from 3,000.
- Self-deployed container: layout analysis matches the hosted service. The container was pinned to an older document-layout model, so the same document could come back structured differently depending on where you ran it. Both now use the same version.
🐛 Fixed
- Text and table coordinates are now correct on rotated and landscape pages. Positions on those pages were previously reported against the unrotated orientation.
- Password-protected PDFs now return a bad-document error naming the problem, instead of a generic service error that looked like an outage on our side.
June 2026
🚀 New
- Force the OCR language. The v3 extract request takes an optional
language, which is passed to OCR instead of letting it auto-detect. Useful when auto-detection picks the wrong language on short or mixed-language pages. - Table row header hierarchy. Set
extract_table_row_header_hierarchyand nested row headers come back with their parent-child structure, so indented row labels keep their meaning instead of arriving as a flat list. - Self-deployed container: HTTP interface. The container now runs an HTTP server, so you no longer need Kafka to send it work. It's close to a drop-in replacement for the queue-based container, and the release ships a migration guide.
- Self-deployed container: built-in OCR. The container does its own OCR, so scanned documents no longer require a connection to the hosted OCR service.
✨ Improved
- Page-by-page OCR is now on for everyone. Faster and more accurate on scanned documents. Rolled out gradually through May and June, finishing at 100% in June.
- Documents up to 3,000 pages. Raised from the previous limit.
🐛 Fixed
- Pages with thousands of tiny text segments no longer stall. Text ordering now falls back to a faster method past a size threshold.
- Runaway extractions now time out. Time limits weren't being enforced, so a single stuck document could run for hours and block faster requests queued behind it.
- No more duplicate processing. Fixed acknowledgement handling that could cause the same request to be processed more than once.
- Stability improvements.
- OCR jobs are no longer dropped when infrastructure fails.
May 2026
🚀 New
- Tag uploaded files.
POST /v3/extractions/upload-urlacceptsfile_tags, and the tags are written onto the stored objects for the request and its output.
🐛 Fixed
- Fixed an inverted y-axis bug that put table and text positions upside down in some documents.
April 2026
🚀 New
- Supporting relations between segments. Output can now include which segments support which, for example a footnote and the row it annotates.
- Self-deployed container: figure OCR. Text inside charts and figures is now extracted in the container.
🐛 Fixed
- Fixed incorrect hierarchy assignment when merging multi-part documents, which produced wrongly nested sections.