Skip to main content

Changelog

2.3.1

Released on May 8, 2026

Fixed

STM32 SWD

  • STM32 G0 (G0B0xE on ST-Link V2-1): fixed the recurring "OBL_LAUNCH recovery failed" error when writing option bytes. Connecting to a running controller is now reliable: core halt goes directly via DAP-AP instead of the old reset path; OBL_LAUNCH recovery now goes straight to USB reconnect + system reset + halt, skipping the in-session attempt (about 170 ms faster per cycle). Verify respects the writable mask and the RDP=Level1 protection level. Validated on STM32G0B0xE + ST-Link V2-1.
  • STM32 G0/G4: mass erase under active write protection (WRP) previously returned WRPERR if any page was protected via WRP1AR/BR/2AR/2BR. The driver now clears WRP before erasing; the final option-bytes write phase restores WRP from the buffer. Clone flow (Read from chip A → Write to chip B) is preserved — WRP is reproduced.

Lua / IPC

  • mp.memory.load_file / save_file: get_all_data afterwards returned 0xFF because the buffer had not yet been populated. The GUI event queue is now flushed after the dispatcher, so subsequent reads see the actual data.
  • Improved AI-agent operation with the following buffer-read functions: read_byte/_at, read_range/_at, read_bytes, read_hex, read_string/_at/_until_null, region_size, get_region_data, get_all_data, export_region/all, compare.
  • mp.memory import/export: on a real error they now return (false, err) instead of always (true, "").
  • mp.utils.bytes_to_string: rewritten via the native Lua API, without sol2 wrappers.

Other

  • The Checksum scripts settings dialog crashed on paths with Cyrillic characters in %USERPROFILE%. The script is now read via QFile + luaL_loadbuffer, bypassing CRT fopen.

Added

  • VGBN (Ctrl+0) can now obtain the zero-block size from the family settings, not only from the specific target. If the target has no size set — it falls back to the family; if neither is set — 1024 with a warning in the log. The target database now includes the zero-block size for the NEC_78K0R (2048), NEC_78K0_xx2 and RL78 (1024) families.
  • Settings → Debug mode — a toggle in Settings that enables SWD driver diagnostic logs ([g0-diag], [swd-diag] and others) on the fly, without restarting the application. Messages go to the regular MultiProg log.

2.3.0

Released on May 6, 2026

System requirements

Version 2.3.0 ships on a new architecture:

  • 64-bit build on Qt 6 (instead of 32-bit on Qt 5).
  • Windows 10 and Windows 11 only.
  • Installer goes to C:\Program Files (x64) and writes settings to the 64-bit registry hive.

If you are on Windows 7 or 8.x — stay on the 2.2.x branch.

Added

Lua scripting engine

  • Built-in Lua engine (5.5.1) with the full MultiProg API — about 235 functions across 12 modules (mp core, mp.backend, mp.config, mp.memory, mp.file, mp.checksum, mp.targets, mp.target_builder, mp.log, mp.ui, mp.utils, mp.app).
  • Script Console — separate window with code editor, syntax highlighting, autocomplete, debugger (breakpoints, step-by-step execution), and an interactive REPL.
  • Lua scripts as user-defined checksum calculators with the result shown in the status bar (marker -- @checksum-script).
  • Script API version control (SCRIPT_API_VERSION).
  • scripts/examples/ folder with ready-to-use samples.
  • Watchdog for external scripts — a hung script is auto-stopped after 10 minutes.

Themes

  • Four themes — Light, Dark, Telegram, Night — with on-the-fly switching via Settings > Theme.
  • User theme editor in settings.
  • Correct rendering of window title (DWM), icons, hex viewer, logger, dialogs, scrollbars, and tabs across all themes.
  • Hex Buffer Colors editor — dedicated hex-buffer color editor with mini-previews and live theme preview.

HEX buffer compare (Ctrl+M)

  • Two HEX viewers side by side with diff highlighting.
  • Import from file or current buffer, synchronized scrolling.
  • Diff navigation (forward/back) across tabs and regions.
  • Color-coded diff summary.

HEX buffer editing

  • Undo/Redo via the edit menu.
  • Highlighting of changed bytes.
  • Buffer backup when entering edit mode.
  • Edit / Fill context menu in the hex buffer; Fill dialog with live hex validation and address hint.

Connection image for every MCU

  • Package support: QFP/LQFP/TQFP/QFN/PQFP/PLCC/SOIC/SSOP/LSSOP/TSSOP/DIP/BGA + Connector1Row/Connector2Row/AbstractTable, rectangular packages (e.g., PQFP 14×20 mm for M16C), and BGA layouts.
  • Visual pinout editor (PinoutEditorDialog) with a live preview — edit pin assignments directly in the GUI.
  • Connection table programmer↔target (AbstractTable) — alternative tabular view of the pin mapping.
  • Package rotation to align the diagram with the physical chip orientation on the board.
  • NC pins — visual landmarks for non-programmable package pins (pin labelled on the package but not routed to the programmer).
  • Auto-generated wiring diagram from the JSON pin description of the target device; users can build their own diagram for a new chip by editing the pin description.
  • Pinout Export / Import — export and import a pinout through the configurator.

Hotkeys

  • Ctrl+H — history of recently selected target devices.
  • Ctrl+U — quick access to favorites.
  • Ctrl+T — target search.
  • Ctrl+M — HEX buffer compare mode.
  • New in-house SWD backend (KT SWD) — replaced the external backend with our own library, written from scratch. Shipped in this release: STM32 — 9 families (F0, F1, F2, F3, F4, F7, G0, G4, H7); Infineon FM3 / FM4 — 2 families; NXP MKE — 4 families (MKE02Z, MKE04Z, MKE14Z, MKE15Z); NIIET K1921VK. Our own code instead of a third-party stack — we now fix and extend it without depending on external libraries.
  • Fast write via SRAM routines — for STM32 F0/F1/F2/F3/F4/F7/G0/G4/H7, NXP MKE02/04/06, and Infineon FM4 MB9B560 we run our own microprogram in SRAM (previously: byte-by-byte through DAP). Throughput on par with J-Flash / J-Link.
  • Resilient connect:
    • double-read transfer verification (catches short USB transfers);
    • per-chunk operation status check (GETLASTRWSTATUS2);
    • auto-reconnect on a stale SWD session after target power-cycle;
    • timing-based polling on writes with tolerance for transient bus errors.
  • On connect — raw VTREF ADC counts logged (debug for "target not seen" / "low voltage" cases).
  • Firmware and Voltage rows in the programmer panel — shows the firmware version and the current target voltage.
  • Minimum firmware required: V2J44S7+ (clear refusal if lower).
  • STM32 G0 — proper support with Option Bytes read/write and OBL_LAUNCH after write.
  • STM32 G4 — new family: Option Bytes read/write, OBL_LAUNCH after write, OB read from flash storage area (compatible with the J-Link save format).
  • STM32 H7 — new family: Option Bytes write, erase progress.
  • NXP MKE — two in-house flash drivers: FTFE (for KE14/KE15) and FTMRH (for KE02/KE04). 4 families enabled: MKE02Z, MKE04Z, MKE14Z, MKE15Z. FTFE supports EEPROM Config, FlexRAM Set, FlexNVM partition restore, Read Resource, Erase All Unsecure, Program Partition, Option Bytes; FTMRH provides SRAM-stub fast-write.

USBDM

  • USBDM JS16 support — new programmer added + BDM error decoder.
  • Freescale HCS08 is now in the free version of MultiProg — with automatic TRIM.
  • Supported HCS08 targets: MC9S08AC60 / AC96 / AC128, MC9S08GB (including GB60A — Arcadia 1).
  • Paged-flash for AC96/AC128 — firmware format compatible with the Orange-5 programmer: the same file works on our tool and on O5.
  • RAM-routine fast programming (~50× faster than byte-program).
  • Pre-write blank check (skips already-matching bytes).

ESP32

  • ESP32 is now in the free version of MultiProg.
  • Connection image for all ESP targets; the Auto family is shown first in the selector.
  • Byte-level progress for large flash operations — exact byte counts in the progress bar instead of KB/MB, more responsive on big images.

TGSN

  • Toshiba TMPM470 — new family in the TGSN backend.
  • NEC 78K0 Kx1+ (NEC_78K0_Kx1plus) — new family; auto-baud ladder 153600 → 38400 → 9600.
  • NEC 78K0 xx2 (NEC_78K0_xx2) — new family.
  • Renesas M16C — new family; lock-bits support via MP_PROG_ARG_SET; CE/EPM pins on all subfamilies and packages (including rectangular PQFP 14×20 mm). Baud list: auto / 9600 / 38400 / 57600; 115200 is not used (unstable on M16C); auto walks the fixed values and locks on the first one that responds.
  • Renesas R32C — new family; separate erase modes — mass for Flash, block for Data Flash; VDD pinned at 5 V. Baud list: auto / 9600 / 38400 / 57600 / 115200; auto walks the fixed values and locks on the first one that responds.
  • R8C — entry mode selection MODE3 from MultiProg.
  • Bundled Lua script renesas_nec_checksum.lua — built-in SUM-RL78 checksum calculator for Renesas RL78 (range 0x0000–0x03FF, 1 KB) and NEC 78K0R / 78K0 (range 0x0000–0x07FF, 2 KB). Wired in via Settings > Checksum Settings > Script, result shown in the main-window status bar.

Mismatch navigation

  • Mismatch navigation panel during verify (forward/back, cyclic).

External AI agent integration (preview)

  • IPC bridge (Inter-Process Communication) for driving MultiProg from external AI agents: read/write memory, target selection, programming operations, log retrieval — over a secured channel.
  • Token authentication (agent_token in %APPDATA%/KuragaTech/MultiProg/).
  • --agent-mode flag — start with IPC enabled out of the box.
  • Settings dialog: Settings > AI Agent Integration — enable/disable, view/regenerate token.
  • "Copy starter prompt for external agent" button — a ready-made prompt describing the API for paste into an external agent (Claude, Cursor, etc.).

Checksums

  • Full rework of the Checksum Settings dialog — new dialog with profiles, consistent styling with other settings.
  • +16 new CRC algorithms; renamed KERMIT → CCITT.
  • Full preset set from crccalc.com.

Misc

  • Single-region save: filename carries the region's checksum stamp.
  • Settings > Debug mode — runtime flag for extended operation logging ([read-diag] / [trim-diag] markers in the log), no application restart required.
  • Select Range — dialog for selecting a hex-buffer fragment by offset.
  • Log terminal — context menu with search, error filter, and save-to-file.
  • Ctrl+F context-aware — searches the log if the log has focus, otherwise searches the hex buffer.
  • Favorites: Notes column — editable notes attached to favorite targets.
  • All standard SREC extensions supported: .s28, .s37, .sx, .s, .s2, .s3. The S19 parser is now resilient to non-contiguous records (previously crashed).

Changed

  • TGSN Installer: clear distinction between network failure and license error, Back buttons, unified progress dialog for slow steps.
  • Save names and JSON paths sanitized for the filesystem (Unicode names supported without breaking paths).

Fixed

  • MultiProgSetup: clear error when HWID is bound to another account, improved registration flow.
  • ST-Link V3: explicit refusal with a message (V3 support in development).

2.2.57

Released on February 10, 2026

Added

  • Checksum display in the status bar with CRC algorithm selector.
  • SUM-RL78 checksum algorithm; Checksum-16, Checksum-16 Inv.
  • Checksum stamp in the save/export filename.
  • Ctrl+0 hotkey for quick RL78-NEC checksum calculation.
  • Cross version control between TGSN firmware and MultiProg.

Changed

  • Configuration and log files moved to user directory (%AppData%) with automatic migration on first run.
  • CRC16-CCITT set as default checksum algorithm.
  • Updater now requests administrator privileges on Windows.

Fixed

  • 32-bit start address truncation in read_region (all bits of start_addr are now preserved).
  • Block and sub-block sizes refactored to uint32_t to prevent overflow.
  • tgsn_programmer_write_dump write errors.
  • Double clipboard lock when copying hex/text from buffer.
  • Missing error return in tgsn_programmer_get_programmer_info.
  • Minimum TGSN firmware version check with user-friendly error message.

2.2.56

Released on February 3, 2026

Added

  • TGSN Open/Full: support for HART-m300 and HART-i900 target families.
  • HART targets: automatic detection of controller model (i910, i910z, m300).

Changed

  • Auto-rename of legacy HART target JSON files (HART-M300 → HART-m300).
  • Baud rate selector hidden for HART-m300 targets (fixed baud).

2.2.55

Released on January 31, 2026

Added

  • Read ID Code from hex buffer (ID from buffer).
  • SpecialRead for R8C targets.

Changed

  • TGSN Full actions and dialogs are now restricted to TGSN Full license only.
  • Lock TGSN Installer and Read Backup buttons during active programming.

2.2.54

Released on January 24, 2026

Added

  • TGSN module download and upload (firmware modules management).
  • Authorization dialog before accessing TGSN Installer.
  • Blank check for all TGSN targets.
  • Beta-test firmware download from server (context menu on Flash button), verified against online record.
  • R8C: added arguments for 21254-58 and BA variants.

Changed

  • Save/Load functions refactored for consistency.
  • Error handling: new statusToQString handler, improved error messages.
  • TGSN Installer requires active license to open.
  • Firmware upload uses chunked protocol (prot_write_file).

Fixed

  • TGSN special error handler cleanup.

2.2.53

Released on October 16, 2025

Added

  • MKE02Z EEPROM support.

Fixed

  • TMPM370 flash size correction.
  • Progress bar display.
  • Increased timeout on mass-erase (tested on 212BA).

2.2.52

Released on October 15, 2025

Added

  • TGSN Open/Full: support for the R8C family.
  • New target selector with search, favorites, and configurator.
  • Configurator: configuration subroutine for families (R8C, TMPM370) to add the controller.

Changed

  • CRC8_LTE when reading each block in loader-e RL78 (TGSN).
  • Automatic authorization during installation.

Fixed

  • FM4 Infineon - HALT when reading D-Flash (IROM2).

2.2.51

Released on August 13, 2025

Added

  • TGSN Full: support for reading closed RL78.
  • TGSN Open/Full: support for TMPM370 + I2C/SPI EEPROM via UART RAM loader.
  • ST-Link support for Infineon FM3, NIIET K1921BK035.

Changed

  • TGSN supports auto-target from JSON configuration file.
  • tgsn-installer — auto-upload startup bootloader (verified by CRC32), auto login on Wi-Fi/server from NVS.

Fixed

  • TGSN: fixed USB library.

2.2.32

Released on January 31, 2025

Added

  • start changelog

Changed

  • UI - scrolling buffer, TGSN - set Current_ID after connection in ID Selector;

Fixed

  • tgsn-installer,WiFi - parse some symbols in password;