Changes
- Add the PDF native kernel (PR #15): reusable page snapshots, render sessions and metadata caching; a new
docvortex-pdfiumRust crate for fonts, objects, paths, text colors and classification; and Rust implementations for character-to-span assignment, plain span text composition, visual run finalization, canonical line metrics, document geometry risk and style calibration, table candidate grid expansion/merging, owned bitmap crops and inline style detection. PDFium bitmap buffers transfer without worker-side PIL copies, and render mappings release independently of cyclic garbage collection. - Switch the default compute backend to
auto(preferring a compatible Rust extension, falling back to Python) and the default rendering mode tosession; explicitruststill requires a compatible extension, andpython/legacyremain available for fallback. Private native protocol is now 22. - Add MinerU cold/Flash/shared benchmark harnesses, a model tape, and render-memory tooling; extensive parity tests for the text pipeline, snapshots, render sessions, font runtime and table candidates.
Compatibility
- Restart existing processes after upgrading: the private protocol changed to 22, so cached backends from older extensions are rejected and re-selected. Pure Python behavior is unchanged when no extension is present.
Full Changelog: v0.5.1...v0.5.2