Releases: itsDNNS/docsight
v2026-02-13.1 — Bugfixes
Bugfixes
- Fix: Container unhealthy on fresh installs — The
/healthendpoint returned 503 before the first data poll completed, causing Docker to mark the container as unhealthy. Now returns 200 with statuswaitinguntil data is available. - Fix: Crash on empty config values — Saving an empty integer setting (like MQTT port or booked speed) caused a
ValueErrorcrash. Empty values now fall back to defaults.
Full Changelog: v2026-02-12.9...v2026-02-13.1
v2026-02-12.9 — Modulation-Aware Thresholds
Modulation-Aware Thresholds
Signal assessment now uses modulation-specific thresholds based on official VFKD (Vodafone Kabel Deutschland) guidelines.
What's new:
- Per-modulation evaluation: 256QAM, 64QAM, and 1024QAM downstream channels are assessed with their correct threshold ranges
- DOCSIS 3.0 vs 3.1 upstream: Upstream power evaluated per DOCSIS version (including Fritz!Box 6 dB offset for DOCSIS 3.1)
- Configurable thresholds: All values in
app/thresholds.json— adjust to your ISP's guidelines if needed - SNR/MER per modulation: Different SNR thresholds for 64QAM (>27 dB), 256QAM (>33 dB), 1024QAM (>39 dB)
Source: VFKD FAQ zur Interpretation der Pegelwerte
Full Changelog: v2026-02-12.8...v2026-02-12.9
v2026-02-12.8 — Speedtest Signal Correlation + Tooltips
🔗 Speedtest Signal Correlation
Expand any speedtest result to see the DOCSIS signal data at that exact time. Instantly understand WHY a speedtest was slow by seeing health status, power levels, SNR, errors, and upstream modulation side by side.
ℹ️ Plain-Language Tooltips
Info icons next to every metric on the dashboard (Signal Level, SNR, Transmit Power, Errors, Speed). Hover or tap to see a plain-language explanation of what each number means.
🔧 Fixes
- Timezone handling: Speedtest timestamps (UTC) now correctly matched to local-time DOCSIS snapshots
- Tooltip positioning: Centered overlay on all screen sizes (no more overflow)
Details:
- New API endpoint:
GET /api/speedtest/<id>/signal - New storage method:
get_closest_snapshot()with 2h match window - 8 new i18n tooltip keys + 13 signal correlation keys per language (EN/DE/FR/ES)
- Tests: 175/175 passing
v2026-02-12.7 — Modulation Watchdog
🔔 Modulation Watchdog Enhancement
The modulation change detection now uses a QAM hierarchy to determine severity:
- Critical: Large downgrades (≥3 levels, e.g. 256QAM → 16QAM)
- Warning: Smaller downgrades (e.g. 256QAM → 64QAM)
- Info: Upgrades (e.g. 16QAM → 256QAM)
QAM hierarchy: QPSK/4QAM → 8QAM → 16QAM → 64QAM → 256QAM → 1024QAM → 4096QAM
Events now show "Modulation dropped on X channel(s)" vs "Modulation improved on X channel(s)" with per-channel rank drop details.
Tests: 175/175 passing (+2 new)
v2026-02-12.6 — Mobile Fix + Speedtest Colors
📱 Mobile & Bugfixes
- Mobile sidebar fix: Hamburger menu now opens as a slide-in overlay with backdrop (tap-to-close), auto-closes on menu selection
- Speedtest card colors: Speed card now shows green/yellow/red based on actual vs. booked speed (≥80% green, 50–80% yellow, <50% red). Automatically uses Fritz!Box connection info as reference — no manual settings needed
- Event badge fix: Acknowledge buttons now correctly update the unread badge counter in the sidebar
- New settings: Optional "Booked Download/Upload" fields for manual speed override (i18n: EN/DE/FR/ES)
Tests: 173/173 passing
v2026-02-12.5
Bug Fixes
- Fixed Event Log acknowledge buttons not working —
acknowledgeEventandacknowledgeAllEventswere defined inside a block scope but called fromonclickhandlers that require global access. Addedwindow.xxxexposure (same fix pattern as Incident Journal in v2026-02-12.4). - Fixed Event badge not updating after acknowledge — Dashboard auto-refresh now also fetches
/api/events/countto keep the sidebar badge in sync.
Tests
- 173/173 passing
v2026-02-12.4
🔔 Event Log
Automatic detection of signal anomalies with full history and severity levels. Six event types: health changes, power shifts, SNR drops, channel count changes, modulation downgrades, and error spikes.
📂 Sidebar Sections
Organized navigation with category labels: Monitoring, External, Documentation. Setup links now only shown when configuration is needed.
🔍 Chart Zoom
Expand any trend chart to full-screen modal with DOCSIS reference zones for detailed analysis.
🎉 What's New Splash
Changelog modal on first visit after update — never miss new features.
⚙️ Settings Improvements
- Reordered: Modem → General → Speedtest → BQM → MQTT
- Optional sections (Speedtest/BQM/MQTT) collapsed by default
- Cleaner layout with disclosure triangles
📓 Incident Journal
Document ISP issues with title, description, and file attachments. Persistent storage for building your complaint history.
📊 Chart.js Integration
Interactive charts powered by Chart.js with hover tooltips, reference zones, and zoom modals.
Other
- Fixed duplicate sidebar icons
- Data Export icon changed to 💾
- Date navigation only shown on relevant views
- 173 tests passing
v2026-02-12.3
Bugfix
🐛 Speedtest Delta-Fetch Pagination Fix
Fixed a critical bug where new speedtest results were not fetched after the cache exceeded ~500 entries. The incremental fetch was sorting ascending and paginating from page 1, causing it to abort before reaching newer results. Now sorts descending (newest first) so new results are immediately found.
v2026-02-12.1
Added
- Multi-platform Docker images: Support for linux/amd64, linux/arm64, and linux/arm/v7 — DOCSight now runs on Raspberry Pi, Apple Silicon, and other ARM devices (#1, #2)
- Multi-stage Dockerfile: Smaller runtime image, native dependencies compiled in builder stage
- GitHub Stars badge in README header
Changed
- CHANGELOG.md removed: Release notes now exclusively on GitHub Releases
Fixed
- Docker image visibility: Package is now public (was accidentally private)
Screenshots
- Added Speedtest Tracker and BQM Gallery screenshots to README
Thanks to @fabrizio-monaco for the multi-platform build PR! 🎉
v2026-02-11.5
Hotfix: Fixed sidebar layout — sidebar stays fixed with Settings and version pinned at bottom, main content scrolls independently.
Full Changelog: v2026-02-11.4...v2026-02-11.5