All notable changes to the Ask O11y Grafana plugin will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.2.36 (2026-06-09)
- backend: add prompt guardrails (#144) (a6f0aaa)
- feedback UX quick wins, run-plan cleanup, and topology improvements (#143) (61d5515)
0.2.34 (2026-06-03)
- agent: remove legacy runtime mode and always emit structured agent events
0.2.32 (2026-06-01)
- chat: collapse evidence details by default and complete run progress on terminal events
0.2.31 (2026-06-01)
- agent: make approve-for-session tool grants session-scoped
- chat: collapse run progress details behind an expandable progress bar
0.2.30 (2026-05-29)
- agent: coordinate approval decisions through Redis across Grafana replicas
- llm: add retry, auto fallback, and safe diagnostics for Grafana LLM 500s
0.2.29 (2026-05-29)
- agent: add approval-gated agent runtime, run traces, eval routes, model routing, and MCP risk classification
- config: rework plugin settings into Grafana-native tabs with MCP, service graph, prompt, runtime, and unsaved-change controls
- docs: refresh Marketplace README and screenshots with real dev-instance captures
0.2.28 (2026-05-21)
0.2.27 (2026-05-18)
0.2.26 (2026-05-13)
0.2.25 (2026-05-13)
0.2.24 (2026-05-11)
0.2.23 (2026-05-04)
0.2.22 (2026-04-21)
- backend: add graphiti knowledge graph integration (#119) (835c040)
- backend: anti-hallucination safeguards and mcp transport retries (#122) (04b0f11)
- backend: inject real datasource UIDs and discover list_datasources tool dynamically (#125) (bb0993c)
- mcp: unblock streamable-http transport behind OAuth/CF gateways (#123) (b1ead68)
0.2.21 (2026-04-07)
0.2.20 (2026-04-02)
0.2.19 (2026-04-01)
0.2.18 (2026-03-30)
- viz: resolve Prometheus, Loki, and Tempo datasources like Grafana defaults (and optional
dsUID on code fences) instead of hardcoded names (#104)
0.2.17 (2026-03-13)
- add attestation to artifact (#2) (99b0a07)
- add custom loader with style (#17) (5b4abcc)
- add Right Side Panel (#3) (9bbf7c7)
- agent: server-side agentic loop with detached execution and E2E test consolidation (#46) (c5fbe29)
- agent: use alert runbook annotation during investigation (#57) (3f1bc5d)
- backend: move agent loop logic server-side with template system and PromptEditor UI (#53) (f50ff9a)
- chat: add alert investigation mode for one-click RCA (#29) (a0f129e)
- chat: add OTEL tracing and Tempo to the agent loop (#82) (4037b68)
- config: store MCP server headers and Redis URL in secureJsonData (#86) (1038a49)
- get ready for first release (#1) (bdd4c98)
- store sessions in the backend (#6) (4825a8e)
- use scene for split view (#15) (62a8f4b)
- add orgID to share urls (#18) (b08a530)
- allow plugin signing (a52542c)
- allow signing (a6e75ad)
- backend: address Grafana review feedback for Go code quality (#64) (57b42f1)
- backend: fix unreliable session history in multi-replica Grafana deployments (#69) (876e939)
- backend: make SA token fetch non-fatal and sanitize HTTP error messages (#90) (9c14ba6)
- build: filter node_modules from Go manifest (#71) (881d928)
- chat: add SSE idle timeout and allow new chat during generation (#62) (954437c)
- chat: fix autoscroll not triggering after user scrolls up (#78) (4d4c618)
- ci: add fast-pass for release-please PRs (49de748)
- ci: add workflow_dispatch trigger (75c59b4)
- ci: allow 'main' scope for release-please PRs (7aa127b)
- ci: make release-please PRs mergeable by skipping CI for non-code changes (#35) (73b1bea)
- ci: remove package.json from paths filter (05ab8b4)
- config: enhance claude setup (7d76956)
- deps: pin flatted to 3.3.3 to exclude Go files from manifest (#75) (c458ef4)
- mcp: namespace mcp-tool-settings localStorage key with plugin ID (#83) (a1e8eef)
- plugin: change per-request MCP log statements from Info to Debug (#84) (dd8f4a3)
- release: use PAT for release-please and skip GitHub Release creation (#37) (fc6014a)
- release: use simple tag format (v0.2.5 not ask-o11y-plugin-v0.2.5) (e84de65)
- share banner and limit tabs (#19) (51b491d)
- side panel disappearing after each new question (#16) (527287d)
- side-panel: open panel when links appear after session load or hard refresh (#79) (fb4d87d)
- ui: remove all console.* calls from shipped frontend code (#91) (61f59a1)
- ui: replace hardcoded colors and fixed pixel widths with Grafana theme abstractions (#87) (5f64b38)
- ui: resolve chat UX issues and frontend code quality (#66) (5ec62dc)
- version (#28) (0f9b584)
0.2.16 (2026-03-13)
0.2.15 (2026-03-12)
- backend: make SA token fetch non-fatal and sanitize HTTP error messages (#90) (9c14ba6)
- ui: remove all console.* calls from shipped frontend code (#91) (61f59a1)
0.2.14 (2026-03-11)
- chat: add OTEL tracing and Tempo to the agent loop (#82) (4037b68)
- config: store MCP server headers and Redis URL in secureJsonData (#86) (1038a49)
- chat: add SSE idle timeout and allow new chat during generation (#62) (954437c)
- mcp: namespace mcp-tool-settings localStorage key with plugin ID (#83) (a1e8eef)
- plugin: change per-request MCP log statements from Info to Debug (#84) (dd8f4a3)
- ui: replace hardcoded colors and fixed pixel widths with Grafana theme abstractions (#87) (5f64b38)
0.2.13 (2026-03-09)
- chat: fix autoscroll not triggering after user scrolls up (#78) (4d4c618)
- side-panel: open panel when links appear after session load or hard refresh (#79) (fb4d87d)
0.2.12 (2026-03-06)
0.2.11 (2026-03-06)
0.2.10 (2026-03-04)
0.2.9 (2026-03-03)
- backend: address Grafana review feedback for Go code quality (#64) (57b42f1)
- ui: resolve chat UX issues and frontend code quality (#66) (5ec62dc)
0.2.8 (2026-02-18)
0.2.7 (2026-02-14)
- config: enhance claude setup (7d76956)
0.2.6 (2026-02-06)
- add attestation to artifact (#2) (99b0a07)
- add custom loader with style (#17) (5b4abcc)
- add Right Side Panel (#3) (9bbf7c7)
- chat: add alert investigation mode for one-click RCA (#29) (a0f129e)
- get ready for first release (#1) (bdd4c98)
- store sessions in the backend (#6) (4825a8e)
- use scene for split view (#15) (62a8f4b)
- add orgID to share urls (#18) (b08a530)
- ci: add fast-pass for release-please PRs (49de748)
- ci: add workflow_dispatch trigger (75c59b4)
- ci: allow 'main' scope for release-please PRs (7aa127b)
- ci: make release-please PRs mergeable by skipping CI for non-code changes (#35) (73b1bea)
- ci: remove package.json from paths filter (05ab8b4)
- release: use PAT for release-please and skip GitHub Release creation (#37) (fc6014a)
- release: use simple tag format (v0.2.5 not ask-o11y-plugin-v0.2.5) (e84de65)
- share banner and limit tabs (#19) (51b491d)
- side panel disappearing after each new question (#16) (527287d)
- version (#28) (0f9b584)
0.2.5 (2026-02-06)
- add attestation to artifact (#2) (99b0a07)
- add custom loader with style (#17) (5b4abcc)
- add Right Side Panel (#3) (9bbf7c7)
- chat: add alert investigation mode for one-click RCA (#29) (a0f129e)
- get ready for first release (#1) (bdd4c98)
- store sessions in the backend (#6) (4825a8e)
- use scene for split view (#15) (62a8f4b)
- add orgID to share urls (#18) (b08a530)
- ci: add fast-pass for release-please PRs (49de748)
- ci: add workflow_dispatch trigger (75c59b4)
- ci: allow 'main' scope for release-please PRs (7aa127b)
- ci: make release-please PRs mergeable by skipping CI for non-code changes (#35) (73b1bea)
- ci: remove package.json from paths filter (05ab8b4)
- release: use simple tag format (v0.2.5 not ask-o11y-plugin-v0.2.5) (e84de65)
- share banner and limit tabs (#19) (51b491d)
- side panel disappearing after each new question (#16) (527287d)
- version (#28) (0f9b584)
0.2.4 (2026-02-05)
- add attestation to artifact (#2) (99b0a07)
- add custom loader with style (#17) (5b4abcc)
- add Right Side Panel (#3) (9bbf7c7)
- chat: add alert investigation mode for one-click RCA (#29) (a0f129e)
- get ready for first release (#1) (bdd4c98)
- store sessions in the backend (#6) (4825a8e)
- use scene for split view (#15) (62a8f4b)
- add orgID to share urls (#18) (b08a530)
- ci: add fast-pass for release-please PRs (49de748)
- ci: allow 'main' scope for release-please PRs (7aa127b)
- share banner and limit tabs (#19) (51b491d)
- side panel disappearing after each new question (#16) (527287d)
- version (#28) (0f9b584)
0.1.0 - 2026-01-XX
Initial release of Ask O11y - AI-powered observability assistant for Grafana.
- Natural Language Query Interface: Conversational AI assistant for querying metrics, logs, and traces
- Real-time Streaming Responses: Live LLM responses with tool execution status updates
- Interactive Visualizations: 8 chart types (time series, stats, gauge, table, pie, bar, heatmap, histogram)
- On-the-fly Visualization Switching: Change chart types without re-running queries
- Session Management: Persistent chat sessions with localStorage support
- Quick Suggestions: Context-aware query suggestions based on Grafana environment
- Model Context Protocol Support: Integration with MCP servers for extensible tool capabilities
- 56+ Grafana Tools: Complete dashboard, datasource, alerting, and query management
- Multiple Transport Types: Standard MCP, OpenAPI/REST, SSE streaming, HTTP streamable
- Dynamic Tool Discovery: Automatic detection of available tools from configured MCP servers
- Multi-server Aggregation: Proxy and aggregate tools from multiple MCP servers
- Role-Based Access Control (RBAC): Admin/Editor full access (56 tools), Viewer read-only (45 tools)
- Multi-tenant Organization Isolation: Secure data isolation per user, with sessions organized by organization
- Grafana Permission Integration: Respects existing Grafana datasource permissions
- Secure Credential Storage: Integration with Grafana's secure storage mechanisms
- Time Range Controls: Built-in time picker with common presets
- Auto-refresh: Configurable intervals from 5 seconds to 1 hour
- Query Export: Copy PromQL/LogQL/TraceQL queries to clipboard
- Theme Support: Automatic light/dark theme integration
- Expandable Charts: Full-screen chart analysis mode
- Responsive Design: Mobile and desktop optimized layouts
- TypeScript: Strict type checking with comprehensive type definitions
- React 18: Modern React with hooks and functional components
- Tailwind CSS: Utility-first styling with Grafana theme integration
- Go Backend: High-performance MCP proxy server
- Comprehensive Testing: Unit tests (Jest), E2E tests (Playwright), Go tests
- Hot Module Reload: Fast development workflow with webpack dev server
- Prometheus: PromQL query execution with metric visualization
- Loki: LogQL query execution with log exploration
- Tempo: TraceQL query execution with trace analysis
- Generic Datasources: Query any Grafana datasource through natural language
- Datasource Operations: Query, list, test connectivity, health checks
- Dashboard Management: Create, update, delete, search, star, snapshot
- Alert Management: Configure alerts, silences, notification channels, contact points
- Query Execution: Run queries with automatic visualization
- Resource Discovery: Search and explore Grafana resources
- Panel Operations: Manage dashboard panels and visualizations
- Folder Management: Organize dashboards with folder operations
- User Management: Query user information and permissions
- React 18.2.0 with TypeScript 5.5.4
- Grafana UI Components (@grafana/ui, @grafana/data, @grafana/scenes)
- Tailwind CSS 4.1.12 for styling
- RxJS 7.8.2 for reactive state management
- Model Context Protocol SDK (@modelcontextprotocol/sdk)
- Go 1.23+ with Grafana Plugin SDK
- MCP Go SDK for server integration
- Multi-transport proxy server
- Health monitoring and connection management
- Webpack 5 for frontend bundling
- Mage for Go build automation
- Multi-platform builds (Linux amd64/arm64, macOS amd64/arm64, Windows amd64)
- GitHub Actions CI/CD pipeline
- Automated testing and validation
- Plugin signing support
- Minimum: Grafana 12.1.1
- Tested: Grafana 12.x and Enterprise editions
- grafana-llm-app: Required for LLM provider integration
- @grafana/* packages: Core Grafana integration
- @modelcontextprotocol/sdk: MCP client functionality
- js-tiktoken: Token counting for LLM context management
- streamdown: Markdown streaming utilities
- This is the initial community release
- Requires LLM API key configuration (OpenAI, Anthropic, or compatible provider)
- MCP server configuration required for full functionality
- MIT License