Roadmap and updates
A public log of what changed and what we are building next.
Roadmap
What we’re building next. As items ship, they move into the daily updates below.
- Windows .NET agent: MSI + bootstrapper that injects the install key and then scrubs it.
- Linux agent: systemd service, packaged for common distros, same API contract as Windows.
- Edge key management UI: mint, rotate, expire, and audit install keys per tenant.
Updates
2026-02-08
- Ops: added an
ops:scheduler-statuscommand to surface scheduler heartbeat for SSL scan evaluation and polling. - Reliability: enabling SSL monitoring now queues an immediate eligibility evaluation so new nodes start scanning without waiting for the next background evaluation window.
- Nodes UX: the
/nodeslegend is now 3 columns, with SSL/TLS grouped into its own column for easier scanning. - Analytics: app pages now use consistent titles like
Pulse · Nodes · All Nodesso views are identifiable in analytics tables.
2026-02-09
- Nodes UX: when you hit your plan’s node limit, “Add node” now explains the limit and offers clear next steps (upgrade or disable nodes), instead of letting you start a workflow that can’t complete.
2026-02-05
- Edge agents are easier to roll out: you can now download the Windows Edge Agent installer directly from the app (top-right user menu → “Download Edge Agent”) and install it with no prompts or manual config.
- Secure one-click onboarding: each download is tenant-bound with a short‑lived, single‑use install key and site name (and the filename includes your tenant name), so the agent registers automatically on first start.
- Reliability hardening: agent ingest is more resilient and diagnostic logging is minimal by default.
2026-02-06
- NOC dashboard reliability: the “Updates interrupted” overlay no longer triggers just because an Edge Agent record exists; it only appears when you have monitored agent-origin nodes and the associated agent hasn’t checked in recently.
2026-01-28
- Continuous SSL/TLS posture monitoring is now available for eligible nodes (public FQDNs) using an external assessment API, with privacy enforced and no third-party links shown in the UI.
- Scans run only when eligible: results are treated as fresh for a configurable window and eligibility is evaluated on a fixed cadence so new nodes are picked up automatically.
- Nodes UI now surfaces SSL posture: the nodes list shows an SSL grade shield inline with status plus a tooltip summary (certificate validity, days remaining, issues); node detail pages show SSL grade, TLS version and certificate expiry as compact chips next to status, with issues in a tooltip.
- Node detail SSL chips now match existing chip styling, use the same shield-grade icon as the nodes list, and are ordered after the existing status and packet-loss chips.
- Nodes page summary cards now use clearer icons for tenant score, offline count, and transitions.
- The nodes legend now includes the SSL shield grading key (including grade T for certificate trust issues) so the colour and letter in the shield are easier to interpret.
- SSL posture now generates real events (expiry thresholds, grade degradation and newly detected vulnerabilities) and impacts Pinescore via a capped SSL penalty that persists until superseded by a new scan.
- SSL monitoring is opt-in: nodes must explicitly enable it before automated scans (or manual refresh) will run.
- Enabling SSL monitoring now self-starts scanning: turning it on triggers an immediate eligibility check so you don’t have to wait for the next background cycle.
- Edit Nodes is safer for bulk changes: the table now saves all row edits in one action (Save all at the top and bottom) to avoid accidental partial saves during mass editing.
2026-01-26
- Overview is now snapshot-backed: tenant latency and route-change analytics are precomputed by scheduled tasks and stored in snapshot tables, so the /overview page stays fast and reliable even for very large tenants.
- Active degradation is now paginated (5 items per page) so the overview stays scannable when many nodes are degraded.
- Pinescore baseline is capped at 100 so nodes scoring 100 don’t show as “below baseline”.
- Overview is more reliable for high-volume tenants: the Events timeline fetch is now bounded so large event payloads don’t trigger PHP memory errors.
- Overview is more reliable for long-running tenants: group score summaries now load only the latest score per group (instead of the full historical table), preventing PHP memory errors.
- Nodes load faster on very large tenants: the /nodes “recent checks” lookup is now bounded so it doesn’t scan a tenant’s full probe history.
- Agent-probed nodes now score flaps correctly: agent ICMP sample flips are recorded as flaps, so flapping nodes won’t stay pinned at 100.
- Agent-probed nodes now also reflect short-lived quality degradation (intermittent loss/jitter and near-miss instability) in their score even if the node stays online; platform-probed scoring is unchanged.
- Node detail charts: the high‑resolution latency chart can now expand full-screen, with quick range presets and a custom from/to picker.
- Analysis Heatmap helps you spot patterns quickly: see connection quality in 5‑minute blocks over a chosen window, with clear tooltips that explain what happened and show the numbers.
- Analysis Comparison helps you prove correlation: pick a set of nodes and see a shared heatmap plus aligned latency charts on one page, with export to PDF for evidence packs.
2026-01-25
- Fixed a platform probing stall where ICMP probes could run once and then stop scheduling, leaving new tenants stuck in “no data”.
- Improved queue resilience: ICMP workers now tolerate longer ICMP batches without timing out under normal load.
- Ops hardening: added a simple Horizon watchdog, restored dedicated ICMP batching dispatch and cleaned up log/journal disk growth that can cascade into Redis queue outages.
- Improved node score Trends charts so they stay hour-based when stable while also plotting exact timestamps when the score changes, without dropping most of the 24h window due to history query limits.
2026-01-24
- Manual nodes (public IPs/FQDNs) can now be probed from inside your network: when at least one Edge Agent is active, “Add Node” and “Edit Nodes” expose a Probe From selector (Platform or a specific Agent) so ping/traceroute/DNS can run on-prem.
- Probing is exclusive per node: Platform-probed nodes are never sent to agents and Agent-probed nodes are never dispatched on the platform.
- Node detail pages keep route signature hashes readable: long signatures now wrap instead of overflowing the UI.
- Nodes list badges now indicate polling origin (Platform vs Agent) using distinct icons.
- Node detail reachability now uses current NodeState (Online/Offline) instead of showing “Unknown” when the timeline has no state events yet.
- Node detail headers now show polling origin (Platform/Agent) and the page title uses the node name without the “Node ·” prefix.
- Node detail reachability chip is now colour-coded (Online/Offline/Unknown) for faster scanning.
- Node detail pages now include a high-resolution 1h latency chart to surface short-lived spikes that can be lost in 24h bucketing.
- High-resolution 1h latency charts now highlight packet-loss windows with stronger red bands and a legend entry.
- Packet loss events are now de-noised: one event per packet-loss window, updated in place with the growing loss count instead of emitting one event per dropped packet.
- Node detail pages show a packet-loss chip (daily total) next to reachability when the node isn’t down, so intermittent loss is obvious at a glance.
- Packet loss chips are now interactive: click to open a correlation modal that clusters loss windows for correlation and shows a per-node timeline of loss duration with exact start times; the window dropdown is scoped to the current node.
2026-01-19
- Public (server-run) node profiling is more reliable under load: ICMP and traceroute probe jobs are routed onto dedicated queues so new nodes get their first samples promptly instead of waiting behind unrelated work.
- Probe throughput scales better at high volume: ICMP dispatch supports queue backpressure (to prevent runaway enqueue) and new database indexes improve due-probe selection and recent-run lookups.
- Nodes now show staged LTAs (1h to 1d to 7d to 30d) so you get a useful baseline quickly that converges to a 30‑day baseline over time.
- Drift badges no longer wrap awkwardly for large values; the label shortens automatically to keep the chip readable.
- Positive latency drift now emits node events (
latency.drift) after consecutive detections, so significant drift spikes are visible in the timeline even if the node stays online.
2026-01-18
- Marketing site live stats show data immediately and then reconnect as live values arrive, so the counter never stalls during a cold start.
- The SaaS app now injects Google Analytics when a measurement ID is provided, keeping analytics configuration outside the codebase.
2026-01-16
- Pulse Edge ingest is more resilient: probe-runs are validated and normalised more consistently (ICMP latency mapping, traceroute
route_signaturegeneration), with newroute.signature_changedandpacket.lossevents. - Scoring stability improved: baseline and flap logic aligns with legacy behaviour, with ICMP gating to keep scoring consistent.
- Docs and marketing site were refreshed: navigation was simplified, the
/roadmap/page is linked from the header, roadmap cards use the standard padding, dropdown styling matches the header and GA4 tracking was added site-wide via a single SSI include injected into every page’s<head>.