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-std
branch: Cleaned up the build environment forno-std
and simplified the build process. The works processed on PR114-PR122, e.g.: PR #115 - Based on
no-std
, addedstd
support: PR #141 - Renamed
no-std
tomain
and set it as the default branch: Issue #143 - Further improvements on
main
after setting it as default:
Introducedoptee-utee-build
crate 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_handler
optional inoptee-utee
: PR #147 - Added support for configuring the capacity of shared buffers in
LoadablePlugin
: PR #154 - Added
no-std
networking support inoptee-utee
: PR #164
New Examples
- Added
error-handling
example: PR #127 - Introduced
project/
directory for real-world examples, including a Web3 ETH wallet example: PR #150 - Added
no-std
support fortcp_client-rs
andudp_socket-rs
. PR #164
Bug Fixes
Documentation Updates
- README updates:
- New migration guide:
- Guide for writing Rust TAs using
optee-utee-build
: