Skip to main content

224 posts tagged with "Foxglove"

Release notes for the Foxglove web and desktop app.

View All Tags

Foxglove 2.41.1

This release fixes a bug where the Foxglove app would fail to visualize data hosted on Foxglove Data Platform with this error:

Failed to initialize source
both "connectorUrl" and "manifestUrl" are required

Downloads: Linux: deb amd64 arm64, snap amd64 | Windows: Universal | Mac: Universal

Foxglove 2.41.0

🎯 Configurable Fixed Frame for 3D Panels​

You can now choose a fixed frame for 3D panels instead of always using the TF root. The fixed frame dropdown controls the coordinate system used for rendering and accumulation, giving you more control over how your 3D data is visualized.

This is particularly useful when working with complex TF trees where you want to use a specific frame as your world reference.

πŸ“Š Depth Images as Point Clouds​

The 3D panel now supports rendering uncompressed depth images as point clouds. This enables visualization of depth camera data directly in 3D space, with configurable depth scale and point size settings.

Depth scale defaults to 0.001 for 8-bit and 16-bit images, and 1.0 for 32-bit images. You can customize this value to match your camera system's depth scale configuration.

πŸ“ @norm Message Path Function for Vector Fields​

A new @norm message path function lets you plot the norm (magnitude) of 2D or 3D vectors directly using message path syntax. For example, you can use /imu.linear_acceleration.@norm to plot the magnitude of a linear acceleration vector over time.

This eliminates the need to create a user script just to compute vector magnitudes, making it easier to visualize overall vector behavior in your plots.

Share links can now include the ds.eventId parameter when using the foxglove-stream data source. This allows you to create shareable URLs that directly stream data for a specific event without needing to manually specify device ID and time range.

New & Improved
  • 3D panel now shows voxel details in the object inspector when clicking on VoxelGrid objects
  • Image panel now displays RGB values in the tooltip for RGB and BGR images
  • Image panel now includes an option to display raw (distorted) images even when camera calibration is available, useful for wide field of view cameras such as fisheye
  • Improved styling and selection behavior in the event sidebar, including scroll-into-view on selection
  • Shared query field for searching both typed properties and untyped metadata in device events
  • Added event ID filter to device events page for searching specific events by ID
  • Added action buttons to copy and plot vector norm values from the Raw Messages panel
  • Topic message converters can now access and watch global variables from your layout
  • Embed API now supports organization extensions in hosted embed instances
  • Image panel shows a visual indicator when video decoding falls behind playback
  • Table panel now preserves the selected page index during playback
  • Simplified loading states across device, event, and settings tables with unified spinner
Fixes
  • Fixed jerkiness in label size slider by removing precision constraint
  • Restored refresh hotkey functionality on desktop
  • Fixed issue with state charts and user scripts on live data sources
  • Fixed handling of flatbuffer messages in AudioPanel waveform renderer
  • GeoJSON tooltips in the Map panel now follow the mouse cursor for better visibility
  • Fixed support for empty string frame IDs in the 3D panel

Downloads: Linux: deb amd64 arm64, snap amd64 | Windows: Universal | Mac: Universal

Foxglove 2.40.0

πŸ–ΌοΈ Synced Pixel Cursor Across Image Panels​

Hovering on a pixel in the Image panel now shows the pixel value across all Image panels displaying images sharing the same frame_id and dimensions.

πŸ”— Improvements to Embedding Foxglove​

The embed API now includes several enhancements:

  • getLayout method: The API now includes a method to export the current layout from the embed. This enables programmatic access to layout data for sharing and other use cases.

    For the React package, a ref is available to access this functionality:

    const viewerRef = useRef<FoxgloveViewer>(null);
    const layout = await viewerRef.current?.getLayout();
  • Recordings by Device: You can now select a recording data source by deviceName or deviceId with optional start and end time parameters. This enables more flexible data source selection in embedded Foxglove instances.

πŸ“‹ Event Details Page​

You can now view details of individual events on a dedicated page. This page provides a way to link to a specific event. All actions from the event list page are available, including visualize, view recordings, download, and delete.

🐟 Fisheye62 Distortion Model​

Added support for the Fisheye62 distortion model, a distortion model that adds tangential distortion parameters (p0, p1) to the Kannala–Brandt distortion model, along with an optional critical angle (ΞΈcrit). This model is compatible with SymForce and Project Aria Fisheye62 calibrations. If ΞΈcrit is not provided, it is calculated automatically from the radial coefficients.

New & Improved
  • The pointClouds.ts User Scripts utility now supports int8, uint32, and float64 for ROS PointCloud2 messages
  • Topic converter extension topics can now be used as input topics for user scripts
  • Problems tab badge count now includes player and session problems
  • Added copy and plot buttons for timestamp structs in the Raw Messages panel
  • Improved error messaging when an advertised channel uses an unknown schema
  • The Raw Messages panel now displays a degree symbol next to rpy values for quaternion fields
Fixes
  • Fixed 5s delay when unmounting extension panels
  • Fixed the ability to select Grid and VoxelGrid objects in the 3D panel when using the inspector
  • Fixed live subscriptions on topic aliases for state transition charts
  • Fixed an issue with keyframe lookback on aliased image topics
  • Fixed GridMap and Grid disappearing in the 3D panel when viewed from certain angles
  • Fixed Grid gradient coloring using auto for min and max values
  • Fixed an issue where if a series in an index-based plot contained all NaN values, other series would not display
  • Restored @derivative and @delta modifiers for filtered paths
  • Fixed crashes and freezes when loading invalid or empty VoxelGrid messages
  • Fixed cursor moving while typing in metadata search input
  • Fixed error when message-path plots point to series with no data
  • Fixed plots reloading data when a series before them is deleted
  • Fixed the playback bar buttons being enabled after the "Create Event" modal closes
  • Fixed seek-on-click behavior for events in sidebar

Downloads: Linux: deb amd64 arm64, snap amd64 | Windows: Universal | Mac: Universal

Foxglove 2.39.2

This release contains minor bug fixes.

Fixes
  • Fix issue with aliased topics not rendering on live data in the state transitions panel
  • Fix issue with keyframe lookback on aliased image topics

Downloads: Linux: deb amd64 arm64, snap amd64 | Windows: Universal | Mac: Universal

Foxglove 2.39.1

This release contains minor bug fixes.

Fixes
  • Fix issue with series in index-based plots which contain all undefined values
  • Fix @derivative and @delta message path functions for filtered message paths

Downloads: Linux: deb amd64 arm64, snap amd64 | Windows: Universal | Mac: Universal

Foxglove 2.39.0

🐍 Python Notebook Integration​

You can now visualize data in any Jupyter-like notebook environment using the new notebook integration. Install the package with pip install "foxglove-sdk[notebook]", then use foxglove.init_notebook_buffer() to create a buffer for collecting and displaying data in an interactive Foxglove viewer within your notebook.

The integration supports:

  • Streaming data visualization in Jupyter Notebook, JupyterLab, Google Colab, and VS Code
  • Real-time updates using refresh() to update viewer data
  • Local layout management for customized visualizations

Learn more in the Jupyter notebook documentation.

πŸ”Ž Recording Metadata Search API​

The optional metadataQuery parameter is now available in the Recordings List API. You can filter recordings by metadata using key-value search syntax:

  • temperature:high β€” find recordings with sensor metadata where temperature is high
  • status:* location:lab β€” find recordings with any status AND location lab
  • *:error β€” find any key with "error" value
  • warehouseName:"leaping llama" β€” use quotes for values with spaces

πŸ”— Iframe Embedding​

Embed Foxglove in your application or website using our TypeScript or React SDKs. The embedding capability enables multi-modal data visualization and debugging within your application.

The embedding SDK supports:

  • Multiple data sources: load from local files, recordings, and live connections
  • Local layout persistence: embed layouts now persist in IndexedDB, allowing users to make layout changes that are saved automatically
  • Programmatic control: switch between layouts, revert changes, export layouts, and manage multiple layouts with the selectLayout API
  • Extension support: install custom extensions programmatically (Enterprise only)

Learn more in the embedding documentation.

πŸ“œ Custom User Script Utilities​

Extension authors can now register custom utilities that user scripts can import and use. Create reusable functions in your extensions to share complex data processing logic across multiple user scripts.

info

User script utilities are currently in beta. The API may change based on testing and feedback.

This feature lets you:

  • Register TypeScript utilities in extensions using registerUserScriptUtility
  • Import and use utilities in user scripts like standard modules
  • Keep utilities self-contained with their own source code and types
  • View utility source code in the User Script panel's "Utilities" tab

Utilities are great for implementing domain-specific algorithms, helper functions, and reusable transformations that users might need across different scripts.

Learn more in the user script utility documentation.

New & Improved
  • Added visual indicators for deprecated message fields in the Raw Messages panel with warning icons and tooltips
Performance
  • General performance improvements
Fixes
  • Fixed OMG IDL @default annotation handling during deserialization
  • Fixed missing data in message path-based XY plots after reset view
  • Fixed pan and zoom performance issues for plots with locked 1:1 scales
  • Fixed User Script autosave when viewing utility or generated files

Downloads: Linux: deb amd64 arm64, snap amd64 | Windows: Universal | Mac: Universal

Foxglove 2.38.0

πŸ”Ž Search Over Recording Metadata​

You can now query the metadata on your recordings stored in Foxglove to filter and find the right data. All MCAP metadata records attached to files uploaded to Foxglove are automatically indexed and made available for search.

⌨️ Keyboard Shortcuts for Recording Navigation​

We've added keyboard shortcuts to jump to the start and end of your recording, along with shortcuts for various seeking intervals:

ShortcutDescription
SpaceToggle playback
←Seek backward 100ms
β†’Seek forward 100ms
Shift + ←Seek backward 10ms
Shift + β†’Seek forward 10ms
Alt + ← (Windows and Linux)
Option + ← (macOS)
Seek backward 500ms
Alt + β†’ (Windows and Linux)
Option + β†’ (macOS)
Seek forward 500ms
Home (Windows and Linux)
Fn + ← (macOS)
Seek to start
End (Windows and Linux)
Fn + β†’ (macOS)
Seek to end

πŸ“Š Event Overlays on Time Series​

Hovering over events in the playback bar or events sidebar now displays overlays in your Plot and State Transitions panels, making it easier to correlate events with your time series data.

🏷️ Multi-Select Custom Properties​

Custom properties now support multi-enum values, allowing you to select multiple options from a dropdown. Perfect for tagging devices with multiple attributes.

New & Improved
  • Improved tab panel usability with scrollable tabs and the "new tab" button positioned on the left, similar to Chrome
  • Added confirmation dialog when closing tabs containing layouts to prevent accidental data loss
  • Improved settings panel readability by limiting label width and allowing 2-line labels before truncation
  • Improved user experience of seeking in the Image panel using a progressively expanding time window to find keyframes
Performance
  • General performance improvements
  • Stabilized iterable player URL state to reduce component re-renders
  • General stability improvements
API
  • The /v1/data/topics endpoint now streams responses for improved performance with large datasets
Fixes
  • Fixed dropdown menu actions when viewing recordings by recording key
  • Fixed rare error when reading ROS2 db3 bag files with invalid channels
  • Fixed blank video frames when seeking to already-played keyframes
  • Location fixes now correctly use the selected coloring method and show override notifications
  • Fixed Plot and State Transitions panel messages not being cached properly
  • Simplified embed validation to rely on the embedded viewer's validation
  • TF tree scale now correctly matches world units (1 = 1 meter), consistent with pose topic scaling

Downloads: Linux: deb amd64 arm64, snap amd64 | Windows: Universal | Mac: Universal

Foxglove 2.37.0

🎯 Follow Specific Location Fixes​

When using LocationFixes with multiple location fixes in a single topic, you can now select which specific fix to follow in the Map panel. When following is enabled, panning is disabled and zooming is centered on the followed coordinate for a better tracking experience.

πŸ”„ Gauge Panel Reverse Direction​

Control the gauge display direction with the new reverse direction button, allowing for more flexible data visualization. The existing "Reverse" setting has been renamed to "Reverse Colors" for clarity.

New & Improved
  • Added new "Multi-line text" type for device custom properties
  • Added reset view button to the Map panel toolbar
  • Added site name and edge site columns to the recordings table for better organization
  • Added multi-line text input fields in panel settings with optional line limit for custom panels
  • Added Map panel setting to control point size (now in pixels instead of relative scale)
  • Variable Slider panel now shows the variable name in the toolbar by default
Performance
  • General performance improvements
Fixes
  • Fixed an issue with OMG IDL struct members being read out of order when explicit @id annotations were used
  • Fixed latched topics occasionally not appearing when switching tabs or layouts
  • Fixed Table panel column sorting to sort all items instead of only the current page
  • Prevented ROS bag downloads when topic encoding doesn't match, disabling the format option when incompatible
  • Fixed panning in orthographic mode having reduced effect when the perspective camera looks towards the horizon
  • Fixed a rare bug causing a blank screen
  • Fixed tab dragging keyboard interactions so holding Alt or Meta during drag results in copy instead of move
  • Fixed browser autocomplete appearing in the layout menu search
  • Fixed latched messages not being shown when switching between tabs
  • Fixed Map panel memory leak when toggling between point styles for location fixes

Downloads: Linux: deb amd64 arm64, snap amd64 | Windows: Universal | Mac: Universal

Foxglove 2.36.0

πŸ“Š VoxelGrid Visualization​

Visualize volumetric data with the new support for Foxglove.VoxelGrid schema, enabling powerful and flexible 3D grid visualizations. This adapts the existing VoxelGrid visualization to work with a more generic approach compared to the ROS-based implementation, which uses specific bit encoding for 4 state depth values into float32 across 16 elevations.

The new schema works more like 2D grids for settings and provides much greater flexibility for managing both color and depth values through customizable fields. With support for arbitrary PackedElementField definitions, you can define custom data fields including optional RGBA color channels, making it suitable for a wide variety of volumetric visualization use cases beyond the traditional fixed-format approaches.

πŸ“ Multiple Location Fixes on Maps​

Display multiple location fixes in a single message with the new Foxglove.LocationFixes schema support in the Map panel, perfect for visualizing multiple GPS trails and location history along with covariance data.

New & Improved
  • Device properties now configured in dedicated 'Devices' settings page
  • Updated syntax highlighter for better language support
Performance
  • Minor improvements to web app page load speed with better cache handling
Fixes
  • Fixed color picker values changing when adjusting transparency at high frequencies
  • Fixed Google sign-in error on signup page
  • Fixed URDF error reporting issues
  • Fixed race condition when selecting layouts with global variables and topic aliases
  • Upload manager card no longer obscures playback bar
  • 3D panel HUD items without click handlers are now unclickable
  • Improved error message when unable to create events in visualization

Downloads: Linux: deb amd64 arm64, snap amd64 | Windows: Universal | Mac: Universal