"use client" import { useState, useEffect } from "react" import { Button } from "./ui/button" import { Dialog, DialogContent, DialogTitle } from "./ui/dialog" import { X, Sparkles, Thermometer, Activity, HardDrive, Shield, Globe, Cpu, Zap, Sliders, Wrench, RefreshCw, Server } from "lucide-react" import { Checkbox } from "./ui/checkbox" const APP_VERSION = "1.2.1.1-beta" // Sync with AppImage/package.json interface ReleaseNote { date: string changes: { added?: string[] changed?: string[] fixed?: string[] } } export const CHANGELOG: Record = { "1.2.1.1-beta": { date: "May 9, 2026", changes: { added: [ "Post-install function update detection - The Monitor now tracks installed ProxMenux optimizations (Log2Ram, Memory Settings, System Limits, Logrotate...) and notifies when a newer version of any of them is available, with one-click apply", "Health Monitor Thresholds - Per-category warning and critical levels for CPU, memory, temperature, storage and more, configurable from Settings", "NVIDIA driver update notifications - Kernel-aware detection of new compatible driver versions, surfaced in the Hardware tab and as notifications when a newer build is published upstream", "Secure Gateway update flow - One-click Tailscale update from Settings with Last-checked / Installed / Latest indicators and notification when a new version is available", "Helper-Scripts menu - Richer context and useful information for each entry, making it easier to know what every script does before running it", ], changed: [ "Disk temperature monitoring - Improved readings, smarter caching across SMART probes and a redesigned history modal that opens at 24h by default with min/avg/max statistics", "VM and LXC modal - Expanded with additional information so a single panel covers the data you previously had to look up across multiple tabs", "Page load - Faster first paint and lighter network usage on the Overview, Storage and Hardware tabs", "Security improvements - Tighter authentication checks across notification, scripts and terminal endpoints, plus a more conservative default policy for new installs", ], fixed: [ "NVIDIA installer - The version menu now respects the running kernel compatibility window, only offering driver branches that won't fail to compile", "NVIDIA installer on Alpine LXC - Container-side userspace install reworked so it succeeds on Alpine hosts, and free-space detection works reliably across all storage layouts", "NVIDIA installer with NVENC patch - When the host has the NVENC patch applied, the version menu narrows to drivers supported by the patch so reinstalling never silently loses it", "Webhook URL - PVE notification webhook now follows the active SSL state automatically, switching between http and https when you toggle HTTPS in the panel", ], }, }, "1.1.2-beta": { date: "March 18, 2026", changes: { added: [ "Temperature & Latency Charts - Real-time visual monitoring with interactive graphs", "WebSocket Terminal - Direct access to Proxmox host and LXC containers terminal", "AI-Enhanced Notifications - Intelligent message formatting with multi-provider support (OpenAI, Groq, Anthropic, Ollama)", "Security Section - Comprehensive security settings for ProxMenux and Proxmox", "VPN Integration - Easy Tailscale VPN installation and configuration", "GPU Scripts - Installation utilities for Intel, AMD and NVIDIA drivers", "Disk Observations System - Track and document disk health observations over time", "Enhanced Health Monitor - Configurable monitoring with advanced settings panel", ], changed: [ "Improved overall performance with optimized data fetching", "Notifications now support rich formatting with contextual emojis", "Health monitor now configurable from Settings section", "Better Proxmox service name translation for non-expert users", ], fixed: [ "Fixed notification message truncation for large backup reports", "Improved disk error deduplication to prevent repeated alerts", "Corrected AI provider base URL handling for OpenAI-compatible APIs", ], }, }, "1.0.1": { date: "November 11, 2025", changes: { added: [ "Proxy Support - Access ProxMenux through reverse proxies with full functionality", "Authentication System - Secure your dashboard with password protection", "PCIe Link Speed Detection - View NVMe drive connection speeds and detect performance issues", "Two-Factor Authentication (2FA) - Enhanced security with TOTP support", "Health Monitoring System - Comprehensive system health checks with dismissible warnings", ], changed: [ "Optimized VM & LXC page - Reduced CPU usage by 85% through intelligent caching", "Storage metrics now separate local and remote storage for clarity", ], fixed: [ "Fixed dark mode text contrast issues in various components", "Corrected storage calculation discrepancies between Overview and Storage pages", ], }, }, "1.0.0": { date: "October 15, 2025", changes: { added: [ "Initial release of ProxMenux Monitor", "Real-time system monitoring dashboard", "Storage management with SMART health monitoring", "Network metrics and bandwidth tracking", "VM & LXC container management", "Hardware information display", "System logs viewer with filtering", ], }, }, } const CURRENT_VERSION_FEATURES = [ { icon: , text: "Post-install function update detection - The Monitor tracks installed ProxMenux optimizations and notifies when a newer version of any of them is available, with one-click apply", }, { icon: , text: "Health Monitor Thresholds - Per-category warning and critical levels for CPU, memory, temperature, storage and more, fully configurable from Settings", }, { icon: , text: "NVIDIA driver update notifications - Kernel-aware detection of new compatible driver versions, surfaced in the Hardware tab and as notifications when a newer build is published", }, { icon: , text: "Secure Gateway update flow - One-click Tailscale update from Settings, with version indicators and notification when a new release is available", }, { icon: , text: "Helper-Scripts menu - Richer context and useful information for each entry, so you know what every script does before running it", }, { icon: , text: "Improved disk temperature monitoring - Better readings, smarter caching across SMART probes and a redesigned history modal that opens at 24h by default", }, { icon: , text: "VM and LXC modal expanded - Additional information consolidated into a single panel so you don't have to look it up across multiple tabs", }, { icon: , text: "Faster page load and tighter security - Lighter network usage on the main tabs, plus stricter authentication checks across notification, scripts and terminal endpoints", }, ] interface ReleaseNotesModalProps { open: boolean onClose: () => void } export function ReleaseNotesModal({ open, onClose }: ReleaseNotesModalProps) { const [dontShowAgain, setDontShowAgain] = useState(false) const handleClose = () => { if (dontShowAgain) { localStorage.setItem("proxmenux-last-seen-version", APP_VERSION) } onClose() } return ( Release Notes - Version {APP_VERSION}

What's New in Version {APP_VERSION}

We've added exciting new features and improvements to make ProxMenux Monitor even better!

{CURRENT_VERSION_FEATURES.map((feature, index) => (
{feature.icon}

{feature.text}

))}
setDontShowAgain(checked as boolean)} />
) } export function useVersionCheck() { const [showReleaseNotes, setShowReleaseNotes] = useState(false) useEffect(() => { const lastSeenVersion = localStorage.getItem("proxmenux-last-seen-version") if (lastSeenVersion !== APP_VERSION) { setShowReleaseNotes(true) } }, []) return { showReleaseNotes, setShowReleaseNotes } } export { APP_VERSION }