Changelog
Revamped Trace Details

The trace details view has been rebuilt with a refreshed layout for navigating spans, attributes, and events. Alongside the revamp, trace details now open in a new tab when launched from funnel results, so you can keep your funnel analysis intact while drilling into individual traces.
Query Builder v5 in Infrastructure Monitoring
Logs, Metrics, Traces, and Events views in Infrastructure Monitoring details now use Query Builder v5. This brings the newer query experience into infrastructure troubleshooting workflows and makes filtering behavior more consistent across the signals you inspect from an infrastructure resource, including:
- Negate operators such as
NOT IN. - Filters now persist as you move between resource details in the same browser tab, so you don't have to reapply them for each
hostorpod. - The selected tab also persists across resource details in the same browser tab, which makes investigations faster when switching between resources.
- Zooming into one metric chart now updates the selected time range across all charts in the resource detail views.
Bug Fixes
- Few UI/UX bugs in the Alert Configuration and common Dashboard views have been resolved.
- Formula queries now correctly apply ordering and limit for table, pie, and value panels.
- Recurring maintenance windows now correctly honour a given fixed time range.
- A cache memory leak has been fixed, preventing unbounded memory growth.
Maintenance
- All high-end and critical-severity Dependabot security alerts have been resolved, significantly reducing dependency risks.
- Compatibility for
pnpm generate:apiafter the Orval v8 upgrade has been restored, keeping API client generation stable for contributors. - Tooltip values are now sorted in descending order, making it easier to spot the highest values at a glance.
More prominent ingestion limit alerts

Setting an alert on your ingestion limit is now a more visible, one-step action with a sensible default alert name. This makes it easier to catch ingestion spikes before they bite into your billing or quota.
Azure Monitoring

Native support for monitoring Azure workloads including VMs, App Service, AKS, Container Apps, Functions, SQL Database, and Blob Storage. Refer setup guides here.
Bug Fixes
- Query results with ragged label sets across series now render correctly in scalar table conversions.
- Query builder now rejects invalid group by timestamp on timeseries requests instead of producing malformed queries.
- Version comparison on the status check now correctly strips the
vprefix, so e.g. v0.50.0 and 0.50.0 are treated as equal. - Host metrics no longer show -1 placeholder values for missing samples.
Maintenance
- Enabled
transaction_mode=immediateon the SQLite store for more predictable write behavior under contention. - Tooling and dependency updates: orval bumped for API client generation, ts-jest updated, and filter styles refreshed.
- Continued internal UI consolidation onto the
@signozhq/uidesign system with icons migrated off lucide-react and Ant Design,LoadingOutlinedreplaced with the SigNoz loader, and typography aligned to the shared library. - Auditor now supports a file provider, letting operators persist audit events to a file destination which is useful for environments that already ship file-based logs to a SIEM.
Per-Dashboard Cross-Panel Cursor Sync
Dashboards now let you choose how panels sync when you hover over a chart. From the General settings of any dashboard, you can pick between Crosshair (a vertical line follows your cursor across all panels), Tooltip (the hovered timestamp's values show in every panel's tooltip), or No Sync. The preference is saved per dashboard, so different dashboards can use different sync modes, useful when some dashboards benefit from tightly correlated panels and others don't.
Bug Fixes
- Span start times in the trace detail view now match the waterfall v2 behavior, removing inconsistencies between the two trace experiences.
- Several minor tooltip rendering issues across the UI have been resolved.
Maintenance
- Infrastructure Monitoring tables have been migrated to the new shared table component, continuing the list/detail consolidation work from v0.120.0.
- Frontend type-checking has been migrated from tsc to tsgo, significantly speeding up the developer feedback loop. The lint-staged integration has also been fixed.
- Auth domain configuration API responses are now properly nested, with consistent naming (
Updateable→Updatable) and anIdentifiablereturned on create, relevant if you consume the SigNoz API directly or generate clients from it. - The OpenAPI schema definitions for
AuthDomainConfigandPostableChannelhave been corrected, fixing mismatches between the documented and actual response shapes.
Introducing the SigNoz MCP Server
SigNoz now has an MCP server that lets AI assistants like Cursor, VS Code / GitHub Copilot, Claude, Codex, Gemini, and others query your observability data through natural language. You can search logs, query metrics, inspect traces, list alerts, and work with dashboards directly from your AI coding tool.
SigNoz Cloud users can connect to a hosted MCP endpoint directly from Settings, with client-specific setup steps and copyable configuration snippets. Self-hosted users can run the MCP server locally via binary, Docker, or by building from source. You can also explore ready-to-use workflows in the MCP use cases guide.
Better Graph Tooltips
Dashboard chart tooltips can now be pinned using a keyboard shortcut. While hovering over Time Series, Bar, or Histogram panels, users can press the P key to lock the tooltip in place and inspect values without keeping the cursor fixed on the chart.
The tooltip UI now shows clearer Live/Pinned states, contextual hints for available actions, and an Unpin action. The footer has also been polished to better distinguish drilldown and pinning interactions.
Deploy SigNoz Under a Custom URL Path
Self-hosted SigNoz deployments can now be served from a custom URL path, such as https://example.com/signoz/, instead of requiring a root domain. This gives teams more flexibility when deploying SigNoz behind reverse proxies, ingress controllers, or shared internal domains.
The external URL can be configured through the SIGNOZ_GLOBAL_EXTERNAL__URL environment variable, while the default remains unchanged for existing deployments. Once configured, SigNoz uses the custom path consistently across the application without requiring an image rebuild.
Please see the corresponding documentation for more details.
Bug Fixes
- Dashboard Bar and Time Series panels now render correctly when
groupBydata is missing, fixing crashes seen in panels created through LLM/MCP workflows. - Unsupported ClickHouse and PromQL query types have been disabled for Anomaly Detection alerts.
- Several edge cases in the Alerts and Planned Downtime frontend flows, such as stale loading states, have been resolved.
- Operations on deleted service accounts now return a proper
404 Not FoundHTTP response instead of501 Not Implemented.
Maintenance
- Frontend internals were streamlined with remaining
xstateusage replaced with plain React state and local dispatch helpers, light-mode specific styles cleaned up, and unused code deleted. - The Trace Waterfall API was moved into the Trace Detail module, with improvements to handling of large traces, caching, and error resilience.
- Alerts and Planned Downtime frontend flows were migrated to generated clients, reducing custom API adapter code and improving consistency in error handling.
- Integration and E2E test infrastructure was consolidated under a shared
pytestproject with common fixtures, local backend-based E2E runs, and updated CI workflows. oxlintandoxfmtwere added as frontend linter and formatter respectively, speeding up the developer feedback loop.- The OpenTelemetry Collector was bumped to stable
v0.144.3.
Better Visibility into Member Invites
Member management has been improved with clearer invite expiry visibility, making it easier for admins to see whether an invite link is still valid before sharing or regenerating it.
Clearer License Information in Workspace Settings

Workspace Settings now includes a dismissible informational callout on the license row, helping clarify how license details differ from Identity & Access management credentials.
Faster Queries Without Resource Filters
Queries that run without a resource filter are now more efficient. This improves performance when you're exploring telemetry across all services or infrastructure instead of narrowing to a specific resource up front.
Improved AWS Integrations
AWS integration setup is now more reliable, fixing issues with connection status checks, S3 bucket reset behavior, and account or region changes during configuration. The integrations module has also been refactored with a strong focus on AWS, making these flows easier to maintain over time.
Bug Fixes
- Alert creation from dashboard panels now works correctly for non-builder query types.
- Styling regressions introduced during the AWS integration refactor have been fixed, including semantic token issues in affected UI surfaces.
- The
HAVINGfilter in the Query Builder V2 now emits a validNOT INoperator, fixing cases where selecting this operator produced malformed queries.
Maintenance
- Alerting and rule-management internals have been consolidated further, with AlertManager, Ruler, and planned maintenance handlers moved into
signozapiserverand tighter OpenAPI validation added for rules and downtimes. - The AlertManager backend has been extended to support templating and custom notifier flows, laying the groundwork for future alert customization.
- The frontend design token system has been moved toward semantic tokens, improving consistency across the UI and reducing styling drift.
- Frontend asset management has been hardened, with assets migrated to
src/assetsand new lint rules added to prevent unsupported asset references. - Infrastructure Monitoring internals for Hosts and Kubernetes have been consolidated into shared list and detail components, improving consistency and making these views easier to maintain.
- Unused or deprecated internals have been cleaned up, including unused trace cache settings and other obsolete code paths.
Bug Fixes
- Routing policy expressions that reference undefined variables no longer fail validation. Variables can now be left undefined without blocking the expression from being saved.
- Queries using
hasAllorhasAnyfilter operators now pass the value argument correctly, fixing cases where these filters returned incorrect results. - Deleted service accounts now return a proper unauthenticated error code instead of a generic failure when their API key is used.
Maintenance
- The OpenTelemetry Collector has been upgraded to v0.144.3-rc.4.
- Cloud integration modules have been refactored with updated query parameter support and removal of deprecated underscore-prefixed attribute dashboards.
- SQLite connection max lifetime is now configurable, improving connection management under sustained load.
- Frontend onboarding data sources have been migrated from JSON to TypeScript, and asset imports now use the
@alias for cleaner path resolution. - ClickHouse queries sent from dashboard panels are now obfuscated in telemetry to avoid leaking sensitive query content.
Auto-Expand in Trace Waterfall
Expanding a span in the trace detail waterfall now automatically pre-expands 5 levels of nested children. Previously, each level had to be expanded individually with a separate click, making it tedious to drill into deeply nested traces. Now a single click reveals the full call hierarchy up to 5 levels deep, so you get to the span you're looking for much faster.
Pretty-Print JSON in Log Details
When you copy an attribute value from the log detail view, JSON values are now automatically pretty-printed for readability instead of being copied as a single compressed line.
Adds Service Accounts
Service accounts now live alongside team members in your workspace and support role-based access control. Each service account is assigned a single role and can authenticate using API keys. The previous API Keys page has been deprecated in favor of this new system. All the existing API keys have been migrated to service accounts.
Role assignment for both team members and service accounts has also been simplified to a single-role model, each identity now holds exactly one role, replacing the previous multi-role selection.
Bug Fixes
- The host list in Infrastructure Monitoring now correctly shows refresh status, and refresh interval queries no longer overlap with each other.
- Dormant metrics in the query range API now return a warning instead of an error, preventing unnecessary failures when querying metrics that haven't reported recently.
- Alert rules history no longer crashes when
relativeTimeis empty. - Dashboard variables with special characters now fall back to the raw parameter if
decodeURIComponentfails - The
havingexpression in the query builder now validates correctly before execution. - Empty
not()filter expressions are now handled gracefully instead of producing query errors.
Maintenance
- Cmd+click (or Ctrl+click) now works on all clickable items across the app, opening them in a new tab as expected.
- Deprecated v3/v4 rule format support and the v1 Metrics Explorer code have been removed.
- JSON Path indexing is now enabled for JSON log bodies, improving query performance on structured log data.
Export Trace Data

You can now export raw trace data directly from the Traces page. A new download button on the trace detail view lets you export trace data in CSV or JSONL format. The export supports both simple filters and advanced composite queries, so you can narrow down exactly the data you need before downloading.
YAML Configuration File Support
SigNoz now accepts a --config flag for loading configuration from YAML files. You can pass multiple files (--config base.yaml --config override.yaml) where later files override earlier ones, and environment variables always take the highest precedence. This replaces the previous deprecated --config flag that was used only for the Prometheus config path.
Bug Fixes
- Filtering traces by trace ID in the list view no longer returns duplicate spans or results from outside the selected time window. Previously, the trace_summary timerange override was applied incorrectly across query buckets, causing repeated and out-of-range results.
- Logs pipeline filters now correctly resolve manually entered attribute names that are not present in the filter suggestion dropdown. Previously, entering a field like
ddtags Existsby hand would misclassify it as a column rather than an attribute, causing downstream processors such as regex parsers to fail silently. - The normalize pipeline now runs first in the processing chain, ensuring consistent field formatting before other pipelines execute.
- PromQL queries that exceed the execution deadline now return a 504 Gateway Timeout instead of a misleading 400 Bad Request. The PromQL engine timeout is also now configurable via the
prometheus.timeoutsetting (default: 2m). - Charts on the Volume Details page in Infrastructure Monitoring now display proper legend labels instead of "undefined."
- Domain rows in External APIs now show a pointer cursor on hover, indicating they are clickable.
- Time series charts with isolated data points surrounded by null values on both sides render those points correctly instead of dropping them.
- Deleting an alert rule or planned maintenance entry that has associated dependencies no longer fails with a foreign key constraint error.
- Agent configurations no longer get stuck in the "In Progress" state indefinitely.
- Users with the Editor role can now access gateway APIs as expected.
- Checkout and billing errors now surface the actual downstream error message in the UI instead of a generic failure.
Maintenance
Patch release with internal fixes. No user-facing changes.
Zoom Out in Explorer Pages
The Logs, Traces, and Metrics explorer pages now have a zoom-out button next to the time picker. A single click steps your time range out through a fixed ladder (15m → 45m → 2hr → 7hr → 21hr → 1d → 2d → 3d → 1w → 2w → 1 month), making it easy to widen context during an investigation without opening the time picker. The range stays centered on your current window when possible, and snaps to "now" when the expanded range would exceed the current time.
Sectioned Panel Settings

The panel settings sidebar in the dashboard widget editor now groups configuration options into clearly labeled, collapsible sections. Related settings like axis, legend, and thresholds are organized together, making it easier to find and adjust visualization options without scrolling through a flat list.
Bug Fixes
- The custom domain settings card (Cloud) no longer shows a confusing plan name label. The card now displays the workspace name and a copiable license key in the footer, and no longer renders empty space when no custom domain is configured.
- Querying a histogram metric that has not received data within the selected time range now returns a "not found" error with diagnostic details (including when the metric was last seen) instead of a generic "something went wrong" message.
- Switching a dashboard panel type from time series to table now loads the table data correctly. The right-side settings panel in edit mode is also scrollable again.
- Dashboard variables now retain their selected values when navigating back from the widget editor and when toggling between view and edit modes.
- Creating a new Slack notification channel no longer fails with a "no global Slack App URL set" error. This affected users who signed up before v0.115.0 and did not have an existing Slack channel configured.
- The default color for log severity_text entries (when no severity key is present) now uses a theme-appropriate background color, resolving poor contrast in dark mode.