Changelog
Bug Fixes
- Fixed query malformation in logs explorer when switching between views. The query builder now correctly preserves all query components across view transitions.
- Error states no longer persist when navigating between pages in the UI. The error page now clears properly when you move to different sections of the application.
- Query parameters now remain intact when switching between list, time series, and table views in Logs Explorer.
- Visual improvements to trace explorer, exceptions, and trace funnels with better layout consistency and more intuitive navigation patterns.
- Services with names starting with
@now display correctly on the Services page. Previously, the/servicesAPI would omit these services due to a query parameter binding issue in ClickHouse.
Maintenance
- Upgraded tmp package to version 0.2.4 to address a security vulnerability, improving overall platform security and stability.
Bug Fixes
- Charts displaying duration metrics in milliseconds now render correctly with proper Y-axis formatting. Previously, duration values weren't being converted to strings before formatting, causing rendering issues.
- Error states no longer persist when navigating between pages in the UI. The error page now clears properly when you move to different sections of the application.
- Aggregation options in alert conditions now update correctly when switching between metrics. Previously, the dropdown would show stale options that didn't match the selected metric.
- Improved data point selection on charts with dense time series data, making it easier to inspect specific values when many data points are closely packed together.
- SMTP TLS configuration (
SMTPRequireTLS) is now preserved correctly during config merges, preventing email notification failures caused by overwritten TLS settings.
Maintenance
- Dashboard panel colors have been updated to meet better contrast ratio standards, improving readability and accessibility across all dashboard visualizations.
Celebrating 100 GitHub Releases
100 releases later, and it still feels like the first day. From our conviction to build an open-source all-in-one observability tool to launching SigNoz Cloud, it's been an incredible journey.
Read the full story: A Story of Chaos, Conviction, and Code.
Meet Olly, Our Arctic Companion

Say hello to Olly, the newest member of the SigNoz family! We chose an arctic bear because they thrive in extreme environments, adapt to constant change, and see clearly through harsh storms. That's exactly what you do every day! Debugging complex systems in chaotic environments and bringing clarity to your observability stack.
Olly represents the friendly, helpful spirit of our community, and we're excited for you to get to know him as he guides you through your observability journey.
Span Percentile in Trace Details
View percentile rankings for individual spans to quickly identify performance outliers. When examining a span, you can now see its position in the performance distribution. For instance, a span marked as p74 indicates it was slower than 74% of similar spans. The expandable "Span Percentile" panel displays percentile breakdowns (p50, p90, p95, p99) with corresponding durations highlights the current span's position. Clicking on ‘+’ allows filtering by resource attributes. You can also set custom time ranges for targeted performance analysis.
Infrastructure Metrics in Trace Details
View infrastructure metrics directly from trace details to correlate application performance with underlying resource usage. Click the "Metrics" button in the span details drawer to access CPU usage, memory consumption, and other infrastructure metrics for the pod, node, or host where the span executed.
Query Cost Meter Data Across Product Modules

Create alerts and dashboards using cost meter data alongside metrics from other telemetry signals. You can now query meter data (usage and cost information) within the query builder across dashboards and alert rules, enabling you to set up budget alerts, track usage trends, and correlate costs with application metrics.
Doc: https://signoz.io/docs/cost-meter/alerts/
Bug Fixes
- Resolved infinite API calls in traces explorer caused by variable cleanup logic. Dashboard variables now work correctly without triggering repeated unnecessary requests.
- Fixed alignment issues on the home page to ensure consistent layout and visual presentation across sections.
- Cold storage configuration now correctly disables the save button when retention is set to disabled (-1 value), preventing unintended saves.
- Eliminated duplicate user creation in cloud integrations. The system now properly checks for existing users before creating new accounts.
- Improved visual consistency in log details view with minor UI adjustments for better readability.
- Alert threshold values now display with properly formatted units in descriptions and summaries, making alert configurations easier to understand at a glance.
- Fixed legend scroll position resetting unexpectedly when interacting with alert and histogram panels, maintaining your position during chart interactions.
- Dashboard panels now display appropriate decimal precision for metric values, ensuring accurate data representation without truncation.
- Enhanced empty state handling in span logs drawer to distinguish between scenarios where no logs exist for a specific span versus the entire trace, with clearer messaging and actionable next steps.
Maintenance
- Upgraded Axios to version 1.12.0 to address a critical DoS vulnerability, improving overall security and stability of the platform.
- Enabled Cost Meter by default in Docker and Docker Swarm installations, allowing users to track usage and cost metrics out of the box without manual configuration.
Smarter Logs Context with Priority-Based Attribute Selection

When viewing log details, the most relevant resource attributes are now automatically selected and displayed based on a priority system. This reduces clutter by filtering out redundant identifiers. For example, if both k8s.pod.uid and k8s.pod.name are available, only the more meaningful k8s.pod.name is shown. This makes log context more actionable and easier to understand at a glance.
Improved Quick Filters Visibility and Auto-Open Behavior

Quick filters now automatically prioritize active filter values to the top of the list and auto-expand filter sections that contain active query filters. This makes it easier to see which filters are currently applied without manually scrolling through long filter lists, streamlining your filtering workflow.
Shareable Dashboard URLs with Variable States
Dashboard variables are now embedded directly in URLs, making it easy to share dashboards with specific filter states (#8874). When you select variables like environment, service name, or custom filters, the URL automatically updates to include these selections. Share the link with teammates and they'll see the exact same filtered view you're looking at. No manual configuration needed. This also enables automated workflows and integrations where dashboards can be accessed programmatically with predefined variable states.
Bug Fixes
- Fixed HTML rendering in log body view to prevent unintended code execution. Log content now displays as plain text with stricter sanitization rules for safer viewing.
- Resolved infinite API calls in traces explorer caused by variable cleanup logic. Dashboard variables now work correctly without triggering repeated unnecessary requests.
- Restored drag-to-select functionality in panel edit mode. You can now drag on charts to zoom into specific time periods, with updates scoped to the current panel only.
- Corrected threshold validation to check unit compatibility for both table widgets and time series graphs, preventing configuration errors.
- Eliminated memory leaks from uPlot chart event listeners. Charts now properly clean up handlers when destroyed or updated, reducing browser memory consumption.
- Fixed metric aggregation operators being unnecessarily reset when switching between metrics of the same type. Your time and space aggregation settings now persist when the metric type remains compatible.
- Fixed inability to switch between visualization views when group by clauses are present. You can now switch from time series or table views to list or traces views without losing your query configuration.
Maintenance
- Standardized error handling across the backend with a custom error package and enforced consistent practices through linting rules.
- Added the ability to edit metric units directly from the metric details page, making it easier to correct or standardize units without recreating queries or dashboards.
- Improved S3 logs retention configuration by refining cold storage duration options for clearer and more consistent retention policy management.
OIDC SSO Support
You can now authenticate using OpenID Connect (OIDC) protocol, enabling single sign-on with popular identity providers. This feature is only available for enterprise customers with license and cloud deployments.
We have introduced another authentication system called "opaque" for better session management. Session management is now fully configurable with the opaque system, and users can opt-in to use either JWT or opaque.
SigNoz SAML also now supports Jumpcloud and AWS SSO and is now compatible with almost all SAML providers out there.
CGO-Free SQLite Implementation
We replaced mattn/sqlite with modernc.org/sqlite, which is a CGO-free port of the C SQLite3 library. This change simplifies the codebase and improves compatibility across different platforms without requiring C dependencies.
Bug Fixes
- Search input in trace details is now visible by default, making it easier to find specific attributes without having to toggle the search icon first.
- Fixed multiple issues in the trace waterfall view including proper date formatting with seconds in span hover cards, a 0.5-second hover delay to reduce accidental pop-ups, and correct URL updates with span IDs for better navigation.
- List view options and controls remain accessible in traces explorer even when showing no results or error states, so you can still adjust your view settings.
- Time-To-Live (TTL) settings for legacy logs tables in ClickHouse now apply correctly, ensuring proper data retention management for both legacy and new logs tables.
- External API calls now display correctly for all users by supporting both old and new OpenTelemetry Semantic Convention attribute names (pre-1.23 and 1.23+), ensuring monitoring works regardless of your instrumentation version.
Maintenance
- Feedback button now includes visible text label alongside the icon, making it clearer for users to provide feedback on their experience.
New alerts experience now available in beta

We have rebuilt the alerts system with a more intuitive interface and powerful new capabilities. The new experience is available in beta for metric, log and trace based alert types.
Multiple thresholds in a single alert

Set multiple severity thresholds within one alert instead of creating separate alerts for each severity level. For example, send a warning when CPU usage exceeds 75% and a critical alert when it exceeds 95%, all in one alert. Each threshold can route to different notification channels.
Dynamic notification routing with routing policies

Route notifications dynamically based on alert attributes using expression-based routing policies. Create one alert and let routing policies determine where notifications go based on labels like service name, team, or environment. Perfect for organizations with shared infrastructure where multiple teams need the same metrics routed to their specific channels.
Control notification behavior

Group alerts by specific fields to combine alerts with matching field values into a single notification, reducing notification volume while keeping related alerts together.
Configure re-notifications to send periodic notifications while an alert condition remains active, giving you control over notification frequency to balance awareness with reducing alert fatigue.
Bug Fixes
- Query filters using comparison operators (greater than, less than) on numeric fields now work correctly when those fields contain string values. Previously, filters like
severity_number > "7"orhttp.status_code >= "400"would compare values alphabetically instead of numerically, leading to incorrect results. - EXISTS and NOT EXISTS operators on resource attributes in logs and traces now work correctly. These operators now use
IS NULLandIS NOT NULLchecks for proper filtering of JSON column types. - Dashboard panels now require at least one active query before saving. This prevents creating empty or non-functional panels where all queries are disabled.
- Active filters now correctly carry over when using "View Traces" or "View Logs" functionality from different parts of the product.
- The preferences framework has been refactored to improve reliability when syncing user settings across logs and traces views. This ensures your column selections, view modes, and display preferences now persist correctly throughout your workflow.
- Log context view now properly centers on the selected log entry. The correct log ID is passed in the query so you see logs surrounding the specific event you selected.
- Anomaly detection alerts using the "value is below" operator now trigger correctly. The fix ensures proper threshold calculations so alerts fire accurately when values fall below expected ranges.
- Pagination in the Exceptions tab now works correctly. Page offsets are calculated properly so you can browse through exception data without skipping pages.
Enhanced header with share and feedback sections

The header now includes quick access buttons for sharing page links and submitting feedback across all pages. Share your current view with teammates or report issues directly without leaving the application.
Bug Fixes
- Stacked bar chart settings no longer affect non-bar panel types - stacking is now properly restricted to bar charts only
- Scroll position in chart legends is now preserved when toggling series, improving UX for long legend lists
- Cursor jumping issue in Query Builder resolved - query updates now only trigger on blur or Cmd+Enter instead of every keystroke
- "No quick filter found" screen no longer appears when navigating back from other pages due to proper cached data handling
- Alert threshold values now update correctly when modifying conditions in edit mode, preventing stale state issues
- Notification settings section now properly appears in the alert creation workflow
- Cold storage configuration now correctly applies in TTL v2 settings
Span Logs Support

View logs directly associated with your spans in the trace details view. This powerful correlation feature helps you quickly understand what happened during a span's execution by showing relevant log entries alongside your trace data.
When viewing a span in trace details v2, you can now access a "Logs" tab that displays:
- All logs emitted during the span's execution timeframe
- Contextual logs from before and after the span (for better understanding)
- Visual highlighting of logs that are directly related to the selected span
- An info icon explaining why certain log lines are highlighted
Click on any log entry to jump directly to the logs explorer with pre-applied filters for deeper investigation. The explorer automatically filters by both trace ID and span ID, making it easy to continue your debugging workflow.
This feature significantly reduces the time spent correlating traces and logs, giving you a complete picture of your application's behavior in one unified view.
🚨 Breaking Change (Community Edition)
Legacy alertmanager has been removed in favor of the inbuilt signoz alertmanager for improved reliability and feature support.
Export Logs with Custom Options

Export your log data directly from the Logs Explorer with flexible options. Choose your preferred format (CSV or JSONL), select how many rows to export (10k, 30k, or 50k), and decide whether to include all columns or just the ones visible in your current view.
The export preserves your active filters and time range, making it easy to share specific insights with your team or perform offline analysis.
Trace Details V2 Improvements

Smart Span Highlighting - When searching within a trace, matching spans are now visually highlighted while others are dimmed, making it instantly clear which spans match your search criteria. No more hunting through hundreds of spans to find what you're looking for.
Resizable Trace Sidebar - Customize your workspace by dragging to resize the trace details sidebar. Whether you need more room for the flamegraph or want to see detailed span attributes, you're in control of your layout.
Span Hover Cards - Get instant insights without clicking. Hover over any span to see key information like duration, service name, and status in a convenient popup card. Perfect for quickly scanning through traces without losing context.
These improvements work together to create a more fluid trace analysis workflow, helping you identify issues faster and understand system behavior at a glance.
Query Builder Enhancements

New query capabilities make it easier to search and filter your data with improved text search and helpful validations.
hasToken Function Support - Search for specific tokens within text fields using the new hasToken function in Query Builder. Perfect for finding logs or traces containing specific keywords, error codes, or identifiers without complex regex patterns.
LIKE/ILIKE Operation Warnings - Get helpful warnings when using LIKE or ILIKE operators without wildcard characters (% or _). This prevents common mistakes where queries return no results because wildcards were forgotten, saving debugging time and ensuring your filters work as intended.
Bug Fixes
- Improved trace query performance by scanning only required traces when filters are applied, significantly reducing response times for large datasets.
- Corrected the matching spans count display in trace details v2 to show accurate results when searching within traces.
- Resource filters now handle numeric values properly, preventing crashes when filtering traces with numeric resource attributes.
- Dot metrics are now enabled by default, aligning with OpenTelemetry semantic conventions for consistent metric naming.
- Logs explorer charts now display severity text correctly, resolving visual inconsistencies in log visualizations.
- The alerts edit page no longer crashes, allowing smooth modification of alert configurations.
Maintenance
- Query Builder v5 is now the default, bringing enhanced query capabilities and better performance across all data exploration workflows.
- Resource attributes now support JSON columns, enabling more flexible data storage and complex querying patterns.
- Metrics automatically populate with default zero queries, ensuring charts render properly even without data points.
- Workloads listing now uses WebSocket Secure (WSS) connections for faster real-time updates and improved stability.
- Query add ons remain visible after page refresh when values are present, preserving your working context.
Launch Week 5.0 is Here!

Join us for Launch Week 5.0 from September 8-12 at 9 AM PT. Five days of major feature announcements, live demos, and deep dives into what's new in SigNoz.
Important❗Upgrade to v0.94.0
Follow the upgrade guide to update the ClickHouse version to 25.5.6. You can also use our upgrade path tool to identify the exact steps you need to take.
Interactive Dashboards

Your dashboards are now fully interactive. Click directly on any data point in your panels to drill down and explore - no more opening new tabs and manually recreating queries.
Key capabilities:
- Drill down from any panel: Click a spike in errors and break it down by service, then by endpoint, then by region - all in seconds
- Cross-filtering with dashboard variables: Click any value in a panel to set or create dashboard variables on the fly. Your entire dashboard updates instantly
- Context links: Jump directly from metrics to related logs or traces while preserving all filters and time ranges
- Live query editing: See something interesting? Edit the query right there in the panel - change from P99 to P95, add filters, adjust the time range
This works with all your existing dashboards built with the query builder - no migration needed.
Trace Operators

You can now query spans based on their relationships within a trace. Find spans where the root span has specific attributes, where the parent span encountered an error, or where any span in the trace matches certain criteria. This gives you deeper correlation capabilities for debugging distributed systems.
Examples of what you can now do:
- Find all spans where the root span's service is "web-store"
- Query spans where the parent span has an error
- Filter spans where any span in the same trace has specific attributes
- Analyze parent-child relationships to understand request flow patterns
Span Attribute Pinning

Pin important span attributes for easier access and visibility in the trace explorer. This helps you keep critical attributes always visible while investigating traces.
Multiple Panel Deletion
When updating dashboards via API key, you can now delete multiple panels in a single operation, making programmatic dashboard management more efficient.
Bug Fixes
- Fixed table panel sorting issues due to mismatch in aggregation lookups.
- Y-axis units are now interactive in panel edit mode.
- Resolved table panel scrolling issues caused by style overrides from the calendar component.
- Fixed incorrect queries when changing panels to list panel type.
- Improved compatibility with OpenTelemetry semantic conventions version 1.26 and above for third-party APIs.
Global Command Palette

Press Cmd+K (Mac) or Ctrl+K (Windows/Linux) to instantly access any page, search for actions, or navigate using keyboard shortcuts. The palette shows all available shortcuts like Shift+H for Home, Shift+T for Traces, and Shift+L for Logs, making navigation faster without touching your mouse. This is especially useful when you're debugging issues and need to quickly jump between different modules.
The command palette includes:
- Quick navigation to all major sections (Home, Dashboards, Services, Traces, Logs, Alerts, Exceptions, Messaging Queues)
- Keyboard shortcuts displayed for each action
- Search functionality to find any action or page
- Account settings access
HTTP Status Badges in Trace Details

HTTP status codes are now prominently displayed as colored badges in the trace details view. When examining traces in the waterfall or flamegraph views, you'll instantly see status badges (200, 404, 500, etc.) on each span, making it easier to spot errors and understand request outcomes at a glance. The badges use intuitive color coding like green for successful requests (2xx), yellow for redirections (3xx), orange for client errors (4xx), and red for server errors (5xx).
The status badges appear in:
- Waterfall view for sequential span analysis
- Flamegraph view for hierarchical trace visualization
- Both collapsed and expanded span states
- Automatically extracted from standard HTTP status code attributes
Cost Meter

The new Cost Meter provides comprehensive visibility into your observability costs across all telemetry signals. Track your data ingestion patterns in real-time with hourly aggregation and understand exactly where your observability budget is going.
Key capabilities:
- Signal-level breakdown: See detailed cost analysis for logs, traces, and metrics separately
- Real-time monitoring: Track costs as they occur with hourly data aggregation
- Key contributors identification: Understand which services, endpoints, or components are driving your costs
- Ingestion insights: Monitor log record counts, span sizes, and metric datapoint volumes
Access Cost Meter directly from the sidebar navigation to start optimizing your observability spend.
Redesigned Date Picker

The new date picker provides separate date and time inputs for more precise control, real-time validation to prevent invalid ranges, and clear timezone indicators. Custom time ranges are now easier to set and persist when reopening the picker.
Bug Fixes
- Keyboard shortcuts in the trace explorer and home page now work correctly, ensuring consistent navigation across the application.
- Exclusion operators (NOT CONTAINS, NOT LIKE, !=, NOT REGEXP) have been updated to use AND logic, making negative filters more intuitive.
- Back navigation in the traces explorer no longer breaks, letting users return without losing context.
- Group by queries in logs and traces explorer automatically switch to time series view when aggregated, showing the proper visualization.
- Fixed panel correlation and alert multi-aggregation issues, resolving problems where dashboard panels weren't properly linked and alerts with multiple aggregations weren't working correctly.
- Query builder filters are preserved when switching time ranges or modifying queries, preventing cases where values were being converted incorrectly (e.g.,
service.name IN 'cartservice'converting toservice.name IN []). - Full-text search is now case-insensitive and properly handles regex patterns, leading to more accurate results and better index utilization.