All notable changes to NetWatch will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
- Gateway Ping for Internet Tab - Internet speedtests now measure and display gateway ping alongside jitter in the "Jitter & Bufferbloat" chart
- Database Migration - Automatic column addition for gateway_ping_ms in existing databases
- Gateway Ping Data Collection - Fixed gateway ping not being collected during Internet speedtests (was only collected for Homenet)
- API Response - Added gateway_ping_ms to Internet measurements API response
- Measurement Persistence - Fixed gateway_ping_ms not being saved to database for Internet measurements
- F5 Refresh - Fixed browser refresh briefly showing Internet tab when on Homenet tab (view persistence now applied before data loading)
- Cache Version - Updated to v=40 for browser cache busting
- Installation Script - Simplified install-linux.sh to only install Python dependencies (removed automated service setup)
- Internet Tab Charts - Simplified Jitter & Bufferbloat chart to show only Gateway Ping and Jitter (removed Idle/Download/Upload Ping for clarity)
- Homenet Tab Charts - Consolidated duplicate charts into single comprehensive "Ping Analysis" chart showing all 5 metrics: Idle Ping, Download Ping, Upload Ping, Gateway Ping, and Jitter
- README - Updated installation documentation with manual and script-based options, improved systemd service examples
- JavaScript Error - Fixed undefined 'ping' variable error in Internet tab (changed to 'pingIdle')
- Chart Consolidation - Removed duplicate Homenet Latency chart, keeping only the comprehensive Ping Analysis chart
- Chart Enhancement - Added Gateway Ping to Internet tab Jitter & Bufferbloat chart
- Chart Enhancement - Added Jitter to Homenet Ping Analysis chart (now shows all 5 metrics in one view)
- Installation Simplification - Removed automated installer.py (binary installation works directly)
- Service Template - Simplified netwatch.service to user-configurable template with placeholders
- Metric Naming Unification - Split "Loaded Ping" into separate "Download Ping" and "Upload Ping" metrics across both tabs for consistency
- Chart Titles - Renamed "LAN Latency History" to "Jitter & Bufferbloat" and "Bufferbloat (Latency Under Load)" to "Ping Analysis" on Homenet tab
- Internet Tab Charts - Enhanced Jitter & Bufferbloat chart to show Idle/Download/Upload Ping + Jitter (4 datasets) matching Homenet layout
- Documentation - Added Python symlink command in README for Linux systems with only python3 installed (
sudo ln -s /usr/bin/python3 /usr/bin/python) - Manual Installation Guide - Added step-by-step manual installation instructions for Linux and Windows
- Chart Data - Homenet Latency chart now shows 4 datasets: Idle Ping, Download Ping, Upload Ping, and Jitter
- Chart Data - Homenet Bufferbloat chart now shows 4 datasets: Idle Ping, Download Ping, Upload Ping, and Gateway Ping
- installer.py - Removed automated installation wizard (no longer needed)
- Internet Metrics Display - Reverted v1.3.1 JavaScript changes that caused all metrics to stop displaying on both Internet and Homenet tabs
- Delta Calculations - Added missing
download_latencyandupload_latencyfields to delta calculation function - Cache Busting - Updated JavaScript version to v=34 to ensure browsers load the fixed code
- Gateway Ping & Local Latency Display - Fixed data mapping issue where Gateway Ping and Local Latency metrics were not displaying in the Homenet tab even when data was available
- Device Charts Not Showing Devices - Fixed issue where LAN/WiFi device charts showed "No devices found" when devices had "unknown" connection type (now included in WiFi/Wireless chart)
- Loaded Ping Mapping - Added proper mapping for loaded ping (ping under load) metric display
This release introduces Homenet - a comprehensive internal network monitoring system for testing LAN/WiFi device speeds.
- Internal Network Speedtest Server - Built-in Python-based speedtest server (port 5201) for LAN testing without external dependencies
- Device Scanner - Automatic discovery of network devices using ARP cache and ping sweep
- Device Management - Track, name, and organize discovered network devices
- LAN/WiFi Device Charts - Visualize speed performance by connection type
- Bufferbloat Analysis - New chart showing Idle Ping vs Loaded Ping vs Gateway Ping
- Auto-Device Registration - Devices running speedtests are automatically registered
- Device Details Modal - View detailed measurements and history per device
- Gateway Ping Monitoring - Measure latency to your router/gateway
- Local Latency Testing - Test internal network responsiveness
- Tab-based Navigation - Switch between "Internet" and "Homenet" views
- Server Status Indicator - Real-time display of internal speedtest server status
- Auto-start Server - Server starts automatically on app launch
- Device Cards - Visual representation of LAN and WiFi devices with last test results
- Live Test Progress - Real-time waveform chart during speedtest execution
- Idle/Loaded Ping Columns - Device measurements table now shows both ping types
- Continuous Ping Measurement - Measures ping throughout speedtest to capture true loaded latency
- is_local Device Flag - Identify the device running NetWatch
- SSE Streaming - Server-Sent Events for real-time speedtest progress updates
- Separate Internal Database -
internal_metrics.dbfor homenet measurements
- Dashboard now has Internet/Homenet view toggle with state persistence
- Improved tooltip display for charts (shows all values including null as "—")
- Chart tooltip now properly displays all data series
- Advanced scheduler with multiple time slots per day
- Weekly scheduling mode with day selection
- UI-based scheduler configuration modal
- Global timeline slider for synchronized chart navigation
- Scheduler configuration moved from config.yaml to UI
- Improved chart responsiveness and animations
- Bufferbloat testing with iperf3
- Historical data table with search and sort
- CSV export functionality
- Delta tracking between measurements
- Enhanced glass-morphism UI design
- Improved mobile responsiveness
- Initial release
- Ookla Speedtest integration with automatic binary download
- Real-time dashboard with Chart.js visualizations
- SQLite database storage
- Basic scheduling (simple interval mode)
- Flask web application with modern UI
- Linux systemd service support
- Windows batch file launcher