- 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.