.. _changelog_v3_5_0_beta_3: v3.5.0-beta.3 ============= v3.5.0-beta.3 introduces **TensorFlow Lite for Microcontrollers**, integrates **STM32Cube.AI** as a built-in module, and adds the **USSL / mbedTLS** module for SSL/TLS. WINC1500 init now returns string errors and the YUV table was disabled on the OpenMV 4 — read the breaking changes below. (This is a beta leading up to :ref:`v3.5.0 `.) .. contents:: On this page :local: :depth: 1 Highlights ---------- - **TensorFlow Lite for Microcontrollers** — added (the start of the modern ``tf`` module). - **STM32Cube.AI** — integrated as a built-in module with examples (X-CUBE-AI v4.1.0). - **USSL / mbedTLS** — added the ``ussl`` MBEDTLS module for SSL/TLS. - **Breaking:** WINC1500 init now returns string errors and the OpenMV 4 YUV table was disabled — see the breaking changes. New features ------------ - **TensorFlow Lite for Microcontrollers** — added support for TFLite-micro models. - **STM32Cube.AI** — integrated into the firmware as a built-in module, with updated MNIST / Cube.AI examples and X-CUBE-AI v4.1.0 support (Cube.AI files are now fetched separately per added instructions). - **USSL** — enabled the ``ussl`` MBEDTLS module for SSL/TLS sockets, with updated WINC1500 HTTP/HTTPS client examples. Other changes and improvements ------------------------------ - Updated the WINC1500 firmware and host driver and socket buffer size; cleaned up the system clock config; enabled the SYSCFG clock before selecting VSCALE0 and switched to VSCALE1 before low-power mode. Bug fixes --------- Networking: - WINC1500 now checks for an empty SSID and/or key. Hardware and board support -------------------------- - **OpenMV 4R** — uses QSPI for internal storage. Breaking API changes -------------------- User-visible API breaks between v3.5.0-beta.2 and v3.5.0-beta.3. Scope: Python C-modules in ``modules/`` and Python libraries in ``scripts/libraries/``. Both breaking changes are *behavior* changes (same API, different results) — re-check affected scripts. Each commit hash links to its diff on GitHub. .. _v3_5_0_beta_3_winc: WINC1500 init returns string errors *(behavior)* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The WINC1500 ``init`` function now returns descriptive string errors instead of numeric codes. Code that compared the WINC1500 init result against numeric error values must be updated to handle the new string messages. *Commits:* `15e0d455 `__ .. _v3_5_0_beta_3_yuv: OpenMV 4 JPEG/grayscale output changed *(behavior)* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The YUV lookup table was disabled on the OpenMV 4 / 4R, so JPEG and grayscale output pixel values are computed slightly differently on those boards. Output is still valid but differs marginally from prior releases; re-check pixel-exact comparisons on the OpenMV 4. *Commits:* `f9ed0cb82 `__ .. _v3_5_0_beta_3_migration: Migration checklist ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Handle string error returns from WINC1500 init (:ref:`the WINC1500 change `) and re-check pixel-exact comparisons on the OpenMV 4 (:ref:`the OpenMV 4 output change `). All other scripts run unchanged.