Releases: Horsmann/odfdecrypt
Releases · Horsmann/odfdecrypt
v0.1.0
- Initial release of odfdecrypt
- LibreOffice decryption support:
- Modern format: AES-256-GCM with Argon2id key derivation
- Legacy format: AES-256-CBC with PBKDF2-SHA1 key derivation
- Apache OpenOffice decryption support:
- Blowfish-CFB with PBKDF2-SHA1 key derivation
- Origin detection: Automatic detection of source application (LibreOffice vs Apache OpenOffice)
- Command-line interface (
odfdecrypt):- Decrypt files with
--fileand--passwordoptions - Custom output path with
--output - Auto-detection and fallback between decryption methods
- Automatic handling of non-encrypted files (copies them)
- Decrypt files with
- High-level API:
decrypt(odf, password)- Auto-detects origin and decrypts ODF filesdetect_origin(file_path)- Detects whether file is from LibreOffice or Apache OpenOffice- Support for both file paths and
BytesIOobjects with automatic fallback
- Low-level API:
LibreOfficeDecryptorclass for LibreOffice filesAOODecryptorclass for Apache OpenOffice filesODFOriginDetectorclass for origin detectionis_encrypted()utility function
- Comprehensive exception hierarchy:
ODFDecryptError(base exception)InvalidODFFileErrorManifestParseErrorUnsupportedEncryptionErrorDecryptionErrorIncorrectPasswordErrorChecksumErrorDecompressionError
- Warnings:
NotEncryptedWarning- Issued when attempting to decrypt a non-encrypted file (returns original content gracefully)
- Support for all ODF file types:
.odt,.ods,.odp,.odg,.odf,.odb,.odc,.odm, and templates - GitHub Actions workflows for automated testing and publishing
- Multi-version Python testing (3.10, 3.11, 3.12, 3.13, 3.14)