.. _changelog_ide_v1_8_0: v1.8.0 ====== v1.8.0 is a major feature release centered on networking and video: it adds WiFi programming of OpenMV Cams, a Frame Buffer video recorder, and a Tools > Video Tools menu backed by a bundled ffmpeg/ffplay. It also adds support for the new OpenMV Cam H7 (OMV4) board and extends the IDE to Raspberry Pi (Linux ARM). This release stays on the Qt Creator 4.0.2 base and contains no breaking changes for existing projects. .. contents:: On this page :backlinks: none :local: :depth: 1 Highlights ---------- - **WiFi programming.** The IDE now listens for UDP broadcast announcements from OpenMV Cams fitted with a WiFi shield, lists discovered cameras (name plus ``IP:port``) in the connect dialog, and talks to them over TCP as an alternative to the serial port (`69dc7dfbf `__). - **Frame Buffer video recorder.** New Record/Stop toolbar buttons capture the live image stream to an OpenMV ``ImageWriter`` file while showing an elapsed-time/size/FPS status label (`39142ef70 `__, `5aceab31a `__). - **Video Tools menu.** ``Tools > Video Tools`` adds **Convert Video File** and **Play Video File**, using a bundled ffmpeg/ffplay to transcode and play videos and transparently converting ``ImageWriter`` ``.bin`` recordings to MJPEG AVI first; **Play Video File** is available on Windows and macOS only, since ffplay is not bundled for Linux/Raspberry Pi (`d35f8d1ca `__, `8a99c994f `__). - **OpenMV Cam H7 (OMV4).** The new STM32H743 board is now recognized and ships with its own bundled bootloader and firmware (`e14810382 `__). - **Raspberry Pi support.** Linux ARM IDE builds are now enabled, bringing OpenMV IDE to the Raspberry Pi (`f551b5f97 `__). New features ------------ - **Configure OpenMV Cam settings file.** ``Tools`` adds a dialog to write the cam's ``main.ini`` boot/WiFi settings, including enabling WiFi, choosing client versus access-point mode, SSID/password/security type, the board name, and a **Duplicate REPL on the UART on startup** option stored under the ``main.ini`` boot settings (`69dc7dfbf `__, `39142ef70 `__). - **Networked terminal command-line options.** Added ``-open_udp_client_terminal``, ``-open_udp_server_terminal``, ``-open_tcp_client_terminal``, and ``-open_tcp_server_terminal`` alongside the existing serial terminal option (`6362066a8 `__, `d75209269 `__). - **Additional command-line options.** Exposed ``-update_resources``, ``-open_serial_terminal`` (``port_name:baud_rate``), ``-override_read_timeout``, and ``-override_read_stall_timeout`` (`061aacf15 `__). - **Terminal server mode.** UDP/TCP terminal connections can now run in server mode, binding to a local port (port ``0`` picks any) instead of only connecting out to a host (`956e8a2f5 `__). - **New example scripts.** Added lens correction, 3D rotation correction, and sensor sleep low-power examples, and rewrote the line-segment detection example to the new ``find_line_segments(merge_distance, max_theta_diff)`` API (`061aacf15 `__). Other changes and improvements ------------------------------ - Function-argument calltips and syntax highlighting now correctly span multiple lines, so multi-line function calls keep their argument hints and highlighting (`6535e9fdd `__, `4638bdd18 `__). - The terminal's resolution/ROI status bar now also reports the ROI pixel count (`956e8a2f5 `__). - The OpenMV Cam registration dialog now shows the board/ID and a support email, and the ``Connecting...`` progress dialog advises hitting Cancel after 5 seconds (`4638bdd18 `__, `e14810382 `__). - The Search Results panel restyles its line-number gutter and result text with explicit dark-theme colors so they are readable against the dark UI (`b2599f9ea `__). - Serial/UDP/TCP terminal write loops now yield briefly between writes to keep the UI responsive and improve throughput (`c4700e2b0 `__). - Histogram statistic value fields now reserve a fixed minimum width so the panel no longer reflows as numbers change, and the mode-switcher drawer buttons stretch instead of using a fixed 160px width (`5aceab31a `__). - Suppressed the spurious ``JIT is disabled for QML`` warning on startup via a custom Qt message handler (`954220e39 `__). Bug fixes --------- - Documentation tooltips and highlighting now recognize Python exception types (treated like data), and several module/index documentation entries were fixed so they appear correctly (`4638bdd18 `__, `3613a7867 `__, `897b9b0e2 `__, `e3e41c56e `__). - Hardened the package-update checker and camera broadcast/registration parsing with anchored, trimmed regexes and stricter HTML response matching to avoid false matches (`461af1148 `__, `4638bdd18 `__). - Corrected the OpenMV Cam M4 (OpenMV2) board identifier used for old-firmware API detection from ``OMV2`` to ``OPENMV2`` (`449024fe8 `__). - Hardened the camera I/O and video transcoder against corrupt/oversized frame data with stricter width/height/bpp/duration bounds checks, and avoided a divide-by-zero when computing video FPS (`08248f208 `__, `d0cbc27e5 `__). - Video convert/play tooling now works on macOS, 32-bit, and Linux-ARM by launching ffmpeg/ffplay through a generated shell script or ``cmd.exe`` wrapper and bundling Linux ffmpeg binaries (`b9644e859 `__, `9f0520bbe `__, `35eb69bce `__, `c4700e2b0 `__). Platform and tool support ------------------------- - **Qt Creator base:** 4.0.2. - **OpenMV Cam H7 (OMV4, STM32H743):** new board recognized with its own bundled bootloader and firmware (`e14810382 `__). - **Bundled OpenMV firmware:** bumped to 2.6.0 for OPENMV2/OPENMV3/OPENMV4 (`e14810382 `__). - **Bundled ffmpeg/ffplay:** static 3.3.3 ffmpeg builds added for Windows, macOS, Linux x86, Linux x86_64, and Linux ARM (Raspberry Pi); ffplay is bundled only for Windows and macOS (`2193d7923 `__, `af92ad59e `__). - **Raspberry Pi (Linux ARM):** builds enabled by disabling the offline-help ``HelpManager`` and switching bindist packaging to a tar.gz (`f551b5f97 `__). Breaking changes ---------------- None. This release stays on the Qt Creator 4.0.2 base, and existing projects and workflows are unaffected.