Skip to main content

Foxglove 2.44.0

📋 Copy & Paste Tabs Across Layouts

You can now copy and paste entire tabs—including all their panels and configurations—across layouts using the system clipboard. Right-click any tab to access "Copy tab" or right-click the tab bar background for "Paste tab." This makes it easy to reuse complex tab setups across different layouts.

🗺️ OpenSeaMap Layers for Map Panel

The Map panel now supports additional overlay layers for nautical charts. Add Sea Marks, Shaded Relief (bathymetry), or Isobaths (depth contours) on top of your base map layer. Each layer can be toggled, reordered, and have its opacity adjusted independently.

📊 Bar Style for Gauge Panel

The Gauge panel now supports a "bar" style in addition to the existing dial style. Choose the visualization that best fits your data—use the dial for traditional gauge readouts or the bar for linear progress indicators.

🎯 Drag & Drop from Settings Sidebar

Topics and message paths can now be dragged from a panel's settings sidebar onto other panels. This makes it easy to quickly inspect topics in Raw Messages, add series to a Plot, or duplicate series from one panel to another.

New & Improved
  • Connection dialogs now show the 3 most recent connections for that specific source type, making it easy to quickly reconnect
  • The Topics sidebar now shows the encoding used for each topic
  • Clicking "View all" from a Recording, Device, or Event details page now restores previously applied filters when returning to the list page
  • The extensions list now shows which extension points each extension provides
  • Quoted field names are now supported in Message Path filters
  • Message Path autocomplete now suggests nested fields when typing inside a filter
  • Improved Message Path Input brace behavior—closing braces are only auto-inserted when typing at the end, and deleting an open brace removes the matching closing brace
  • Added support for 2D Pose click-to-publish for non-ROS servers
  • Compressed video can now be synchronized with annotations
  • Downloaded MCAP files from the Timeline view now include both device name and timestamp in the default filename
  • Added query syntax validation to the metadata search field with user-friendly error messages
  • Custom property enum values can now be deleted and reordered when they are not in use
  • Added a copy button to copy all logs in the User Scripts panel, with individual lines now selectable
  • Improved text selection behavior in the time field—drag-select now works correctly and Escape clears the selection
  • Visiting /devices/<name> with a valid device name now redirects to the corresponding device page at /devices/<id>
Performance
  • Improved depth map point cloud rendering performance
  • Improved zooming performance of dense point cloud depth maps
  • Faster scene entity rendering
  • General performance improvements
API
  • Breaking: ULog files now use the foxglove.Log schema for log messages instead of rosgraph_msgs/Log. The synthetic log topic is renamed from Log to _log. User Scripts or layouts referencing Log.msg, Log.header.stamp, or ROS log level values from ULog files will need to be updated.
Fixes
  • Fixed nearest neighbor interpolation for non-square grids in the 3D panel
  • Fixed Fisheye62 camera projection for wide-angle lenses with FOV greater than 180° in the 3D panel
  • Fixed Arrow color not being set for a PosesInFrame message containing a single pose
  • Fixed an issue with deleting events from the events table
  • Fixed Y-axis FOV and other camera settings not updating the viewport immediately in the 3D panel
  • Fixed vertical scrolling speed in the State Transitions panel when click-drag scrolling
  • Fixed panels not being selectable when the panel settings sidebar is hidden

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

Primary Site v0.0.91

Added
  • The indexer now supports indexing files in parallel.
  • The indexer now includes metadata & attachments when deriving the content hash for an MCAP file.
Fixed
  • Fixed a bug where the query server would return HTTP 500 instead of 404 when a quarantined file cannot be found.

Docs: About | Install | Upgrade

Foxglove 2.43.0

🗓️ Introducing Event Types

Event Types extend Events with structured schemas for timeline annotations. Instead of free-form key/value metadata, you can define custom properties that standardize how your team captures information during playback.

Define your schema in Settings: Create Event Types with custom properties (text, number, boolean, etc.) and mark properties as required to ensure critical fields are always filled in. You can also see which types and properties are actively in use across your recordings.

Event Types settings page

Improved visualization experience: Events on the playback bar are now colored by their Event Type, and filtering dims non-matching events, so you always know what exists. Edit events in a dedicated sidebar with inline validation, or drag to resize directly on the timeline. Events can have zero duration (instant markers) or span a time range.

Events on the playback bar colored by type

API support: A full REST API is available for managing Event Types and querying typed events. Query events by metadata, typed properties, or both, and create or update typed events programmatically with property validation.

curl -X POST https://api.foxglove.dev/v1/event-types \
-H "Content-Type: application/json" \
-H "Authorization: Bearer $FOXGLOVE_API_KEY" \
-d '{ "name": "Hardware Fault", "colorName": "red" }'

📐 Plane Projection for Camera Topics

You can now project camera images onto a reference plane in the 3D panel. This is especially useful for ground-plane projection, giving you a top-down view of camera data overlaid on your 3D scene. Select a projection frame from available transforms to map the camera output onto that plane.

New & Improved
  • You can now add panels without first creating a layout—Foxglove will automatically create a default layout for you
  • Linked selection highlights now extend to distorted image panels, showing cube outlines projected through the camera model
  • Property chips in the event table now display human-readable labels, and URL values are clickable links
  • Added a confirmation dialog when deleting user scripts to prevent accidental loss
  • The Diagnostics panel now allows setting a custom title
  • Errors during extension initialization are now displayed in the Problems sidebar
  • Videos in the Image panel now fetch the previous keyframe and show content when paused
Performance
  • Improved depth map point cloud rendering performance
Fixes
  • Fixed ROS 2 bag (db3) playback returning incorrect data when seeking and causing out-of-memory errors
  • Fixed Plot panel autoscaling behavior
  • Fixed State Transitions panel jitter when time window mode is set to Sliding
  • Improved error reporting for unsupported audio codecs in the Audio panel
  • Fixed point clouds losing color information when depth values were invalid (NaN)
  • Fixed the fixed frame selector not showing the root frame when its name is an empty string
  • Fixed desktop app launching twice when clicking "Open in Desktop"
  • Fixed URDF material colors not being applied to OBJ meshes without embedded materials
  • Fixed Plot panel failing to display all data when resetting zoom on some scatter plots
  • Fixed Kannala-Brandt and Fisheye62 distortion models when all distortion coefficients are zero
  • Fixed disabled topics still showing points in the Map panel
  • Fixed Raw Messages panel crash when diffing messages containing BigInt values
  • Fixed Shift+Scroll shortcut in the State Transitions panel to scroll vertically
  • Fixed annotation offset when hardware video decode is disabled
  • Fixed synchronized image annotations appearing in the next frame instead of the current one
  • Improved handling of incomplete deep links in the desktop app

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

Agent v1.4.6

Agent

This release contains minor improvements.

Changed
  • Improved reconciliation after loss of local database
  • Added detection for multiple agents competing over the same device

Docs: About, Install | Debian Packages: amd64, arm64 | Binary Files: amd64, arm64

Foxglove 2.42.0

🧱 Scrolling Stack Panel Layouts

The new Stack panel lets you combine multiple panels into a single scrolling vertical layout, making it easier to build focused dashboards without sacrificing screen space. You can stack panels that share similar data or workflows and still keep each panel’s controls and configuration.

This is especially useful when you want to compare many related visualizations in vertical alignment.

🧊 Linked Voxel Selection Across 3D Panels

Voxel selections in the 3D panel are now synchronized across multiple 3D panels that show the same voxel grids. When you click on a voxel in one panel using the object inspector, the corresponding voxel is highlighted in other linked 3D views.

This makes it easier to inspect the same region of space from multiple viewpoints or with different visualization settings.

Shareable links now support opening multiple remote .bag or .mcap files at once. Simply include multiple ds.url parameters in your link to load several files into a single session.

This makes it easier to share links that combine related recordings without requiring users to open each file separately.

New & Improved
  • Added support for optional scalar fields in Flatbuffer messages so more schemas render correctly by default
  • Added support for required custom properties in the app UI to help enforce important metadata on events and devices
  • Admins can now view failed imports alongside pending imports in settings
  • Improved 3D arrow picking by using stable object IDs for child arrow selection
  • Updated event tooltips to show properties in a clearer, more useful format
  • Added playback controls and current time display for live players
  • Allowed empty annotations while in sync mode, so you can create notes before filling in details
  • Switched many panel topic selectors to autocomplete inputs for quicker topic discovery
Performance
  • Improved Map panel performance with large point overlays
  • Improved scrubbing behavior to keep playback smooth, even over long recordings
API
  • Primary Sites now support custom bucket notifications via direct POST requests with device and project IDs, useful when your storage provider doesn't support push notifications or you want to trigger ingestion from a separate process
Fixes
  • Styled destructive delete menu items with an error color for clearer confirmation before removal
  • Fixed data loaders not being available on all plans
  • Fixed protobuf time values not displaying correctly in the Raw Messages panel
  • Fixed seeking behavior in the Image panel when using topics generated by user scripts
  • Fixed voxel grid positioning issues in the 3D panel
  • Fixed a bug where opening a link in the desktop app would result in an error loading a recording
  • Fixed MessagePathInput incorrectly displaying @norm modifier as invalid in valid cases
  • Displayed clear errors for unsupported depth map image encodings
  • Fixed material library loading for OBJ meshes in the 3D panel
  • Fixed backfill behavior when adding new panels that subscribe to the same topics as existing panels
  • Fixed point cloud projection math for depth-to-point-cloud renderings

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

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