Foxglove 2.25.0
๐ฎ Plot by any timestampโ
You can now generate plots and state transitions using arbitrary timestamp fields from your messages. This gives you more flexibility in how you visualize your time-series data.
๐จโ๐ผLayout Managerโ
We've introduced a dedicated page for managing your Foxglove layouts. The new layout manager makes it easier to organize, share, and maintain your visualization configurations.
๐ง Point cloud cube modeโ
Point clouds and laser scans now support a cube rendering mode that displays points as cubes. This is useful when your point cloud data semantically represents voxels.
New & Improved
- Replaced the floating reset view button with a panel toolbar button in the Plot and State Transitions panels
- Device tokens are now automatically disabled when their associated device is deleted
Performance
- Improved performance when streaming data in the web app
- Enhanced performance for timeseries plots
- General performance optimizations across the application
Fixes
- Fixed an issue in the Plot panel where index plots could not be zoomed independently on the x-axis or y-axis
- Fixed a bug where zooming-in on XY plots would not show data points indicating data is no longer down sampled
- Fixed an issue where the 3D panel would not properly render frame transforms after changing the session ID
- Fixed bulk actions in the recordings list to properly scope to the selected device
- Fixed an issue where the settings panel would not open when clicking the settings icon in the object inspector
- Fixed incorrect positioning of 3D panel crosshairs in certain scenarios
- Fixed a bug where recordings from deleted devices remained visible
- Fixed line clipping in the 3D panel when using small near clipping plane distances
- Fixed an issue where GeoJSON shape selection outlines would persist after moving the mouse away
Downloads: Linux: deb amd64 arm64, snap amd64 | Windows: Universal | Mac: Universal
Primary Site v0.0.65
Foxglove 2.24.0
๐ข Performant API for visualizing data across a time rangeโ
The subscribeMessageRange
extension API is now generally available. Using this API, Foxglove can load data in small chunks and cache only a subset of serialized data. By doing this, heap memory usage is reduced while still allowing fast re-reads. As a result, panels can display larger datasets without exhausting memory resources.
The subscribeMessageRange
API should be used instead of preload: true
and context.watch("allFrames")
in order to load data across a data source. These previous APIs are now deprecated.
The reference documentation for the extension API is also now available in the core Foxglove documentation.
โฎ๏ธ Quick navigation to recent layoutsโ
The layout menu now shows a list of recently used layouts at the top for quick navigation.
New & Improved
- Added font size settings to the Log panel
- The Map panel now shows the color assigned to each topic when using "Automatic" color mode
rgba8
andbgra8
encoded images now use their transparency when rendering in the Image panel
Performance
- Improved the offline startup time of the Foxglove app
- Improved the stability of the WebSocket connection
- Plot panel performance improvements
Fixes
- Fixed an issue where the URL would unnecessarily update while the web app loads a data source
- Fixed an issue where reverting a layout to the last saved state would result in some settings not resetting
- Fixed an issue where H.264 video playback would fail in rare cases
- Fixed an issue where old completed imports were sometimes missing from the timeline view for devices with over 100,000 recordings
- Fixed an issue where high-frequency data in the Plot panel would jitter under certain circumstances
- Fixed an issue where the Plot panel legend would display the current y-value, but not the x-value, for XY plots
- Fixed an issue where Plot panel tooltips did not correctly show that multiple points were under the cursor
- Fixed a bug where
ctrl/cmd + c
did not work to copy text out of the Log panel
Downloads: Linux: deb amd64 arm64, snap amd64 | Windows: Universal | Mac: Universal
Primary Site v0.0.64
Foxglove 2.23.0
๐ Locked axis scales in the Plot panelโ
The Plot panel now supports locking the x- and y-axis scales to a 1:1 ratio. This can be set via the "Axis scales" drop down in the panel settings.
๐ฉป Preview topics before importing with Foxglove Agentโ
The Foxglove Agent tracks metadata about what topics exist in each MCAP recording and forwards this information to the Foxglove Cloud. We now make this topic-level information available for you to inspect directly in Foxglove before importing the recording.
Learn more about the Foxglove Agent in the Agent docs or by watching the recording of our Foxglove Agent live demo.
New & Improved
- When an extension fails to activate, an error is now displayed on the extension list page and the extension details page
- Plot and State Transitions panel tooltips are now hidden when dragging the panel to improve clarity
- The Image panel now supports viewing both original and converted messages when using message converters
- Added the ability to filter the recordings list to show only those that are not associated with a device
- Improved the usability of the vertical scrollbar in the State Transitions panel
- Timestamp objects are now pretty-formatted in the Table panel
Performance
- Network usage reduced when syncing layouts
- Reduced latency of H.264 video decoding if the video was not already encoded with low latency settings
- Performance improvements for User Scripts that load a time-range of a topic
- General performance improvements
Fixes
- Fixed an issue where the Raw Message panel would display "waiting for next message" when using a message path ending with a slice on an empty array
- Mitigated tooltip flickering when resizing the Plot panel
- Fixed an issue where switching tabs would cause messages to no longer be displayed
- Fixed an issue where hover values would sometimes not show when zoomed out in a plot
- Fixed an issue causing the viewport to jump after switching from 3D to 2D in the 3D panel
- Fixed an issue with incorrect URL parameters when adjusting the time range for a data source
- Fixed an issue where single-message recordings didn't show up in the timeline coverage view
- Fixed an issue where file for downloaded files varied depending on the download context
API
- The
/data/stream
API endpoint for streaming and downloading data now accepts acompressionFormat
parameter to specify the output compression format for MCAP chunks
Deprecated
- Removed support for streaming using the
ds.importId
URL parameter which has been deprecated for over a year
Downloads: Linux: deb amd64 arm64, snap amd64 | Windows: Universal | Mac: Universal
Agent v1.3.2
Foxglove 2.22.0
โฒ๏ธ Efficient loading of time-range dataโ
In order to improve app stability and memory efficiency, weโve completely overhauled how data is handled for panels that request all messages for a topic across the entire time range (for example, Plots, State transitions, and Maps showing location history).
Instead of indefinitely caching all deserialized messages, Foxglove now loads data in small chunks and caches only a sub-set of serialized data. This greatly reduces heap memory usage while still allowing fast re-reads. As a result, panels can display larger datasets without exhausting memory resources.
No user action is requiredโjust enjoy smoother performance when working with range-loaded data. Learn more about range loading in the extension API docs.
๐ Custom OIDC configurationsโ
Whether you use Okta, Microsoft Entra, Rippling, or another Open ID Connect (OIDC) compliant solution, you can now federate with Foxglove and centrally manage user accessโright from your existing identity management system.
Read our docs to learn more about federating with your OIDC provider. This feature requires an Enterprise plan.
๐ง 3D Panel enhancementsโ
We've made multiple improvements to the 3D panel to make it easier to navigate and inspect objects in your scene. The full list of 3D panel shortcuts is available in the 3D panel docs.
Recenter 3D panelโ
The 3D panel now has a button to reset the camera position to the origin of the display frame. This can also be accessed using the 1
keyboard shortcut.
3D panel crosshairsโ
The 3D panel now shows crosshairs while moving the camera to indicate the center of rotation/zoom. The crosshairs display when the camera is moving and disappear when the camera is still.
Vertical panningโ
You can now pan the 3D panel in the camera plane by holding option
/alt
and dragging the mouse. By default, panning moves the camera parallel to the z=0
plane.
Object inspector short-cutโ
Quickly enable and disable a 3D panel's object inspector using the a keyboard shortcut: i
.
Check out the recording of our recent live demo to learn how the object inspector can be used with global variables to create plots and user scripts that react and update based on your interactions.
๐ Plot panel enhancementsโ
In addition to the 3D panel, we're also busy making the Plot panel more intuitive and powerful.
Independent x-axis values for plot seriesโ
You can now set the x-axis values independently for each series in path-based (XY) plots. This means you can plot multiple series on the same plot, for example [x1, y1]
and [x2, y2]
where each of x1
, y1
, x2
, and y2
are separate message fields.
Axis labels for Plots and State Transitionsโ
You can now set custom axis labels for Plots and State Transitions panels to make your State Transitions and Plots easier to understand.
New & Improved
- Added more informative error messages when a User Script attempts to return an array
- Added the ability to show/hide all layers on the Map panel
- The axis and cursor for vertically stacked state transition and plot panels now always line up
- Adjusted the position of State Transitions panel and Plot panel tooltips to minimize obscuring data
- The State Transitions panel tooltip now displays the color of the state transition
- Occupancy grids can now be drawn behind all other scene entities
- URDF error messages now point to the specific link/joint causing the issue
- The Image panel now supports schema type selection when multiple schemas are available via message converters for the selected image topic
Performance
- Performance improvements for populating new data into a layout
- Improved the performance of the
/data/topics
endpoint when querying bydeviceId
ordeviceName
- Minor performance improvements for local files or cloud data sources
Fixes
- Fixed an issue causing the Recordings page to lag when filtering by recording name
- Fixed an issue where Plot panel values were not shown in the legend during playback
- Fixed an issue with a tooltip blocking the playback speed controls during visualization
- Fixed an issue where the enum labels were not populated in the Raw Messages panel when they were the only fields in a message path
- Fixed an issue where
undefined
or0: undefined
instead of the correct empty state in a Raw Messages panel - Fixed an issue where searching for topics in the download dialog would clear the selection
- Fixed an issue where clicking retry on a quarantined pending import would fail with a 409 error
- Fixed an issue where disconnecting from a network while preloading data would cause an app error
- Fixed rendering artifacts in Plot panel lines at certain zoom levels
- Fixed an issue where changing the sort order for the "time" column on the events page would only sort the visible events rather than using the API to fetch the sorted events
- Fixed an issue where the raw message panel would show the message path as red when you select the topic from the dropdown
- Fixed an issue where video playback could get stuck if the decoding encountered delays
- Fixed an issue where annotations were being rendered before images causing ghosting in quick moving video
- Fixed an issue where no error message was shown when URDF assets (meshes) failed to load
- Fixed occasional
postMessage
errors for video topics
Downloads: Linux: deb amd64 arm64, snap amd64 | Windows: Universal | Mac: Universal
Primary Site v0.0.62
This release includes a fix for the stream service.
As with the last release, if you encounter issues with this image, you can opt out using the following configuration in your values.yaml
file when upgrading the helm chart:
streamService:
useLegacyImage: true
This option will be removed in future releases. Please report any issues encountered to [email protected].
Fixed
- Fix AWS region selection so that the stream service can read from buckets in non-default regions.
Primary Site v0.0.61
This release includes a fix for the stream service.
As with the last release, if you encounter issues with this image, you can opt out using the following configuration in your values.yaml
file when upgrading the helm chart:
streamService:
useLegacyImage: true
This option will be removed in future releases. Please report any issues encountered to [email protected].
Fixed
- Remove a cache optimization which could result in data corruption between MCAP channels in some cases