Changelog
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.
Auto-Generated Chart Legends from Group By
Chart legends in Query Builder now auto-populate based on your active group by fields. Each series is labeled with the values of the dimensions you're grouping by, so multi-series charts are easier to read without manually writing legend format strings.
Dedicated Members Page in Settings

Team member management has moved out of the SSO settings page into its own dedicated Members page. You can view all members and pending invites in a single table, edit a member's name, role, or password from a side drawer, and send new invitations without leaving the Members section.
Reorganized Settings Navigation
The settings sidebar now groups pages into labeled sections: "Identity & Access" and "Authentication." The account dropdown in the bottom-left corner has also been updated with icons and a cleaner layout, and Keyboard Shortcuts has moved there from the help menu. The "General" settings page is now called "Workspace" and "Account Settings" is now called "Account."
Bug Fixes
- Quick filters now correctly highlight active selections when query keys include prefixes like
resource.service.name. - Opening the widget editor on dashboards imported from partially formed or LLM-generated JSON no longer crashes the threshold selector.
- Dashboard panel creation no longer fails when the underlying API response is unavailable; all panel types now handle missing data gracefully.
- Updating a dashboard variable no longer throws a crash caused by an attempt to modify read-only state.
- The filter dropdown on the trace waterfall view no longer overlaps the search bar when the browser is zoomed in.
- API calls made after a token refresh now correctly retry using the updated token across all pages.
- A planned downtime notification with a malformed description no longer crashes the Planned Downtime page.
- The app layout now uses the correct timer cleanup function, preventing potential issues in non-standard JavaScript environments.
- The selected y-axis unit in Logs, Meter, and Traces explorers is now preserved across reloads, back/forward navigation, and shared links.
Maintenance
- Dashboard panels with auto-refresh enabled no longer accumulate stale query cache entries in memory over time, preventing browser tab crashes on long-running dashboards.
Bug Fixes
- Editing the time range by typing directly into the custom time picker now applies your changes when closing the popover, instead of silently discarding them.
- PromQL-based dashboard panels no longer display internal attributes like
__name__andfingerprintin query results. - Reverted the quick filters migration introduced in v0.114.0 to resolve issues it caused.
Maintenance
- Tooltip pinning has been reworked to support clicking on a data point across time series, bar, and histogram charts to keep the tooltip visible while inspecting values.
Custom Domain Settings Moved to General Settings

Custom domain settings are now consolidated into the General Settings page. The workspace URL on the home page now shows only your new custom domain, removing the confusion between default and custom hosts.
Bug Fixes
Dashboards
- Charts no longer leak memory due to canvas elements persisting across component re-mounts.
- Legend color picker now responds correctly under rapid interactions, and chart tooltips no longer leak memory on re-render.
- Dynamic variables that depend on textbox variables now load correctly even when the textbox value is empty.
Metrics Explorer
- Multiple queries using the same metric with no unit set are now correctly rendered as separate charts instead of being forced into one.
- Metric selection in the query builder now properly responds to blur and keyboard shortcuts (Cmd+Enter), fixing cases where aggregation options would not update after selecting a metric.
- Cmd+Enter now works in the summary tab, and key values can be expanded in full instead of loading five at a time.
- The most recently seen unit is now used instead of an arbitrary one, fixing incorrect unit labels on histogram count metrics.
- Errors are now surfaced to the user instead of failing silently.
Other
- Spatial aggregation queries are now validated before execution, preventing silently incorrect results from invalid configurations.
Maintenance
- SigNoz's frontend build system has been migrated from Webpack to Vite, reducing build times from 83 seconds to 10 seconds.
- Frontend bundle size has been further reduced by lazy-loading the syntax highlighter, moving antd-table-saveas-excel out of the main bundle, switching the Service Map to a lighter dependency, and caching the Intl number formatter.
⚠️ Breaking Change - New migration component replaces signoz-schema-migrator
signoz-schema-migrator is deprecated in favor of signoz-telemetrystore-migrator, which consolidates all migration steps, bootstrap, sync, and async, into a single component that runs as part of your stack. The new migrator checks readiness directly against ClickHouse migration state, eliminating the recurring "Job not found" errors and stalled stacks that came with the old setup.
See the upgrade guide before upgrading, or SigNoz/charts#828 for background.
Bug Fixes
- Clicking filter-in or filter-out options on JSON log body fields in Logs Explorer now works correctly — the detail drawer closes after applying a filter instead of dismissing the popover unexpectedly.
- Selecting and copying text in a log row in Logs Explorer no longer opens the log detail drawer.
- Creating an alert from the Logs Explorer list view now works correctly, with the query automatically converted to a format compatible with time-series alerting.
- The frequency graph in Logs Explorer now reserves red exclusively for actual error states and no longer shows red for logs with blank or unmapped severity.
- Several layout issues in the Logs Explorer column view are now fixed: the first column no longer takes disproportionate space, the table body now uses available width when fewer than three columns are visible, search fields in log details open expanded by default, and the space-indicator column is no longer accidentally draggable.
- Filter attributes in Logs Pipelines now correctly reflect the selected data type. Selecting an attribute of type
tagnow sendstagin the query instead of incorrectly sendingresource. - Dashboard variables chained in sequence now load correctly even when the first variable in the chain does not have the "ALL" option enabled.
- Dashboard threshold warnings now correctly reflect the selected Y-axis unit, fixing cases where thresholds and the Y-axis unit selector used different conversion logic and produced incorrect warnings.
- The "Show IP Addresses" toggle in External API Monitoring now correctly applies to the domain list, including entries returned as scalar data.
- SigNoz's initial load time is now significantly faster with the main JavaScript bundle reduced from ~10MB to ~3.4MB through lazy page loading.
Enhanced SSO Authentication Provider Configuration
The authentication provider configuration UI has been redesigned with additional fields and a cleaner layout. Admins can now configure advanced options for Google, SAML, and OIDC providers, including attribute and claim mapping, directly from the Settings page.
Roles Page
A new Roles page is now available under Settings, giving admins a central place to view all custom roles in the organization with search and filtering support.
Bug Fixes
Dashboards & Panels
- Chart manager table now displays aggregation values (Avg, Sum, Max, Min) using the panel's configured y-axis unit instead of raw numbers
- Dashboard dynamic variables now load their options correctly on first page load
- Switching between panel types no longer causes jerky chart transitions
- Time series charts with only a single data point now render that point as a visible dot instead of an empty chart
- Tooltips in uPlot charts now appear and snap correctly when hovering within range of a data point
- The last row in the overview table is no longer hidden due to a layout overflow issue
Team Management
- Inviting team members no longer shows validation errors on empty rows; only rows where an email or role has been entered are validated. The submit button is also renamed from "Complete" to "Send Invites" for clarity.
Logs
- Queries using
IN,NOT IN,BETWEEN, orNOT BETWEENoperators on JSON array fields in the log query builder now return correct results
External API Monitoring
- Endpoint counts now reflect the correct values when spans use
url.fullinstead ofhttp.urlfor the URL attribute
Introducing Foundry - a simpler way to deploy SigNoz
Foundry is a new CLI tool that makes self-hosting open source observability easier. Instead of manually managing Docker Compose files and configuration, you define your entire SigNoz deployment in a single casting.yaml file and let Foundry handle the rest. It generates all configs and deploys your full observability stack in one command. Supports Docker Compose, Systemd (bare metal), and Render. Check it out on GitHub.
Provision an admin user via environment variables
You can now configure a root admin user through environment variables (user.root.enabled, user.root.email, user.root.password, user.root.org_name) instead of going through the UI setup flow. SigNoz will automatically create the organization and user on startup, making it easier to deploy in automated or headless environments. When root user provisioning is enabled, self-registration via /register is disabled to prevent duplicate organizations.
Copy legend labels from charts
You can now copy the legend text from any chart panel with a single click, making it easier to reference or search for long metric series names.
Replace filters instantly from log details
When inspecting a log, you can now replace all existing filters with a selected field value in a single click. Previously, this required manually clearing all filters and retyping the value. Now it's one action directly from the log detail view.
Navigate logs faster with keyboard shortcuts
When viewing a log in the side drawer, you can now use arrow keys or the < > buttons to move between logs without closing the drawer. You can also click directly on any log in the background table to switch to it instantly.
Select multiple series on stacked bar charts

You can now select multiple legend items on stacked bar chart panels to focus on specific series. Previously, multi-select was not supported for stacked bar charts.
Self-serve password reset
Users can now reset their own password directly from the login page without needing to contact an admin. Clicking "Forgot password?" sends a reset link to the registered email address.
Bug Fixes
- Metrics using Rate and Increase aggregations now return correct values, including when the same metric reports with mixed or changing temporality across services.
- Metrics instrumented with OpenTelemetry that use standard unit annotations (like
Byfor bytes orbitfor bits) now display with correct human-readable formatting instead of raw numbers. - Charts with hidden series now correctly remember which series are visible or hidden based on their identity rather than position, preventing visibility state from shifting when data changes.
- Bar chart panels now calculate bar widths correctly based on the step interval, fixing panels where bars appeared too wide or misaligned.
- The "Show IP Addresses" toggle in settings now works correctly and persists as expected.
- The External API Monitoring page now shows a helpful guide when no data is available, instead of displaying a blank empty page.
Cancel Query in Dashboard Edit Panel
You can now cancel an in-flight query while editing a dashboard panel. Cancelling also retains the previous query result instead of dropping to a "no data" state, so the panel stays informative while you iterate on your query.
Bug Fixes
- Trace detail waterfall view now shows the correct time range when multiple data batches exist for the same trace, eliminating unpredictable span window rendering.
- Service Map environment, k8s cluster, and k8s namespace filters now work correctly when
DOT_METRICS_ENABLEDis active on the backend. - Legend visibility preferences set on a dashboard are no longer overwritten when toggling series in full-screen or edit view. Changes in those contexts stay temporary.
- Trace queries no longer return incorrect results when user-defined attributes share names with intrinsic trace fields like
timestamp. Intrinsic fields are now correctly prioritized. - The quick filters panel now shows the correct expand icon when collapsed, making it clearer that the panel can be opened.
Bug Fixes
- Dashboard charts now render correctly on initial page load instead of appearing blank due to dimension calculation issues
- Group By now correctly handles attributes with identical keys but different types, properly distinguishing between tag and resource variants of the same attribute name
Maintenance
- Pipeline filter dropdown now shows both tag and resource variants when the same attribute key exists in both types, making it clearer which variant you're selecting
New Alerts Experience as Default
The new alerts experience (beta released in v0.97.1) is now the default experience across the platofrm. When you create an alert from the Dashboards module, or the Alerts listing page, you'll see the improved interface. A "Switch to Classic Experience" button in the top-right corner lets you return to the previous interface if needed. Alerts created with the classic flow will continue to open in that interface when edited.
Bug Fixes
- Custom time ranges now handle timezone conversions correctly when users edit datetime values
- Kafka consumer lag monitoring now displays data correctly for accounts using dot notation metrics
- PromQL alerts now respect the minimum data points configuration to prevent alerts from firing with insufficient samples
- Password reset now works via email with time-limited tokens for self-service account recovery
Maintenance
- Quick Filters now include a dropdown to select which query's filters to view and manage in multi-query scenarios