.. _changelog_ide_v4_0_12: v4.0.12 ======= v4.0.12 teaches the serial terminal to render ANSI color codes, unifies the firmware-loader progress windows behind a shared geometry and a default-open log panel, and refreshes the bundled firmware and example scripts. It stays on the Qt Creator 10.0.1 base, and there are no breaking changes. .. contents:: On this page :backlinks: none :local: :depth: 1 Highlights ---------- - **ANSI color in the serial terminal** — the output window now interprets ANSI escape color codes and renders colored text, with brighter, theme-aware colors when a dark UI theme is active. - **Unified firmware-loader windows** — all loader progress windows now share one saved geometry, and the log panel starts expanded on first use. - **Bundled firmware 4.5.0** — refreshed firmware binaries for every supported board. - **Arduino Giga example set** — a complete example tree for the Arduino Giga (Giga-H7) was added, covering board control, display, audio, WiFi, Bluetooth, and low-power scripts. - **Modernized examples** — bundled scripts now use the current MicroPython ``machine`` and ``time`` API, with a new top-level ``blinky.py`` and new sensor and BLE examples. New features ------------ - The serial terminal output window now interprets ANSI escape color codes, rendering colored text. When a dark UI theme is active, the renderer emits brighter, theme-aware colors. (`7f1a29ba1 `__) Other changes and improvements ------------------------------ - All firmware-loader progress windows (**BOSSAC**, **DfuSe**, **PyDfu**, **DFU Util**, **NXP IMX**, **PicoTool**) now share a single saved window-geometry/settings group. The details/log panel is expanded by default only when no prior window state is saved (first run after the settings groups were consolidated); thereafter each window restores the last expanded or collapsed state you chose. (`6bac6b7eb `__) - The bundled example scripts were modernized to the current MicroPython API, replacing ``pyb`` with the ``machine`` and ``time`` modules (for example ``from machine import LED`` with ``LED("LED_BLUE")``, and ``time.ticks_ms()`` / ``time.ticks_diff()``). (`16fb36f8c `__) - A complete Arduino Giga (Giga-H7) example set was added under ``10-Arduino-Boards/Giga-H7/``, including ``00-Board-Control`` (ADC, CAN, CPU-frequency scaling, I2C scanner, LED/pin/PWM/RTC/SPI/timer/UART control, USB HID, USB VCP, and VSYNC GPIO output), ``01-Display``, ``02-Audio`` (``audio_fft.py`` and ``micro_speech.py``), ``03-WiFi`` (connect, DNS, HTTP client, SSL HTTP client, MJPEG streamer, MQTT publish/subscribe, NTP, scan, and static IP), ``04-Bluetooth``, and ``05-Low-Power`` scripts. (`16fb36f8c `__) - New BLE examples ``ble_blinky.py`` and ``temp_sensor_aioble.py`` were added for the Nicla Vision, Portenta H7, and Arduino Giga boards under their Bluetooth example folders. (`16fb36f8c `__) - A new ``00-HelloWorld/blinky.py`` example was added and now replaces the previous per-board ``00-Board-Control/blinky.py`` examples (for the OpenMV boards and the Nano 33 BLE Sense, Nano RP2040, Nicla Vision, and Portenta H7 Arduino boards), which were removed. (`16fb36f8c `__) - A new ``01-Camera/07-Sensor-Control/sensor_save_and_restore_settings.py`` example was added, and the misspelled ``01-Camera/07-Sensor-Control/sesnor_manual_gain_control.py`` was renamed to ``sensor_manual_gain_control.py`` to fix the filename typo. (`16fb36f8c `__) Platform and tool support ------------------------- - **Qt Creator base:** 10.0.1. - **Bundled OpenMV firmware:** updated from 4.4.3 to 4.5.0, refreshing ``firmware`` binaries for all supported boards, plus ``uvc`` and ``openmv`` binaries for the boards that ship them (``openmv`` binaries for OPENMV2/3/4/4P/PT). (`16fb36f8c `__) - The Arduino Giga firmware was consolidated into a new ``ARDUINO_GIGA`` folder (swapping its ``bin``/``dfu`` packaging and adding UVC firmware), the obsolete ``ARDUINO_GIGA_H7`` firmware folder was removed, and ``boards.txt`` was repointed to ``ARDUINO_GIGA``. (`16fb36f8c `__) Breaking changes ---------------- None. This release is fully compatible with existing OpenMV IDE projects and workflows.