Changes since 0.3.0:
emv-decodetool:- Update to use GPLv3 license instead of LGPLv2
- Fix error paths for argp
- Fix process exit codes
emv-tooltool:- Update to use GPLv3 license instead of LGPLv2
- Use
localtime_r()andgmtime_r()when available - Fix error paths for argp
- Support Apple's PCSC.framework
- Various other PC/SC improvements
emv-viewerapplication:- Implement clipboard actions
- Implement search functionality
- Improve selection and navigation of fields
emvandiso7816libraries:- Improve memory allocation for better memory safety and platforms that have undefined behaviour for
malloc(0) - Hardening of integer, bit shift and buffer operations
- Fix emv_aid_get_info() for unknown scheme or product
- Miscellaneous cleanups
- Improve memory allocation for better memory safety and platforms that have undefined behaviour for
emv_stringslibrary:- Stringify various contactless fields
- Build improvements:
- Add Github Actions workflows for CodeQL analysis
- Add build option
EMV_UTILS_ENABLE_SANITIZERSfor compiler sanitizers (-fsanitize) - Add build option
EMV_UTILS_ENABLE_HARDENINGfor runtime security hardening (-fstack-protector-strong,_FORTIFY_SOURCE=2) - Use parallel builds for Github Actions
- Remove builds for Fedora 41 and add builds for Fedora 43
- Update all Fedora and MacOS release builds to use Qt6
- Update to latest OpenEMV common crypto submodule:
- Clear AES KCV ciphertext on error
- Fix random data helper functions
- Let FetchMbedTLS.cmake use MbedTLS 3.6.5 LTS
- Update MbedTLS patch to remove unused 3rd party components
- Update to latest libargp:
- Fix C99 format specifiers when using MinGW
- Add
-Walloption for both Clang and AppleClang - Ensure that POSIX make is available
- Reduce unnecessary reconfiguration of autotools
This is a maintenance and hardening release that includes various memory safety improvements, bug fixes, and new emv-viewer features.
Note
See README for installation instructions. MacOS users that already use Homebrew should favour using that to install this project using brew install openemv/tap/emv-utils instead of using the provided .dmg installer due to the lack of notarization.
Ubuntu release builds are provided as .deb files inside .zip files because Github mangles the file names.
This release is signed with key 4096R/27195F153817DAF955B0CF9FCA0466CD90C50572.