- Added VERSION.txt at project root to serve as the single source of truth
- Added core/versioning.py with get_version() helper:
• Reads APP_VERSION env var if present
• Reads VERSION.txt (works in dev and frozen exe)
• Falls back to "v0.0.0"
- Updated main_window.py:
• Import get_version() and store self.app_version
• Set window title dynamically with dashboard version
• Replaced hardcoded QLabel("Version 4.2") with QLabel(f"Version {get_version()}")
- Updated build script (generate_executable.py):
• Prompt for version at build time
• Write VERSION.txt with entered version
• Bundle VERSION.txt into PyInstaller exe (--add-data)
• Use version in exe filename (SwapStationDashboard_vX.Y.exe)
- Result: version number now changes automatically everywhere (badge, title, About, logs)
just by editing VERSION.txt or providing APP_VERSION at build/runtime.
About: modern card, clickable mail/URL (TextBrowserInteraction + openExternalLinks), single-line values, link color via palette; layout reuse to avoid warnings.
Help: scrollable card; moved all styling to theme QSS; added Quick Start, Tips, Warnings, Troubleshooting sections.
Theme: added HELP/ABOUT blocks for light & dark; cast font sizes to int to prevent light-mode crashes; consolidated #aboutCard rules; link colors per theme.
Fix: removed setLayout(None) and avoided re-adding layouts to the same widget.