.. _changelog_v2_9_0: v2.9.0 ====== v2.9.0 introduces initial **FLIR Lepton** thermal-camera module support (Lepton SDK, module-ID detection, 16-bit camera-bus register addressing) and switches windowing to software cropping for more reliable DMA transfers. The :func:`sensor.snapshot` ``line_filter`` keyword was removed — read the breaking changes below. .. contents:: On this page :local: :depth: 1 Highlights ---------- - **FLIR Lepton** — initial thermal-camera module support (Lepton SDK, module-ID detection). - **16-bit camera-bus registers** — supports sensors (like the Lepton) with 16-bit register addresses. - **Software cropping** — windowing now uses software cropping for more reliable DMA transfer sizes. - **Breaking:** the :func:`sensor.snapshot` ``line_filter`` keyword was removed — see the breaking changes. New features ------------ - **FLIR Lepton** — added the FLIR Lepton module, Lepton SDK, Lepton module-ID support, and the ability for sensors to override the default snapshot function (so the Lepton can provide its own capture path). - **Camera bus** — added 16-bit register-address support. Other changes and improvements ------------------------------ - Switched from DCMI hardware cropping to software cropping (fixing issues with some DMA transfer sizes), moved ``bayer_to_rgb565`` into ``imlib``, and added the WINC SPI prescaler to the board configuration files. Bug fixes --------- - Fixed SD-card issues (disabled the USB IRQ during non-DMA SD transfers), JPEG Bayer bounds, and added a sensor window-size check. Hardware and board support -------------------------- - **FLIR Lepton** thermal-camera module (initial support). Breaking API changes -------------------- User-visible API breaks between v2.8.0 and v2.9.0. Scope: Python C-modules in ``modules/`` and Python libraries in ``scripts/libraries/``. The breaking change is *minor* and only affects scripts that used the ``line_filter`` snapshot keyword. Each commit hash links to its diff on GitHub. .. _v2_9_0_linefilter: :func:`sensor.snapshot` ``line_filter`` keyword removed *(minor)* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The ``line_filter`` keyword argument (a per-line filter callback) was removed from :func:`sensor.snapshot`. Scripts that passed ``sensor.snapshot(line_filter=...)`` must drop that argument and perform any per-line processing on the returned image instead. *Commits:* `f7e691e39 `__ .. _v2_9_0_migration: Migration checklist ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Remove the ``line_filter`` keyword from :func:`sensor.snapshot` calls and process the returned image instead (:ref:`the line_filter removal `). All other scripts run unchanged.