Apache Teaclave TrustZone SDK (incubating) v0.4.0
This release introduces a new unified build environment that supports both the original std and the newly added no-std, along with a new crate to simplify the process of building trusted applications. It also includes real-world examples and updates to support the latest OP-TEE release (4.5.0).
The following are the key updates:
Breaking Changes in the Build Environment
In this release candidate, we have reorganized the code structure and build environment to support both no-std and std build options, simplifying the overall build process.
Additionally, the TA build scripts have been streamlined by introducing the new optee-utee-build crate.
Since the process is quite complex, the following breakdown provides more details:
Starting with an intermediate branch no-std, which simplifies the build environment from scratch:
- On
no-stdbranch: Cleaned up the build environment forno-stdand simplified the build process. The works processed on PR114-PR122, e.g.: PR #115 - Based on
no-std, addedstdsupport: PR #141 - Renamed
no-stdtomainand set it as the default branch: Issue #143 - Further improvements on
mainafter setting it as default:
Introducedoptee-utee-buildcrate for simplified TA builds. PR #156
Integration with OP-TEE
- Updated CI Docker image for the new OP-TEE build environment: PR #157
- Pinned the setup to OP-TEE 4.5.0: Commit 3aa0c94
New Features
- Made
panic_handleroptional inoptee-utee: PR #147 - Added support for configuring the capacity of shared buffers in
LoadablePlugin: PR #154 - Added
no-stdnetworking support inoptee-utee: PR #164
New Examples
- Added
error-handlingexample: PR #127 - Introduced
project/directory for real-world examples, including a Web3 ETH wallet example: PR #150 - Added
no-stdsupport fortcp_client-rsandudp_socket-rs. PR #164
Bug Fixes
Documentation Updates
- README updates:
- New migration guide:
- Guide for writing Rust TAs using
optee-utee-build: