towerops/priv/static/changelog.txt
Graham McIntire 03f364a956 feat(insights): LLM-powered insight enrichment
Adds an optional plain-language summary and recommended action to every
active insight. A new Oban cron worker runs every 5 minutes, picks up
unenriched insights, and asks the configured LLM to restate the finding
and suggest one specific action grounded in the structured metadata.

- Migration: adds llm_summary, recommended_action, llm_model,
  llm_enriched_at columns to preseem_insights
- Towerops.LLM context with swappable behaviour; real client uses Req
  with the standard Req.Test plug for test isolation
- MockClient + InsightPrompt module (builds chat messages, parses JSON
  with code-fence stripping and a raw-text fallback)
- Worker logs and skips on rate limits / missing key / parse errors so
  insights still render without an AI summary when the LLM is unavailable
- Optional towerops-llm k8s secret with example template; deployment.yaml
  references it as optional in both init and main containers
- UI renders summary + recommended action callout on /insights and on
  the org-level insights page
2026-05-09 16:41:48 -05:00

418 lines
20 KiB
Text

2026-05-09 — AI-generated insight summaries
* Active insights now include a plain-language summary and a specific recommended action
* AI summaries refresh automatically — no setup required for users
2026-04-28 — Drag-and-drop reorder + restrictions + new-schedule polish
* Drag levels and layers to reorder them on escalation policy and schedule pages (up/down arrow buttons still work)
* Added on-call shift restrictions on schedule layers (time of day, time of week)
* Newly-created schedules now land with the Add Layer form already open
2026-04-28 — Schedules List Search & Pagination
* Search bar on the schedules list to filter by schedule name
* Pagination on the schedules list (10 per page) for organizations with many schedules
* End-to-end browser tests updated for the new gantt-based UI
2026-04-28 — Schedule Layer Reorder
* Added up/down reorder controls to layers on the schedule detail page
* Schedule timelines now use the same per-day rendering engine as the schedules list
2026-04-28 — Schedules Timeline View
* New gantt-style schedules list shows who's on call across a date window
* Date navigation (Today / prev / next) and 1/2/4-week range selector
* Each schedule row shows the current on-call user with a color-coded avatar
* Per-user colors are now consistent across the schedules list and detail pages
2026-04-28 — Escalation Policy Improvements
* Redesigned escalation policy detail page with numbered Level cards and inline reorder controls
* Added a "Services" sidebar showing the devices that use each policy
* Surfaced the on-call handoff notifications setting on policies (when in use by a service / always / never)
* Replaced the standalone Repeat Count field with an inline "If no one acknowledges, repeat this policy N time(s)" control on the policy timeline
* Policy list views now show the number of escalation levels instead of a separate repeat count column
2026-04-04 — Performance Improvements
* Significantly faster IP geolocation lookups
* Reduced database maintenance overhead for background job processing
2026-03-27 — Stability Improvements
* Fixed production deployment crash related to real-time messaging infrastructure
* Fixed dashboard crashes when alerts change
* Improved real-time alert updates reliability
2026-03-27 — Code Quality and Performance Improvements
* Improved code architecture by better organizing database queries
* Added database indexes to speed up array-based queries
* Enhanced separation of concerns for better maintainability
2026-03-27 — Reliability Improvements
* Improved diagnostic logging for network equipment discovery issues
* Enhanced error visibility for troubleshooting device connectivity problems
* Security improvements to webhook authentication logging
2026-03-26 — Enhanced Hardware Inventory
* Added optical transceiver monitoring for network equipment with SFP/QSFP modules
* New Transceivers tab on device pages shows all installed SFP/QSFP modules
* Displays transceiver type, vendor information, part numbers, and serial numbers
* Identifies modules with Digital Optical Monitoring (DOM) capability
* Tracks optical power levels, temperature, voltage, and bias current for installed transceivers
* Enables proactive monitoring of fiber optic link health and quality
2026-03-26 — Printer Consumables Tracking
* Added printer supply monitoring for network printers and multi-function devices
* New Printer Supplies tab shows all consumables (toner, ink, drums, fuser units)
* Color-coded level indicators with percentage bars (green/yellow/red)
* Tracks toner, ink, drum, and other consumable levels
* Displays current capacity and remaining percentage for each supply
* Helps prevent downtime from unexpected supply depletion
2026-03-26 — Memory Monitoring
* Added memory pool monitoring for SNMP-enabled devices
* Tracks RAM and swap memory usage with historical data
* Displays memory utilization percentages and available capacity
2026-03-26 — Hardware Inventory
* Added complete hardware inventory view for network devices
* New Hardware Inventory tab shows all physical components discovered via SNMP
* Displays component class (chassis, module, port, power supply, fan, etc.)
* Shows component details including name, description, serial number, model, and manufacturer
* Enables tracking of all physical hardware components in monitored devices
* Helps with asset management and hardware lifecycle planning
2026-03-25 — Bug Fixes
* Fixed ping monitoring not working for devices with SNMP disabled but monitoring enabled
* Neighbors tab now hidden for devices with SNMP disabled (since neighbor discovery requires SNMP)
2026-03-22 — Bug Fixes
* Fixed capacity reference lines showing inflated values (5-6x higher than actual) on backhaul device traffic charts
* Fixed wireless sensor values (frequency, power, etc.) displaying in scientific notation instead of standard format
2026-03-22 — Simplified Device Types
* Device type selection simplified from 10 options to 6: Server, Switch, Router, Access Point, Backhaul, and Other
* Field renamed from "Device Role" to "Device Type" for clarity
* Device type defaults to "Other" if not specified
* Existing devices automatically migrated to new type values
2026-03-19 — UI Improvements
* Agent offline status on device pages is now clearly labeled with the agent name inside the badge
* Subscriber counts now correctly show "1 sub" (singular) instead of "1 subs"
* Dashboard outage impact column now shows subscriber counts instead of a value that looked like seconds
* Check result values for ping and service checks now display with their unit (ms)
* Activity feed redesigned as a structured log table for easier scanning across the full display
2026-03-17 — Check Execution Fixes
* Fixed DNS and ping checks not executing in production
* Ping checks now automatically schedule when created for new devices
* Service checks (HTTP, TCP, DNS) now properly reschedule after being skipped
* Added automatic recovery for orphaned check jobs after pod restarts or deployments
2026-03-17 — SSL Certificate Monitoring
* New SSL/TLS certificate expiration check type
* Monitors certificate validity and warns before expiration
* Service checks can now be delegated to remote agents for local network execution
2026-03-17 — UI Improvements
* Fixed sticky header overlapping page content
* Removed device type column from device listings
* Skip SNMP discovery for devices with SNMP disabled
2026-03-16 — Service Checks API
* New REST API for managing service checks (HTTP, TCP, DNS, ping)
* New GraphQL queries and mutations for service check management
* Ping monitoring now fully operational with packet loss and RTT tracking
* API documentation updated with service checks endpoints
2026-03-14 — Network Map Improvements
* Node labels are now larger and easier to read
* Sites no longer overlap — each site group is laid out in its own section
* Links between equipment now visible based on LLDP and ARP topology data
2026-03-12 — Mobile Responsive Improvements
* Improved layout across all pages for mobile devices
* Tables now hide less critical columns on small screens to prevent horizontal scrolling
* Action buttons in page headers compact to icon-only on small screens
* Device detail page values now consistently right-aligned for easier reading
2026-03-12 — Real-Time GraphQL API
* New time-series queries for sensor readings, interface traffic, and check results
* GraphQL subscriptions for live device status, alerts, and sensor reading updates
* WebSocket support for real-time data streaming to custom dashboards and integrations
2026-03-09 — User Interface Improvements
* Improved button visibility across the application
* Sign up and account creation actions now use prominent button styling
* Delete and remove actions now use consistent danger button styling
* Setup and configuration actions use clear secondary button styling
2026-03-09 — Reliability Improvements
* Improved handling of alerts when PagerDuty integration is not configured
* Reduced unnecessary error notifications for expected conditions
2026-03-07 — Backhaul Capacity Analysis
* New capacity insights for monitoring backhaul utilization
* Automatic detection of high-capacity links approaching limits
* Capacity reporting and trending analysis
* Proactive alerts before backhaul links become saturated
2026-03-06 — Integration Improvements
* Improved webhook setup instructions with detailed descriptions and step-by-step guidance
* Added descriptions of what each webhook event type enables for real-time data sync
2026-03-06 — Search Fix
* Fixed global search (Cmd+K / Ctrl+K) not returning any results when typing
2026-03-06 — Pricing Update
* Updated pricing to $2/device/month (previously $3 on marketing, $1 in code)
* First 10 devices remain free with all features
* Improved billing flexibility with per-organization customization
2026-03-06 — Per-Organization Billing Overrides
* Per-organization customization of free device limits and per-device pricing
* Organization settings page now reflects custom billing terms when set
* Fixed a crash on the device detail page when interface statistics were unavailable
* Fixed dashboard status indicator favicon not updating in browser tab
2026-03-05 — Security Enhancements
* Enhanced security for API endpoints and file uploads
* Improved validation for mobile device registration
* Better protection against potential DoS attacks
* Added rate limiting to admin endpoints
* Strengthened authentication requirements for sensitive operations
* Enhanced error messages to prevent information disclosure
2026-03-05 — Network Topology Discovery (Phase 1)
* Automatic discovery of connected network devices using LLDP
* View physical port connections between devices
* Automatic linking of discovered neighbors to existing monitored devices
* Support for both IPv4 and IPv6 management addresses
* Foundation for future network mapping and visualization features
2026-03-05 — Reliability & Performance Improvements
* Optimized alert queries for faster dashboard loading on large organizations
* Improved data integrity with stricter database constraints
* Enhanced validation for sensor readings to prevent invalid data
* Fixed memory leaks in real-time dashboard components
* Improved error handling for device polling and monitoring
* Better handling of clock synchronization issues between servers
* Fixed data corruption issues in SNMP polling
* Reduced log noise from health check endpoints
* Enhanced stability for alert notifications
* Improved handling of network timeouts and failures
2026-02-13 — Navigation & Visual Polish
* Breadcrumb navigation on device detail, site detail, config timeline, and trace pages
* Loading skeleton placeholders while data loads on the dashboard
* Smooth page fade-in transitions throughout the app
* Subtle hover effects on cards and table rows
* Custom scrollbar styling for a cleaner look
* Better meta tags for search engines and social sharing
2026-02-13 — UX Polish & Activity Feed Upgrade
* Search button with ⌘K shortcut now visible in the top navbar
* Alerts and Network Map no longer marked as "experimental"
* Activity Feed now groups events by time (Today/Yesterday/This Week)
* Activity Feed: real-time updates, search by device name, filter counts on chips
* Activity Feed: device links in each entry, critical events highlighted
* Polished empty states on Alerts ("All Clear!"), Insights, and Sites pages
* Better guidance for new users with action buttons on empty pages
2026-02-13 — New Marketing Site
* Completely redesigned landing page focused on WISP/ISP operators
* New sections: pain points, subscriber impact features, use cases by role (NOC/Help Desk/Owner)
* Pricing page with Starter (free), Pro ($3/device/mo), and Business ($6/device/mo) tiers
* Technical details section highlighting 786 device profiles, SNMP v1/v2c/v3, secure agent architecture
2026-02-13 — Smart Alert Triage
* Alerts page now groups alerts by site/tower so you can see which locations have the most problems
* Filter by: All, Critical, Unresolved, Resolved
* Sort by: Severity, Age, or Subscriber Impact (most affected subscribers first)
* One-click Resolve button for clearing fixed alerts
* Shows subscriber count per site so you can prioritize by impact
2026-02-13 — Global Search (Cmd+K)
* Press Cmd+K (or Ctrl+K) anywhere to instantly search across devices, sites, subscribers, and alerts
* Keyboard navigation: arrow keys to move, Enter to select, Escape to close
* Results grouped by category with quick links
2026-02-13 — Subscriber Trace & Activity Feed
* New "Trace" page — search any subscriber, device, or AP and see a full health report
- Shows subscriber info, device status, QoE metrics, alerts, config changes, and peer impact
* New "Activity Feed" page — see all network events in one chronological timeline
- Config changes, alerts, device events, syncs all in one view
* Both pages accessible from the main navigation bar
2026-02-13 — Device List Health Indicators
* Device list now shows a color-coded health dot next to each device name
- Green = all checks passing, Yellow = warnings, Red = critical, Gray = no data
* "Last Seen" column shows relative time with color coding (green = recent, yellow = stale, red = likely down)
* Response time badge shows latest ping/check latency at a glance
* Subscriber count badge appears for devices linked to Gaiia inventory items
* All data loads efficiently in batch — no impact on page load speed
2026-02-13 — Config Change Performance Correlation
* New Config Timeline page for each device — see config changes overlaid with performance metrics
* Automatically detects when a config change may have impacted network performance
(latency, packet loss, throughput) by comparing before/after QoE metrics
* Config changes are auto-detected and categorized by section (firewall, routing, wireless, etc.)
* Dashboard now shows recent config changes across all devices with impact indicators
* Device overview shows recent config changes with quick links to timeline view
* Color-coded impact: green = no impact, yellow = minor changes, red = large changes
Devices Tested & Working
* Mikrotik RB5009UG+S+, CCR1009-7G-1C-1S+, CCR2004-16G-2S+
* Ubiquiti AC, LTU, AirFiber
* Cambium ePMP
2026-02-13
* New top-level Insights page - all network insights in one place with filtering by source, urgency, and status
* Insights added to main navigation bar for easy access
* Integration pages now show sync schedules - see how often data syncs and when the next sync will happen
* Configurable sync interval for each integration
* Improved navigation between integration pages with tab bars
* Dashboard insights section now links directly to the full Insights page
2026-02-13
* Impact Dashboard - instantly see subscriber and revenue impact during outages
* "MRR at Risk" and "Subscribers Affected" shown at the top of the dashboard when devices are down
* Active Incidents view - down devices sorted by revenue impact with subscriber counts, outage duration, and QoE scores
* Site health cards now color-coded (green/yellow/red) based on device status and network quality
* Per-site breakdown of affected subscribers and revenue at risk during outages
2026-02-13
* 12-hour and 24-hour time format preference in account settings
* All timestamps now display in user's chosen timezone and time format consistently
2026-02-13
* Command center dashboard - unified view of network health, alerts, insights, and site status
* Network health score showing overall operational health at a glance
* Unified insight feed combining alerts from SNMP, Gaiia, and system sources with source filtering
* Automated insights for device health thresholds, poll gaps, offline agents, and Gaiia reconciliation
* Site health grid on dashboard showing per-site device counts, status, and subscriber data
* Metrics bar on site pages showing device count, alerts, and subscriber context
* Subscriber and revenue context shown alongside alerts and device lists when Gaiia is connected
* Real-time dashboard updates when alerts are triggered or resolved
* Gaiia billing integration - connect subscriber and billing data from Gaiia
* Real-time webhook sync keeps Gaiia data up to date as changes happen
* Subscriber context on device pages - see linked accounts, billing plans, and network site info
* Outage impact analysis - alerts now show affected subscriber count and revenue at risk
* Write-back actions - create Gaiia tickets from alerts, add subscriber notes during outages
* Inventory reconciliation - compare Gaiia inventory against discovered devices to find discrepancies
* Entity mapping UI for linking Gaiia network sites and inventory items to Towerops entities
2026-02-12
* Infrastructure as Code support - manage sites and devices using Terraform
* New unified monitoring checks system combining SNMP auto-discovery with manual service checks
* Device checks tab showing all monitored items (sensors, interfaces, services) with status indicators
* Manual service check creation for HTTP/HTTPS, TCP port, and DNS monitoring
* Automatic check creation from SNMP discovery (sensors, interfaces, processors, storage)
* Backfill tool to create checks for existing devices with SNMP data
* Unified time-series graphing across all check types
* Completed migration to unified polling system (improved efficiency and reliability)
* Enhanced monitoring infrastructure with improved reliability
* Fixed SNMP monitoring credential resolution for all check types
* Comprehensive test coverage for monitoring infrastructure
* Fixed delay when switching between device tabs
* Improved stability during deployments (graceful shutdown handling)
* Fixed brute force protection stability issues
* Error reporting improvements
* Performance improvements for larger deployments
* Extended vendor support for WISP equipment (ePMP, Raisecom, Netonix)
* Browser navigation improvements for modals
* Enhanced wireless monitoring for MikroTik devices
* Improved frequency monitoring for UniFi devices
* Enhanced AirFiber monitoring capabilities (optical power, link quality)
* Additional wireless metrics for AirFiber devices
* Dell PowerVault storage monitoring support
2026-02-11
* Dell UPS and HP BladeSystem monitoring support
* Dell Force10 and optical transceiver monitoring support
* Extended network switch monitoring (HP Comware, Dell PowerConnect, Dell SONiC)
* Arista EOS monitoring improvements
* SNMP parsing improvements
* Sensor deduplication improvements
* Agent polling and discovery improvements
* RouterOS version detection improvements
* Enhanced sensor change detection
* Agent assignment improvements
* Device status tracking improvements
* Poll time tracking improvements
2026-02-10
* Update agent to show version based on compile date instead of old stuck version
* Add ability for agent to self-update within docker
2026-02-08
* Security improvements
* Massive snmp engine refactoring
2026-02-06
* Improve reliability of SNMP polling
* Add TUI to agent
2026-02-05
* Fix SNMP v3 polling
* UI Simplification
* Add device status to device page
2026-02-04
* Feature: SNMP v3 support
* Sites are now optional and not enabled by default
* Ability to set an org as default
* Poller: snmp v3 support
* Poller: ensure credentials do not remain in memory
2026-02-03
* More tests
* Bug fix: user registration
2026-02-02
* Experimental mikrotik api and backup
* Starting i18n
2026-02-01
* Firmware version fetching and notification for Mikrotik devices
* UI cleanup
* Check passwords against Have I been pwned database
2026-01-31
* Small ui tweaks
* Backend refactoring
* Patched some potential memory leaks
* Show version and license for Mikrotik devices
* MFA Recovery keys and MFA management
2026-01-30
* Completely overhaul poller agent to not track any state
* Complete overhaul of snmp engine
2026-01-29
* GDPR: Consent management system with explicit consent checkboxes and withdrawal
* Bug fix: sensor data storage
2026-01-28
* Major SNMP Discovery overhaul and improvements
* GDPR: Cookie consent banner for EU/EEA users
* GDPR: Right to Access - My Data page and API endpoint
* GDPR: API documentation for account data export
* GDPR: My Data links in user settings and navigation
* Bug fix: SNMP Community when using remote agent
* Feature: Add mandatory TOTP MFA
* Security improvements
2025-01-27
* Infrastructure improvements
* Bug fix: poller agent assignment on devices
* Feature: improve Ubiquiti LTU device handling
* First pass at subscription limits
2025-01-26
* Cloud poller improvements
* Accessability improved
* Added initial help documentation
2026-03-04
----------
* Fixed device discovery failures for devices with many network interfaces
* Database performance improvements for large-scale operations
* Reduced log noise from health checks and monitoring probes