📦 Looking for what already shipped? The full version history lives in the Changelog →

Upcoming

— targeted for the next release 2 items
Upcoming App

Code signing (OV certificate)

An OV code-signing certificate to remove the “unknown publisher” state on the installer. Skipping the EV tier deliberately — Microsoft removed EV’s instant SmartScreen bypass in 2024, so both tiers now build reputation the same way, through real download history.

Upcoming Distribution

Microsoft Store listing

A Store listing sidesteps SmartScreen entirely and gives free code signing and built-in updates through the Store’s own trusted install path. Direct .exe download stays available alongside it, same as our other products.

Planned

— committed, no ETA yet 4 items
Planned Distribution

winget / Chocolatey / Scoop submission

Manifests for all three are already written and verified against the live installer’s SHA-256 — what’s left is the actual PR/publish step against each package manager’s own repo (winget-pkgs review, a Chocolatey publisher account, a Scoop bucket PR), not more building.

Planned Core

Simultaneous dual-WAN probing

Bind probes to each physical adapter and monitor both WAN connections at once, instead of only the currently-active one inferred from public-IP changes. The single most-requested capability from the dual-WAN homelab audience.

Planned Integrations

UniFi integration, take two

Re-adding UniFi WAN/public-IP integration using Ubiquiti’s official Network API key or local admin account — both bypass the unifi.ui.com 2FA/SSO flow that broke the original username/password approach.

Planned Integrations

Home Assistant & ntfy documentation

The webhook alert system already sends generic JSON on every event; documenting the payload against Home Assistant’s webhook trigger and ntfy’s publish API turns every outage into an automation trigger for users already running either.

Under Consideration

— community suggestions being evaluated 6 items
Considering Evidence

Opt-in cross-user outage correlation

An anonymized, opt-in signal (timestamp, event class, ISP, coarse region only) that lets a report say “N other monitored connections on your ISP in your region saw the same failure in this window.” The biggest single differentiator being explored — needs a quorum threshold before any claim appears, same discipline as the existing internet-quorum check.

Considering App UX

Tailscale-aware remote view

The remote status page is intentionally LAN-only with no auth. Detecting a local Tailscale interface and surfacing its address would let users reach their status page from anywhere without ClumsyLinkWatch having to build or secure its own remote-access layer.

Considering Licensing

Pro tier

Unlimited history, PDF report branding, dual-WAN reporting, scheduled auto-reports, and alerting beyond webhooks — the paid tier described in the product plan, priced as a one-time purchase rather than a subscription.

Considering Licensing

Consultant tier

White-label branding, multi-site profiles, and portable/USB mode for IT consultants and MSPs who drop the tool at a client site for a week. Pairs naturally with a CSV/JSON export aimed at PSA/RMM tools like Hudu or ITGlue.

Considering Integrations

MSP tooling export

A structured export of report data aimed at PSA/RMM documentation tools (Hudu, IT Glue) — a lighter lift than a full RMM integration, and the format MSPs actually discover tools through.

Considering Diagnostics

Light passive congestion sampling

Detect congestion-without-loss degradation (bufferbloat-style latency spikes under load) as a distinct signal from packet loss, giving DEGRADED events a clearer “why” than loss/latency thresholds alone.

Shipped

— already in your hands 37 features
✓ Shipped Site v0.3.3

Remote status page: full app parity

The Remote LAN Status page previously only showed status, the probe ladder, and recent events. It now also shows an ISP/WAN panel, the 14-day latency trend chart, and a full Speed Test section (latest result, day/hour pattern heatmap, recent run history) — everything the desktop Dashboard shows, from your phone.

✓ Shipped Site v0.3.3

Remote event detail popup

Tap any event in the Remote Status page's Recent Events list to open the same evidence popup the desktop Event Detail view shows — full probe-ladder/DNS/quorum results, the "why" for DEGRADED, and a "what to do" suggestion, without needing to be at the monitoring host.

✓ Shipped Diagnostics v0.3.2

Speed test reliability fix

The speed test previously required a single 100MB+ request to complete without a hitch or it aborted the entire run — failing disproportionately on exactly the slower, flakier connections this app exists to diagnose. Chunk sizes are now capped at 25MB and total transfer per run cut from over 1GB to roughly 200MB, matching the estimate already shown in Settings. A mid-test hiccup now keeps whatever numbers were already measured instead of discarding the whole result, and History updates immediately after a run finishes instead of waiting on a background poll.

✓ Shipped Diagnostics v0.3.1

Event detail view

Click any event in the Events list to see the full evidence behind it — every probe-ladder rung, DNS resolver, and quorum anchor result, plus a plain-English "why" for DEGRADED — with a Copy Summary button to paste it into a ticket or message.

✓ Shipped Alerting v0.3.1

Actionable webhook alerts

Discord/Slack webhook notifications now include the specific DEGRADED reason(s) instead of just the bare class name, plus a plain-English "What to do" suggestion once the event resolves — tailored to the fault class and, for DEGRADED, which rung tripped it.

✓ Shipped App UX v0.3.0

Multi-screen redesign

Rebuilt around four screens — Dashboard, Diagnostics, Speed Test, Events — instead of one long scrolling page, so the status you care about most reads at a glance without hunting through everything else.

✓ Shipped Diagnostics v0.3.0

Scheduled speed tests

Run automatically every 30 min / 1h / 4h / 12h / 24h (off by default), with a live data-cost estimate shown before you commit to an interval and an option to skip a run while a fault is already active.

✓ Shipped Diagnostics v0.3.0

Speed test history & pattern detection

Every run (manual or scheduled) is saved and sortable by worst download/upload/latency, plus a day-of-week × hour-of-day heatmap that automatically flags recurring slow windows — consistent with peak-hour congestion rather than a one-off.

✓ Shipped Core v0.3.0

Speed test self-interference guard

A running speed test saturates the link enough to cause transient latency spikes on the probe ladder's own pings — DEGRADED classification is now suppressed for the duration of any speed test so it can't trigger a false event against itself. Hard rung failures still classify normally.

✓ Shipped Diagnostics v0.2.2

Why DEGRADED was triggered

Every DEGRADED event now records exactly which rung, whether it was loss or latency, and the measured value against the threshold it crossed — shown live on the status card while it's happening, in event history, in evidence reports, and on the remote status page.

✓ Shipped App UX v0.2.1

Remote LAN status page redesign

Was just a bare classification and timestamp — now shows the full probe ladder with live per-rung latency, rolling loss, a captive-portal warning banner, and color-coded recent events, styled to match the app itself.

✓ Shipped Reporting v0.2.0

SLA credit dollar calculation

An optional monthly bill amount field in the report generator converts measured ISP-attributable downtime into a straight-line prorated credit figure — turning “here’s what happened” into “here’s what it’s worth,” the number small-claims filings and billing disputes actually need.

✓ Shipped Diagnostics v0.2.0

Per-rung baseline auto-tuning

Baselines are now computed independently for the gateway, ISP-hop, and DNS rungs, not just quorum — a rung that’s quietly gotten slower now trips DEGRADED against its own normal, even while the quorum rung still looks perfectly healthy.

✓ Shipped Distribution v0.2.0

Package manager manifests

winget, Chocolatey, and Scoop manifests are written and verified against the live installer’s SHA-256, staged and ready for submission to each package manager’s own repository.

✓ Shipped App v0.1.4

Settings window fix

Fixed a startup race where the Settings window could silently fail to open if it was requested before the local database finished starting up, with no retry — it now polls until settings are actually ready.

✓ Shipped App v0.1.3

Check for updates from About

A refresh button in the About screen checks for a new version on demand, with inline status (checking / up to date / update available) and Download/Restart actions right there — no need to wait for the automatic background check.

✓ Shipped Diagnostics v0.1.2

Working speed test

Built-in download/upload/latency/jitter speed test using Cloudflare’s speed-test engine, served over a registered app scheme so the browser timing APIs it depends on report real numbers instead of collapsing to near-zero.

✓ Shipped App v0.1.0

Five-rung probe ladder

Adapter, gateway, ISP first hop, DNS, and a quorum of independent internet anchors — every rung checked every cycle, cheapest and closest first, with confirmation retries before anything is declared down.

✓ Shipped Core v0.1.0

Fault classification

Every event is tagged ADAPTER_DOWN, GATEWAY_DOWN, LAST_MILE_DOWN, DNS_FAILURE, UPSTREAM_DOWN, DEGRADED, or HOST_SLEEP — and only the ISP-attributable classes count against your ISP in a report.

✓ Shipped Core v0.1.0

TTL-limited ISP-hop probing

Probes the ISP’s first hop at the depth discovered by traceroute rather than pinging it directly — avoids false last-mile-down readings on routers that answer TTL-expired traceroute probes but not direct ICMP echo.

✓ Shipped Core v0.1.0

Monotonic-time duration tracking

Outage durations are computed from a monotonic clock, not wall-clock time — so NTP corrections and DST shifts never produce negative or impossible durations in a report.

✓ Shipped Core v0.1.0

Sleep & hibernate detection

Subscribes to Windows power events and detects wall-clock gaps far larger than the sample interval, marking those spans HOST_SLEEP — rendered as hatched timeline gaps, never counted as uptime or downtime.

✓ Shipped Core v0.1.0

Adaptive probe scheduler

5-second interval while healthy, 2 seconds during an active event for resolution, backing off to 30 seconds after 10 minutes down — staggered and rate-limited so the tool never looks like a DoS source to the ISP.

✓ Shipped History v0.1.0

SQLite history with configurable retention

Raw samples and events persist locally with a configurable retention window, so a year of 5-second samples doesn’t need to live in a JSON file or vanish after a week.

✓ Shipped Reporting v0.1.0

HTML & PDF evidence reports

A plain-English methodology paragraph, an ISP-attributable outage table, uptime percentage shown as “nines,” and an appendix listing every excluded event and why — nothing hidden.

✓ Shipped App UX v0.1.0

Time-proportional timeline strip

Segment width proportional to real elapsed time rather than sample count, with Live/24h/7d/30d zoom and hover detail per segment — a 2-minute blip and a 2-hour outage no longer look the same width.

✓ Shipped Reporting v0.1.0

SLA calculator

Uptime percentage and total outage minutes for the period, shown in the same “nines” language SLAs use (99.5%, 99.9%).

✓ Shipped Diagnostics v0.1.0

Full-path hop table & 14-day latency trend

Every hop of the last full traceroute (not just the rung-2 ISP-hop depth), plus a rolling 14-day latency chart with baseline overlay, so degradation is visible as a trend, not just a single bad sample.

✓ Shipped Diagnostics v0.1.0

Captive-portal & DNS-hijack detection

A separate check against a known-good endpoint catches networks that intercept DNS or inject a captive-portal page — the false-healthy gap that could otherwise make the internet quorum check read as fine when the real connection is unusable.

✓ Shipped Hardware v0.1.0

Hardware panel & Starlink detection

Lists network adapters for dual-WAN visibility and detects a Starlink dish on the LAN, laying the groundwork for dish-specific obstruction/telemetry data.

✓ Shipped Alerts v0.1.0

Native, taskbar & webhook alerts

Desktop notifications and taskbar flash on real faults only (not DEGRADED or sleep), plus Discord/Slack-compatible webhook alerts and a color-coded system tray status.

✓ Shipped App UX v0.1.0

LAN remote status page

A small unauthenticated status page reachable from any device on the same LAN — check current status and recent events from your phone without remoting into the desktop.

✓ Shipped App v0.1.0

Auto-update

Built-in updater checks for new versions on launch and installs them with one click — no manual reinstalls for future releases.

✓ Shipped Site v0.1.0

Full product site

Product page, downloads with SHA-256 checksums, in-app-matching Help documentation, changelog, and legal pages (EULA, Privacy, Terms) — the complete public presence, not just an installer link.

Have a feature idea?

ClumsyLinkWatch is actively being shaped by early users. If there’s something missing that would make your evidence report stronger or your monitoring more useful, send it over — good suggestions land on this page and eventually in the app.

Bug reports: bugs@clumsyslab.tech