- Service: Web server now starts immediately without waiting for
framework_toolvalidation; CLI resolution/installation happens asynchronously in background, eliminating 60-second startup delay when tool is unavailable. - Documentation: Removed hardcoded port references (8090) throughout documentation and scripts; install script now auto-detects the configured port from service logs and displays the actual URL.
- UI: Linux users now see a copy-able install command with one-click copy button instead of download link; manual install instructions and GitHub link provided as secondary actions.
- Linux: Added automated install script (
install-linux.sh) that downloads latest release, installs binary to/usr/local/bin, sets up systemd service, and verifies installation with health check. - Linux: Auto-update support with tar.gz extraction and in-place binary replacement (requires sudo/root permissions); service attempts automatic restart after update.
- UI: Update error messages now show specific backend error details (e.g., "installer asset not found") instead of generic text.
- Linux: Store config at
/etc/framework-control/config.jsoninstead of the WindowsProgramDatapath. - Linux: Desktop entry support creates .desktop file in applications menu (~/.local/share/applications) using xdg-open. Detects actual user when service runs as root via SUDO_USER or active sessions.
- Linux: CI releases now build statically-linked binaries using musl target for compatibility with all Linux distributions; local builds remain dynamic for faster iteration.
- Build: Release artifacts now use stable naming (
framework-control-service-x86_64.msiandframework-control-service-x86_64.tar.gz) for easier update system parsing. - Build: Windows workflow now uses single runner calling
build-msi.mjsfor all steps (build web, build service, create MSI), reducing build time from ~8min to ~3min by avoiding redundant compilation across separate steps. - Refactor: Renamed
zip_extract.rstoextract.rsand added tar.gz extraction support;download_to_pathnow automatically extracts both zip and tar.gz archives using system tools. - Removed macOS-specific code since Framework laptops don't support macOS (update system, UI icons, CLI helpers, comments).