Skip to content

Librage/feat/20260720114443 - #9

Merged
mroczect merged 43 commits into
masterfrom
librage/feat/20260720114443
Jul 20, 2026
Merged

mroczect merged 43 commits into
masterfrom
librage/feat/20260720114443

Conversation

@mroczect

Copy link
Copy Markdown
Owner

Summary

This PR delivers librage v1.1.0 — a ground‑up rewrite that introduces:

  • Uniform LibrageResponse<T> return type for all public functions
  • Streaming encryption & decryption (encrypt_stream, decrypt_stream, etc.)
  • Tag (encrypt_with_tag) and TagPQ (encrypt_with_tagpq) recipients
  • Multiple recipients with armour support (encrypt_multiple_armored)
  • Multi‑line SSH key handling in read_identities_from_file
  • Extended error codes (NoMatchingKeys, MissingRecipients, ExcessiveWork, etc.)
  • Modern CI pipeline (fmt, clippy, docs, test matrix)
  • 100+ new tests

Breaking Changes

  • Every function now returns LibrageResponse<T> instead of Result.
  • armor module removed – use encrypt_armored / decrypt_armored directly.
  • generate_keypair_json removed – use generate_keypair().to_json().
  • ssh_to_age_key placeholder removed.
  • Removed old flag‑based armour functions.
  • Minimum Rust version is now 1.85.

New Features

Feature Functions
Streaming encrypt_stream, encrypt_stream_armored, decrypt_stream, decrypt_stream_with_identities
Tag recipients encrypt_with_tag
TagPQ recipients encrypt_with_tagpq
Multiple + armour encrypt_multiple_armored
Identity file aliases read_identity_file, read_identity_file_with_passphrase

Testing

cargo fmt --all
cargo clippy -- -D warnings
cargo test
# All 101 tests pass, 0 warnings

mroczect added 30 commits July 20, 2026 18:44
@mroczect
mroczect merged commit f29286c into master Jul 20, 2026
4 of 5 checks passed
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