Release 0.6.0
·
0 commits
to 0342d769fd4e2b4f2c71702ff4d05684c4afa0bd
since this release
What's Changed
Version bump: minor
Previous version: 0.5.2
New version: 0.6.0
56 commits since v0.5.2
馃殌 Features
- feat(office): route image-dominant docx/pptx through the PDF image strategy (
885a427) by @luisleo526 - feat(ocr): meaningful Markdown for image-heavy pages (page_markdown synthesis) + eval harness (
6d8ec76) by @luisleo526 - feat(ocr): stronger table HTML guidance (full grid + colspan/rowspan) (
931888c) by @luisleo526 - feat(ocr): nested OCRPage schema (figures, hierarchy, knowledge graph) (
27fc1a0) by @luisleo526 - feat(ocr): richer structured OCRPage schema (raw indexes + interpretation anchors) (
56c70c1) by @luisleo526 - feat(pdf): two-signal document route (coverage + text density), drop LLM classifier (
de27455) by @luisleo526 - feat(pdf): document-level OCR strategy route by mean image-occupancy (
928f1eb) by @luisleo526 - feat(ocr): enable + fix OpenAI inline-PDF context part (spike-verified) (
863ad58) by @luisleo526 - feat(ocr): self-routing image job-router (Phase 1) (
3f8778c) by @luisleo526 - feat(ocr): neighbor-page PDF context to improve image OCR (
279075b) by @luisleo526 - feat(ocr): page-level OCR for image-dominant PDFs + skip decorative images (
533e2b8) by @luisleo526 - feat(ocr): structured table extraction with merged cells (HTML colspan/rowspan) (
560ff81) by @luisleo526 - feat(ocr): optional pre-OCR image downscale to cut Vision token cost (
05661f2) by @luisleo526 - feat(chunker): optional token-aware chunking (tiktoken) (
a816136) by @luisleo526 - feat(loader): opt-in cross-document batch parallelism + progress callbacks (
d8bc161) by @luisleo526 - feat(formats): .eml email ingestion via stdlib email parser (
7bf5d62) by @luisleo526 - feat(ocr): OCR facade, public exports, CLI flags, loader plumbing (
8f64d20) by @luisleo526 - feat(ocr): structured output in OpenAI, Vertex/Gemini, Tesseract + cache v4 (
324afd7) by @luisleo526 - feat(ocr): structured-output foundation (schema + extended base contract) (
70abac3) by @luisleo526
馃悰 Bug Fixes
- fix(ocr): normalize ragged OCR tables to a rectangular grid (
0b34f5c) by @luisleo526 - fix(pdf): route designed PDFs with an illegible text layer to image OCR (
0c7d80a) by @luisleo526 - fix(ocr): whitespace-tolerant firewall verbatim checks (
9090324) by @luisleo526 - fix(export): emit OCR text clean (drop code-fence/ocr_result wrapper) (
c756d3a) by @luisleo526 - fix(pdf): image-occupancy strategy route + clean OCR export (
2389caf) by @luisleo526 - fix(ocr): dense structured OCR truncation + batch failure isolation (
5529b65) by @luisleo526 - fix(pdf): never dump raw base64 on OCR batch failure (RAG-safety) (
cfe4436) by @luisleo526 - fix(ocr): recover empty structured results via free-form fallback (
4ab1be2) by @luisleo526 - fix(legacy): preserve metadata.extra identity with is-None guard (
9264490) by @luisleo526 - fix(release+api): repair release metadata, type public API, OCR resilience (
7775cc7) by @luisleo526
鈾伙笍 Refactoring
- refactor: dead-code sweep + orphaned-import cleanup (Phase 6) (
22ef728) by @luisleo526 - refactor(core): share the SimpleContent model; drop dead debug probes (
06fc364) by @luisleo526 - refactor(ocr): hoist shared empty-structured detection + recovery merge to BaseOCR (
b5d9268) by @luisleo526 - refactor(utils): extract shared LibreOffice converter (
b3c55e4) by @luisleo526 - refactor(core): extract shared OCR strategy decision to core/strategy.py (
9fa25a3) by @luisleo526 - refactor: remove dead UnifiedProcessor stack + duplicate LibreOffice converter (
bf280ff) by @luisleo526
馃摎 Documentation
- docs(readme): rewrite as a pitch with markitdown/Docling comparison (
833271f) by @luisleo526 - docs: fix neighbor-context provider claim in ocr_policy.rst (
f749dac) by @luisleo526 - docs: enrich + resync documentation with the current codebase (
76954ee) by @luisleo526 - docs: changelog for document-level OCR strategy route (
438ee65) by @luisleo526 - docs: full hand-written API reference (Sphinx, strict build clean) (
67ab589) by @luisleo526 - docs(readme): document Batch-5 features (.eml, batch parallelism, token chunking, image downscale) (
74e1546) by @luisleo526 - docs(changelog): record audit fixes, dead-code removal, CI, and new features (
4f268fe) by @luisleo526 - docs(ocr): document structured-output redesign (facade, schema, tasks) (
1a84f6c) by @luisleo526
馃敡 Chores
- test(eval): average the meaningfulness judge over 3 samples for stability (
6078c6f) by @luisleo526 - test(eval): register office image fixture + sharpen fragmentation judge (
fac80ed) by @luisleo526 - test: characterization suite for pipelines, legacy, structured OCR, edge cases (
08ca726) by @luisleo526 - ci: enforce coverage + wire lint/type/security gates (
be10907) by @luisleo526
馃摑 Other Changes
- Merge remote-tracking branch 'origin/main' into improve/audit-fixes (
8cd438a) by @luisleo526 - change(ocr): default OpenAI model gpt-4.1 -> gpt-5.4-mini (
1039943) by @luisleo526 - security(ocr): sanitize LLM-produced Table.html (XSS/HTML-injection sink) (
011ce55) by @luisleo526 - docs+ci+tests: document OCR cache/chunking/extras, CI hygiene, fixtures (
cf00303) by @luisleo526