.. _changelog_v4_5_5: v4.5.5 ====== v4.5.5 is a small maintenance release focused on image-buffer cache coherency, sensor-reset reliability, and morphology API tidy-up. .. contents:: On this page :local: :depth: 1 Highlights ---------- - **More reliable capture** — video buffers are now cache-invalidated before use, and the sensor reset/power-down delay was increased. - **Breaking:** ``morph()``'s ``ksize`` is now positional and the obsolete pooling methods were removed (see the breaking changes). Other changes and improvements ------------------------------ - Increased the delay after sensor reset / power-down for more reliable camera start-up (the Portenta H7 overrides these delays for its sensor). Bug fixes --------- - Fixed the ``erode()`` mask check. - Video buffers are now cache-invalidated before being returned, preventing stale/corrupted image data. - i.MX RT: a camera transfer is retried if the DMA is still busy; STM32: video-buffer state is reset when frames are dropped. Breaking API changes -------------------- User-visible API breaks between v4.5.4 and v4.5.5. Each change is tagged with its impact: - *minor* — narrow API; only affects scripts that used it. - *behavior* — same API, different results; re-check tuned scripts. Changes are grouped by impact in that order. Each commit hash links to its diff on GitHub. .. _v4_5_5_morph: ``morph()`` ``ksize`` positional; pooling removed *(minor)* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The ``morph()`` kernel-size ``ksize`` argument is now a positional argument. The obsolete ``Image.pool()`` family of pooling methods was removed. *Commits:* `f92896589 `__, `08ca21fd1 `__ .. _v4_5_5_argparse: Image conversion argument parsing standardized *(behavior)* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The image conversion methods (``Image.to_*()`` / ``to()``) were moved onto the standardized ``mp_arg_parse_all`` argument parser. Calls that relied on the old positional/keyword ordering may need adjusting. *Commit:* `3fee02ffb `__ Migration checklist ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ For a clean port to v4.5.5: pass ``morph()``'s ``ksize`` positionally, drop any use of the removed pooling methods (:ref:`the morphology change `), and re-check argument order in image conversion calls (:ref:`the conversion-parsing change `).