Release Notes

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=false if 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_tables on 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_hierarchy and 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-url accepts file_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.