Skip to content

build(deps-dev): bump unstructured from 0.18.14 to 0.25.2 in /backend - #3619

Open
dependabot[bot] wants to merge 1 commit into
developfrom
dependabot/pip/backend/unstructured-0.25.2
Open

build(deps-dev): bump unstructured from 0.18.14 to 0.25.2 in /backend#3619
dependabot[bot] wants to merge 1 commit into
developfrom
dependabot/pip/backend/unstructured-0.25.2

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 7, 2026

Copy link
Copy Markdown

Bumps unstructured from 0.18.14 to 0.25.2.

Release notes

Sourced from unstructured's releases.

0.25.2

What's Changed

New Contributors

Full Changelog: Unstructured-IO/unstructured@0.25.0...0.25.2

0.25.0

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

What's Changed

Full Changelog: Unstructured-IO/unstructured@0.24.0...0.24.1

0.24.0

What's Changed

New Contributors

Full Changelog: Unstructured-IO/unstructured@0.23.1...0.24.0

0.23.1

What's Changed

Full Changelog: Unstructured-IO/unstructured@0.23.0...0.23.1

0.23.0

What's Changed

... (truncated)

Changelog

Sourced from unstructured's changelog.

0.25.2

Enhancements

  • Speed up HTML element hierarchy reconstruction: elements_to_html() now indexes elements by ID before attaching children, avoiding repeated linear parent scans.

  • Add lazy chunking entry points: iter_chunk_elements() and iter_chunks_by_title() yield each chunk as it is formed, alongside the list-returning chunk_elements() and chunk_by_title(), which are now defined in terms of them. Same options, same chunks, same order — chunking was already lazy internally and this exposes that pipeline rather than adding a second one. Chunks are no longer accumulated in a list, so a caller that also reads elements lazily holds only the pre-chunk being formed; see the docstrings for two limits on that — iter_chunks_by_title() reads one pre-chunk ahead in order to combine undersized ones, and the default include_orig_elements=True retains source elements (image_base64 payloads included) in every chunk. Options are validated at the call rather than on first advance, and an unknown tokenizer used with max_tokens now raises there too, in both forms.

Fixes

  • Reject an empty tokenizer when chunking by max_tokens: "" is not None, so it slipped past the "tokenizer is required" check while still leaving the chunkers without a token counter — the window was then silently measured in characters, making max_tokens=20 mean 20 characters. It now raises the same ValueError as omitting tokenizer altogether.

0.25.1

Fixes

  • Update README.md: readme-only changes; added a link to Unstructured Pipelines to the README. No library behavior changes.

0.25.0

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.2

Fixes

  • Update README.md: readme-only changes; added the Unstructured Transform MCP to the README. No library behavior changes.

0.24.1

Fixes

  • Fix stored XSS in v2 (ontology) HTML output (GHSA-v5mq-3xhg-98m9): partition_html(html_parser_version="v2"), elements_to_html(), and metadata.text_as_html previously emitted untrusted document markup without output encoding, allowing attacker-controlled content (on* handlers, javascript: links, tag/attribute breakout) to execute when the HTML was viewed. Output is now sanitized — text and attribute values are HTML-escaped, event-handler attributes are dropped, tags/attributes are allowlisted, and URL schemes are filtered (http/https/mailto/tel/relative preserved; data: limited to raster image MIME types on img[src]). Legitimate formatting is unaffected.

0.24.0

Enhancements

  • Centralize outbound URL fetching: partition, partition_html, and partition_md now route url= fetches through a single shared helper (unstructured/safe_http.py) instead of ad-hoc requests.get calls. The helper applies an http/https scheme allowlist, a hostname denylist with IDNA normalization, address validation performed at connect time, manual redirect handling with per-hop re-validation (dropping credential material on cross-origin hops), refusal of proxied requests, and a default (connect, read) timeout. Behavior change: fetches that resolve to non-routable, loopback, or link-local addresses are now rejected by default. Set UNSTRUCTURED_ALLOW_PRIVATE_URL=1 (or pass allow_private=True) to opt out for controlled local usage.

0.23.3

Fixes

  • Stabilize the partition-runtime benchmark CI check: the gate compared each run against a single all-time-minimum runtime, which a one-off fast runner could poison into an unbeatable floor (a frozen ~81s baseline vs a real ~130s fleet), failing every PR. It now compares against a rolling median of recent main runs with a warm-up period, so runner-speed variance can't block unrelated PRs. CI/tooling only; no library behavior changes.

... (truncated)

Commits
  • 4c61d87 feat: add lazy chunking entry points (#4423)
  • 441b9d6 perf(html): use indexed parent lookup (#4417)
  • d309caf Terminology update: Platform -> Pipelines in README (#4404)
  • c38745b feat: partition arbitrary valid JSON and NDJSON files (#4391)
  • 8447a52 Update README.md (#4393)
  • cda16b3 fix: sanitize v2 HTML output to prevent stored XSS (GHSA-v5mq-3xhg-98m9) (#4394)
  • 445c957 refactor: centralize URL fetching with host validation and default timeouts (...
  • f6eea75 fix(ci): stabilize partition benchmark with a rolling-median baseline (#4375)
  • 37635f7 feat: derive category_depth from heading level in the v2 (ontology) HTML pars...
  • 5ead69a feat: extract filled AcroForm field text in PDF partitioning (#4372)
  • Additional commits viewable in compare view

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [unstructured](https://github.com/Unstructured-IO/unstructured) from 0.18.14 to 0.25.2.
- [Release notes](https://github.com/Unstructured-IO/unstructured/releases)
- [Changelog](https://github.com/Unstructured-IO/unstructured/blob/main/CHANGELOG.md)
- [Commits](Unstructured-IO/unstructured@unstructured_0.18.14...0.25.2)

---
updated-dependencies:
- dependency-name: unstructured
  dependency-version: 0.25.2
  dependency-type: direct:development
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
@dependabot @github

dependabot Bot commented on behalf of github Aug 7, 2026

Copy link
Copy Markdown
Author

Labels

The following labels could not be found: dependencies. Please create it before Dependabot can add it to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants