.. _changelog_ide_v4_0_13: v4.0.13 ======= v4.0.13 introduces an OMV escape-code protocol that lets scripts running on the camera drive the IDE directly from the print/terminal output stream, and changes two defaults: imported-library syncing is now opt-in and two framebuffer context-menu entries are now hidden. The release stays on the Qt Creator 10.0.1 base. There are no scripting API breaks, but a couple of user-visible workflow defaults changed. .. contents:: On this page :backlinks: none :local: :depth: 1 Highlights ---------- - **OMV escape-code protocol** lets scripts on the camera trigger popup Info/Warning/Error/Question dialog boxes and a Dataset Editor image save directly from the print/terminal output stream. - **Dialog rate limiting** caps escape-code-triggered popups at one per second so a fast-printing script cannot spam windows. - **Imports sync is now opt-in**, gated behind a new ``Tools`` menu toggle instead of running automatically. - **Cleaner print output** with the spurious newline after a frame buffer/JPEG image now stripped in both IDE print output and the serial terminal. - **Streamlined framebuffer menu** with the **Save Template to Cam** and **Save Descriptor to Cam** context-menu entries now hidden. New features ------------ - **OMV escape-code protocol.** Scripts running on the camera can now drive the IDE from the print/terminal output stream using a new OMV escape-code protocol. Supported functions include resetting the system, building buffered text from ``START_TEXT``, triggering popup Info, Warning, Error, and Question dialog boxes, and remotely triggering a Dataset Editor image save. This adds ``openmvpluginescapecodeparser.{cpp,h}`` with an ``ESCAPE_CODE_FUNCTION_*`` enum, wires the parser into ``outputwindow.cpp`` and ``openmvterminal.cpp``, and connects the dataset-editor save to ``datasetEditorSnapshotAction`` (`77e6b1987 `__). Other changes and improvements ------------------------------ - **Escape-code-triggered dialogs are rate limited** to at most one per second, so a script printing rapidly cannot spam popup windows (`8b2bbae57 `__). - **Shorter escape-code prefix.** The custom command-sequence prefix was shortened from the three-character ``OMV`` to a single ``O`` in the terminal/output parser (`90423e6f5 `__). - **Imports sync is off by default.** Automatic syncing of imported libraries between the OpenMV Cam and the Documents folder is now disabled by default and gated behind a new persisted ``Tools`` menu toggle, **Sync Imports between OpenMV Cam and Documents Folder** (`0b6ee2590 `__). - **Trimmed framebuffer context menu.** The **Save Template to Cam** and **Save Descriptor to Cam** entries are now hidden from the framebuffer right-click context menu (the actions still exist in code but are made invisible) (`33a3e62a7 `__). Bug fixes --------- - Fixed a spurious newline that appeared after a frame buffer/JPEG image in IDE print output and the serial terminal, so following text now prints cleanly (`afc817024 `__). Platform and tool support ------------------------- - **Qt Creator base:** 10.0.1. - OpenMV IDE version bumped from 4.0.12 to 4.0.13 (`b4f0030c5 `__). Breaking changes ---------------- There are no scripting API breaks, but two user-visible defaults changed: - The framebuffer right-click context menu no longer shows **Save Template to Cam** or **Save Descriptor to Cam** (these entries are now hidden). - Automatic syncing of imported libraries between the OpenMV Cam and the Documents folder is now OFF by default and must be enabled via the new **Sync Imports between OpenMV Cam and Documents Folder** toggle in the ``Tools`` menu.