Skip to content

x3utils GUI v1.2.0

Choose a tag to compare

@ztakis ztakis released this 24 Jul 20:04
· 80 commits to main since this release
**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/MCU zip3 for 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 .zip3 package 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.