Skip to main content

Foxglove 3.1.0

πŸ“ˆ Step interpolation for Plot series​

Plot a discrete signal, such as a gear, a mode flag, or an enum, as a held step instead of a sloped line that implies a transition that never happened. A Line interpolation setting on each Plot series switches between Linear and Step.

πŸ–ΌοΈ Recordings, Events, and Sessions open in a resizable side preview​

Open a card on the Recordings, Events, or Sessions page and its details slide in beside the grid instead of taking over the screen β€” resizable, arrow-key navigable, and closable with Esc. Even a recording or event with no camera shows a preview, like a path, map, log, or plot. In the list views, the header stays pinned as you scroll, and you can resize columns or double-click to autosize them.

πŸŽ₯ Play H.264 video from CompressedImage topics​

The Image panel can now play H.264 video carried in sensor_msgs/msg/CompressedImage when a schema converter maps it to foxglove.CompressedVideo. Hardware encoders such as NVIDIA's isaac_ros_h264_encoder can keep video on the standard ROS type without recording a duplicate topic or maintaining a bridging node. Read more about Supported encodings.

Paste a Foxglove /view link into Slack and Foxglove expands it with details about the recording, session, event, or device it points to. Read more about the Slack integration.

New & Improved
  • Timeline: an All time range loads the full history from 1970 through today, and the URL preserves it
  • Timeline: when the selected range is empty, a one-click Expand to … button jumps to a wider range that contains recordings, and browser Back restores the original range
  • Recordings, Events, and Sessions share one bulk-actions toolbar that stays pinned while the table scrolls and that wraps to fit narrow windows, and Events and Sessions gain bulk delete
  • Recordings, Sessions, and Device events: a Clear filters control resets every filter field at once, leaving sort order unchanged
  • Recordings: an End time column, hidden by default, can be shown from Manage columns
  • Search: autocomplete now suggests fields, operators, and values for topics whose names don't start with a slash β€” see Search
  • Search: the gallery, query status bar, and details panel now line up on a shared edge
  • Previews: the Auto image shows a color camera instead of a depth camera when a recording has both
  • Command palette: commands you can't run are hidden instead of shown grayed out
  • Command palette: an Adjust playback range command opens and closes the range editor by name from the keyboard
  • Panels: the empty-layout panel picker is navigable with the arrow keys and Enter
  • Plot panel: a top legend starts one row tall and grows only as far as its rows need, leaving more room for the chart
  • 3D and Image panels: with timestamp sync on, transforms can be required at the exact match time, so a frame whose transform is not at that timestamp waits instead of posing against a stale one
  • 3D and Image panels: camera calibration can join timestamp sync, so a panel waits for a calibration message at the matched time instead of using the latest one
  • 3D Maps: on plans without access, the Add 3D Map action stays visible but disabled, with upgrade guidance; eligible layouts suggest a map once location data is ready
  • Agent sidebar: clearer guidance for choosing among a user script, a schema converter, and a topic converter
  • Agent sidebar: append or delete a tab in an existing Tab panel with a scoped write that keeps your current tab active
  • Agent sidebar: a play_until control plays forward and pauses at a target, preserving stateful panel data that a seek would clear
  • Agent sidebar: edits to a user script patch the relevant part of the file instead of rewriting the whole thing
  • Sessions: Edit key in the session overflow menu changes a session key after creation, or clears it
  • Sidebar: Open local file and Open connection are shown only on the visualization view and the dashboard cards, so the sidebar on other pages is browse navigation only
  • Dashboard and sidebar: a Compare local files action opens two or more local files in comparison mode
  • Remote Data Loader: open more than one source on a single dataLoaderUrl and merge or compare them, using the same Data Source sidebar switch as cloud recordings and remote files β€” see Shareable links
  • Example data entry points are relabeled Explore example data for clearer navigation
  • Embed: an embedded page can own the live connection and stream the Foxglove WebSocket Protocol to the viewer from the parent page
Performance
  • Recordings load faster when filtered by a device and sorted by import time
  • Recordings filter faster when scoped to a site on bring-your-own-storage projects
  • The Sessions page loads faster for organizations with many recordings
  • Listing events sorted by creation time is faster
  • 3D panel: the camera stays responsive while you pan or rotate scenes with many transforms or meshes
  • Previews in the Recordings and Sessions galleries load from the browser cache on revisit instead of re-fetching and re-decoding
API
  • Sessions: PATCH /v1/sessions/{keyOrId} changes a session key after creation, or clears it with null
  • Recordings: responses include an optional location field with the object-store path and bucket for bring-your-own-storage and index-in-place recordings; recording.imported webhooks for device and contentId re-uploads now include site, device, and edgeSite
Fixes
  • Dashboard: double-clicking a recently viewed item opens it reliably on the first try instead of showing a blank screen
  • Desktop: double-clicking a recent item in the visualization menu opens it and no longer toggles fullscreen
  • Desktop: opening a second window on Windows no longer flickers between the two
  • Desktop: signing out stops the local MCP server instead of leaving it listening
  • Panels: an expanded panel stays expanded when its configuration is updated through MCP
  • Plot panel: timestamp plots show complete data after panning, zooming, or applying synchronized X bounds
  • Plot panel: XY series that use a panel-level x-axis expression stay on the right x values after a series is hidden or its x-axis expression is deleted
  • Plot panel: dynamic sub-series render against their configured y-axis, and hover and measurement tools resolve the right series
  • Plot panel: the downsampled indicator clears when the x-axis is switched away from timestamp
  • State Transitions panel: the tooltip no longer shows an empty placeholder row for a sub-series with no value at the cursor
  • Playback: the Adjust playback range handles now stop at the edge of the recording instead of producing timestamps far outside it
  • Video export: a failure after encoding starts now leaves a playable partial video
  • Clicking a numeric setting or a recording segment tolerates a small pointer movement instead of treating it as a drag
  • Map panel: overlapping members of a GeoJSON MultiPolygon fill as a solid shape instead of showing holes
  • 3D Maps: maps now load in embedded Foxglove views
  • 3D panel: the camera no longer jitters while you rotate or pan large scenes
  • 3D panel: custom URDF layers that source /robot_description now load
  • Search: results that identify only a device now show a preview
  • Search: results table columns line up with their headers
  • Search: the details panel no longer leaves an empty band above its footer
  • Search: a preview that fails to load no longer shows as an empty result, and the details topic picker keeps its Auto option after you choose a single topic
  • Events sidebar: no longer gets stuck loading on recordings with no associated device
  • Events: a failed bulk delete no longer leaves a stale row that blocks retries, and a successful delete stays on the current page instead of jumping to the first
  • Events: deleting a group of events no longer fails outright when one was already deleted
  • Remote Access: the session now recovers gracefully from a corrupt LiveKit byte stream instead of stalling with an unparseable-JSON banner
  • Recordings: re-indexing a bring-your-own-storage recording after its device metadata is removed succeeds and keeps the same recording
  • Recordings: the table keeps your selection when the list refreshes
  • Recordings: bulk actions respect the metadata search, so Select all matching recordings no longer acts on more than the list shows
  • Sessions: the table sorts the full result set and matches the gallery's sort control
  • Agent sidebar: opening the Dashboard while the chat dock is closed now shows an empty chat instead of the prior conversation

Downloads: Linux: deb amd64 arm64, snap amd64 | Windows: x64 arm64 | Mac: Apple Silicon Intel

Foxglove 3.0.0

πŸ€– Agent sidebar: a built-in agent to work on your data Beta​

Foxglove's built-in agent builds layouts, writes user scripts, runs your request as a query on Search, and answers questions about your data. Read-only tools run on their own; anything that makes a change waits for your approval. The agent sidebar is available on all plans. Read more about Agent sidebar.

πŸ”€ Comparison mode: debug what changed between runs​

Select two or more recordings, sessions, or events from real-world logs or simulations, and click Compare to put them on one shared visualization timeline. Each source takes a slot labeled A, B, C, and so on; Plot, State Transitions, and Map draw every slot at once, while single-source panels such as 3D show one at a time. Comparison mode is generally available on Pro, Enterprise, and Academic plans, for basic and developer seats. Read more about Comparison mode.

πŸ”Ž Semantic search: find image frames and actions by describing them Beta​

Query your data by describing the action your robot took (semantic search over video embeddings) or what's in the frame (image embeddings). Combine a visual prompt with other query fields, for example visual("package dropped") and /robot_state == autonomous, to search recordings' image and video topics alongside other log data. Visual search is in beta on Pro and Enterprise plans; contact sales for access. Read more about Semantic search.

πŸ“Š Grafana integration: query Foxglove data in your dashboards​

The Foxglove data source plugin, published in the Grafana plugin catalog, turns a FoxQL expression such as /imu.linear_acceleration.x into a time series, using the same query engine as the Search page. The plugin queries the Foxglove data platform directly, so you can build Grafana dashboards on your data in Foxglove. Contact sales for access. Read more about the Grafana plugin.

The Foxglove data source plugin in the Grafana plugin catalog, with a query editor charting a message path as a time series

πŸ—„οΈ Bring your own storage: general availability​

Bring your own storage (BYOS) is generally available (GA) across AWS, GCP, and Azure. Keep your recordings in the cloud storage bucket they already live in while Foxglove indexes each file in place so you can query and stream it, without duplicating or moving your data. Contact sales to get started. Read more about Foxglove Cloud, bring your own storage.

πŸ”Œ Desktop MCP server: general availability​

The desktop app's local Model Context Protocol (MCP) server is generally available, with access to the same tool catalog as the agent sidebar. Turn on Local MCP server under Settings β†’ Personal β†’ Agents & MCP. The Desktop MCP server is available on Pro, Enterprise, and Academic plans. Read more about Desktop MCP.

New & Improved
  • Fleet: the on-device process that monitors and uploads recordings is now called Foxlet across the app and the docs; package, binary, and path identifiers are unchanged β€” see Foxlet
  • Gallery: opening a result shows the details panel, and cards animate into their re-wrapped positions
  • Gallery: on a narrow window the details panel takes over the screen instead of squeezing the cards beside it
  • Search: previews follow the pointer as you scrub, and topic chips in a result's details switch the preview to the topic you click
  • Search: a shared link opens Gallery with the preview topics the sender pinned β€” see Gallery
  • Search: queries mix AND and OR without parentheses; AND is applied first β€” see Search
  • Search: parentheses nest to any depth, and a ?query= link created before 3.0.0 opens with an empty query bar; saved searches and recents are unaffected
  • Search: a recording's Source Details shows the query summary with its grouping parentheses, at any depth
  • Search: topic autocomplete matches fuzzily, so a topic turns up without typing the start of its path
  • Search: the empty state offers Import data when an organization has nothing to search yet
  • Search: device and time-range results list the sessions covering that device and range in List view
  • Recordings: a multi-recording visualize view downloads one merged MCAP spanning every recording; comparison views don't offer Download, because that export would be incomplete
  • State Transitions: the legend is called series labels, and hiding it compresses each row so more series fit on screen β€” see State Transitions panel
  • Image panel: decodes 12-bit Bayer raw images (bayer_rggb12, bayer_bggr12, bayer_gbrg12, bayer_grbg12) β€” see Supported encodings
  • Panels: double-clicking a panel title expands or collapses it
  • Panels: action buttons have clearer spacing and stay easier to see
  • Playback: the playback range editor snaps to the playhead, and while its dialog is open, keyboard shortcuts and command palette entries trim the range to the playhead or reset it β€” see Controls and shortcuts
  • Performance sidebar: Export diagnostics saves a JSON troubleshooting report, which stays on the machine until you share it
  • Performance sidebar: charts label and scale automatically, readings align, and a warning appears when hardware acceleration is unavailable
  • Plot panel: adding a series expands, scrolls to, and highlights it in the settings sidebar
  • Tables: the action bar on Recordings, Sessions, and Events stays pinned to the top while you scroll
  • Filters: the Recordings, Events, and Sessions filter rows stay compact at narrower window widths
  • App bar: the sidebar toggle buttons stay highlighted while their sidebar is open
  • Embedding: basic-seat members can open layouts supplied by an embedding application β€” see Embedding Foxglove
  • Admin: the Enterprise usage page shows current seat counts alongside infrastructure credits
  • Remote data loader: a stream failure names the loader and shows its error in the Problems sidebar
Performance
  • Plot and State Transitions load faster on bring-your-own-storage sites, with nothing to configure
  • Search: faster topic discovery on large sites
  • Gallery: loads faster when a query returns many results
  • Recordings: the page loads faster in projects with many recordings
  • The layout menu opens faster
API
  • API keys: a request missing a capability returns the MissingApiKeyCapability code and names the capability it needs
  • Saved searches: GET /v1/saved-searches/{id} returns a working run URL. Re-save a search created before 3.0.0 to refresh that URL
  • Remote data loader: shareable links carry manifest query parameters in ds.manifestParams, and links in the earlier flat form still open β€” see Shareable links
Fixes
  • Desktop: signing out shows the sign-in screen instead of looping on "Signing out…"
  • Desktop: standalone-license mode no longer crashes on the dashboard, the examples page, or the onboarding wizard's examples step
  • Desktop: quitting no longer raises a JavaScript error dialog
  • Playback: a Data Platform stream that closes during inactivity no longer fails playback
  • Playback: merged data sources whose time ranges don't overlap play and scrub without errors
  • Gallery: no longer crashes on very large result counts
  • Gallery: arrow keys step through cards instead of scrolling the page, and the focused result stays in view as the details panel opens or closes
  • Search: video previews still play when the keyframe is before the result window, the file is large, or the result matches more than one topic
  • Search: the query field no longer flashes "Loading topics…" on refocus or expands to two rows on narrow windows, and the topic picker settles as it closes
  • Search: the results page no longer shows duplicate decade labels, doubled or missing dividers, a misaligned query status bar and sort control, or a details panel that overflows its boundary
  • Search: backward date navigation stops at the earliest supported date, and durations longer than a second read in compact units
  • Search: a FoxQL function suffix such as .@abs reports an error instead of silently returning results for the untransformed value
  • Search: results no longer shift horizontally when the page scrollbar appears
  • Map panel: timeline previews highlight the matching position in every comparison slot
  • Plot panel: warning icons no longer flicker while you hover a comparison badge, and no spurious warning triangle appears when a series or comparison slot becomes active
  • Plot and State Transitions: Label field and Value field settings appear only for expressions that are dynamic series
  • Video export: exports run when the data source has reported unrelated errors, and console errors read as messages instead of internal identifiers β€” see Video export
  • Panels: an expanded panel collapses back to its current position after the workspace is resized
  • 3D panel: map tiles load without waiting for a camera or playback-time change
  • Performance sidebar: data throughput reads correctly for local and cloud recordings
  • Timeline: a recently added device shows its current name instead of a stale cached one
  • Projects: keyboard navigation works in the project picker
  • Organizations: inviting basic-seat members works when an organization has reached its paid seat limit
  • Agent sidebar: plots of ROS timestamps use the units you asked for
  • Onboarding: the quickstart's sample drone stream no longer ends getting-started guidance before you have viewed your own data

Downloads: Linux: deb amd64 arm64, snap amd64 | Windows: x64 arm64 | Mac: Apple Silicon Intel

Remote Data Loader v0.0.11

This release fixes a CORS issue, adds support for x-foxglove-error-message header to streaming sources and improves lookback.

Added
  • Data backends can now surface a human-readable error message when a streamed data request fails, not just when a manifest request fails, by setting the x-foxglove-error-message response header. See the development guide for details.
Fixed
  • Fixed CORS errors on the root endpoint when the app would load
Changed
  • Replay lookback now returns every message at a channel's latest timestamp before the seek, instead of an arbitrary one when several messages share that timestamp.

Docs: About | Development | Deploy

Foxglove 2.59.0

πŸ”Œ Desktop MCP server​

The Foxglove desktop app can run a local MCP (Model Context Protocol) server so external coding assistants like Claude Code, Cursor, Claude Desktop, and other MCP clients can see and control Foxglove. Your agent can access the Data Platform, search your organization's recordings, sessions, and events, build layouts, write user scripts, control playback, and search the docs. Turn on Local MCP server under Settings β†’ Agents & MCP; it needs a Pro or Enterprise plan and a developer seat. Read more about Connect your own agent (MCP).

Find the right recording faster: write a FoxQL query over devices, metadata, topics, and message fields, then review matches as Gallery preview cards before you open one. List and Timeline views stay one click away. Read more about Search.

New & Improved
  • Foxlet Settings: Auto-delete local files after import deletes each recording from the device after Foxlet uploads it β€” see Delete recording files
  • Plot panel: clearer warnings for out-of-range array slices and matched values that cannot be plotted
  • Raw Messages panel: improved header layout across narrow and wide panel sizes
  • Playback: the timeline info (i) button opens the Sources sidebar; with an active search query it opens the Source Details modal so you can review or clear the query
  • Recordings: the list renders as soon as it loads instead of waiting on pending imports
  • Command palette: type a project name to switch projects or open the Projects page
  • Search: tidied spacing in the query bar's suggestion menu
  • Search: the query bar drops its clear (Γ—) button β€” select and delete the text to clear a query
API
Fixes
  • Navigation: clicking the entry for the page you are already on no longer discards that page's state, such as the active search, its time range, and its view mode
  • Local files: reopening after a page refresh no longer fails when browser read access has lapsed β€” a dialog lists the files that need it and Allow access requests them all at once
  • Search: topic pickers no longer obscure their triggers when opened
  • Events sidebar: timeline events no longer remain stuck in a loading state
  • Extensions: an organization extension now updates to the registry's latest version even when a local extension with the same ID is installed

Downloads: Linux: deb amd64 arm64, snap amd64 | Windows: x64 arm64 | Mac: Apple Silicon Intel

Primary Site v0.0.106

When resolving a recording's context, this release merges every "foxglove" MCAP metadata record in the file, rather than using only the last one. Later records override earlier keys, and an empty string value unsets a key. To keep the previous behavior, set the following in your values.yaml, on whichever component your indexing strategy deploys:

inboxListener:
deployment:
mergeFoxgloveMcapMetadata: false

This release also adds an optional beta stream executor, which can substantially improve streaming throughput on multi-core query service pods. It is off by default.

Added
  • Added a beta multi-threaded stream executor that reads a stream's MCAP chunks across parallel partitions, off by default behind queryService.deployment.enableBetaStreamExecutor
Changed
  • Merged all "foxglove" MCAP metadata records when resolving recording context, instead of using only the last record. Set mergeFoxgloveMcapMetadata: false on the indexer or inbox listener deployment to restore the previous last-record-only behavior
Fixed
  • Improved query service error messages when a stream fails mid-response
  • Fixed values.yaml validation, which was silently skipping its required-setting checks

Docs: About | Install | Upgrade

Foxglove 2.58.0

πŸ“ˆ Plot panel: one sub-series per array index​

Messages often pack related values, such as accelerometer axes or joint positions, into a numeric array. The Plot panel's timestamp plots offer an Array expansion setting: choose By index to draw one sub-series per array element, labeled with its source index. None remains the default, so existing layouts keep their current behavior, and ranged slices retain their source indices. Read more about Array expansion.

πŸ” Search from the Raw Messages panel​

Hover over a value in the Raw Messages panel and choose View in Search to open Search with a query for that message path and value, scoped to the recording's time range. The same action on the message header searches for any message on that path. Search returns results from recordings that have been indexed. Read more about Search.

⌨️ Keyboard shortcuts for message stepping​

Read a topic message by message without reaching for the mouse. With the Raw Messages panel selected, Alt+[ and Alt+] (Option on macOS) step to the previous and next message on that panel's path. Read more about Message stepping.

πŸ”— Visualize multiple recordings merged as one​

Select two or more imported recordings on the Recordings page and choose Visualize to open them merged into a single timeline, without creating a session first. Topics from every recording share one playback range, and the app bar lists each recording. The Source info sidebar opens with a Merged section spanning the full combined range, followed by the name and time range of each source.

New & Improved
  • Gauge panel: an Origin setting grows the fill outward from a chosen value, with an optional Mirror color at origin toggle for a diverging color ramp
  • Plot panel: series settings show the same error and warning indicators as the plot legend, flagging missing topics, invalid paths, timestamp problems, and series with no matching data
  • 3D panel: in object inspection mode, a click that intersects several objects opens a disambiguation menu labeling each one with its object ID alongside the topic
  • 3D panel: hover tooltips show up to 5 metadata rows plus a count of the rest, so tooltips for objects with large metadata collections no longer cover the panel
  • Map panel: highlighted locations use a more saturated color that stays legible in both light and dark themes
  • Remote data loader: connection failures report a network error within about 10 seconds, with VPN and firewall guidance and a Retry button
  • Remote data loader: the Problems sidebar shows the error message the upstream service returns, such as an expired recording link
  • Command palette: Switch project drills into a searchable project list, so you can change projects without leaving the keyboard
  • Billing: Enterprise plans can view their usage from Settings β†’ Billing
  • Bring Your Own Storage (BYOS): the bucket notification commands for AWS and Azure filter to .mcap and .bag files β€” see Configure bucket notifications for the current commands
  • Search: results scroll with the rest of the page, and the query bar and results toolbar pin to the top
  • Search: the time range picker has previous and next arrows that shift the range by its current duration
  • Date pickers: Last 3 months, Last 6 months, and All time join the existing shortcuts, and Search opens on Last 6 months when no other range is set
Performance
  • Smoother playback above 1x speed
  • Raw Messages panel: faster rendering during playback while the message stepping controls are visible
  • Map panel: no interface freeze while a dense location topic loads its history
API
  • BYOS: provisioning a site turns on search indexing and automatic ingestion from the start
  • BYOS: search indexing treats a recording with a missing source file as deleted, so it leaves the search index even when the bucket never sends a delete notification
Fixes
  • Plot panel: empty primary and secondary y-axis placeholders use distinct colors that stay stable as you configure either series
  • Plot panel: each series downsamples against the visible range of its own y-axis, so narrow peaks on the secondary axis stay visible
  • Plot & State Transitions: ROS header stamps render for topics streamed from Data Platform
  • State Transitions: a series that matches no data says so, and a custom timestamp method without a path reports the missing path
  • Log panel: the log list fills the available panel height on live connections
  • Map panel: current location markers use the same color as the matching Plot series
  • Panel selector: stays inside the center pane instead of drawing over a widened sidebar
  • Panel settings: the visibility and sync icon buttons keep a pointer cursor across the whole button
  • Playback: removing a panel mid-playback no longer stalls playback for several seconds
  • Remote Access: the device filter in the connection dialog persists when you switch connection tabs and return
  • Search: date ranges longer than 10 years survive editing in the time range picker and sharing by URL
  • Search: the dropdown carets in the query builder sit beside their text instead of overlapping it
  • Search: the time range picker no longer shows a hover tooltip
  • Search: the results details tooltip drops redundant lines and labels each stat
  • Date pickers: the selected shortcut name renders instead of the raw dates, and each picker hides shortcuts longer than its maximum range
  • Pending imports: hovering over a truncated error message shows the full text
  • Extensions: the visualization and the Installed extensions list show a loading state until the organization's extensions finish syncing, instead of briefly reporting no extensions
  • Custom properties: type icons stay inline with their labels instead of wrapping above them
  • Custom properties: the event type and custom property sidebars label each type as Single-select or Multi-select instead of enum and multi-enum
  • Fixed exports of zero-duration recordings so they cover the whole recording
  • Fixed the offline licensing portal showing a blank page

Downloads: Linux: deb amd64 arm64, snap amd64 | Windows: x64 arm64 | Mac: Apple Silicon Intel

Remote Data Loader v0.0.9

This release reduces the amount of data downloaded when seeking, and opens the login prompt in a popup window instead of a new browser tab.

Changed
  • Seeking now downloads less data. Message lookback stops as soon as it has the newest message for each topic and fetches independent topics concurrently, instead of loading every source that overlaps the lookback window on each seek.
  • The login page now opens your identity provider in a popup window instead of a new browser tab.
Fixed
  • Fixed intermittent dns error failures under high load.

Docs: About | Development | Deploy

Foxglove 2.57.0

πŸ“‘ Remote Access: stream live robots from anywhere​

Remote Access is now generally available on Pro and Enterprise plans, bringing your live robots into Foxglove from anywhere. Connect to any device in your fleet over the cloud and stream its data in real time, with no VPN, port forwarding, or shared network required. Open the connection dialog, search your fleet, pick a live device, and you're streaming in seconds. Reconnect in a click when a session ends, and see which devices are online at a glance with live status and last-seen indicators.

🧡 Toggle individual lines in a dynamic series​

Dynamic series draw one line per label from an array of {label, value} objects. Each line now gets its own visibility toggle in the legend, so you can show or hide individual labels without turning off the whole series. This works in both the Plot and State Transitions panels.

⏯️ Step through messages in the Raw Messages panel​

When viewing a recording, the Raw Messages panel can now seek the playhead to the next or previous message on its path. When several messages share the latest timestamp, you can page through them, and an empty state offers a "Seek to next message" link when nothing matches at the current time.

New & Improved
  • Plot panel: message path (XY) series can each set their own time range, following the panel default or overriding to All or Latest
  • Plot & State Transitions: dynamic series can target an array-of-objects field directly (for example, /topic.items), without a trailing [:] slice, for topics with a known schema
  • 3D panel: SceneEntity metadata now appears in a tooltip on hover
  • Added @ypr and @yrp message path functions that decompose a quaternion into yaw/pitch/roll Euler angles (ZYX and ZXY conventions)
  • Video export: exports now stream directly to the file you choose, so long exports no longer risk running out of memory. Cancelling keeps the captured frames as a valid, shorter video
  • Remote Access: recently viewed entries link to the device detail page when the device is unavailable, instead of opening the viewer
  • Remote Access: the recently viewed list shows and searches each device's current name
  • Remote Access: viewer links reflect the device's current name
  • Seat upgrades: on the Pro plan, members can request a seat upgrade, and admins can review and approve developer seat requests
Performance
  • Log panel: faster rendering for recorded data sources
  • Plot panel: improved downsampling for low-density topics
  • Improved video playback latency for H.264 encoded with VCL HRD parameters
  • Faster rendering for sessions with many recordings
API
  • Site bucket notifications: added a deviceName option that looks up the device by name and creates it if it doesn't already exist
  • Sessions API: GET /sessions now returns per-session recording summary fields: recordingCount, recordingStart, and recordingEnd
Fixes
  • Plot panel: the signal editor no longer collapses after entering the first Y-value path
  • Plot panel: re-selecting a topic in a series message path drills into its sub-fields again
  • State Transitions: series no longer occasionally fail to load until the page is reloaded
  • Map panel: LocationFixes topics from ROS sources now appear and render
  • 3D panel: now recognizes converted LocationFix topics
  • Video export: fixed a crash when the frame rate field was cleared
  • Playback: seeking now delivers every message when multiple messages on a topic share the newest timestamp
  • Playback: the events bar stays visible after trimming the playback range
  • Fixed seek stalls on high-latency file hosts
  • Fixed downloads from the Session recordings table
  • Fixed session list filters resetting when returning from a session's detail page
  • Remote Access: fixed duplicate entries for the same device in the recently viewed list
  • Linux desktop: no longer opens a second, generic taskbar entry instead of grouping under its pinned launcher
  • Desktop: package:// (ROS_PACKAGE_PATH) assets such as 3D meshes load correctly
  • Custom properties: fixed select/multi-select option creation and added a tooltip explaining the disabled Create button
  • Fixed inbox import failures for Azure hierarchical-namespace storage accounts that emit dfs.core.windows.net Event Grid URLs
  • Fixed streaming Azure BYOS recordings that include MCAP metadata records

Downloads: Linux: deb amd64 arm64, snap amd64 | Windows: x64 arm64 | Mac: Apple Silicon Intel