.. _changelog_ide_v1_9_0: v1.9.0 ====== v1.9.0 is the internationalization release, adding a fully translated user interface across more than a dozen languages, alongside a new bootloader query protocol that reads each board's real flash erase-sector layout for safer firmware flashing. The IDE remains built on Qt Creator 4.0.2, and the bundled OpenMV firmware is refreshed to 2.9.0. There are no breaking changes for existing projects. .. contents:: On this page :backlinks: none :local: :depth: 1 Highlights ---------- - **Multi-language UI** is now available, adding Chinese (Simplified and Traditional), Japanese, French, Italian, Spanish, Russian, German, Arabic, Czech, Hungarian, Polish, Slovenian, and Ukrainian translations. - **Bootloader flash-sector query** lets the IDE read a connected cam's actual erase-sector layout over the bootloader instead of relying solely on hardcoded defaults. - **Per-board erase ranges** are now read from ``boards.txt`` so each camera model erases the correct flash sectors when reflashing firmware. - **Out-of-date firmware prompt** offers to upgrade the cam automatically when an outdated firmware version is detected on connect. - **New bundled examples** add drawing primitives, image filters, a time-lapse photos script, a CMSIS CNN object-classification demo, and motor-shield examples. - **Bundled firmware 2.9.0** refreshes the M7 (OPENMV3) and H7 (OPENMV4) firmware and DFU images (and the H7 bootloader). New features ------------ - **Multi-language UI translations** add Chinese (Simplified and Traditional), Japanese, French, Italian, Spanish, Russian, German, Arabic, Czech, Hungarian, Polish, Slovenian, and Ukrainian, with a build rule that makes the translations regenerable (`8350ff9ac `__, `4ef99202b `__, `0a7c85bfc `__, `c678482dd `__, `052113877 `__, `e48ff5d34 `__, `9dddbc498 `__). - **Bootloader flash-sector query** adds a new bootloader protocol where the IDE queries the connected cam to read its actual flash erase-sector layout (start, all-start, and last sectors) instead of relying solely on hardcoded defaults (`38a84883e `__). - **Per-board erase ranges** are now read from ``boards.txt`` (trailing sector numbers per line) so each camera model erases the correct sectors rather than using a single global default. The initial implementation did not match ``boards.txt`` (which already used space-separated trailing numbers) until ``8217b94c3`` corrected the board-match condition and changed the trailing-sector delimiter regex from ``+`` to whitespace; ``4843e46a8`` then removed a leftover ``qDebug()`` debug print (`68a45da02 `__, `8217b94c3 `__, `4843e46a8 `__). - **Out-of-date firmware prompt:** on connect, if the cam's firmware is detected as out of date the IDE now prompts to upgrade and, on confirmation, launches the firmware update automatically (`a79a40b45 `__, `8217b94c3 `__). - **New bundled examples** add drawing primitives (arrow, circle, cross, line, rectangle, text, image, flood fill), new image filters (blur, cartoon, edge, color and grayscale bilateral, light removal, kernel, unsharp, histogram and adaptive-histogram equalization), a time-lapse photos example, a CMSIS CNN object-classification example using ``img.classify_object()`` with CIFAR labels, and motor-shield examples (`909016427 `__). Other changes and improvements ------------------------------ - **Default project directory** now defaults to a ``~/OpenMV`` folder, and Open/Save dialogs remember and reopen the last visited directory across sessions (`fbdac7576 `__). - The **About box** now shows a ``Credits`` section noting the (English) translation author; localized builds substitute the translator string (`e8e823a11 `__, `2efbe1e29 `__). - **Refreshed bundled offline documentation**, notably expanding the ``omv.image`` API reference and other MicroPython library pages (`aef76b825 `__, `b0f4701af `__). - **Disabled the extra disk flush write** (the ``openmv.null`` temp file) performed on disconnect to avoid unnecessary disk activity on the cam's mass-storage drive (`6be486c62 `__). Bug fixes --------- - Fixed a bootloader query that swapped the order of the erase-flash sector values (all-start, start, last), correcting which flash sectors get erased during firmware and bootloader flashing (`fbdac7576 `__). - Reworked the video recording converter and player to launch ``ffmpeg`` and ``ffplay`` through a generated temp script on Windows, macOS, and Linux so that file paths containing spaces work reliably, and corrected the bundled Linux ``ffmpeg`` path used by the converter (`8f17f888d `__, `83cd73144 `__). - Connecting to a camera now automatically retries up to 10 times when the firmware-version handshake times out before showing the timeout error, reducing spurious connection failures (`ae18dca93 `__). - Fixed serial command timing on macOS by tuning the start and end inter-command delays: most were raised (arch string, script exec, descriptor/template save, sys reset, and frame-buffer enable to 25-50 ms) while the firmware-version delay was rebalanced (shorter start, longer end), preventing communication timeouts (`763357a08 `__). - The board registration key entered in the custom-board dialog now strips all whitespace so accidental spaces in the typed key are ignored (`6be486c62 `__, `8217b94c3 `__). Platform and tool support ------------------------- - **Qt Creator base:** 4.0.2. - **Bundled OpenMV firmware:** the global ``firmware.txt`` version is now 2.9.0 (from 2.7.0 via 2.8.0). The 2.9.0 bump refreshed only the M7 (OPENMV3) and H7 (OPENMV4) firmware and DFU images, along with the H7 bootloader (the M7 refreshed only ``bootloader.elf``); the M4 (OPENMV2) images were last refreshed at 2.8.0 (`bfc0b188e `__, `c0a86dd35 `__). - **OpenMV IDE version** bumped to 1.9.0 internally (from 1.8.2) (`8f17f888d `__). Breaking changes ---------------- None. This release introduces no workflow or behavior breaks; existing projects continue to work unchanged.