Changes for version 0.12 - 2026-04-02
- Bug fixes:
- Fix MAC reset() after mac()/hexmac() by preserving the key so the inner pad can be recomputed. PR #23
- Prevent STRLEN-to-dword truncation for large inputs on 64-bit platforms in the XS add() method. PR #26
- Croak on read errors in addfile() instead of silently truncating the hash input. GH #35, PR #35
- Zero sensitive memory (hash state) on destroy and reset to avoid leaking intermediate digests. PR #39
- Zero MDfinish stack buffer after final compression to prevent transient data from lingering on the stack. PR #44
- Improvements:
- Maintenance:
- Add LICENSE file and =head1 LICENSE sections to module POD. PR #29
- Add LICENSE section to MAC.pm POD and exclude .claude/ from dist. PR #37
- Remove executable permission and shebang from Makefile.PL. PR #28
- Modernize Makefile.PL metadata: add META_PROVIDES, test dependencies, and MIN_PERL_VERSION. PR #25, PR #33
- Modernize misc/ scripts and clean up MANIFEST.SKIP. PR #34
- Modernize README and clean cpanfile. PR #25
- Add CONTRIBUTING.md. PR #31
- Add SECURITY.md with vulnerability reporting contact. PR #32
- Add AI_POLICY.md for AI policy.
- Add CLAUDE.md with generated file warnings. PR #45
- Add author tests for POD validation and coverage. PR #42
- Add padding boundary test vectors. PR #43
Modules
Perl extension for the RIPEMD-160 Hash function
Perl extension for RIPEMD-160 MAC function