If your product runs Mbed TLS today, 2027 brings a decision. In October 2026 the Mbed TLS team announced that its current maintainers will stop working on the TLS and X.509 libraries in April 2027, one month after the 3.6 LTS branch reaches end of life. Mbed TLS has served embedded developers well for many years, and the team is inviting organizations to help carry it forward. Still, products that ship next year need a TLS stack with a clear support plan, and if the move to Mbed TLS 4.x means rewriting your integration code anyway, we suggest moving it to wolfSSL instead: an actively maintained TLS stack with commercial support, DTLS 1.3, post-quantum key exchange and FIPS 140-3.
This post sums up what changes and when, and why we think wolfSSL is the right place for your TLS code. For the hands-on part, the new Mbed TLS to wolfSSL Migration Guide in the wolfSSL documentation covers the design differences, a side-by-side TLS client, the pitfalls we see most often, and full API and configuration mappings for Mbed TLS 3.6 and 4.x. We keep the guide up-to-date as both libraries move.
Why Now
- The TLS and X.509 maintainers step down in April 2027. Unless someone takes over, security fixes and releases for those libraries end then. The crypto layer, TF-PSA-Crypto, stays actively maintained.
- 3.6 LTS ends in March 2027. Many shipping products are still built on it, as are SDKs such as Zephyr 4.3, ESP-IDF 5.5 and TF-M.
- 4.x reworks the crypto integration surface. Mbed TLS 4.0 made psa_crypto_init() mandatory, removed mbedtls_ssl_conf_rng(), made the legacy crypto headers private, split configuration into two files and went CMake only. 4.1 LTS was announced with fixes until March 2029, and the branch policy still lists that date, but in a follow-up the maintainers were open that for the TLS and X.509 code this now depends on new maintainers taking over. So a port to 4.1 LTS may not deliver the support window that was originally promised.
- Features you may rely on were removed. 4.x drops TLS 1.2 RSA, DHE and static ECDH key exchange, curves below 250 bits, DES and PKCS#12 key decryption, and replaces _ALT hardware hooks with PSA drivers.
- The ecosystem is moving. Zephyr 4.4 and ESP-IDF 6.0 already ship Mbed TLS 4.x, and their TLS layers now face the same uncertainty about the future of Mbed TLS 4.x. wolfSSL ships a Zephyr module and an ESP-IDF component that can replace Mbed TLS.
We hope Mbed TLS finds new maintainers, since a healthy choice of TLS libraries is good for everyone. Moving to wolfSSL also pays off on its own when you call crypto directly and face the PSA rewrite anyway, or when you need DTLS 1.3, post-quantum key exchange or FIPS 140-3.
Getting started
The migration guide takes you through the port step by step, and wolfSSL’s CI already runs interoperability tests against Mbed TLS 3.6 for TLS, DTLS and DTLS Connection ID. The source is at github.com/wolfSSL/wolfssl. If you have questions about migrating, FIPS 140-3, or commercial licensing, contact us at facts@wolfssl.com or support@wolfssl.com.
Download wolfSSL Now

