Skip to content

Releases: itsDNNS/docsight

v2026-03-17.1 — Traceroute Burst Capture

17 Mar 12:31
0dbd432

Choose a tag to compare

New Features

Connection Monitor: Traceroute Burst Capture (#196)

  • Event-triggered traceroute — automatically captures hop-level network path when outages or packet loss are detected (5-min cooldown per target)
  • Manual traceroute — "Run Traceroute" button in the Connection Monitor detail view
  • Trace history — clickable trace list with hop detail expansion showing per-hop IP, hostname, latency, and probe response count
  • New C helper binary (docsight-traceroute-helper) with setuid privilege dropping and per-hop stdout flushing for partial results on timeout
  • New API endpointsPOST /api/connection-monitor/traceroute/<id>, GET /api/connection-monitor/traces/<id>, GET /api/connection-monitor/trace/<id>
  • Demo mode — realistic sample traces for Cloudflare and Google DNS targets
  • i18n — all 4 languages (EN/DE/FR/ES)

UX Improvements

  • Chart zoom persistence — zoom state survives the 10-second auto-refresh cycle
  • Reset Zoom button — visible button appears when zoomed in, with hover tooltip ("Drag to zoom, double-click to reset")
  • Dynamic Y-axis scaling — adapts to actual latency data instead of hardcoded 200ms ceiling (40ms floor for low-latency connections)
  • No more scroll jumps — container height is pinned during chart refresh to prevent page jumping

Bugfixes

  • Security: check seteuid() return value in traceroute helper, drop privileges in --check path
  • Flaky test: mock utc_now in Smart Capture timeline test (was date-dependent)
  • i18n: correct German umlaut in traceroute.running

Stats

  • 23 files changed, +1956 lines
  • 39 new tests (1769 total, all passing)

v2026-03-16.3 -- Community Module Installer & Official VFKD Thresholds

16 Mar 16:53
7006241

Choose a tag to compare

Community Module Installer

Browse and install community modules directly from Settings > Extensions, no manual file copying needed.

  • Module browser in Settings > Extensions with one-click install/uninstall
  • Generic module downloader with recursive GitHub directory download and SSRF protection
  • Security: path traversal protection, manifest validation, ID conflict checks, installed modules disabled-by-default
  • Registry: modules are fetched from the docsight-modules registry

First module in the registry: VFKD Community Thresholds (alternative signal threshold profile with more lenient values from vodafonekabelforum.de).

Official VFKD Thresholds

The default VFKD threshold profile is now based on the official Vodafone pNTP Interface Specification v1.06 instead of community forum values.

  • DS power critical upper limits corrected to spec absolute maximum (16 dBmV)
  • SNR critical values aligned with spec absolute minimums
  • Added OFDM (DOCSIS 3.1) SNR thresholds
  • Analyzer fallback thresholds fully aligned with all QAM levels (64QAM through 4096QAM)

Users who prefer the previous community-derived thresholds can install them via Settings > Extensions.

Smart Capture Sub-Settings (from v2026-03-16.2)

  • Per-trigger sub-settings: direction filter, QAM threshold dropdown (all levels from 4096QAM to 8QAM with "at or below" semantics), error delta, health level, packet loss %
  • Connection Monitor integration: packet loss events trigger Smart Capture
  • Shared DOCSIS utility for QAM ranking

v2026-03-16.2 -- Smart Capture Sub-Settings & Connection Monitor

16 Mar 12:50

Choose a tag to compare

Smart Capture Sub-Settings

Fine-tune when each trigger fires with per-trigger configuration. Expanding on the Smart Capture engine from v2026-03-16.1.

What's new

  • Per-trigger sub-settings that appear when a trigger is enabled:
    • Modulation downgrade: Filter by direction (DS/US/Both) and minimum QAM level (full dropdown from 4096QAM down to 8QAM, "at or below" semantics)
    • Error spike: Configurable minimum error delta (0 = any spike)
    • Health change: Any degradation vs. critical only
    • Packet loss warning: Minimum packet loss % threshold
  • Connection Monitor integration -- Packet loss events from the Connection Monitor module now trigger Smart Capture. The 5th trigger source alongside modulation, SNR, error spike, and health change.
  • Shared DOCSIS utility -- QAM ranking extracted to app/docsis_utils.py. Modulation change events now include prev_rank and current_rank fields for downstream consumers.

Fixes

  • fix: QAM threshold dropdown now includes all levels (4096QAM to 8QAM) with "at or below" semantics instead of "below" (community feedback from #234)
  • fix: 512QAM was missing from threshold dropdown

Community

  • Closed #234 (community feature request that started Smart Capture)
  • Updated docsight-modules documentation with current API patterns, theme docs, and Smart Capture integration guide

v2026-03-16.1

16 Mar 09:55

Choose a tag to compare

Smart Capture

Automatically triggers speedtests when DOCSight detects signal degradation. Instead of manually running a speedtest after noticing a problem, Smart Capture fires one at the exact moment the issue occurs.

What's new

  • Event-driven triggers -- Reacts to modulation downgrades, SNR drops, error spikes, and health state changes
  • Configurable guardrails -- Global cooldown, per-trigger cooldown, max actions per hour, and flapping detection prevent excessive testing
  • Execution history -- Every trigger decision is logged with status (pending, fired, completed, suppressed, expired) and reason
  • Correlation integration -- Smart Capture entries appear in the correlation timeline alongside signal and speedtest data
  • Settings panel -- Enable triggers, adjust guardrails, and review execution history from Settings > Smart Capture

Requires Speedtest Tracker integration. See the Smart Capture wiki page for setup and configuration.

Other changes

  • fix: default theme to Classic instead of first alphabetical theme
  • fix: include utils.js on settings page for escapeHtml in Smart Capture history
  • fix: use fromisoformat() for timestamp parsing to handle offsets and fractional seconds
  • fix: use -inf sentinel for guardrail timestamps to prevent false blocks in fresh containers

v2026-03-15.1 — Speedtest Diagnostics & Backup Reliability

15 Mar 08:52
90603d9

Choose a tag to compare

Features

  • Speedtest Tracker "Test Connection" button on settings page — shows actual errors (connection refused, 401 unauthorized, timeout) instead of silent failure (#238, #239)

Fixes

  • Duplicate backups on container restart — backup schedule now survives restarts by seeding from the newest backup file on disk (#240)

v2026-03-14.2 — Theme Library & Export Fixes

14 Mar 22:32
7c83ab1

Choose a tag to compare

Features

  • 11 new curated themes — SynthWave, Matrix, Amber Terminal, GameBoy, Doom, Nord, Catppuccin Mocha, Dracula, Gruvbox, One Dark, Tokyo Night (#229)
  • Channel frequency labels in Prometheus metrics (#228)

Fixes

  • Data export crash when error counts are None
  • Error metrics omitted for channels without error data
  • Backup list not showing in settings — load backups for module panel, accept array API response, parse ISO timestamps (#233)

v2026-03-14.1 - Health Insights, Channel Timeline & Config Hardening

14 Mar 12:56
4723bcf

Choose a tag to compare

Features

  • Health Insights panel on dashboard replaces static Active Issues with actionable, prioritized insights (#224)
  • Channel Timeline UX with URL-persistent state, per-direction memory, compare mode, and distinct empty states (#221)

Fixes

  • Backup module config coercion — safely cast string-backed backup_interval_hours and backup_retention to int; honor configured interval (#226)
  • Surfboard HTTP fallback — harden transport fallback for SB8200/S33/S34 connections (#184)
  • MQTT TLS bool handling — handle bool config value for mqtt_tls_insecure (#165)

Docs

  • README rewrite — evidence-first conversion flow, grouped features/hardware, new hero screenshot (#225)

v2026-03-13.1 - Navigation Simplification & Settings UX

13 Mar 14:04
5930338

Choose a tag to compare

What's New

  • UI: Simplified navigation and settings (#217, #220) - Mobile-first sidebar with collapsible Analysis group, unified Extensions panel with alphabetical toggle rows, collapsible per-event cooldowns, tablet breakpoint fix (768px -> 640px)
  • Settings: Unsaved changes guard (#216) - Warns before module toggles and theme apply when form has unsaved changes
  • i18n: German umlaut normalization (#212) - Fixed inconsistent umlauts in German UI copy
  • Channel history fix (#211) - Fixed empty channel history for Vodafone Station and UltraHub7 caused by float-string channel IDs

v2026-03-12.3 - SB6190, Compare Presets & Correlation Fixes

12 Mar 22:54
f08e1c6

Choose a tag to compare

What's New

Arris SB6190 Support

DOCSight now supports the Arris SB6190 modem. This adds HTTPS login handling, CGI-based authentication, and channel parsing for a modem model that previously was not supported.

All-Channel Compare Presets

The channel compare view now includes All Downstream and All Upstream presets, making it practical to compare entire DS or US groups without selecting channels one by one.

Correlation Timeline Fixes & Polish

Segment load overlays are visible again in the Correlation view after fixing the timestamp range mismatch. The chart is also cleaner by default: Poor Signal starts disabled, SNR and Download render line-only without area fills, and Segment DS now has its own color instead of sharing SNR purple.

Included Changes

  • 1381671 Add support for Arris SB6190 modem (#193)
  • 9b6402b Add all-channel presets to channel compare (#207)
  • 5b765b4 fix(correlation): restore segment load range queries (#208)
  • 90a723b fix(correlation): remove default fills (#209)

v2026-03-12.2

12 Mar 15:15

Choose a tag to compare

What's New

Pin This Day (Connection Monitor)

You can now pin specific days in the Connection Monitor to preserve their raw-resolution samples permanently. Pinned days are excluded from automatic cleanup and aggregation, so you never lose granular evidence from important outage days.

  • Pin button appears in the 24h view
  • Pinned days show as clickable chips below the time range buttons
  • Clicking a pinned day loads the full 24h at raw resolution
  • Unpin anytime to allow normal cleanup

Modulation Health Index Fix

The downstream health index now scores each channel against its own observed baseline instead of the theoretical maximum QAM. Channels that consistently run at a lower QAM order (e.g. fixed 64QAM in mixed DOCSIS 3.0 segments) no longer drag down the health score. A channel is only flagged as degraded when it drops below its own baseline.

All Changes

  • feat(connection-monitor): pinned days to preserve raw data (#204)
  • fix(connection-monitor): pin button icon rendering
  • fix(modulation): normalize DS health by channel baseline