v0.17.0 RC1

Rob Sanchez


Open Enclave version v0.17.0 will soon be published, and we want to send out some release candidate packages (Windows Server 2019, Ubuntu 18.04/20.04) for pre-release testing. You can find the v0.17.0 RC1 release candidate packages on GitHub below:

Release v0.17.0-rc1 * openenclave/openenclave (github.com)<https://github.com/openenclave/openenclave/releases/tag/v0.17.0-rc1>

Please test these packages and let us know if you come across any issues. Thank you so much for your help!

To the Committers of the OE SDK: Please let us know if we have missed anything in the release notes. We should update our CHANGELOG if so.

Thank you so much to everyone in helping us drive and deliver this release! Please use our GitHub repo to report any issues that you may come across in your use of the SDK!



Release Notes:


* OE SDK is now built using clang-10. It is required to upgrade the compiler to clang-10 if you are building the SDK from source.


* Add the CapturePFGPExceptions preference for the SGX2 feature of capturing #PF and #GP exceptions inside an enclave.
* Developers can specify the CapturePFGPExceptions with a binary value in the enclave config file or set the value via the newly added OE_SET_ENCLAVE_SGX2 macro, which is used to set SGX2-specific properties.
* When setting CapturePFGPExceptions=1, the OE loader will enable the feature when running on an SGX2-capable CPU.
* Once enabled, the in-enclave exception handler can capture the #PF (with the OE_EXCEPTION_PAGE_FAULT code) and #GP (with the code OE_EXCEPTION_ACCESS_VIOLATION code) exceptions.
* More information about the exceptions can be found in the faulting_address and error_code members of the oe_exception_record_t structure passed into the handler.
* Add the following attestation claims from oe_verify_evidence():
* Publish tool oeutil.
* The tool, currently under the tools directory, will integrate multiple OE utilities<https://github.com/openenclave/openenclave/blob/v0.17.0-rc1/tools/oeutil/README.md> in the future.
* The tool integrated oegenerate in this release.
* SGX enclaves created using OE SDK can now be debugged using oelldb.
oelldb is a python based extension for LLDB that supports debugging SGX enclaves. lldb-7 or above is required.


* The Release build type for building the Open Enclave SDK from source is deprecated. The recommendation is using RelWithDebInfo instead.