Repository navigation
What's Changed
libzupt 1.0.14
This release strengthens authentication, encrypted record validation, secure key handling, packaging, and build integration. Thank you @cristiancmoises
Highlights
- Improved encrypted record authentication and validation, rejecting malformed, reordered, repeated, oversized, or tampered records.
- Empty messages are now represented by authenticated records.
- Hardened POSIX private-key writes and fixed
SecureBuffercleanup during move operations. - Improved CMake package support for both shared and static consumers.
- Unified runtime and CMake version reporting.
- Strengthened release validation with tag/version checks, pinned GitHub Actions, read-only permissions, and measured test reporting.
- Source packages now generate level-9 solid
.zuptarchives with extraction verification and SHA-256 checksums. - Added English and Brazilian Portuguese documentation.
Validation
All 8 library tests passed with GCC 14 in Release mode and Clang 22 with UBSan. Shared and static consumer tests also passed after installation relocation.
Known Limitation
Removing complete trailing encrypted blocks may still leave a valid authenticated prefix because the current format does not authenticate the total message length or provide an authenticated end marker. Existing zero-byte ciphertexts are rejected and should be re-encrypted.