.. _changelog_ide_v5_0_0: v5.0.0 ====== v5.0.0 is a major release. It introduces the **OpenMV Viewer** — a separate, read-only build for showing off a finished product — a new **OpenMV Cam Settings Editor**, the **v2 camera debug protocol** for v5.0.0 cameras, and a large set of editor, terminal, firmware, and machine-vision workflow improvements. It is built on Qt Creator 14.0.2. The version jump to 5.0.0 marks the arrival of the v5.0.0 camera generation and the tooling that supports it; existing v4 projects and workflows continue to work unchanged. .. contents:: On this page :backlinks: none :local: :depth: 1 Highlights ---------- - **OpenMV Viewer** — a new, separately installed build variant that runs the IDE as a locked-down, read-only telemetry viewer. It shows the camera's frame buffer, serial terminal, and histogram and can run a fixed script, but hides the authoring, AI/model, and settings tools, so a customer can demonstrate a product built on OpenMV without the full development environment. - **OpenMV Cam Settings Editor** — a graphical editor for the camera's on-board settings configuration file, so you can view and change board settings from a form instead of hand-editing the file. - **v2 camera debug protocol** — v5.0.0 cameras use a new, more robust debug protocol with header CRC validation, sequence-gap recovery, and a split frame-rate display that reports the on-camera FPS and the IDE display FPS separately. - **Load Custom Firmware from a .zip** — the firmware installer now accepts a board's build-output ``.zip`` bundle directly, making it easy to flash a custom or locally built firmware image. - **Serial Terminal protocol debug logging** — a toggle in the Serial Terminal logs the camera debug protocol with readable, emoji-tagged lines for diagnosing connection issues. - **Reworked Help menu and in-editor docs** — an **OpenMV Docs** submenu replaces the old flat links, ``F1`` opens the documentation for the Python symbol under the cursor, hovering an API name shows its documentation inline, and the About dialog was modernized. New features ------------ - **OpenMV Viewer build variant.** A forced-viewer-mode build, branded and installed as *OpenMV Viewer*, with its own executable id, settings store, and bundle id so it coexists with the full IDE. It presents as a read-only telemetry viewer: Run/Stop and stop-on-connect work and run a script from disk (via ``-auto_run``), File/Edit menus and Preferences remain, and firmware/ROMFS recovery is kept, while authoring tools, developer machine vision tools, developer settings categories, and AI/model/docs resources are stripped from the build and UI. ROMFS becomes load-only and is promoted to the Tools menu, and firmware-update completion dialogs are genericized (`07722e78a8b `__, `5cd12ee260e `__, `b97bf5447e4 `__, `952b86de391 `__, `1103f7988ed `__, `f0f60261485 `__, `c743d5d67b9 `__, `b4bcdc2d71a `__, `a37c032b6ff `__, `480e5668d29 `__, `11c064cac93 `__). - **OpenMV Cam Settings Editor** — a GUI editor for the camera's settings configuration file, opened from the Tools menu (issue #205) (`f55a0d7fa58 `__, `2d7f80b03cf `__). - **v2 camera debug protocol** for v5.0.0 cameras, with header-CRC validation before any header field is trusted, sequence-gap recovery that rolls forward over dropped packets instead of stalling, and a frame-rate readout split into the on-camera rate and the IDE display rate (`c377bdbaea8 `__, `a3f0488ddcb `__, `29108dd40f7 `__, `c15e6c02789 `__). - **Load Custom Firmware accepts a .zip bundle** — pick a board's build-output zip and the IDE flashes the firmware (and ROMFS) it contains (`55e4eb2d900 `__). - **Serial Terminal debug logging** — a button toggles tiered debug logging of the camera protocol, with each line emoji-tagged and rendered in the emoji font for readability (`09990c62810 `__, `42e23c3c11e `__, `997705548c7 `__, `d2208de77d4 `__). - **Copy/Convert Current Script** — a Tools action that copies or converts the current script, with a guard against saving a compiled ``main.py``/``boot.py`` (`81a954f33cd `__). - **F1 documentation help** on the Python symbol under the cursor, sharing the symbol resolver with the hover tooltips (`c341330bc16 `__). - **In-editor documentation tooltips** — hovering an OpenMV API name shows its documentation inline, resolved from the shipped ``.pyi`` stubs and the module's own docs, so you can read what a function, method, constant, or module does without leaving your script (`7ebde92d2a6 `__, `f225824ba13 `__, `59ad01a364a `__, `02c1e61a2a6 `__). - **Name a camera** — an IDE-local alias you can give a connected camera, shown in place of the serial port name so identical cameras are tellable apart (`c600158ca34 `__). - **Keyboard Shortcuts page** — the Preferences shortcuts page is now shown and filtered to the actions you can actually reach, with clearer sourcing and layout (`4f5eae52e8e `__, `2d472fe5b40 `__). Editor, terminal, and UI improvements -------------------------------------- - **Help menu restructured** into an **OpenMV Docs** submenu (dropping the old flat pinout links), with release-notes links added to the official-release version paths (`e1337ff67c4 `__, `9eacc0994e6 `__). - **About dialog modernized** — automatic copyright year, a partner-logo table, and a single-line release-notes link (`d89fb74138d `__). - **Frame Buffer panel** now shows the resolution readout and a frame-buffer mode label beside the fixed JPG button; the mode label is greyed so it does not look clickable (`cb735f82337 `__, `376b17d4e77 `__, `39c6ffc3b26 `__). - **Histogram pane** plots are spline-smoothed, the pane can compress (eliding labels and squishable plots), and the channel label sits beside the stats (`327324ef7e9 `__, `9f8c7035483 `__, `d204e93d5e4 `__). - **Coupled panel dividers** — Ctrl/Cmd-dragging a divider moves the editor/terminal and frame-buffer/histogram splitters together, and the mini-splitter handles get a hover halo with a wider grab area (`379dee250d6 `__, `96b83984342 `__). - **Serial Terminal** — auto-scroll is no longer re-pinned on every output chunk, so scrolling up during fast output stays put; the terminal can run a file from disk when there is no editor (`af67a076e95 `__, `bc132aef536 `__). - **Docs commands** are named by page instead of by index (`a3201e9a4b4 `__). - **High-DPI / fractional scaling** — icons, overlays, and the splash screen render correctly at fractional scale factors (125%, 150%, and the like), and the main window remembers its geometry and screen across restarts on multi-monitor setups (`c60711e4950 `__, `60901b6e13f `__, `f241d2ea8ce `__, `54a1bc31fbd `__). Firmware, boards, and tools --------------------------- - **A board can pin its last-shipped firmware version**, so a board that no longer receives newer firmware is not flagged out of date (`bd987d32f42 `__). - **Out-of-date firmware** status text is now colored red to stand out (`9b18d96bac5 `__). - **Bootloader-recovery hint** — a ``bootloader.bin`` mismatch now hints at entering bootloader recovery mode (`d46b998c76e `__). - **Video playback** is more robust: the FFmpeg path is surfaced when tools can't launch it, the message is clearer when an architecture doesn't support playback, input formats are queried with ``ffmpeg -demuxers``, and Linux terminal fallbacks were added (`0cc0e74a438 `__, `a75ec4898d0 `__, `28e1ef10326 `__, `51651780723 `__). - **Dataset Capture Script** updated to the ``csi`` module (`41a781651e4 `__). - **Windows installer** wizard appearance improved (`250599d9d9e `__). Bug fixes --------- - **Development-firmware install** for ``.lst`` boards (AE3) now stages the binaries the listing references into the flash directory, and the dev/custom install stages the bundle's ROMFS image while clearing any stale ``romfs*.img`` first, so the downloaded ROMFS is flashed instead of a leftover editor dump (`3cf56e98668 `__, `43bedc8c591 `__). - **libjpeg warnings** for truncated/corrupt frames are filtered out of the log so a lossy stream doesn't spam the terminal (`6e2a8bed6cf `__, `a5166abbdc1 `__). - The examples list no longer shows the internal ``index.json`` (`14ac8ca48a7 `__). - Firmware-upgrade and onboarding pop-ups are suppressed in viewer mode so a product demo never prompts to overwrite the customer's firmware (`7b8528c3ad6 `__). - Dangling and authoring-only keyboard shortcuts left over from stripped menus were disabled (`be3bee8bb58 `__, `27d1afc8705 `__). Localization ------------ - **Four new languages** — Indonesian, Romanian, Thai, and Vietnamese — bringing the IDE to 37 translated languages, and every catalog was updated, translated, and cleaned across all languages (`fcf04090843 `__, `c830e6c4de3 `__, `5e22679923f `__). Command line ------------ - **GNU-style ``--word`` option aliases** are now accepted alongside the single-dash forms, and the ``-help`` output notes the equivalence (`66414213dd9 `__, `768c5d0e159 `__). Platform and tool support ------------------------- - **Qt Creator base:** 14.0.2. - **OpenMV IDE** version bumped to 5.0.0. - **New:** the separately installed **OpenMV Viewer** build variant. - **Python 3.14** support — the bundled ``parso`` parser was updated to 0.8.7, keeping code completion and the language server working with the latest Python syntax (`578a4e39d97 `__). Breaking changes ---------------- None for existing projects. The v2 debug protocol applies to v5.0.0 cameras; v4-generation cameras continue to use the existing protocol, and existing scripts and workflows are unaffected.