Skip to content

Conversation

@dependabot
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jan 13, 2026

Updates the requirements on lopdf to permit the latest version.
Updates lopdf to 0.39.0

Changelog

Sourced from lopdf's changelog.

v0.38.0 (2025-08-26)

Add

  • Add enhanced PDF decryption support for encrypted documents with empty passwords
  • Add automatic decryption during document loading for better pdftk compatibility
  • Add raw object extraction before parsing to handle encrypted content
  • Add support for decrypting PDFs with compressed object streams
  • Add comprehensive test suite for PDF decryption functionality
  • Add assets/encrypted.pdf test file for decryption testing
  • Add examples demonstrating decryption capabilities (test_decryption.rs, verify_decryption.rs)

Enhance

  • Enhance Reader::read() to detect and handle encrypted PDFs automatically
  • Enhance document loading to attempt empty password authentication by default
  • Enhance object processing to decrypt objects after parsing
  • Enhance support for encrypted PDFs containing object streams

Fix

  • Fix encrypted object parsing by extracting raw bytes before decryption
  • Fix object stream handling in encrypted documents
  • Fix decryption workflow to match pdftk's approach

Implementation Details

  • Modified src/reader.rs to add load_encrypted_document() method
  • Added extract_raw_object() method for raw byte extraction
  • Added parse_raw_object() method for parsing extracted bytes
  • Store raw object bytes in Reader::raw_objects field for deferred decryption
  • Process compressed objects from object streams after decryption

v0.37.0 (2025-08-08)

Add

  • Add complete PDF object streams write support enabling 11-61% file size reduction (#XXX)
  • Add save_modern() method for easy object streams and cross-reference streams usage
  • Add SaveOptions struct with builder pattern for configuring compression settings
  • Add ObjectStreamBuilder for creating object streams programmatically
  • Add cross-reference stream support for PDF 1.5+ compliance
  • Add replace_partial_text() function for partial text replacement in PDFs
  • Add comprehensive test suite with 50+ tests for object streams functionality
  • Add object streams write capability (previously read-only)
  • Add implementation documentation in OBJECT_STREAMS_IMPLEMENTATION.md

... (truncated)

Commits

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore <dependency name> major version will close this group update PR and stop Dependabot creating any more for the specific dependency's major version (unless you unignore this specific dependency's major version or upgrade to it yourself)
  • @dependabot ignore <dependency name> minor version will close this group update PR and stop Dependabot creating any more for the specific dependency's minor version (unless you unignore this specific dependency's minor version or upgrade to it yourself)
  • @dependabot ignore <dependency name> will close this group update PR and stop Dependabot creating any more for the specific dependency (unless you unignore this specific dependency or upgrade to it yourself)
  • @dependabot unignore <dependency name> will remove all of the ignore conditions of the specified dependency
  • @dependabot unignore <dependency name> <ignore condition> will remove the ignore condition of the specified dependency and ignore conditions

Updates the requirements on [lopdf](https://github.com/J-F-Liu/lopdf) to permit the latest version.

Updates `lopdf` to 0.39.0
- [Release notes](https://github.com/J-F-Liu/lopdf/releases)
- [Changelog](https://github.com/J-F-Liu/lopdf/blob/main/CHANGELOG.md)
- [Commits](https://github.com/J-F-Liu/lopdf/commits)

---
updated-dependencies:
- dependency-name: lopdf
  dependency-version: 0.39.0
  dependency-type: direct:production
  dependency-group: rust-dependencies
...

Signed-off-by: dependabot[bot] <[email protected]>
@dependabot @github
Copy link
Contributor Author

dependabot bot commented on behalf of github Jan 13, 2026

Labels

The following labels could not be found: dependencies, rust. Please create them before Dependabot can add them to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@dependabot dependabot bot requested a review from Lenvanderhof as a code owner January 13, 2026 00:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant