.. _changelog_v4_5_7: v4.5.7 ====== v4.5.7 adds PAG7920 sensor recognition, unifies the drawing pipeline onto the ``draw_image`` backend (GPU-offload ready), and fixes a JPEG-decoder boundary bug and an STM32 MPU protection bug. .. contents:: On this page :local: :depth: 1 Highlights ---------- - **PAG7920** sensor ID is now recognized. - **Unified drawing pipeline** — line operations now run through the ``draw_image`` backend, which was refactored to support GPU offload. - Fixed a JPEG-decoder boundary bug and an STM32 MPU protection bug. New features ------------ - **PAG7920** — added the missing PAG7920 sensor enum so that sensor is recognized. Other changes and improvements ------------------------------ - **Drawing pipeline** — all line operations now use the ``draw_image`` backend, and ``draw_image`` was refactored to support GPU offload (groundwork for hardware-accelerated drawing). - **More RAM on non-JPEG boards** — the JPEG buffer is now reserved only when a hardware JPEG encoder is defined. - :class:`ml.Model` — its printed representation now also shows the model address. - **MicroPython submodule updated.** Bug fixes --------- - Fixed a JPEG-decoder boundary problem (``imlib/jpegd``). - Fixed an STM32 MPU region-protection bug. Hardware and board support -------------------------- - **PAG7920** — the sensor is now recognized by its ID. Breaking API changes -------------------- User-visible API breaks between v4.5.6 and v4.5.7. The only breaking change is narrow and affects just the RPC transport helper libraries. .. _v4_5_7_rpc: RPC SPI/I2C master helpers moved to :mod:`machine` *(minor)* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The ``rpc_spi_master`` and ``rpc_i2c_master`` helper libraries were updated to use the :mod:`machine` module instead of the legacy :mod:`pyb` module. Scripts that constructed these RPC transports with :mod:`pyb`-style arguments must switch to the :mod:`machine`-style bus arguments. *Commits:* `1ec77498a `__, `0154ada53 `__ Migration checklist ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Only RPC users are affected: if you used ``rpc_spi_master`` or ``rpc_i2c_master``, update the bus construction to :mod:`machine`-style arguments (:ref:`the RPC helper change `). All other scripts run unchanged.