Skip to content

Releases: iCE-HACK3R/FlashGUI

FlashGUI v1.1.16

Choose a tag to compare

@iCE-HACK3R iCE-HACK3R released this 04 Jun 14:15

FlashGUI v1.1.16

Firmware analysis, cleaner About-ROM diagnostics, and release/publish workflow polish.

What’s new

  • Added a new Firmware Analysis flow on the Tools page.
    • Includes type classification for BIOS/UEFI firmware, router/switch firmware, and safe unknown fallbacks.
    • Added release screenshots for the refreshed Tools page and firmware analysis output.
  • Cleaned up About ROM / write-protect output handling.
    • Filters noisy Windows libusb chatter and unsupported-chip boilerplate when appropriate.
    • Preserves real status-register details when write-protect information is available.
  • Improved Help/About manual handling.
    • Bundled manuals are preferred before falling back to man / --help.
    • Captured-text dialogs now auto-fit content instead of opening at a fixed size.
  • Hardened startup and programmer-console workflows.
    • Startup precheck now flags bundled tools that are present but not executable on Linux/macOS.
    • Programmer Console auto-populates Bus Pirate / HydraBus defaults more reliably and releases matching serial ports before programmer operations.
    • Tk fallback launch now emits a clearer deprecation warning.
  • Expanded regression coverage for firmware classification, About ROM filtering, write-protect parsing, startup prechecks, manual dialog sizing, and progress parsing.

Version

  • flashgui.py: VERSION = "1.1.16"
  • flashgui_legacy.py: VERSION = "1.1.16"

Suggested artifacts

  • flashgui-v1.1.16-windows-x64-portable.zip
  • flashgui-v1.1.16-linux-x64-portable.zip
  • flashgui-v1.1.16-macos-arm64-portable.zip
  • flashgui-v1.1.16-macos-x64-portable.zip

Validation checklist

  1. python -m pytest -q
  2. Focused regression checks:
    • python -m pytest -q tests/test_about_rom_output_filter.py
    • python -m pytest -q tests/test_firmware_analysis_type_classification.py
    • python -m pytest -q tests/test_help_manual_dialog_regression.py
    • python -m pytest -q tests/test_run_command_progress.py
    • python -m pytest -q tests/test_startup_precheck_console_deprecation.py
    • python -m pytest -q tests/test_wp_status_parsing.py
  3. Optional local packaging smoke check:
    • python scripts/build_binaries.py --target windows

FlashGUI v1.1.15

Choose a tag to compare

@iCE-HACK3R iCE-HACK3R released this 01 Jun 16:20

FlashGUI v1.1.15

Read ROM advanced-options UX update and release alignment.

What’s new

  • In Read ROM, options are now grouped under 🔧 Advanced Options in both Qt and legacy UI paths.
  • Read ROM advanced options default to collapsed.
  • Added structural regression coverage:
    • tests/test_read_rom_advanced_options_regression.py
  • Added optional legacy runtime smoke test:
    • tests/test_legacy_runtime_smoke_optional.py
  • Bumped release/application versions to v1.1.15.

Version

  • flashgui.py: VERSION = "1.1.15"
  • flashgui_legacy.py: VERSION = "1.1.15"

Suggested artifacts

  • flashgui-v1.1.15-windows-x64-portable.zip
  • flashgui-v1.1.15-linux-x64-portable.zip
  • flashgui-v1.1.15-macos-arm64-portable.zip
  • flashgui-v1.1.15-macos-x64-portable.zip

Validation checklist

  1. python -m pytest -q
  2. Focused regression checks:
    • python -m pytest -q tests/test_read_rom_advanced_options_regression.py
    • python -m pytest -q tests/test_legacy_runtime_smoke_optional.py
  3. Optional local packaging smoke check:
    • python scripts/build_binaries.py --target windows

FlashGUI v1.1.14

Choose a tag to compare

@iCE-HACK3R iCE-HACK3R released this 30 May 13:57

FlashGUI v1.1.14

Minipro verbose-mode behavior fix and release alignment update.

What’s new

  • Minipro mode now forces Verbose Mode to Off.
  • Global verbosity flags (-V, -VV, -VVV) are no longer injected into minipro commands.
  • Added regression coverage to keep this behavior stable in future releases.
  • Bumped release/application versions to v1.1.14.

Version

  • flashgui.py: VERSION = "1.1.14"
  • flashgui_legacy.py: VERSION = "1.1.14"

Suggested artifacts

  • flashgui-v1.1.14-windows-x64-portable.zip
  • flashgui-v1.1.14-linux-x64-portable.zip
  • flashgui-v1.1.14-macos-arm64-portable.zip
  • flashgui-v1.1.14-macos-x64-portable.zip

Validation checklist

  1. python -m pytest -q
  2. Focused regression check:
    • python -m pytest -q tests/test_minipro_detection.py
  3. Optional local packaging smoke check:
    • python scripts/build_binaries.py --target windows

FlashGUI v1.1.13

Choose a tag to compare

@iCE-HACK3R iCE-HACK3R released this 29 May 15:16

FlashGUI v1.1.13

Release alignment and publish readiness update.

What’s new

  • Repository branch cleanup completed so main is the only active branch.
  • Bumped release/application versions to v1.1.13 in both UI paths.
  • Updated README and release-note references for the new tag/artifact set.

Version

  • flashgui.py: VERSION = "1.1.13"
  • flashgui_legacy.py: VERSION = "1.1.13"

Suggested artifacts

  • flashgui-v1.1.13-windows-x64-portable.zip
  • flashgui-v1.1.13-linux-x64-portable.zip
  • flashgui-v1.1.13-macos-arm64-portable.zip
  • flashgui-v1.1.13-macos-x64-portable.zip

Validation checklist

  1. python -m pytest -q
  2. Optional local packaging smoke check:
    • python scripts/build_binaries.py --target windows

FlashGUI v1.1.11

Choose a tag to compare

@iCE-HACK3R iCE-HACK3R released this 29 May 14:42

FlashGUI v1.1.11

Security hardening + KDE regression coverage release.

What’s new

  • KDE native-dialog regression coverage expanded

    • Merged PR #7.
    • Added broad structural and functional tests around KDE detection, native-dialog gating, kdialog eligibility, and cancel/success/exception handling in picker wrappers.
  • Security hardening in Qt + legacy paths

    • Merged PR #8.
    • Settings file writes now enforce owner-only permissions (0o600).
    • Font cache moved to user-private cache paths.
    • Downloaded font files are validated for expected TrueType/OpenType signatures.
    • Operation temp dirs moved to app-private paths.
    • Binary override paths are validated for unsafe traversal/metacharacter patterns.

Why this matters

v1.1.11 improves release confidence and local-host safety without changing normal flashing workflows. It locks in KDE dialog behavior with stronger tests and reduces risk from permissive filesystem/default path usage.

Version

  • flashgui.py: VERSION = "1.1.11"
  • flashgui_legacy.py: VERSION = "1.1.11"

Suggested artifacts

  • flashgui-v1.1.11-windows-x64-portable.zip
  • flashgui-v1.1.11-linux-x64-portable.zip
  • flashgui-v1.1.11-macos-arm64-portable.zip
  • flashgui-v1.1.11-macos-x64-portable.zip

Validation checklist

  1. Run focused suites:
    • python -m pytest -q tests/test_qt_startup_responsiveness.py tests/test_python_syntax.py tests/test_legacy_parity_regression.py
  2. Run full suite:
    • python -m pytest -q
  3. Spot-check:
    • KDE file-pickers (if available),
    • settings save permissions,
    • startup/runtime flows on Qt and legacy paths.

FlashGUI v1.1.10

Choose a tag to compare

@iCE-HACK3R iCE-HACK3R released this 28 May 15:04

FlashGUI v1.1.10

KDE native file dialog release.

What’s new

  • KDE/Plasma native file dialogs in Qt

    • FlashGUI now prefers KDE kdialog for open/save/folder pickers when:
      • native dialogs are enabled,
      • the app is running on Linux,
      • KDE/Plasma is detected,
      • and kdialog is installed.
  • Safe fallback behavior

    • If kdialog is unavailable or cannot be invoked successfully, FlashGUI falls back to the existing Qt dialog path.
    • If the user cancels the KDE dialog, FlashGUI returns cleanly without opening a second dialog.
  • Regression coverage expanded

    • Added tests for KDE dialog gating and wrapper behavior.
    • Added automated checklist coverage for theme/settings/layout persistence and release-gate regressions.

Why this matters

This release targets GitHub issue #5: KDE users requested truly native file dialogs instead of the Qt fallback-only path. v1.1.10 keeps the fix tightly scoped to KDE/Linux while preserving existing behavior elsewhere.

Version

  • flashgui.py: VERSION = "1.1.10"
  • flashgui_legacy.py: VERSION = "1.1.10"

Suggested artifacts

  • flashgui-v1.1.10-windows-x64-portable.zip
  • flashgui-v1.1.10-linux-x64-portable.zip
  • flashgui-v1.1.10-macos-arm64-portable.zip
  • flashgui-v1.1.10-macos-x64-portable.zip

Issue #5 closeout note

Please validate on KDE/Plasma using latest release v1.1.10:

  1. Open-file dialog
  2. Save-file dialog
  3. Existing-directory dialog
  4. Cancel each once and confirm no second dialog appears

If a KDE-specific edge case remains, open a follow-up issue with:

  • distro + version
  • KDE/Plasma version
  • whether kdialog is installed
  • exact picker flow that failed
  • relevant log excerpt

FlashGUI v1.1.9

Choose a tag to compare

@iCE-HACK3R iCE-HACK3R released this 27 May 17:02

FlashGUI v1.1.9

Qt persistence + dialog UX hardening release.

What’s new

  • Global log splitter persistence (Qt) now autosaves during drag

    • Splitter state is saved on handle movement (debounced), not only on app close.
    • Improves resilience when app/session closes unexpectedly.
  • New Settings toggle: Use native file dialogs

    • Location: Settings → Behavior
    • Default: enabled (true)
    • When disabled, Qt non-native dialogs are used for file/folder pickers.
    • Useful when native dialogs have mounted-drive visibility quirks on some environments.
  • Unified file-dialog behavior in Qt flows

    • Read/Write/Verify ROM file pickers
    • Tools file/folder pickers (Binwalk Extract, Firmware Info, Firmware Update)
    • Settings load/save JSON and log path pickers

Why this matters

Issue #4 included usability concerns around visibility/persistence and file dialog behavior. v1.1.9 improves operational continuity and gives users control over dialog mode for problematic host setups.

Version

  • flashgui.py: VERSION = "1.1.9"
  • flashgui_legacy.py: VERSION = "1.1.9"

Suggested artifacts

  • flashgui-v1.1.9-windows-x64-portable.zip
  • flashgui-v1.1.9-linux-x64-portable.zip
  • flashgui-v1.1.9-macos-arm64-portable.zip
  • flashgui-v1.1.9-macos-x64-portable.zip

Issue #4 closeout note

Please validate on latest release v1.1.9. If any symptom remains, open a separate issue per symptom with:

  1. Tool + programmer + chip
  2. Exact repro steps
  3. Commands: line shown in UI
  4. Relevant global log excerpt

FlashGUI v1.1.7

Choose a tag to compare

@iCE-HACK3R iCE-HACK3R released this 27 May 11:02

FlashGUI v1.1.7

✨ Highlights

  • Hardened flashrom chip autodetection so chip names emitted in single quotes and with lowercase detection keywords are recognized.
    • Fixes "No chip detected" on FT232H probes that reported found Winbond flash chip 'W25Q64JVSIQ' ...
    • Applies to both Qt (flashgui.py) and legacy Tk (flashgui_legacy.py) detection paths.
  • CI: Linux runner now installs libegl1 / libgl1 so PySide6 imports succeed during tests.
  • README: re-added python3 ... workflow notes for Linux/macOS users.

🛠️ Reliability / QA

  • Added tests/test_chip_detection.py covering single-quoted chip names + FT232H programmer hint parsing.
  • Existing suites pass:
    • tests/test_minipro_detection.py
    • tests/test_project_layout.py
    • tests/test_python_syntax.py

📁 Artifacts

  • flashgui-v1.1.7-windows-x64-portable.zip
  • flashgui-v1.1.7-linux-x64-portable.zip
  • flashgui-v1.1.7-macos-arm64-portable.zip

Note: starting with v1.1.7, the macOS bundle on this release is arm64 (Apple Silicon) because GitHub's macos-latest runner is now ARM64. An additional macos-x64 (Intel) build will be added in v1.1.8 via a macos-13 matrix entry.

FlashGUI v1.1.6

Choose a tag to compare

@iCE-HACK3R iCE-HACK3R released this 27 May 09:38

FlashGUI v1.1.6

✨ Highlights

  • Fixed FT232H programmer detection path for USB ID 0403:6014 by using:
    • ft2232_spi:divisor=4,type=232h
  • Fixed Qt Settings page overflow/expansion behavior on constrained displays by changing Systems & Settings actions from one long row to a wrapped grid layout.
  • Added regression tests covering:
    • FT232H mapping guard (_USB_PROGRAMMER_MAP)
    • Linux lsusb autodetect behavior in _detect_programmer_usb()

🛠️ Reliability / QA

  • Focused tests and syntax checks pass:
    • tests/test_minipro_detection.py
    • tests/test_python_syntax.py
    • python -m py_compile flashgui.py flashgui_legacy.py

📁 Artifacts

  • flashgui-v1.1.6-windows-x64-portable.zip
  • flashgui-v1.1.6-linux-x64-portable.zip
  • flashgui-v1.1.6-macos-x64-portable.zip

FlashGUI v1.1.5

Choose a tag to compare

@iCE-HACK3R iCE-HACK3R released this 26 May 08:38

FlashGUI v1.1.5

✨ Highlights

  • About ROM for Minipro now combines both commands:
    • minipro -p <chip> -D for Chip ID
    • minipro -d <chip> for model/vendor/size and remaining details
  • Added remove-chip safety confirmation before Minipro hardware self-test (-t) in both Tk and Qt flows.
  • Kept prior Minipro operation improvements (progress normalization, erase with -E, FW Info .dat workflow, Binwalk split actions).

🛠️ Build / Release Improvements

  • Hardened scripts/build_binaries.py with a PyInstaller preflight check and clearer interpreter guidance.
  • Documented Windows interpreter caveat where python3 may resolve to MSYS/MinGW; README now recommends python from activated venv.

📁 Artifacts

  • flashgui-v1.1.5-windows-x64-portable.zip
  • flashgui-v1.1.5-linux-x64-portable.zip
  • flashgui-v1.1.5-macos-x64-portable.zip