- Add build-windows job for x86_64 and ARM64 architectures
- Update release job to include Windows binaries
- Update release notes with Windows installation instructions
- Add official logos for cloud providers and OS distributions
- Add download-logos.py script to fetch official logos
- Improve Dashboard loading with skeleton and smooth animations
- Fix 'server not found' flash on ServerDetail page
- Merge local node and agent settings into unified Server Management
- Fix clipboard copy functionality for all contexts
- Add location display with country flags
- Change default view mode to grid
- Fix start-dev.sh to kill old services and reset password
- Add local node configuration support
- Password hot reload: login now reads latest hash from config file
- No server restart needed after --reset-password
- Fixed Dashboard settings button to navigate to /settings instead of /login
- Renamed binary from xprob-server to vstats-server
- Refactor: Split main.rs into modules (config, db, types, handlers, websocket, collector, middleware, state)
- Feature: Add grid view for server list on Dashboard
- Feature: Add 1Y (yearly) time range for history charts
- Feature: Show local server metrics on Dashboard (no demo data)
- Feature: Light/Dark theme support with proper styling
- Fix: Auth token persistence across page refreshes
- Fix: Route parameter syntax for Axum 0.7
- Update: start-dev.sh now rebuilds frontend and backend
- Update: Better gitignore for runtime files
- Server: Add static file serving with ServeDir
- Server: Improve web directory path resolution
- Server: Add fallback HTML when web assets not found
- Server: Rename config file to vstats-config.json
- Install script: Add macOS launchd service support
- Install script: Add macOS-specific commands and paths
- Add development scripts (start-dev.sh, test-local.sh)
- Enable tower util feature for service_fn