v1.18.0

affaan-m/ECCv1.18.0Sep 8, 2026by abimaelmartell

AI Summary

This release focuses on improving text geometry, specifically superscript and subscript handling, and enhancing PDF loading capabilities. It also introduces new metadata for rotation and bounds, alongside performance optimizations for CI and release processes.

Key Highlights

  • Improved text geometry handling for superscripts, subscripts, and rotated text.
  • Enhanced PDF loading with cross-reference table repair and bounded decompression.
  • New metadata support for baseline, rotation, and embedded bold-font recovery.
  • Performance improvements in CI and release publishing workflows.

Breaking Changes

  • Positioned items and region APIs now use the visible page box; manual CropBox-origin adjustments are required.
  • Rust `TextItem` literals now require `baseline_shift`, `rotation`, and `advance_known` fields.

New Features

  • Bounded object-stream decompression
  • Password-aware Python fixture tests
  • Python binding tests in CI
  • Positions and regions relative to the visible page box
  • Rotated-text bounds and rotation metadata
  • Embedded bold-font metadata recovery
  • Repair classic cross-reference tables with short entries

Full Release Notes

Improved text geometry, superscript/subscript handling, and PDF loading. Changes since **1.17.0**, released from [#509](https://github.com/firecrawl/pdf-inspector/pull/509).

## Included PRs

- [#452](https://github.com/firecrawl/pdf-inspector/pull/452): Faster cross-platform CI.
- [#453](https://github.com/firecrawl/pdf-inspector/pull/453): Faster release publishing.
- [#478](https://github.com/firecrawl/pdf-inspector/pull/478): Bounded object-stream decompression.
- [#488](https://github.com/firecrawl/pdf-inspector/pull/488): Superscript/subscript handling and baseline metadata.
- [#489](https://github.com/firecrawl/pdf-inspector/pull/489): Password-aware Python fixture tests.
- [#490](https://github.com/firecrawl/pdf-inspector/pull/490): Python binding tests in CI.
- [#487](https://github.com/firecrawl/pdf-inspector/pull/487): Positions and regions relative to the visible page box.
- [#486](https://github.com/firecrawl/pdf-inspector/pull/486): Rotated-text bounds and rotation metadata.
- [#507](https://github.com/firecrawl/pdf-inspector/pull/507): Embedded bold-font metadata recovery.
- [#508](https://github.com/firecrawl/pdf-inspector/pull/508): Repair classic cross-reference tables with short entries.

## Migration

- Positioned items and region APIs now use the visible page box. Remove any manual CropBox-origin adjustment; positioned items use a lower-left origin, while region inputs use a top-left origin.
- Rust `TextItem` literals must add `baseline_shift`, `rotation`, and `advance_known` (`0.0`, `0.0`, and `true` for ordinary upright text).

[Full changelog](https://github.com/firecrawl/pdf-inspector/blob/v1.18.0/CHANGELOG.md) · [Compare with 1.17.0](https://github.com/firecrawl/pdf-inspector/compare/32555d23356f7892762a38edb3a5b0cad7ec326b...v1.18.0)