v1.14.2

makeplane/planev1.14.2Aug 13, 2026by abimaelmartell

AI Summary

This is a security and stability-focused release designed to harden the parsing engine against crafted PDFs (pathological PDFs) that could cause unbounded CPU or memory usage. It also improves text extraction accuracy within Form XObjects.

Key Highlights

  • Caps expansion limits for Form XObjects, CID ranges, and content-stream decode to prevent DoS.
  • Tracks text line matrix in Form XObjects to maintain correct spacing for nested text.
  • Merges small-caps runs to prevent incorrect table column reading.

New Features

  • Hardened parsing against nested-object, AcroForm, and malformed Unicode attacks.
  • Improved extraction for contextual digit runs, redline/strikeout handling, and Base-14 fonts.
  • Improved ruled-table preservation and chart reading order.

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)