Skip to main content

Changelog

2.3.5

Released on June 17, 2026

Added

ESP backend update (USB-UART)

ESP backend update. What's new and improved:

  • a COM-port selector (Auto / specific port / refresh) and a selectable baud rate — the rate used to be fixed; now you can pick it from a ready-made list 115200 / 230400 / 460800 / 921600 / 2000000 or set your own via Custom baud…; default 460800;
  • a Cancel button for long operations — cancel cleanly reconnects to the target and returns the UI to the ready state instead of leaving it locked;
  • a USB-UART pin tester (separate dialog): DTR/RTS toggling, a TX/RX loopback check and an RX monitor — helps bring up non-standard boards and verify wiring before flashing;
  • byte-by-byte Verify comparison: a byte-by-byte comparison was added — after the block-wise MD5 pass, a mismatch is reported down to the exact differing bytes.
  • ESP target configuration: ESP targets can now be configured — create your own ESP target in the Target Configurator. If the selected flash size differs from the detected one, a non-blocking warning is shown.

The headline is read speed. Thanks to updated RAM loaders and running at a higher baud, reads are now several times faster on every family. For example, ESP32-S3 16 MB dropped from ~24 min 31 s (old 115200 path) to ~2 min 46 s (about 8.9×); ESP32-C3 4 MB reaches ~1450 kbit/s at 2000000 (about 9.7× the previous result). 2000000 is not stable on every board/adapter — 921600 is the safe recommendation (ESP32-C6 is stable even at 2 Mbaud).

Per-segment scripting API (Lua) — ESP backend only for now

For cases where firmware is split into segments (e.g. by the partitions in partitions.csv) and only part of it needs updating, not the whole region. The functions mp.backend.read_segment / verify_segment / write_segment / erase_segment(addr, size) operate on a single aligned address range. Implemented in the ESP backend only for now; available both from Lua scripts and over the AI-assistant IPC. Bundled examples live under scripts/examples/esp_segment_*.lua (start with esp_segment_example.lua); the alignment rules are documented in the scripting reference.

The point is correct Option Bytes verification after a write: each OB byte is now checked the right way — writable bytes are verified, while the hardware-managed complement bytes are excluded from verification. To make this work, on the STM32 F0, F1, F2, F3, F4 families Option Bytes are exposed as addressable memory regions at their real addresses — they show up in the buffer and can be edited. OB dumps from MultiProg 2.3.0–2.3.4 are automatically relocated to the new addresses on load, so such files line up by address and need no editing. The OB addressing is also formally compatible with J-Link. For dual-bank F4, the OPTCR and OPTCR1 registers are merged into a single region.

AI Assistant integration (agent IPC)

Added a ping / status handshake for checking the link and current state. The integration itself (a file-based bridge that drives MultiProg through the same Lua API as the Script Console) already existed; enable it via Settings → AI Agent Integration.

TGSN: R8C forced erase via the ALeRASE ID and Protect guard

Added support for the R8C Forced Erase function. If an MCU is locked by an ID code and normal access is impossible (the ID is unknown), you can send the reserved ID ALeRASE: the MCU mass-erases its own user ROM and becomes accessible again. The data is lost in the process — that's expected; it's an "unlock by erase".

ALeRASE is 7 ASCII bytes (case matters: A L e R A S E):

41 4C 65 52 41 53 45

How to run a forced erase:

1. Enter the ID "ALeRASE" in the ID selector
2. Connect again — on an MCU that is not ROM-code-protected it erases and unlocks
  • Works only on the R8C/3xC generation (e.g. R8C/32C, 33C, 35C, 36A/36C/36M/36T-A, 38C, 38W·X·Y·Z); older R8C/1x and R8C/2x do not have this function.
  • Guarded against accidental erase: on Special Read, if the ID recovered from the MCU turns out to be ALeRASE, MultiProg refuses and does not feed it back — a read operation will not erase the MCU. An erase only runs deliberately — from a user-entered ID.
  • ALeRASE is not always enough. Forced erase is gated by ROM code protect (the ROMCR/ROMCP1 bits of the OFS register). If ROM code protect is enabled and the stored ID is not ALeRASE, the MCU refuses the erase and MultiProg reports “ALeRASE refused: ROM code protect enabled” with the raw status bytes — such an MCU cannot be force-erased over serial.
  • Protect is a different mechanism from ROM code protect. The Protect reserved ID word disables serial/OCD communication entirely (the MCU goes silent); TGSN also always rejects Protect as an ID you send. ROM code protect is a pair of OFS bits that leave the MCU talking but block the erase.

See R8C Protection Types for all R8C protection mechanisms and which states are recoverable.

Requires TGSN firmware 3.3.7 or newer.

Changed

  • ESP reconnect reuses the live session instead of closing and reopening the port — fixes occasional open-hangs on native-USB chips (S2/S3).
  • Startup update check hardened, with a notification when an update is available.

Fixed

  • ESP first connect occasionally failed with "Can't read target id" right after sync — the chip-id read is now retried.

2.3.4

Released on June 2, 2026

Changed

All microcontrollers from the STM32/FM3/FM4 families have been transitioned to the new reading agent with dual CRC checking.

Now, if OB = 0xFF (empty buffer), they are not written and consequently do not pass the post-write verification. All OB regions are address-compatible with J-Link files.

Data-Flash Check FM3-FM4

Targets FM3-FM4 now issue a warning in the log about unstable behavior of D-Flash (Work-Flash). If you receive a warning in the log: [WARN] D-Flash unstable read at ..., it is a 100% guarantee of a corrupted firmware (or rather, a hanging D-Flash write).

Additionally, a signature check (jep106) has been added for MB9BF168R/S6E2HE6G, with a warning in case of an error.

S6E2HE6G - Added RAM Agent for Writing (RAM-Loader)

The writing speed is now the same as that of MB9BF168R.

Fixed

HCS08 Pinouts

Issues with the pinout of some HCS08 have been corrected.

2.3.3

Released on May 16, 2026

Added

TGSN Installer — updated install flow

  • Install from MultiProg only — no WiFi setup on TGSN. Internet is only required on the MultiProg computer; the TGSN itself no longer needs WiFi or authorization for installation. Two-stage process by default. Useful at sites with poor WiFi. The installer is focused only on installation; if WiFi on the device is still needed (for example, for subsequent updates via the Update menu directly on TGSN) — this is done separately via TGSN → TGSN Configure WiFi.
  • Status row with the current state. On the programming page you always see the firmware version, git hash, current stage and sub-step. On completion — "Complete" / "Done" or "Failed: <reason>".

New example scripts

  • renesas_nec_targets.lua — outputs the list of NEC 78K0/xx2 targets with memory size. Originally written for our own task; left in the package as an example of accessing the targets database from Lua.
  • Lua script to clear statistics on FM4 boards (Cypress/Spansion MB9BF168R or S6E2HE6G) — added as an example. Clears Work Flash from 0x200C4000 to the end of the region and preserves a service marker at 0x200C5FFE (writes 0xA5 if empty, otherwise keeps the original byte). Full Connect/Read/Erase/Write/Verify cycle, restricted to supported targets.

Programmer utilities (drivers and firmware in the bundle)

  • Drivers and firmware updaters are now part of the MultiProg installer.
    • ST-Link: STSW-LINK009 (USB drivers) + STSW-LINK007 v3.14.5 (firmware updater; v3.14.5 specifically — because this version also supports non-original ST-Link).
    • USBDM: USBDM_Drivers_4_12_3_Win_x64.zip (drivers) + a trimmed-down build of FirmwareChanger.exe (~9 MB) for reflashing JS16/JB16 + bootloaders + FlashImages / DeviceData. Only what's needed for reflashing JS16/JMxx is taken from the 183 MB original MSI.
  • Unpacked into the user profile: %USERPROFILE%/KuragaTech/MultiProg/programmer_utils/ — a regular user doesn't need administrator rights.
  • You can open the required folder directly from the error window: on typical ST-Link/USBDM errors ("firmware too old", "Programmer not found", "libusb error", "Unsupported USBDM programmer", etc.) the dialog shows an "Open ST-Link/USBDM Utilities" button — opens the corresponding folder in Explorer.
  • If the folder is empty — a clear "missing" message with a hint is shown.

License — license modules table

  • A "License Modules" table appeared in the License dialog — what the license includes (which families/functions) is now visible.
  • The table shows ST-Link (exact module name).
  • Flash size next to the target name in the info panel, e.g. "MB9BF168R · 1024 KB". Helps reliably distinguish FM3/FM4 models with the same prefix — these families don't have a chip-ID register, and when the chip marking is hard to read, the flash size becomes an additional reference point.
  • Classifier of "won't connect" reasons for FM3/FM4. Typical scenarios are recognized:
    • VTGT / no target power;
    • USB stall on ST-Link (libusb error -7) — hint "Unplug and replug the ST-Link";
    • Floating SWD bus (signature DHCSR=0xFFFFFFFF) — broken SWDIO/SWCLK/GND wire or swapped wires;
    • No MCU detected. Empirically confirmed across 6 different wiring variants.
  • Warning on flash size mismatch now explains the context: "FM3/FM4 have identical part-number prefixes, no chip-ID register, writing may damage the firmware" — the user can see why it's worth stopping and re-checking the selected target.

TGSN: Self-update via the Update menu

  • The Update menu on the device updates the firmware over WiFi again — without MultiProg, directly from TGSN.
  • Update is available independently of the initial install via MultiProg. If the initial install through MultiProg hasn't been done on this firmware version, Update will still work (previously in that case it refused and required first running the install from MultiProg).
  • Animated WiFi-connect loader in Update.
  • Color verdicts by result:
    • 🟢 "WiFi connected";
    • 🔴 "WiFi timeout" (failed to connect to WiFi);
    • 🔴 "Update Failed" (firmware didn't roll out);
    • 🟠 "not needed" (current version, nothing to update).

Fixed

RL78 pinouts

  • RL78/L12 and L13: pinouts split into separate sub-families.
  • RL78/G1C and G14: base pinout unified across sub-families.
  • RL78/G13 LQFP-64 (R5F100Lx / R5F101Lx): pinout updated.

R8C/10–13 — verified on the MCU in Mode 2

  • LQFP32: pin CNVSS added on the connection diagram (mandatory for Mode 2).
  • XIN/XOUT crystal: the requirement for an external crystal for Mode 2 is explicitly shown on the diagram — the user immediately sees that without it the setup won't start.

NEC 78K0 connect (TGSN side)

  • Connect ~24 % faster. On a uPD78F0534 @ 5 V bench across 100 connect cycles the per-cycle time dropped from 449 ms → 388 ms. The baud switch on connect was optimized: the host immediately tunes to the bootloader's current baud and sends OSC_FREQ_SET in a single pass.

RL78 (TGSN side)

  • Improved error messages for RL78 Connect. When baud autosearch fails, a specific string appears in the MultiProg window: which step failed (baudrate_set, OCD sync, OCD ping, reset, Signature / iverify, Checksum), at what baud it tried, what the chip responded — and a short hint of what usually helps (check power, ground, RESET, frequency, pick a different baud). If autosearch ran through all bauds and none worked — a single consolidated message with the most informative error is shown.
  • 5V-REGC echo fix. On RL78 with REGC > 3.3 V at 5 V supply (when MultiProg is set to 5 V and the RX→REGC wiring is used) the Flash Controller check at the baud-search step is now skipped: on failure the operation continues, and a warning is logged: 5V REGC: Flash Ctrl off — expected (REGC>3.3V), proceeding.. Previously this check was treated as fatal and the connection was aborted.

2.3.2

Released on May 13, 2026

Added

  • ST-Link target configuration — added the ability to configure targets in ST-Link families via Target Configurator.
  • Updater for 2.2.57 → 2.3.x — when a legacy MultiProg attempts self-update, a dialog shows a link to the new 2.3.x installer and system requirements.

Changed

  • TGSN Installer (Online Installation, step 4): confirmation before TGSN ID binding — the dialog explains: first time → a new ID is permanently linked to the Lilygo; already linked → the existing one is reused, repeating is safe.
  • Connection-image preview in Target Configurator behaves closer to Connection Image — pinout can now be dragged with the mouse.

Fixed

Compatibility

  • Old Windows 10 (build < 17763): MultiProg now starts cleanly and dialog text — especially Cyrillic in Settings / About / Configure Targets / License Setup / TGSN Installer — is readable. On 1607–1803 builds the previous detector missed half-broken DirectWrite (squares instead of letters, or failure to start with "Can't initialize IDWriteFactory6"). The renderer now falls back to FreeType automatically on these builds; the OS build number and the fallback decision are written to the log at startup.

Target Configurator

  • HCS08 AC60/AC96/AC128: custom configuration now saves — previously Save was rejected on BDM pins and paged-flash arguments.
  • Specified tab scrolls — for HCS08 AC with 11 custom fields, the form no longer collapses and fields no longer overlap.
  • M16C/62P, /63, /64A, /65, /80: custom configuration now saves — previously Save was rejected on the Lock Bits region.
  • No "Discard changes?" prompt when nothing was edited — Cancel/ESC/X-close after a plain browse no longer triggers the question.

TGSN Installer

  • scanWifi no longer loses the response — timeout raised, the device's response packet is not dropped. Distinguishes between "device reconnecting, ~10 s" and "TGSN did not respond".
  • Improved protocol handling when Cancel is pressed during Login.

TGSN Full

  • OK button in the theme style — previously the OK button inside the dark-green dialog used the white system style.

Activation / License Setup

  • Clearer activation errors — restored as it was in 2.2.57: instead of "Server return error" the full reason is shown ("hardware ID is registered to another account", "two machines already activated", "no active license").

Server communication

  • Improved handling of transient provider-side network errors — activation and update survive TLS resets and transient 5xx errors.

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). Our own code instead of a third-party stack — we now improve 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. Automatic fosc detection with verification, then selection of a stable baud rate from 153600 / 38400 / 9600.
  • NEC 78K0 xx2 (NEC_78K0_xx2) — new family. Automatic fosc detection and tuning at a 20 MHz reference with ~1 % accuracy — the bootloader gets the exact frequency and runs cleanly at 115200 bps with no manual setup.
  • 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.

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;