Features * When a PSA driver for ECDH is present, it is now possible to disable MBEDTLS_ECDH_C in the build in order to save code size. For TLS 1.2 key exchanges based on ECDH(E) to work, this requires MBEDTLS_USE_PSA_CRYPTO. Restartable/interruptible ECDHE operations in TLS 1.2 (ECDHE-ECDSA key exchange) are not supported in those builds yet, as PSA does not have an API for restartable ECDH yet. * When all of ECDH, ECDSA and EC J-PAKE are either disabled or provided by a driver, it is possible to disable MBEDTLS_ECP_C (and MBEDTLS_BIGNUM_C if not required by another module) and still get support for ECC keys and algorithms in PSA, with some limitations. See docs/driver-only-builds.txt for details. API changes * Mbed TLS 3.4 introduced support for omitting the built-in implementation of ECDSA and/or EC J-PAKE when those are provided by a driver. However, their was a flaw in the logic checking if the built-in implementation, in that if failed to check if all the relevant curves were supported by the accelerator. As a result, it was possible to declare no curves as accelerated and still have the built-in implementation compiled out. Starting with this release, it is necessary to declare which curves are accelerated (using MBEDTLS_PSA_ACCEL_ECC_xxx macros), or they will be considered not accelerated, and the built-in implementation of the curves and any algorithm possible using them will be included in the build.