v1.14.2
windmill-labs/windmillv1.14.2Aug 13, 2026by abimaelmartell
AI Summary
This release hardens the parser against crafted PDFs designed to cause denial-of-service or panics by capping resource expansion limits for various PDF structures. It also improves text extraction quality within Form XObjects.
Key Highlights
- Caps Form XObject expansion, CID ranges, and content-stream decode to prevent DoS
- Form XObjects track the text line matrix and honor spacing operators
- Small-caps runs merge instead of being read as extra table columns
New Features
- Resource bounds enforcement for Form XObjects and CID ranges
- Text line matrix tracking in Form XObjects
- Improved small-caps handling
Full Release Notes
## Packages All packages were built from source checkpoint [`4bee4f9`](https://github.com/firecrawl/pdf-inspector/commit/4bee4f993ba28bd6a3334fa55e699b318663fba3). - [Rust crate `pdf-inspector` 1.14.2](https://crates.io/crates/pdf-inspector/1.14.2) — `cargo add pdf-inspector@1.14.2` - [Python `pdf-inspector` 1.14.2](https://pypi.org/project/pdf-inspector/1.14.2/) — `pip install pdf-inspector==1.14.2` - [Node `@firecrawl/pdf-inspector` 1.14.2](https://www.npmjs.com/package/@firecrawl/pdf-inspector/v/1.14.2) — `npm install @firecrawl/pdf-inspector@1.14.2` - [WebAssembly `@firecrawl/pdf-inspector-wasm` 1.14.2](https://www.npmjs.com/package/@firecrawl/pdf-inspector-wasm/v/1.14.2) — `npm install @firecrawl/pdf-inspector-wasm@1.14.2` <details> <summary>Node platform packages</summary> - [Linux x64 glibc](https://www.npmjs.com/package/@firecrawl/pdf-inspector-linux-x64-gnu/v/1.14.2) - [Linux x64 musl](https://www.npmjs.com/package/@firecrawl/pdf-inspector-linux-x64-musl/v/1.14.2) - [Linux ARM64 glibc](https://www.npmjs.com/package/@firecrawl/pdf-inspector-linux-arm64-gnu/v/1.14.2) - [Linux ARM64 musl](https://www.npmjs.com/package/@firecrawl/pdf-inspector-linux-arm64-musl/v/1.14.2) - [macOS ARM64](https://www.npmjs.com/package/@firecrawl/pdf-inspector-darwin-arm64/v/1.14.2) - [Windows x64 MSVC](https://www.npmjs.com/package/@firecrawl/pdf-inspector-win32-x64-msvc/v/1.14.2) </details> ## Highlights - Caps Form XObject expansion, CID `/W` ranges, Encoding/ToUnicode CMaps, content-stream decode, detector `Tj`/`TJ` lookback, and disjoint-rect clustering so crafted PDFs cannot force unbounded CPU or memory (#370, #372, #373, #375, #379, #380, #381). - Form XObjects now track the text line matrix and honor `T*` / `TL` / `'` / `"` / `Tc` / `Tw`, so nested form text keeps the right spacing (#369). - Small-caps runs merge instead of being read as extra table columns (#371). ## Changes since 1.14.1 Source: [`f4aab3b...4bee4f9`](https://github.com/firecrawl/pdf-inspector/compare/f4aab3b...4bee4f9) ### Resource bounds - Bound Form XObject expansion per page (#370) - Bound CID `/W` range expansion (#372) - Cap content-stream decode before allocating operators (#373) - Bound Encoding CMap `cidrange` expansion (#375) - Bound ToUnicode `bfrange` expansion during subset remap (#379) - Bound detector `Tj`/`TJ` operand lookback to the previous operator (#380) - Bound disjoint-rect table clustering so overlap tests stay subquadratic (#381) ### Extraction quality - Track the text line matrix and handle `T*` / `TL` / `'` / `"` / `Tc` / `Tw` in Form XObjects (#369) - Merge small-caps runs so they stop reading as table columns (#371)