All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.
v0.9.0 (2026-07-26)
Features:
add strict has_structure_tree/1 and has_xfa/1 so a swallowed error is reachable by @r8
add on_page_error to fail whole-document text on an unextractable page by @r8
Bug Fixes:
return the version and page count from the open NIF so no handle can leak by @r8
match NIF success payloads loosely so a shape change can't raise CaseClauseError by @r8
read a single page label through a range-checked NIF by @r8
decode tables from a borrow instead of cloning for the resource by @r8
return JPEG-stored image bytes without cloning the stored blob by @r8
return an error instead of panicking when a binary allocation fails by @r8
decode Info strings as PDFDocEncoding, uniformly across all fields by @r8
cache page_count on the Document struct at open by @r8
schedule lock-taking document NIFs on dirty CPU schedulers by @r8
v0.8.0 (2026-07-25)
Features:
add options to the extractors by @r8
upgrade pdf_oxide to 0.3.75 by @r8
add to_markdown, to_html, and to_text for Table by @r8
add HTML conversion with to_html for Document and Page by @r8
add Markdown conversion with to_markdown for Document and Page by @r8
add cell, row, and Enumerable accessors to Table by @r8
add close/1 and closed?/1 functions for resource management by @r8
introduce color structs for CMYK, Gray, RGB, and Unknown by @r8
add annotations extraction by @r8
add metadata, permissions, and page labels extraction by @r8
add fonts extraction by @r8
add outline extraction by @r8
add XFA detection with Document.has_xfa?/1 by @r8
Bug Fixes:
re-raise non-ErlangError exceptions from Wrap.call/1 by @r8
sort extracted fonts by resource name for deterministic order by @r8
v0.7.0 (2026-07-23)
Features:
add image extraction by @r8
add path extraction by @r8
add structured PdfElixide.Error with matchable reason atoms by @r8
Bug Fixes:
- force NIF build when PDF_ELIXIDE_BUILD is set by @r8
v0.6.0 (2026-07-20)
Features:
v0.5.0 (2026-07-14)
Features:
add text line extraction with nested words by @r8
add word extraction with bounding boxes by @r8
add Document.text/1 for whole-document text extraction by @r8
add text getter to Page by @r8
implement Enumerable protocol for Document by @r8
add width and height getters to Page by @r8
add Page module by @r8
v0.4.0 (2026-05-25)
Features:
add
has_structure_tree?check to Document by @r8add password authentication for opening encrypted PDFs by @r8
add PDF encryption handling and authentication functions by @r8
v0.3.1 (2026-05-20)
Bug Fixes:
v0.3.0 (2026-05-20)
Features:
implement save to file with options by @r8
implement setting form field by @r8
add editor module by @r8
v0.2.0 (2026-05-19)
Features:
- implement form fields extraction by @r8
v0.1.0 (2026-05-18)
Features:
implement extract_text method by @r8
implement version method by @r8
implement page_count method by @r8
implement PDF loading by @r8
Bug Fixes:
- move git hooks configuration to dev config by @r8