🚀 New Features
-
ECC206 Device Support
- Added support for the ECC206 secure element device
-
Modular CMake Build System
- Restructured the CMake build system for modular, device-specific configurations
- Moved device enablement options into per-module CMake files for
calib,pkcs11,jwt, andatcacert - Removed
devices.cmakeand added device-specific CMake validation checks within each module - Added dedicated
CMakeLists.txtfiles forcalib,atcacert,jwt, andpkcs11modules
-
Test Framework Updates
- Restructured the test build system to align with modular CMake changes
- Added device-specific CMake checks for
api_calibandatcacerttest modules - Test sources are now conditionally compiled based on selected device configuration
🛠 Fixes & Improvements
-
Code Quality & Compliance
- Updated license header copyright year across all source files
-
PKCS#11
- Implemented thread-safety enhancements for the find-template cache using per-session cache slots for improved multi-threaded robustness
- Updated
pkcs11_config.cconfiguration parsing for device-specific selection - Updated
pkcs11_signature.cwith properATCA_CA_SUPPORTandATCA_TA_SUPPORTmacro guards - Updated
pkcs11_token.cfor volatile register usage and device-specific token identification - Fixed
pkcs11_cert.cX.509 certificate write handling to use volatile register access whenTALIB_CREATE_SHARED_DATA_ENis disabled
-
Initialization & Configuration
- Updated
calib_device.hto enable device-specific configuration handling based on device selection - Updated
calib_execution.cto support device-specific execution timing configuration - Updated
kit_protocol.cto enable device-specific protocol selection support
- Updated
-
Build System & Macro Protection
- Resolved
ATCA_HAL_CUSTOMbuild issues to restore compatibility across custom HAL configurations - Fixed macro guard protection and feature-specific inclusion handling for improved build compatibility and configuration robustness
- Resolved
-
Python Bindings
- Fixed PyCAL
bytearrayhandling forcal_bufferusage and interoperability support
- Fixed PyCAL