Releases: Unstructured-IO/unstructured
Releases · Unstructured-IO/unstructured
Release list
0.27.6
0.27.5
What's Changed
- chore(deps): bump claude-code-action to v1 by @william-u10d in #4448
- Added Sign up link for Transform and removed pricing by @ajaykrish-uns in #4457
- fix: stop treating every hyphen as a bullet delimiter in text partitioning by @badGarnet in #4458
- fix: preserve attachment elements' own filetype in auto.partition() by @badGarnet in #4460
- chore: make a release by @badGarnet in #4461
Full Changelog: 0.27.1...0.27.5
0.27.1
0.27.0
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
- @feiiiiii5 made their first contribution in #4438
Full Changelog: 0.25.2...0.27.0
0.25.2
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
Enhancements
- Partition arbitrary JSON and NDJSON:
partition_json()andpartition_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) becomesTextelements containing the pretty-printed JSON instead of raising. The schema pre-gates inpartition()are removed accordingly, a compact single-line JSON object now detects asFileType.JSONrather than NDJSON (JSON/NDJSON disambiguation examines at most the first 1 MiB of the file), and malformed input still raisesValueError(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 failspartition()withValueError(callingpartition_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. corruptmetadata) raisesValueErrorwith 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 oneTextcontaining{}(an empty array yields no elements). One intended routing note: a one-record serialized-element file (a single object, not an array) routed throughpartition()/detect_filetype()now emits pretty-printedTextwith alphabetized keys instead of rehydrating, since rehydration applies only to arrays (directpartition_ndjson()behavior is unchanged). - Serialized
TableChunkelements now rehydrate:elements_from_dicts()(and with itpartition_json()andpartition_ndjson()) previously dropped serializedTableChunkelements silently because the type is not in the shared element-type map; it is now special-cased likeCheckBox. This completes the table-reconstruction feature (#4291), whosereconstruct_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 theTableChunkelements (previously omitted from results). is_json_processable()andis_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 aDeprecationWarning- and will be removed in a future release.
0.24.1
What's Changed
- fix: sanitize v2 HTML output to prevent stored XSS (GHSA-v5mq-3xhg-98m9) by @badGarnet in #4394
Full Changelog: 0.24.0...0.24.1
0.24.0
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
- @william-u10d made their first contribution in #4388
Full Changelog: 0.23.1...0.24.0
0.23.1
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
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