Foxglove 2.45.0
🗂️ Desktop Tabs
The Foxglove desktop app now supports tabbed browsing, letting you work with multiple data sources, layouts, and views within a single window.
- Create new tabs to work with different data files, layouts, or projects side-by-side without juggling multiple windows
- Drag and drop tabs to reorder them within the tab bar
- Each tab maintains its own navigation history—use the back and forward buttons to navigate within a tab
Keyboard shortcuts:
| Action | Shortcut |
|---|---|
| New Tab | Cmd/Ctrl + T |
| Close Tab | Cmd/Ctrl + W |
| Next Tab | Ctrl + Tab |
| Previous Tab | Ctrl + Shift + Tab |
| Last Active Tab | Cmd/Ctrl + / |
| Back | Cmd/Ctrl + [ |
| Forward | Cmd/Ctrl + ] |
📍 Image Panel Cursor Publishing
The Image panel now includes publish settings that let you emit real-time cursor position events. Configure topics in the panel settings:
- Hover topic: Publishes cursor position continuously as you move the mouse over the image
- Click topic: Publishes cursor position when you click on the image
Messages are published as foxglove.Point3InFrame (non-ROS) or geometry_msgs/PointStamped (ROS), making it easy for downstream systems to react to cursor interactions.
🗺️ Map Panel Updates
The Map panel has several improvements:
- GPS coordinates now display in the HUD, and tooltips show topic information when hovering over points and GeoJSON features
- A new "Last N seconds" sliding time window history mode lets you display only recent data, improving performance with large datasets
- Color swatches now appear in topic section headers, making it easier to identify topics when collapsed
- "Expand all" and "Collapse all" options for topic lists make it easier to navigate complex configurations
- A visibility filter lets you quickly find visible or hidden topics
New & Improved
- Added "Expand all" and "Collapse all" options to topic and series lists in the 3D, Image, Plot, State Transitions, and Log panels
- Added a 10x playback speed option to the playback controls dropdown menu
- Added visibility filters to series lists in Plot panel settings
- Added color swatches to series section headers in the Plot panel, and colored icons for Polygons and Custom Layer Grids in the 3D panel
- The Image panel now shows a synced timestamp when "Sync annotations" is enabled
- Mesh up-axis and COLLADA up-axis settings now apply immediately without requiring a restart
- The Publish panel now preserves message content when switching to a topic with the same schema
- The "Create event" button now appears when streaming data using the
ds.eventIdURL parameter, and the Download option is available in the data source dropdown - Changed the default Map panel time range mode from "All" to "Latest" for improved performance with large datasets. Note: Existing panels previously configured for "All" may need to be updated
- The Recordings table is now more information dense, making it easier to scan and find relevant information
- The playback range editor's start and end time text fields now update the slider handles immediately as you type
- Increased maximum WebSocket frame and message size to 256MB; larger messages are now dropped with a warning
Performance
- Improved scrubbing performance
- Improved timeseries plot performance
API
- macOS desktop builds are now distributed as separate Intel (x64) and Apple Silicon (arm64) downloads instead of universal binaries, reducing download size by ~100MB
- The
@foxglove/embedand@foxglove/embed-reactpackages are now ESM-only, removing CommonJS exports - The FoxgloveViewer embed now inherits its color scheme from the containing page when using
colorScheme: "auto"
Fixes
- Fixed ULog file log messages incorrectly displaying as DEBUG level instead of their correct severity
- Fixed URDFs disappearing shortly after being made visible for the first time
- Fixed Image panel showing a blank display when camera calibration data is invalid; now falls back to showing the uncalibrated image with a warning
- Fixed the playback range error message not clearing and slider handles not updating correctly after adjusting an invalid time range
- Fixed State Transitions panel not properly reserving space for series with invalid paths, causing label misalignment
- Fixed intermittent flickering of covariance ellipses in the Map panel
- Fixed the right sidebar toggle not working when an event was selected
- Fixed markers appearing above other markers despite having a lower z-position in the 3D panel
- Fixed State Transitions panel series resetting when adjusting global variables that the panel does not use
- Fixed the 3D panel silently failing when displaying a
foxglove.Gridmessage with elevation that exceeds possible dimensions; an error is now shown - Fixed a message delivery bug that over-delivered messages to some panels when multiple panels used range subscriptions
- Fixed State Transitions panel not showing gaps when protobuf optional fields become unset
- Fixed Map panel centering behavior to always center on location data instead of relying on previously saved center positions
- Fixed the Raw Messages panel plot button producing unexpected results in some cases; the button is now hidden when it would not work properly
- The custom date range picker for recordings now has default start/end values to ensure URL parameters are updated correctly
- Copying and pasting a tab with a User Scripts panel now includes the associated scripts
Downloads: Linux: deb amd64 arm64, snap amd64 | Windows: x64 arm64 | Mac: Apple Silicon Intel

