unstructured 0.21.2
unstructured 0.21.2
Also shipped Feb 23, 2026Unstructured in February 2026 →
Modal 1.3.4
- We're introducing "Directory Snapshots": a new beta feature for persisting specific directories past the lifetime of an individual Sandbox. Using the new methods modal.Sandbox.snapshot_directory() and modal.Sandbox.mount_image(), you can capture the state of a directory and then later include it in a different Sandbox: python notest sb =...
Subscriptions APIs: Introduce SubscriptionBillingAttemptState
As of April 2026, you now have access to the SubscriptionBillingAttemptState field in the GraphQL Admin API. This new field replaces several loosely-typed nullable fields with a discriminated union pattern, enhancing the API's ergonomics and self-documentation. | Deprecated Field | New Equivalent | Notes | |
February Release Spotlight
OpenRouter has added model benchmarks to its pages, introduced a free model router, and improved cost transparency across providers.
Agents, R2, Containers - Backup and restore API for Sandbox SDK
Sandboxes now support createBackup() and restoreBackup() methods for creating and restoring point-in-time snapshots of directories. This allows you to restore environments quickly. For instance, in order to develop in a sandbox, you may need to include a user's codebase and run a build step.
Hyperdrive no longer caches queries using STABLE PostgreSQL functions
Hyperdrive now treats queries containing PostgreSQL STABLE functions as uncacheable, in addition to VOLATILE functions. Previously, only functions that PostgreSQL categorizes ↗ as VOLATILE (for example, RANDOM() , LASTVAL() ) were detected as uncacheable.
Security Center - Saved views for Threat Events
TL;DR: You can now create and save custom configurations of the Threat Events dashboard, allowing you to instantly return to specific filtered views , such as industry-specific attacks or regional Sankey flows , without manual reconfiguration. Why this matters Threat intelligence is most effective when it is personalized.
More from unstructuredEvery unstructured release →
unstructured 0.21.5
- feat: custom fallback for language detection - Add Github action for time regressions - fix: relax lower bound for pdfminer.six
unstructured 0.21.1
- bump version
unstructured 0.21.0
0.21.0 Fixes - Replace NLTK with spaCy to remediate CVE-2025-14009: NLTK's downloader uses zipfile.extractall() without path validation, enabling RCE via malicious packages (CVSS 10.0, no patch available). spaCy models install as pip packages, eliminating the vulnerable downloader entirely.
unstructured 0.20.8
- fix: set max decompressed size for elements JSON - fix: update depdencies
unstructured 0.20.6
- Automate pypi publishing - fix: remove duplicate characters caused by fake bold rendering in PDFs - Improve fast partition cold start - fix: gracefully handle invalide html string during chunking - fix: remap parent id after hashing
unstructured 0.20.2
Release 0.20.2
unstructured 0.20.1
- Add Python 3.11 and 3.13 support - Use bigger runner to publish images
unstructured 0.19.3
- feat: add group_elements_by_parent_id utility function - Preserve newlines in Table and TableChunk elements during PDF partitioning - Fix: make pdf image dpi consistent - chore: bump dependencies for 0.18.34 - feat: increase PIL's max image pixel value for pdf partition - Migrate to uv - Fix ARM64 paddlepaddle image builder bug - Fix Docker ARM64 image...