Changelog
All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[0.12.0] - 2026-02-08
Features
-
Unified Search with Knowledge Base
Search the dashboard for both Kubernetes resources and organizational knowledge from a single input. Previously, the dashboard only supported resource search, and the Knowledge Base was inaccessible from the web UI.
The header search now includes a scope toggle (Both/Resources/Knowledge) that controls what gets searched. Selecting "Knowledge" or "Both" sends your query to the Knowledge Base API, which returns an AI-synthesized answer with source provenance. Answers render as rich markdown with clickable source links and collapsible raw chunks for full context. Resource results continue to appear below when the scope includes resources. Both sections have independent loading states so results appear as they arrive.
Search now triggers on Enter or by clicking the submit button, replacing the previous debounced keystroke behavior. The header layout is reordered to Logo, Namespace selector, then Search for a more natural left-to-right workflow. All search parameters (query, scope, namespace) are reflected in URL params for bookmarking and sharing. (#16)
Bug Fixes
-
Ingress and Gateway API Timeout Defaults
Ingress and Gateway API HTTPRoute resources now include timeout defaults (10 minutes) to prevent 504 errors during long-running AI operations such as query, remediate, operate, and recommend.
The Ingress template defaults to nginx timeout annotations (
proxy-read-timeoutandproxy-send-timeout). For other ingress controllers (Traefik, HAProxy, AWS ALB), overrideingress.annotationswith the appropriate controller-specific settings — examples are documented in values.yaml and the setup guide. Gateway API HTTPRoutes now includetimeouts.requestandtimeouts.backendRequestfields, configurable viagateway.timeouts.requestandgateway.timeouts.backendRequestHelm values.See the Kubernetes Setup Guide for controller-specific timeout configuration examples.
Other Changes
-
Playwright E2E Testing Infrastructure
Automated end-to-end tests now run on every pull request, catching visual regressions and component rendering issues before they reach production. Previously, feature verification relied on manual Playwright MCP checks during development, with no automated protection against regressions.
The E2E test suite uses dot-ai's mock server for deterministic test data, ensuring reliable and non-flaky tests. Dashboard tests verify the sidebar resource list, namespace dropdown, and resource table functionality. Failed tests block PR merges, and screenshot artifacts are captured on failure for debugging.
Run tests locally with
npm run test:e2eafter starting the mock server (docker compose -f e2e/docker-compose.yml up -d). Use the/generate-e2e-testsskill to convert manual Playwright MCP verification into automated tests for new features. (#14)
[0.11.0] - 2026-01-23
Features
-
Global Annotations Support in Helm Chart
Apply custom annotations to all Kubernetes resources deployed by the Helm chart. Previously, only Ingress and Gateway resources supported annotations, making it impossible to use tools like Reloader for automatic rolling updates when ConfigMaps or Secrets change, or to add organization-wide compliance annotations.
The new
annotationsfield invalues.yamlapplies annotations to all rendered resources: Deployment, Pod template, Service, Secret, HTTPRoute, Ingress, and Gateway. For resources that already have their own annotation fields (Ingress, Gateway), global annotations merge with resource-specific ones, with resource-specific annotations taking precedence on key conflicts.Configure global annotations in your values file:
annotations:
reloader.stakater.com/auto: "true"
company.com/managed-by: "platform-team"See the Kubernetes Setup Guide for the full configuration reference. (#12)
[0.10.0] - 2026-01-16
Features
-
Kubernetes Dashboard with AI Integration
A new Kubernetes dashboard provides unified resource visibility and AI-powered operations in a single interface. Platform engineers, developers, and SRE teams can browse any Kubernetes resource—including Custom Resources—and trigger AI actions without switching between tools.
The dashboard automatically discovers all resource types in the cluster via Qdrant's indexed data and displays them in a grouped sidebar (core, apps, networking, custom CRD groups). Resource list views show real-time status with color-coded indicators: green for healthy states (Running, Active), yellow for pending operations (Terminating, Pending), and red for failures (CrashLoopBackOff, Failed). Detail views include Overview, YAML (with syntax highlighting and copy), Events, and pod-specific Logs tabs with live polling.
Four AI tools integrate directly into the dashboard. Query analyzes cluster health or answers natural language questions about resources. Remediate identifies root causes of issues and suggests fixes with one-click execution. Operate performs Day 2 operations (scale, update, rollback) by describing intent in plain English. Recommend guides deployments through a multi-stage wizard that applies organizational patterns and policies.
Semantic search (Cmd+K or Ctrl+K) finds resources across the cluster with relevance scoring. Results are grouped by kind and filtered by a configurable minimum relevance threshold (default 50%). Search queries persist across namespace and resource type changes.
Bearer token authentication protects the dashboard. Set
DOT_AI_UI_AUTH_TOKENenvironment variable or let the server auto-generate a random token printed at startup. Helm users configure auth via theuiAuthvalues section.See the Dashboard Documentation for screenshots and usage details. (#7)
Other Changes
-
Towncrier Release Notes Infrastructure
Release notes now contain meaningful descriptions of what changed and why, instead of just artifact versions. The release workflow uses towncrier to collect changelog fragments that accumulate as features merge, then combines them into rich release notes when a version is published.
Release timing is now controlled—releases happen when maintainers push a version tag or trigger the workflow manually, not automatically on every merge to main. The release workflow supports two modes: full releases publish all artifacts with generated notes, while notes-only mode updates release descriptions without republishing artifacts. (#towncrier-release-notes)