Skip to content

Releases: Unstructured-IO/unstructured

0.27.6

Choose a tag to compare

@qued qued released this 14 Sep 16:28
69d50a7

What's Changed

  • Fix DOCX text_as_html duplicating merged-cell text instead of colspan/rowspan by @qued in #4469

Full Changelog: 0.27.5...0.27.6

0.27.5

Choose a tag to compare

@badGarnet badGarnet released this 28 Aug 21:17
d68ab0f

What's Changed

Full Changelog: 0.27.1...0.27.5

0.27.1

Choose a tag to compare

@cragwolfe cragwolfe released this 21 Aug 20:58
3e5482b

What's Changed

0.27.0

Choose a tag to compare

@cragwolfe cragwolfe released this 21 Aug 18:45
94e0204

What's Changed

  • test: stop GLOBAL_WORKING_DIR tests from disturbing other xdist workers by @badGarnet in #4426
  • chore: restore telemetry by default by @cragwolfe in #4431
  • fix(security): bound quadratic array-stream decoding in is_pdf_too_complex (SEC-146) by @aadland6 in #4437
  • fix: linear-time inline element merging in HTML partitioning (ML-1713) by @aadland6 in #4440
  • fix: fallback character-set detection for file-like objects by @feiiiiii5 in #4438
  • feat: add partition runtime telemetry by @cragwolfe in #4442

New Contributors

Full Changelog: 0.25.2...0.27.0

0.25.2

Choose a tag to compare

@badGarnet badGarnet released this 03 Aug 20:09
4c61d87

What's Changed

  • Terminology update: Platform -> Pipelines in README by @Paul-Cornell in #4404
  • perf(html): use indexed parent lookup by @KRRT7 in #4417
  • feat: add lazy chunking entry points by @badGarnet in #4423

New Contributors

  • @Paul-Cornell made their first contribution in #4404

Full Changelog: 0.25.0...0.25.2

0.25.0

Choose a tag to compare

@lawrence-u10d lawrence-u10d released this 31 Jul 20:54
c38745b

Enhancements

  • Partition arbitrary JSON and NDJSON: partition_json() and partition_ndjson() now handle any valid JSON/NDJSON payload, not just serialized Unstructured output. Arrays (and NDJSON files) of serialized elements keep rehydrating as before; any other valid payload (bare objects, arrays of records, NDJSON lines, scalars) becomes Text elements containing the pretty-printed JSON instead of raising. The schema pre-gates in partition() are removed accordingly, a compact single-line JSON object now detects as FileType.JSON rather than NDJSON (JSON/NDJSON disambiguation examines at most the first 1 MiB of the file), and malformed input still raises ValueError (empty or whitespace-only documents yield no elements). One degraded case: NDJSON whose first record alone exceeds the 1 MiB disambiguation bound now classifies as JSON and fails partition() with ValueError (calling partition_ndjson() directly still handles it). Rehydration is chosen by an explicit shape predicate, with these consequences: an element-shaped payload whose contents cannot be rehydrated (e.g. corrupt metadata) raises ValueError with the underlying error chained, and an array (or NDJSON file) mixing element-shaped and arbitrary items partitions whole as arbitrary JSON - no partial rehydration that silently drops the arbitrary items. An empty JSON object yields one Text containing {} (an empty array yields no elements). One intended routing note: a one-record serialized-element file (a single object, not an array) routed through partition()/detect_filetype() now emits pretty-printed Text with alphabetized keys instead of rehydrating, since rehydration applies only to arrays (direct partition_ndjson() behavior is unchanged).
  • Serialized TableChunk elements now rehydrate: elements_from_dicts() (and with it partition_json() and partition_ndjson()) previously dropped serialized TableChunk elements silently because the type is not in the shared element-type map; it is now special-cased like CheckBox. This completes the table-reconstruction feature (#4291), whose reconstruct_table_from_chunks() expects deserialized chunks and now has a deserialization path to feed it. Behavior change: payloads of serialized chunked output containing split tables now return the TableChunk elements (previously omitted from results).
  • is_json_processable() and is_ndjson_processable() are deprecated: partitioning and file-type detection no longer route through these prefix-sniffing helpers. They keep working unchanged for downstream callers - now emitting a DeprecationWarning - and will be removed in a future release.

0.24.1

Choose a tag to compare

@badGarnet badGarnet released this 11 Jul 23:53
cda16b3

What's Changed

Full Changelog: 0.24.0...0.24.1

0.24.0

Choose a tag to compare

@william-u10d william-u10d released this 06 Jul 22:42
445c957

What's Changed

  • feat: derive category_depth from heading level in the v2 (ontology) HTML parser by @qued in #4360
  • fix(ci): stabilize partition benchmark with a rolling-median baseline by @qued in #4375
  • refactor: centralize URL fetching with host validation and default timeouts by @william-u10d in #4388

New Contributors

Full Changelog: 0.23.1...0.24.0

0.23.1

Choose a tag to compare

@badGarnet badGarnet released this 11 Jun 23:25
5ead69a

What's Changed

  • feat: extract filled AcroForm field text in PDF partitioning by @badGarnet in #4372

Full Changelog: 0.23.0...0.23.1

0.23.0

Choose a tag to compare

@badGarnet badGarnet released this 10 Jun 18:02
dacae2c

What's Changed

  • fix: stop decimating embedded text on dense PDF pages by @badGarnet in #4368
  • fix: keep extracted text aligned with rotated PDF page images in hi_res by @badGarnet in #4367
  • feat: add enrichment origins metadata field by @badGarnet in #4370

Full Changelog: 0.22.32...0.23.0