v1.21.0
haiwen/seafilev1.21.0Sep 19, 2026by abimaelmartell
Upgrading?
AI Summary
This release adds font weight metadata to text items and fixes text clipping issues. It also improves PDF parsing by tolerating leading bytes before the header.
Key Highlights
- Added `font_weight` metadata (100..=900) to text items in Rust, Node, Python, and pdf2md
- Opt-in `bold_from_weight` API that infers boldness from weight class 600+
- Fixed off-canvas labels leaking into surrounding text by leaving out text wholly outside rectangular clips
- Tolerate leading bytes before the `%PDF-` header
Breaking Changes
- TextItem literals in Rust now require `font_weight: None` for items whose weight class is unknown
New Features
- Font weight metadata support
- Opt-in bold inference from font weight
- Clipped text filtering
Full Release Notes
Changes since 1.20.0: - Add `font_weight`, the font's 100..=900 weight class, to text items in Rust, Node, Python and `pdf2md --items-json`, with an opt-in `bold_from_weight` on the positioned-text and region APIs that reads bold from a weight of 600 or more and keeps runs of different weight as separate items (#536). - Leave out text painted wholly outside its rectangular clip, so off-canvas labels no longer leak into the surrounding text (#539). - Tolerate leading bytes before the `%PDF-` header, locating it within the first 1024 bytes as mupdf, pdfium and poppler do (#538). `bold_from_weight` is opt-in; `is_bold` and item merging are unchanged by default. **Rust migration:** `TextItem` literals need `font_weight: None` for items whose weight class is unknown. Release preparation: #546. [Full changelog](https://github.com/firecrawl/pdf-inspector/compare/v1.20.0...v1.21.0)
Related Repositories
Genymobile/scrcpy★ 152,806
Display and control your Android device
ffmpegwasm/ffmpeg.wasm★ 17,897
FFmpeg for browser, powered by WebAssembly
bol-van/zapret★ 16,285
DPI bypass multi platform
betaflight/betaflight★ 11,688
Open Source Flight Controller Firmware
QwenAudio/SenseVoice★ 9,564
Open-source SenseVoiceSmall model for Mandarin, Cantonese, English, Japanese, and Korean ASR, language ID, emotion recognition, and audio event detection.