Foxglove 2.52.0
๐ 3D measurement tool: snap to scene objectsโ
The 3D panel's measurement tool can now snap endpoints to scene objects so you can measure between exact features instead of approximating with the cursor. Hold Alt / Option to enable snapping for that endpoint. Combine snapped and free-space endpoints in a single measurement, and read out per-axis projections alongside the total distance.
๐ฐ๏ธ Absolute timestamps in Plot and State Transitionsโ
Plot and State Transitions panels can now display absolute timestamps on the x-axis instead of seconds elapsed since the start of playback. Pick Absolute under the new Timestamp display setting and ticks render using the global time format and timezone.
๐ Per-topic timestamp sync in 3D and Image panelsโ
The 3D and Image panels' "Sync timestamps" (formerly Strict time sync) toggle is no longer all-or-nothing. Each topic now has its own Sync opt-in in the Topics section. Mix high-frequency and low-frequency topics in the same view and choose which ones must line up before rendering, instead of a single slow topic blocking everything. In the Image panel, the primary image and its visible ImageAnnotations always sync together; in 3D, layouts with sync enabled now need to opt topics in.
New & Improved
- Gauge panel: configurable value ticks in both dial and bar modes (enable Show ticks in panel settings and set a Tick interval); the panel also follows the app's light/dark theme
- Search: the time range is now a built-in filter at the top of the query builder (and surfaces in the collapsed query summary), so it's obvious as a search constraint instead of a separate header control
- Search: the query builder auto-collapses to its summary after running a query so results aren't pushed off-screen โ the Runningโฆ indicator and Cancel button stay visible while a search is in progress
- Search: results show recording filenames (with the full path on hover) and dot-style colored event-type labels in place of raw IDs; the raw recording ID is preserved as an optional column
- Search: list view shows a clear empty state when a query returns zero results, suggesting users adjust the time range or query conditions
- Search: the active date range is preserved when returning from the visualizer via "Back to search", so prior queries no longer appear empty after the round-trip
- Search: Recording key is now available as a first-class field for filtering and display in recording results
- Search: the query builder infers the data type of message field paths from the topic schema and restricts operator choices to ones valid for the field's type (number, string, boolean)
- Search: the "incompatible sites" warning now shows actionable upgrade instructions with a copyable
helm upgradecommand and a link to the upgrade guide, replacing the old "Manage sites" dead-end - Panel settings: section expansion state and scroll position now persist locally across page reloads, per panel
- Plot panel: scalar message-path functions (such as
delta,derivative, anddegrees) are now suggested in autocomplete for fields on schemaless topics - Audio panel: a volume slider in the panel toolbar lets users adjust volume and mute without opening panel settings
- Audio panel: shows a clear "No topic selected" empty state when no topic is configured, instead of a blank waveform
- Source info sidebar: shows the Primary site and (when enabled) Edge site for the loaded recording, matching the recording detail page
- Source info sidebar: Attachments rows now have dividers like the rest of the sidebar lists
- Recording detail: metadata records on the Metadata tab are visually nested under each
Name:header with a divider line between groups, so multi-record recordings read at a glance - Device properties: each property row has a View History action on hover that opens the property history tab pre-filtered to that key
- Device property history: saving a record automatically expands the active time range to include the saved interval, and the default range is widened to 30 days
- Org settings: admins on Pro and Enterprise plans can pick a Default seat type for new members from the General settings page
- Sign-in flows: a language selector on the welcome / sign-in / sign-up pages lets users change app language before signing in (desktop only)
- Recordings page: removed the rarely-used "Poll for new imports / Poll for recording updates" toggle; pending imports still refresh on completion and the recordings list refreshes on load and navigation
Performance
- Improved Search page load speed
- Improved playback performance for remote MCAP files
API
- Note: accessing Recording key in Data Search requires self-managed primary sites on version
0.0.101or later. Foxglove-hosted sites are unaffected.
Fixes
- Data Search: the Cancel button now reliably stops long-running queries once results have started streaming in (the spinner cleared and the button replaced with Run)
- 3D panel: compressed video rendered as image planes (with
cameraInfoprojection) no longer lags several frames behind the rest of the synchronized scene at slow playback speeds - Plot panel: deleting a series no longer changes the displayed color of other series that did not have an explicit color stored
- MCAP support: fixed loading of MCAP files whose JSON Schema channels use string-valued
oneOfenums (includingschemars-generated schemas) - MCAP / IDL: fixed broken deserialization of messages whose union discriminator does not match a case in the IDL spec
- Recordings, Sessions, Events, and Devices pages: filter inputs use the same compact sizing as inputs in visualization panels (matching the smaller height used by panel settings)
- Desktop: fixed a Windows packaging issue that could leave shipped app executables unsigned
Downloads: Linux: deb amd64 arm64, snap amd64 | Windows: x64 arm64 | Mac: Apple Silicon Intel