Changelog
Every release, on a timeline. Scroll through the history and click a version to expand its details.
Added
- Vulnerability detail view — clicking a CVE in the Vulnerability Scan screen now opens a detail panel with the full description, published date, fixed version, and external reference links; the underlying scan model was extended with
description,references, andpublishedDate(and richer fields for Kubernetes misconfiguration findings). - Changelog page — the documentation site now has an interactive changelog timeline (
docs/changelog.md, generated fromCHANGELOG.mdbymkdocs_hooks.py) where each release can be expanded, plus a version chip in the site header.
Changed
- Workspace layout — the standalone cluster bar was removed; cluster selection now lives inside the sidebar and the sidebar toggle moved into the title bar, giving a cleaner, more compact top area.
Added
- AI Assistant improvements — Ollama-backed chat experience with model discovery, pull flow, and cluster-aware tool actions.
- Security scanning enhancements — expanded Trivy-based image and cluster scan workflow with richer result handling.
Changed
- Security UI — Trivy scanner view and scan result models were refined for clearer vulnerability reporting.
- App experience — theme handling, title bar interactions, and related UI polish were improved across the desktop experience.
Added
- Documentation site overhaul — navigation restructured into Getting Started / Downloads / Docs, with new user-guide pages (each illustrated with screenshots) for Networking (Services, Ingresses, Ingress Classes, Endpoints), Security (Service Accounts, Roles, Role Bindings, Security Role Map, Vulnerability Scan), Storage (Persistent Volumes, Volume Claims, Storage Classes) and Cluster (Monitoring, Events, Limit Ranges).
- Redesigned landing page — an animated screenshot showcase that reveals features on scroll.
Changed
- Monitoring — selectable chart time window (5 min – 2 hours) with a time-based axis and easier hover tooltips; an animated Pods / Workloads switch; Take snapshot now uses a native Save dialog (reliable across Linux/macOS/Windows).
- Installation guide — download table and supported-OS list corrected to match the actual release artifacts: macOS added, both WebKitGTK 4.0 / 4.1 Linux builds documented, and untested distributions removed.
Added
- Documentation analytics — Google Analytics on the docs site.
Changed
- Landing page — home/index page updates.
Added
- Monitoring dashboard — new Monitoring screen under the Cluster menu with live cluster, node, pod, and workload CPU/memory usage charts, rolling time-series history, and filterable resource tables.
- Dashboard snapshot export — save the Monitoring panel as a PNG snapshot for reporting or sharing.
- Update availability — title bar now checks for newer releases and displays an update prompt with a download link.
Changed
- Cluster metrics collection — improved monitoring by combining metrics-server data with Kubernetes objects for richer live resource usage reporting.
Changed
- Dropped remaining GitHub references — removed the GitHub Releases / repository links from the README and the installation docs, and pointed the Linux package
homepagetohttps://kubeinspector.com.
Added
- Vulnerability scanning (Trivy) — a new Vulnerability Scan screen under the Security menu that integrates the Trivy library directly. Three tabs: a full-cluster scan (every image running across namespaces), a single-image scan, and per-namespace pod images. Results show a severity summary and a filterable, sortable table of CVEs (linked to cve.org), grouped by image.
- Documentation website — a MkDocs Material site under
docs/with a custom "monolith" dark theme matching the desktop app: an animated landing hero (aurora glow + title shimmer) with a prominent Download call-to-action, a streamlined top nav (Getting Started → Downloads, no Home/GitHub clutter), and a site-wide alpha notice. Build/preview locally withmake docs-build/make docs-serve. - Release distribution (Cloudflare R2) — release artifacts are published to an R2 bucket under
/dist, and a per-platform Downloads page (Linux.deb/.rpm, Windows, macOS) is generated from the release tag and deployed with the site on every tag.
Changed
- Rebranded to "Kube Inspector" — all user-facing names (window title, title bar, About dialog, documentation) now read Kube Inspector. Internal identifiers (the
kube-insmodule/binary/package names and the~/.kube-insconfig directory) are unchanged. - Cluster manager — reworked the add/manage cluster modal.
- Build toolchain — the Trivy library pulls in
encoding/json/v2, so the build now setsGOEXPERIMENT=jsonv2(exported by the Makefile) and CI builds with Go 1.26.
Fixed
- CI / Packaging (Ubuntu 24.04) — the Ubuntu 24.04 build now passes
WAILS_TAGS=webkit2_41so Wails compiles againstwebkit2gtk-4.1. Previously the build failed because Ubuntu 24.04 no longer shipswebkit2gtk-4.0, which Wails links against by default.
Changed
- CI / Packaging — linux artifact build adjusted for latest distributions; artifact filenames now include distro markers.
Added
- Security graph — added a dedicated security graph view to visualize role and policy relationships.
- Events screen state persistence — proof-of-concept state storage using Zustand for the events screen.
Changed
- Security role mapping improvements — enhanced role mapping handling for more accurate security rule display.
- React Flow optimization — improved React Flow performance and rendering efficiency.
Fixed
- CI E2E pipeline — the frontend is now built before launching
wails devso the//go:embed all:frontend/distdirective resolves on a clean checkout (dist/is gitignored). Previously the dev server failed to compile, never came up, and the readiness check hung. - E2E readiness check now fails fast and prints the dev log when
wails devexits early, instead of waiting out the full timeout.
Added
Config & Security (RBAC)
- Service Accounts — DataTable with namespace and secret/token columns; read-only YAML view; new model, service and business layers
- Roles — namespaced DataTable with rule summary; YAML view/edit via a dedicated
RoleEditorPanel - Role Bindings — DataTable showing role reference and subjects; YAML view/edit via
RoleBindingEditorPanel
Multi-Instance Management
- Instance discovery & panel transfer over a WebSocket IPC hub (
localhost:34200); the first kube-ins process becomes the hub server, later processes connect as clients, and the hub auto-reassigns when the server exits - Transfer a tab to another instance — right-click any tab to send the panel to another running instance via
InstancePickerMenu;terminalandpodExecpanels are non-transferable - Instances are auto-named in connection order ("Instance 1", "Instance 2", …) and shown in the title bar
- New
InstanceContext,TabInstanceBridgeand a customFloatableTabtab header
Per-tab Cluster Isolation
- Each panel is now pinned to the cluster it was opened with; new
NewK8sClientForCluster/NewK8sClientAndConfigForCluster/NewMetricsClientForClusterconstructors load the panel's cluster directly, bypassing the global active path - Panel IDs and tab titles encode the cluster name, so changing the global cluster via the cluster bar no longer affects already-open tabs
- Cluster bar menu for per-cluster actions
DataTable Filters
- MultiSelect (dropdown) filters for string columns (namespace, status, type, …) with
INmatching and built-in search; numeric columns keep a number input - Workload status column added to workload lists; improved tab insertion order
UI
- Switched to Material Icons / VSCode icon sets across the app
- Log viewer theming, dropdown theming and oversize hidden-item theme fixes
Testing & CI
- Selenium E2E suite under
e2e_tests/(pytest): app smoke flow, navigation across every sidebar item, full YAML CRUD lifecycle, and panel open/load checks (Logs, Exec, Resource Graph); self-contained HTML report with inline failure screenshots;make test-e2etarget - GitHub Actions E2E stages — on tag, an ephemeral
kindcluster +xvfb+ headless Chrome run the suite, and the report is emailed via Gmail SMTP
Changed
- Controller, business and service layers thread
clusterNamethrough all resource-fetching functions
Fixed
- Apply YAML now targets the active cluster's kubeconfig (
--kubeconfig) and surfaces kubectl's error output instead of a bareexit status 1
Added
Storage
- Persistent Volumes — DataTable showing status, capacity, access modes, reclaim policy, storage class, volume mode and bound claim; read-only YAML view
- Volume Claims — DataTable with request/limit columns (instead of generic capacity), status tag, multi-select delete, read-only YAML view
- Storage Classes — DataTable with default tag, provisioner, reclaim policy, binding mode; read-only YAML view
Networking
- Ingresses — DataTable with class, hosts, paths, address and TLS tag; YAML view/edit, delete action
- Ingress Classes — cluster-scoped resource; default tag, controller column; read-only YAML view
- Endpoints — DataTable with ready/not-ready address counts and port info; read-only YAML view
Cluster
- Events — DataTable with message truncation (40 chars), warning-only toggle filter, 5 s polling; double-click opens detail modal with full message
- Limit Ranges — DataTable with type tags and per-type CPU/memory columns; list button opens full resource table modal; YAML view/edit
Pod Exec
- Exec into pod — new terminal panel per pod opened via the Exec button in the pod list; uses
kubectl exec-equivalent SPDY streaming viak8s.io/client-go/tools/remotecommand - Pod list now exposes two action buttons per row: Logs (article icon) and Exec (terminal icon)
containersfield added toPodInfomodel; exec session defaults to the first container
UI
- Material Icons (
@mui/icons-material) added as icon library alongside PrimeIcons; used for pod action buttons - Menu consolidated to a single source of truth in
menuItems.tsx;menu.tsxno longer duplicates nav item definitions
Added
CI/CD
- macOS DMG packaging — new
build/dmg-builder/node package usingappdmg; produceskube-ins-<version>-macos-universal.dmgunderdist/ build-macandpkg-macMakefile targets for local macOS builds and DMG generationbuild-macosjob added to GitHub Actions pipeline (macos-latestrunner); runs in parallel with Linux and Windows build jobs- macOS DMG artifact downloaded and uploaded to GitHub Releases in the release job
Fixed
CI/CD
- Linux package filenames now use
-instead of~as the pre-release separator (version_schema: nonein nfpm) - Linux package filenames include platform label:
debianfor.deb,rhelfor.rpm - Windows installer filename includes version and platform:
kube-ins-<version>-windows-amd64.exe - NSIS (
makensis) added to PATH after winget install step to fix "Cannot create installer: makensis not found" error - GitHub Actions pipeline consolidated: Linux build and packaging merged into a single job
Documentation
- Installation guide updated: replaced EOL distro versions (Ubuntu 20.04, Debian 10, Fedora 36/37, openSUSE 15.4/15.5, etc.) with currently supported releases
- Linux dependency install commands corrected: runtime packages used instead of
-devpackages; WebKitGTK 4.0/4.1 split by distro version - Windows section updated to reflect NSIS installer workflow instead of plain binary
- Download table updated with current file naming format
Added
Networking
- Services — DataTable with namespace filter, port/type tags, YAML view/edit, delete action
UI / UX
- Onboarding Tour — step-by-step guided tour on first launch covering key panels and actions
- About Modal — app version, build info, and repository link accessible from the cluster bar
Editor
- Kubernetes YAML Schema Validation — Monaco editor validates YAML against the full Kubernetes API schema; inline errors and autocompletion for all resource types
CI/CD
- Linux packages (
.deband.rpm) built with nfpm and published to GitHub Releases - Windows NSIS installer built with
wails build -nsisand published to GitHub Releases - Makefile build targets:
build-linux,build-windows,pkg-deb,pkg-rpm,pkg-all - GitHub Actions pipeline split into Build & Package stage and Release stage
Changed
- Dockview panel drag-and-drop uses a custom drag event for more reliable panel reordering
- Node and ResourceQuota screens refactored: leaner component structure, reduced DOM nesting
Removed
- AI Assistant panel and all related backend endpoints
Added
Cluster
- Namespaces — DataTable with multi-select, bulk delete, status tag, double-click YAML view
- Resource Quotas — Hierarchical card layout grouped by namespace; per-quota usage bars (green/amber/red), used/hard values, inline YAML edit per quota; namespace filter
- Nodes — Custom card layout per node: CPU & RAM usage charts (Chart.js), cordon / uncordon / drain actions, YAML edit
Config & Secrets
- ConfigMaps — Key-value editor panel in addition to YAML view/edit
- Secrets — Key-value editor panel in addition to YAML view/edit
AI
- AI Assistant — Chat panel powered by configurable LLM; context-aware cluster queries
UI / UX
- Unified toolbar style across all resource screens — consistent
h3title, padding, and bottom border - All DataTable screens moved to standalone toolbar div (header extracted from PrimeReact DataTable)
Changed
- Node screen header cleaned up; redundant "Updates every 3 seconds" annotation removed
- Various SonarQube code-quality and accessibility fixes
Added
Workloads
- Pods — list, delete, YAML view, log streaming
- Deployments — list, scale, delete, YAML view/edit, log streaming
- StatefulSets — list, delete, YAML view/edit, log streaming
- ReplicaSets — list, delete, YAML view/edit, log streaming
- DaemonSets — list, delete, YAML view/edit, log streaming
- Jobs — list, delete, YAML view (read-only), log streaming
- CronJobs — list, suspend/resume, delete, YAML view/edit, log streaming
Cluster Management
- Multi-cluster support — add, edit, and switch between clusters
- Cluster connection health check (polls every 20 seconds)
- Cluster resource graph visualization (ReactFlow)
- kubeconfig stored per-cluster under
~/.kube-ins/
Networking
- Network Policies — list, YAML view, visual policy diagram (ingress/egress rules)
Workspace
- YAML Editor — apply arbitrary YAML to the active cluster (Monaco editor)
- Terminal — integrated kubectl terminal (xterm.js + pty)
- Log Viewer — real-time pod log streaming with pod selector for workload-level views
UI / UX
- Dockview resizable panel layout — drag, split, and dock panels freely
- PrimeReact Lara Dark theme with monolith overrides
- VSCode-style sharp corners (zero border-radius) on modals, buttons, inputs
- DataTable column resizing with visible resize handles
- Sidebar navigation grouped by resource category
- Dark monolith CSS theme with custom color palette
CI/CD
- GitHub Actions multi-platform build matrix (Linux amd64, Windows amd64, macOS universal)
- Automatic GitHub Release creation and artifact upload on tag push