Skip to content

Apache Teaclave TrustZone SDK (incubating) v0.4.0

Choose a tag to compare

@DemesneGH DemesneGH released this 17 Feb 12:50

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 for no-std and simplified the build process. The works processed on PR114-PR122, e.g.: PR #115
  • Based on no-std, added std support: PR #141
  • Renamed no-std to main and set it as the default branch: Issue #143
  • Further improvements on main after setting it as default:
    Introduced optee-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 in optee-utee: PR #147
  • Added support for configuring the capacity of shared buffers in LoadablePlugin: PR #154
  • Added no-std networking support in optee-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 for tcp_client-rs and udp_socket-rs. PR #164

Bug Fixes

  • Fixed a double-free bug in optee-utee: PR #127
  • Improved argument validation error messages: PR #134

Documentation Updates