Repository navigation
x3utils GUI v1.2.0
**The BLE-loop release.** v1.2.0 adds the *Make zip3* firmware packer, hardens every
firmware-write path with model/banner validation, and graduates the GUI out of BETA.
Validated on Windows, Linux, and macOS (Intel and Apple Silicon).
New
- Make zip3 packer — a new offline Advanced action that packs a slot-0
.bin
into a ready-to-flash VCU/MCUzip3for the BLE update loop. No device, no risk.
A SHU-key gate accepts repo firmware (default/blank key) and refuses OEM dumps,
with an optional Enforce model switch that binds the package to its declared
model so it won't load on the wrong hardware. - zip3 firmware import — load a
.zip3package directly; it's validated by
model and firmware banner before anything is written. - Auto zip3 after SHU compatible — an optional Attempt to also make zip3
checkbox on the SHU compatible action packs the just-patched firmware into a
BLE-loadable zip3 in the same step, saved beside the backup under one shared
timestamp. Its real use: when a new firmware ships that the repo doesn't carry
yet, you can BLE-update the OEM release, ST-Link flash-compat it, and get a
re-flashable SHU-compatible package of that version straight away — no waiting
on a repo build. VCU only (an MCU dump can't declare its model, so it's
skipped); off by default, and any packaging hiccup never affects the flash
result. - Four additional theme accents in the picker.
- Idle "armed shimmer" — the idle hero plate now has a slow diagonal highlight
pass so the app reads as alive and waiting rather than hung.
Safety & validation
- Serials inform, banners enforce — retired serial-based blocking; the firmware
banner is now the authority for accept/reject, and serials are shown as context. - Flash Only hardening — validated slot-0 scope, an entry-gate warning, a hard
banner-reject on incompatible firmware, a slot-0 size window, and a target-ID guard. - Clearer errors for unsupported VCU/MCU firmware, and hardened ZP-length extraction.
- Fail-closed everywhere: a missing OpenOCD backend refuses to run rather than
degrading.
Polish
- Validating state shown after flash completes and during the final OpenOCD hold,
so a successful write is unambiguous. - Reworked hero: stakes/telemetry eyebrow, locked-zone treatment, optically-centred
content, and a 4:3 1024×768 startup window across all three OSes. - Smaller settings toggle and assorted layout cleanups; fixed a timer-cleanup leak.
Platform
- First stable (non-BETA) build for Windows, Linux, and macOS.
- Minimum hardware/build validation closed on Linux (AppImage) and macOS
(universal build, both Intel and Apple Silicon).
Notes
- Builds are unsigned — Windows SmartScreen and macOS Gatekeeper will prompt on
first launch.