Repository navigation
Releases: iCE-HACK3R/FlashGUI
Release list
FlashGUI v1.1.16
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.
- Bundled manuals are preferred before falling back to
- 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.zipflashgui-v1.1.16-linux-x64-portable.zipflashgui-v1.1.16-macos-arm64-portable.zipflashgui-v1.1.16-macos-x64-portable.zip
Validation checklist
python -m pytest -q- Focused regression checks:
python -m pytest -q tests/test_about_rom_output_filter.pypython -m pytest -q tests/test_firmware_analysis_type_classification.pypython -m pytest -q tests/test_help_manual_dialog_regression.pypython -m pytest -q tests/test_run_command_progress.pypython -m pytest -q tests/test_startup_precheck_console_deprecation.pypython -m pytest -q tests/test_wp_status_parsing.py
- Optional local packaging smoke check:
python scripts/build_binaries.py --target windows
FlashGUI v1.1.15
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.zipflashgui-v1.1.15-linux-x64-portable.zipflashgui-v1.1.15-macos-arm64-portable.zipflashgui-v1.1.15-macos-x64-portable.zip
Validation checklist
python -m pytest -q- Focused regression checks:
python -m pytest -q tests/test_read_rom_advanced_options_regression.pypython -m pytest -q tests/test_legacy_runtime_smoke_optional.py
- Optional local packaging smoke check:
python scripts/build_binaries.py --target windows
FlashGUI v1.1.14
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.zipflashgui-v1.1.14-linux-x64-portable.zipflashgui-v1.1.14-macos-arm64-portable.zipflashgui-v1.1.14-macos-x64-portable.zip
Validation checklist
python -m pytest -q- Focused regression check:
python -m pytest -q tests/test_minipro_detection.py
- Optional local packaging smoke check:
python scripts/build_binaries.py --target windows
FlashGUI v1.1.13
FlashGUI v1.1.13
Release alignment and publish readiness update.
What’s new
- Repository branch cleanup completed so
mainis the only active branch. - Bumped release/application versions to
v1.1.13in 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.zipflashgui-v1.1.13-linux-x64-portable.zipflashgui-v1.1.13-macos-arm64-portable.zipflashgui-v1.1.13-macos-x64-portable.zip
Validation checklist
python -m pytest -q- Optional local packaging smoke check:
python scripts/build_binaries.py --target windows
FlashGUI v1.1.11
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,
kdialogeligibility, 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.zipflashgui-v1.1.11-linux-x64-portable.zipflashgui-v1.1.11-macos-arm64-portable.zipflashgui-v1.1.11-macos-x64-portable.zip
Validation checklist
- Run focused suites:
python -m pytest -q tests/test_qt_startup_responsiveness.py tests/test_python_syntax.py tests/test_legacy_parity_regression.py
- Run full suite:
python -m pytest -q
- Spot-check:
- KDE file-pickers (if available),
- settings save permissions,
- startup/runtime flows on Qt and legacy paths.
FlashGUI v1.1.10
FlashGUI v1.1.10
KDE native file dialog release.
What’s new
-
KDE/Plasma native file dialogs in Qt
- FlashGUI now prefers KDE
kdialogfor open/save/folder pickers when:- native dialogs are enabled,
- the app is running on Linux,
- KDE/Plasma is detected,
- and
kdialogis installed.
- FlashGUI now prefers KDE
-
Safe fallback behavior
- If
kdialogis 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.
- If
-
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.zipflashgui-v1.1.10-linux-x64-portable.zipflashgui-v1.1.10-macos-arm64-portable.zipflashgui-v1.1.10-macos-x64-portable.zip
Issue #5 closeout note
Please validate on KDE/Plasma using latest release v1.1.10:
- Open-file dialog
- Save-file dialog
- Existing-directory dialog
- 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
kdialogis installed - exact picker flow that failed
- relevant log excerpt
FlashGUI v1.1.9
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.zipflashgui-v1.1.9-linux-x64-portable.zipflashgui-v1.1.9-macos-arm64-portable.zipflashgui-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:
- Tool + programmer + chip
- Exact repro steps
Commands:line shown in UI- Relevant global log excerpt
FlashGUI v1.1.7
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.
- Fixes "No chip detected" on FT232H probes that reported
- CI: Linux runner now installs
libegl1/libgl1so PySide6 imports succeed during tests. - README: re-added
python3 ...workflow notes for Linux/macOS users.
🛠️ Reliability / QA
- Added
tests/test_chip_detection.pycovering single-quoted chip names + FT232H programmer hint parsing. - Existing suites pass:
tests/test_minipro_detection.pytests/test_project_layout.pytests/test_python_syntax.py
📁 Artifacts
flashgui-v1.1.7-windows-x64-portable.zipflashgui-v1.1.7-linux-x64-portable.zipflashgui-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-latestrunner is now ARM64. An additionalmacos-x64(Intel) build will be added in v1.1.8 via amacos-13matrix entry.
FlashGUI v1.1.6
FlashGUI v1.1.6
✨ Highlights
- Fixed FT232H programmer detection path for USB ID
0403:6014by 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
lsusbautodetect behavior in_detect_programmer_usb()
- FT232H mapping guard (
🛠️ Reliability / QA
- Focused tests and syntax checks pass:
tests/test_minipro_detection.pytests/test_python_syntax.pypython -m py_compile flashgui.py flashgui_legacy.py
📁 Artifacts
flashgui-v1.1.6-windows-x64-portable.zipflashgui-v1.1.6-linux-x64-portable.zipflashgui-v1.1.6-macos-x64-portable.zip
FlashGUI v1.1.5
FlashGUI v1.1.5
✨ Highlights
- About ROM for Minipro now combines both commands:
minipro -p <chip> -Dfor Chip IDminipro -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.datworkflow, Binwalk split actions).
🛠️ Build / Release Improvements
- Hardened
scripts/build_binaries.pywith a PyInstaller preflight check and clearer interpreter guidance. - Documented Windows interpreter caveat where
python3may resolve to MSYS/MinGW; README now recommendspythonfrom activated venv.
📁 Artifacts
flashgui-v1.1.5-windows-x64-portable.zipflashgui-v1.1.5-linux-x64-portable.zipflashgui-v1.1.5-macos-x64-portable.zip