v0.46.0
- fix: derive the file encryption key from the recovered user password, not the literal owner password by @chintans in https://github.com/J-F-Liu/lopdf/pull/573
- perf: build the missing-key error of Dictionary::get lazily by @melnik0v in https://github.com/J-F-Liu/lopdf/pull/577
- fix: detect reference cycles through object stream containers by @melnik0v in https://github.com/J-F-Liu/lopdf/pull/576
- feat: add Document::get_page_annotations_mut by @ChrisJr404 in https://github.com/J-F-Liu/lopdf/pull/571
- perf: decode each object stream once per load by @melnik0v in https://github.com/J-F-Liu/lopdf/pull/578
- fix: export DateTime from crate root by @isaim0011 in https://github.com/J-F-Liu/lopdf/pull/579
- fix: preserve text after unmapped tounicode codes by @szdytom in https://github.com/J-F-Liu/lopdf/pull/580
- fix: keep an unloadable page-tree kid as a blank page slot by @abimaelmartell in https://github.com/J-F-Liu/lopdf/pull/583
- fix: read one white-space character after ID in inline images by @ghempton in https://github.com/J-F-Liu/lopdf/pull/582
- fix: derive the file key from the sanitized password on load by @LuisFigueroaG in https://github.com/J-F-Liu/lopdf/pull/586
- fix: tolerate padding after %%EOF when locating startxref by @LuisFigueroaG in https://github.com/J-F-Liu/lopdf/pull/587
- fix: don't panic on huge predictor DecodeParms by @LuisFigueroaG in https://github.com/J-F-Liu/lopdf/pull/589
- fix: handle missing and indirect /Annots in remove_annot by @LuisFigueroaG in https://github.com/J-F-Liu/lopdf/pull/590
- fix: treat /Type and /Differences as optional in encoding dictionaries by @LuisFigueroaG in https://github.com/J-F-Liu/lopdf/pull/591
- fix: parse UTC and shortened dates with the time backend by @LuisFigueroaG in https://github.com/J-F-Liu/lopdf/pull/592
- feat: decode content operations one at a time with Content::decode_iter by @josh-prefix in https://github.com/J-F-Liu/lopdf/pull/588
- fix: don't overflow when incrementing a multi-unit bfrange target by @LuisFigueroaG in https://github.com/J-F-Liu/lopdf/pull/593
- fix: don't overflow computing inline image data length by @LuisFigueroaG in https://github.com/J-F-Liu/lopdf/pull/594
- fix: apply array DecodeParms per filter by @sean0407 in https://github.com/J-F-Liu/lopdf/pull/596
- fix: read /XRefStm in every section of hybrid-reference files by @LuisFigueroaG in https://github.com/J-F-Liu/lopdf/pull/598
- fix: accept the /G abbreviation and Indexed colour spaces in inline images by @LuisFigueroaG in https://github.com/J-F-Liu/lopdf/pull/597
- fix: treat NUL and form feed as white-space in content streams by @jaenam615 in https://github.com/J-F-Liu/lopdf/pull/599
- fix: allow delimiters without white-space in ToUnicode CMaps by @jaenam615 in https://github.com/J-F-Liu/lopdf/pull/600
- fix: parse the Type 3 glyph operators d0 and d1 in content streams by @LuisFigueroaG in https://github.com/J-F-Liu/lopdf/pull/601
- fix: bound cross-reference stream object numbers to u32 by @LuisFigueroaG in https://github.com/J-F-Liu/lopdf/pull/602
- fix: consume the fields of unknown cross-reference stream entry types by @LuisFigueroaG in https://github.com/J-F-Liu/lopdf/pull/604
- fix: read unescaped end-of-line markers in literal strings as a line feed by @LuisFigueroaG in https://github.com/J-F-Liu/lopdf/pull/605
- fix: ignore a minus sign inside the fraction of a real number by @LuisFigueroaG in https://github.com/J-F-Liu/lopdf/pull/606
- fix: write decoded inline images back as BI/ID/EI when encoding content by @LuisFigueroaG in https://github.com/J-F-Liu/lopdf/pull/607
- fix: drop /Prev and /XRefStm from a reconstructed trailer by @yhay81 in https://github.com/J-F-Liu/lopdf/pull/609
- perf: keep the reconstruction scan linear when streams lack endstream by @yhay81 in https://github.com/J-F-Liu/lopdf/pull/610
- fix: correct an xref offset only when the section found locates its objects by @yhay81 in https://github.com/J-F-Liu/lopdf/pull/611
- feat: report cross-reference recovery in Document and PdfMetadata by @yhay81 in https://github.com/J-F-Liu/lopdf/pull/612
- fix: stop new object IDs from wrapping past u32::MAX by @yhay81 in https://github.com/J-F-Liu/lopdf/pull/614
- perf: speed up the object parser by @yhay81 in https://github.com/J-F-Liu/lopdf/pull/616
- fix: keep tabs and line breaks when decoding PDFDocEncoding text strings by @LuisFigueroaG in https://github.com/J-F-Liu/lopdf/pull/617
- feat: reconstruct files that only have cross-reference streams by @yhay81 in https://github.com/J-F-Liu/lopdf/pull/613
- perf: parse small documents on the calling thread instead of rayon's pool by @yhay81 in https://github.com/J-F-Liu/lopdf/pull/618
- fix: strip the UTF-8 byte order mark when decoding text strings by @LuisFigueroaG in https://github.com/J-F-Liu/lopdf/pull/619
- fix: decode outline titles as text strings in get_toc by @LuisFigueroaG in https://github.com/J-F-Liu/lopdf/pull/620
- fix: ignore an odd trailing byte in UTF-16BE text strings by @LuisFigueroaG in https://github.com/J-F-Liu/lopdf/pull/621
- fix: use inherited /Resources in get_page_images by @LuisFigueroaG in https://github.com/J-F-Liu/lopdf/pull/622
- @chintans made their first contribution in https://github.com/J-F-Liu/lopdf/pull/573
- @melnik0v made their first contribution in https://github.com/J-F-Liu/lopdf/pull/577
- @ChrisJr404 made their first contribution in https://github.com/J-F-Liu/lopdf/pull/571
- @isaim0011 made their first contribution in https://github.com/J-F-Liu/lopdf/pull/579
- @szdytom made their first contribution in https://github.com/J-F-Liu/lopdf/pull/580
- @ghempton made their first contribution in https://github.com/J-F-Liu/lopdf/pull/582
- @LuisFigueroaG made their first contribution in https://github.com/J-F-Liu/lopdf/pull/586
- @josh-prefix made their first contribution in https://github.com/J-F-Liu/lopdf/pull/588
- @sean0407 made their first contribution in https://github.com/J-F-Liu/lopdf/pull/596
- @jaenam615 made their first contribution in https://github.com/J-F-Liu/lopdf/pull/599
Full Changelog: https://github.com/J-F-Liu/lopdf/compare/v0.45.0...v0.46.0
v0.45.0
- feat(outlines): delete_outlines by @TD-Sky in https://github.com/J-F-Liu/lopdf/pull/525
- refactor: remove duplicated error messages when chaining by @nikolas-chomsky in https://github.com/J-F-Liu/lopdf/pull/526
- fix: make the
timefeature compile (replace the never-compilingFrom<Time>impl) by @JohnHarrison in https://github.com/J-F-Liu/lopdf/pull/527 - fix(filters): correct PNG Average predictor calculation by @WaterWhisperer in https://github.com/J-F-Liu/lopdf/pull/528
- ci: enforce rustfmt and broader clippy checks by @WaterWhisperer in https://github.com/J-F-Liu/lopdf/pull/529
- Bound object-graph recursion depth (fixes #530) by @scadastrangelove in https://github.com/J-F-Liu/lopdf/pull/531
- Fix four crash bugs from crafted PDFs (fixes #532) by @scadastrangelove in https://github.com/J-F-Liu/lopdf/pull/533
- Fix ASCII85 group-value overflow and decode TIFF Predictor 2 by @binggao1230 in https://github.com/J-F-Liu/lopdf/pull/534
- Decode ASCIIHexDecode and RunLengthDecode streams by @binggao1230 in https://github.com/J-F-Liu/lopdf/pull/536
- Decode sub-byte-depth PNG and TIFF predictors by @binggao1230 in https://github.com/J-F-Liu/lopdf/pull/538
- Skip white space after comments in content streams (fix #535) by @yhay81 in https://github.com/J-F-Liu/lopdf/pull/537
- fix: pdfutil: --merge option silently lost in the clap 4 migration (0efa8294) by @yhay81 in https://github.com/J-F-Liu/lopdf/pull/540
- fix: omit the file header from an incremental update by @gronke in https://github.com/J-F-Liu/lopdf/pull/542
- fix: keep direct dictionaries in get_page_annotations by @gronke in https://github.com/J-F-Liu/lopdf/pull/543
- feat: one date backend by default, and a cheaper one available by @gronke in https://github.com/J-F-Liu/lopdf/pull/544
- Default the file encryption key length from V when Length is absent by @UlikGames in https://github.com/J-F-Liu/lopdf/pull/545
- Skip object streams when saving an encrypted document by @UlikGames in https://github.com/J-F-Liu/lopdf/pull/546
- Write a cross-reference stream when object streams are disabled by @UlikGames in https://github.com/J-F-Liu/lopdf/pull/547
- Bound xref-stream entry count against the decoded stream length by @ldstr in https://github.com/J-F-Liu/lopdf/pull/552
- Recover from slightly miswritten startxref / Prev offsets by @dazwin in https://github.com/J-F-Liu/lopdf/pull/555
- Use skrifa instead of unmaintained ttf-parser by @malezjaa in https://github.com/J-F-Liu/lopdf/pull/556
- fix(writer): correct xref sections for gapped object numbering by @infinityabundance in https://github.com/J-F-Liu/lopdf/pull/558
- Add option to set FirstChar, LastChar and the Widths array of a custom font by @brianch in https://github.com/J-F-Liu/lopdf/pull/557
- Accept an integral real /Length when resolving deferred streams by @FadeHack in https://github.com/J-F-Liu/lopdf/pull/560
- Accept 19-byte cross-reference entries when parsing leniently by @FadeHack in https://github.com/J-F-Liu/lopdf/pull/564
- Bound cross-reference stream entries during loading by @hayatosc in https://github.com/J-F-Liu/lopdf/pull/561
- Preserve encoded object streams during parsing by @hayatosc in https://github.com/J-F-Liu/lopdf/pull/562
- Bound cross-reference subsection object numbers to u32 by @FadeHack in https://github.com/J-F-Liu/lopdf/pull/565
- feat: support /BrotliDecode stream filter by @hayatosc in https://github.com/J-F-Liu/lopdf/pull/567
- fix: recover stream /Length mismatches within xref-bounded objects by @hayatosc in https://github.com/J-F-Liu/lopdf/pull/568
- feat: reconstruct cross-reference table when startxref resolution fails by @hayatosc in https://github.com/J-F-Liu/lopdf/pull/570
- @TD-Sky made their first contribution in https://github.com/J-F-Liu/lopdf/pull/525
- @JohnHarrison made their first contribution in https://github.com/J-F-Liu/lopdf/pull/527
- @WaterWhisperer made their first contribution in https://github.com/J-F-Liu/lopdf/pull/528
- @scadastrangelove made their first contribution in https://github.com/J-F-Liu/lopdf/pull/531
- @binggao1230 made their first contribution in https://github.com/J-F-Liu/lopdf/pull/534
- @yhay81 made their first contribution in https://github.com/J-F-Liu/lopdf/pull/537
- @gronke made their first contribution in https://github.com/J-F-Liu/lopdf/pull/542
- @UlikGames made their first contribution in https://github.com/J-F-Liu/lopdf/pull/545
- @ldstr made their first contribution in https://github.com/J-F-Liu/lopdf/pull/552
- @dazwin made their first contribution in https://github.com/J-F-Liu/lopdf/pull/555
- @malezjaa made their first contribution in https://github.com/J-F-Liu/lopdf/pull/556
- @infinityabundance made their first contribution in https://github.com/J-F-Liu/lopdf/pull/558
- @brianch made their first contribution in https://github.com/J-F-Liu/lopdf/pull/557
- @FadeHack made their first contribution in https://github.com/J-F-Liu/lopdf/pull/560
- @hayatosc made their first contribution in https://github.com/J-F-Liu/lopdf/pull/561
Full Changelog: https://github.com/J-F-Liu/lopdf/compare/v0.44.0...v0.45.0
v0.44.0
- ci: actually exercise the no-default-features build by @zamf in https://github.com/J-F-Liu/lopdf/pull/510
- feat: make ttf-parser optional behind font_embedding feature by @Jeadie in https://github.com/J-F-Liu/lopdf/pull/512
- Fix(test): enable features/deps where needed by @ErikMach in https://github.com/J-F-Liu/lopdf/pull/515
- refactor(document): make Document::get_page_content return Vec by @ErikMach in https://github.com/J-F-Liu/lopdf/pull/513
- Add API to limit decompressed size to prevent decompression bombs by @emschwartz in https://github.com/J-F-Liu/lopdf/pull/516
- Fix Document::get_toc() dropping entries when outline titles repeat by @nikolas-chomsky in https://github.com/J-F-Liu/lopdf/pull/517
- fix(writer): reject incremental save of encrypted documents by @skoji in https://github.com/J-F-Liu/lopdf/pull/521
- feat(writer): support incremental save of encrypted documents by @skoji in https://github.com/J-F-Liu/lopdf/pull/522
- bump version to v0.44.0 by @skoji in https://github.com/J-F-Liu/lopdf/pull/524
- @Jeadie made their first contribution in https://github.com/J-F-Liu/lopdf/pull/512
- @ErikMach made their first contribution in https://github.com/J-F-Liu/lopdf/pull/515
- @emschwartz made their first contribution in https://github.com/J-F-Liu/lopdf/pull/516
- @nikolas-chomsky made their first contribution in https://github.com/J-F-Liu/lopdf/pull/517
- @skoji made their first contribution in https://github.com/J-F-Liu/lopdf/pull/521
Full Changelog: https://github.com/J-F-Liu/lopdf/compare/v0.43.0...v0.44.0
v0.43.0
- ci: fix wasm test failure from too many locals by @zamf in https://github.com/J-F-Liu/lopdf/pull/507
- feat(reader): report encryption status in PdfMetadata by @zamf in https://github.com/J-F-Liu/lopdf/pull/506
- ci: Auto Create GitHub Releases on tag push by @notpeter in https://github.com/J-F-Liu/lopdf/pull/508
- Update crypto APIs, fix Clippy lints, and improve benchmarks by @Sachin-Bhat in https://github.com/J-F-Liu/lopdf/pull/504
- Release 0.43.0 by @zamf in https://github.com/J-F-Liu/lopdf/pull/509
- @notpeter made their first contribution in https://github.com/J-F-Liu/lopdf/pull/508
- @Sachin-Bhat made their first contribution in https://github.com/J-F-Liu/lopdf/pull/504
Full Changelog: https://github.com/J-F-Liu/lopdf/compare/v0.42.0...v0.43.0
0.39.0
- Add pdf decryption support that derived from pdftk by @Mon-ius in https://github.com/J-F-Liu/lopdf/pull/443
- Add font embedding support to Document API #219 by @Rayato159 in https://github.com/J-F-Liu/lopdf/pull/439
- Add load_with_password for encrypted PDFs by @vysakh0 in https://github.com/J-F-Liu/lopdf/pull/455
- Replace O(n×m) search_substring with O(n) linear algorithm by @withzombies in https://github.com/J-F-Liu/lopdf/pull/460
- Add load_metadata() by @abimaelmartell in https://github.com/J-F-Liu/lopdf/pull/459
- Support encrypted PDFs in metadata extraction API by @abimaelmartell in https://github.com/J-F-Liu/lopdf/pull/461
- Fix font resource linkage missed in PR #439 by @Rayato159 in https://github.com/J-F-Liu/lopdf/pull/444
- Fix Handle Byte Order Marks in CMaps by @CryZe in https://github.com/J-F-Liu/lopdf/pull/450
- Fixed parsing of empty bfrange / bfchar sections in ToUnicode CMaps by @RubyBit in https://github.com/J-F-Liu/lopdf/pull/456
- Fix allow 'length' entry to be present for V=1 encryption by @lukaszgemborowski in https://github.com/J-F-Liu/lopdf/pull/457
- Fix get_page_images: do not fail if page does not contain XObject by @lukaszgemborowski in https://github.com/J-F-Liu/lopdf/pull/458
Thanks a lot to the new contributors:
- @Rayato159 made their first contribution in https://github.com/J-F-Liu/lopdf/pull/439
- @CryZe made their first contribution in https://github.com/J-F-Liu/lopdf/pull/450
- @vysakh0 made their first contribution in https://github.com/J-F-Liu/lopdf/pull/455
- @RubyBit made their first contribution in https://github.com/J-F-Liu/lopdf/pull/456
- @lukaszgemborowski made their first contribution in https://github.com/J-F-Liu/lopdf/pull/457
- @withzombies made their first contribution in https://github.com/J-F-Liu/lopdf/pull/460
- @abimaelmartell made their first contribution in https://github.com/J-F-Liu/lopdf/pull/459
0.38.0
See CHANGELOG.md for details.
Thanks a lot to the new contributors:
- @nicolasdao made their first contribution in https://github.com/J-F-Liu/lopdf/pull/435
0.37.0
See CHANGELOG.md for details.
Thanks a lot to the new contributors:
- @oonxt made their first contribution in https://github.com/J-F-Liu/lopdf/pull/421
- @Gei0r made their first contribution in https://github.com/J-F-Liu/lopdf/pull/423
0.36.0
See CHANGELOG.md for details.
0.35.0
See CHANGELOG.md for details.
Thanks a lot to the new contributors:
- @tyilo made their first contribution in https://github.com/J-F-Liu/lopdf/pull/320
- @seongs1024 made their first contribution in https://github.com/J-F-Liu/lopdf/pull/324
- @SebRollen made their first contribution in https://github.com/J-F-Liu/lopdf/pull/322
- @9renpoto made their first contribution in https://github.com/J-F-Liu/lopdf/pull/329
- @liningpan made their first contribution in https://github.com/J-F-Liu/lopdf/pull/335
- @lajp made their first contribution in https://github.com/J-F-Liu/lopdf/pull/337
- @einoj made their first contribution in https://github.com/J-F-Liu/lopdf/pull/340
- @Unpublished made their first contribution in https://github.com/J-F-Liu/lopdf/pull/343
- @lanyeeee made their first contribution in https://github.com/J-F-Liu/lopdf/pull/345
- @gmalette made their first contribution in https://github.com/J-F-Liu/lopdf/pull/362
- @aedn-sama made their first contribution in https://github.com/J-F-Liu/lopdf/pull/370
- @Jodolod made their first contribution in https://github.com/J-F-Liu/lopdf/pull/371
0.34.0
See CHANGELOG.md for details. Thanks a lot for new contributors: @Heinenen, @dkaluza, @jrmuizel