Skip to main content

Foxglove v1.3.0

Added

  • Display the same topics settings used to render sensor_msgs/PointCloud2 messages for sensor_msgs/LaserScanĀ messages in the 3D panel
  • Double-clicking an .mcap file now opens it in the Foxglove desktop app

Changed

  • Show all valid annotation topics in the Image panel's annotations dropdown
  • Improved handling of stale authenticated sessions
  • Display dashes in the Data Source Info panel if message counts aren't available for a data source
  • Display each visible topic in a different color in the Map panel
  • Update the Node Playground panel's nodes with generated types as the data source loads new topics and datatypes
  • Improve macOS Quick Look preview when displayed in small viewports
  • Improve preloading when streaming data from Foxglove
  • Correctly visualize a series ordered by header stamp in the Plot panel, regardless of the order of incoming messages
  • Fall back to visualization_msgs/MarkerĀ messages' color field in the 3D panel, in the event that the colors array is non-empty but has fewer entries than the points field
  • Expire 3D panel markers with lifetimes relative to their header stamp, not receive time; show warning when receiving an expired marker
  • Removed requirement for the Node Playground panel's output topics to have a /studio_node prefix
  • Simplified the default layout for exploring sample data

Fixed

  • Display foxglove.LocationFixĀ messages without position_convariance in the Map panel without crashing the panel
  • Fixed a crash when hovering or clicking on a negative timestamp in the Plot panel
  • Improved double-clicking to select text values in the Raw Messages panel
  • Fixed an issue where macOS Quick Look integration displayed an error with certain valid MCAP files
  • Fixed an issue with plotting incompletely fetched Foxglove data
  • Fixed a display issue with the Plot panel's legend
  • Fixed an issue with publishing to multiple subscribers using the latest version of @foxglove/electron-socket
  • Resolved an error in ROS 1 Rosbridge WebSocket connections
  • Fixed clicking the upper area of panels with hidden floating toolbars
  • Fixed an issue where playing back data from Foxglove would stall

Foxglove v1.2.0

Added

  • Add foxglove.CameraCalibration support to Image panel
  • Add foxglove.ImageAnnotations support to Image panel
  • Add built-in types to the Node Playground panel's Message type
  • Add support for loading v0.x MCAP data from Foxglove
  • Support wrapping topic names in quotes when using message path syntax
  • Support missing object properties in JSON data

Changed

  • Improve error reporting for PointCloud2 messages' x/y/z fields
  • Handle deleted layouts better on startup
  • Ensure that clicking "Reset" on a crashed panel will clear the error before resetting the panel
  • Add better error states to Teleop panel
  • Edit copy for the Account tab
  • Improved preloading for the Foxglove player
  • Improved performance in zstd decompression

Fixed

  • Update @foxglove/ros2 to fix ROS 2 timestamps
  • Clamp time when seeking based on the initial URL state for Foxglove URLs
  • Resubscribe when rosbridge connection is re-established
  • Clear problems when re-establishing ROS1 connection
  • Fix unbounded memory growth in plot panel for new messages
  • Fix memory leak of player state from previous players
  • Fix playback bar getting stuck in drag mode
  • Fix performance issue with large datasets in plots

Foxglove v1.1.0

Added

Changed

  • Improved the Node Playground panelā€™s documentation
  • Hid context menu of overlapping markers after selecting an object in the 3D panel

Fixed

  • Fixed diff mode for filtered values in the Raw Messages panel
  • Fixed a bug where WebSocket connections using json encoding would fail to connect, and jsonschema was not accepted as a schema encoding for MCAP files with json message encoding
  • Fixed MCAP files with out-of-order messages to play them back in order

Foxglove v1.0.0

We made it - Foxglove is officially 1.0! šŸ„³šŸŽˆšŸŽ‚šŸš€

With this release, we also announced MCAP, a new file format designed specifically for robotics use cases. Foxglove now supports loading MCAP files for visualizing and debugging your recorded data.

Read our full announcement to learn more about why we were motivated to design MCAP, and how this standardized container format can help you better record and understand your robotics data.

Added

  • Added support for loading local MCAP files
  • Added a newĀ ./typesĀ utility file to the Node Playground panel
  • Added support for $(arg) substitution and <xacro:arg> defaults for URDF (.urdf.xacro) files
  • Added support for alpha rendering of rgba fields in PointCloud2 messages; changed interpretation of rgb/rgba fields to use RGBA byte order by default
  • Added a legend position setting to the Plot panel
  • Added an option to make convex hulls of polygon markers clickable in the 3D panel
  • Added support for viewing foxglove.Log messages in the Log panel
  • Added a context menu with all possible markers to select when clicking overlapping markers in the 3D panel

Changed

  • Changed the Raw Messages panel to remember fields' expansion states after playback loops
  • Added a warning when a Rosbridge connection is taking too long to look up topics and message definitions
  • Added better error messages when URDF files fail to load via drag-and-drop
  • Improved rendering and removed the line width setting for grids in the 3D panel
  • Changed the panel list to highlight the first entry only when typing a search term
  • Ensured that newly added panels that subscribe to an infrequently publishing topic (i.e. /tf_static) receive the appropriate messages
  • Ensured users never land in a state with no layout
  • Ensured the player keeps the current time when opening a Foxglove deep link, even if the originally requested start and end time have to be clamped to a different valid range

Fixed

  • Fixed the app menu option to correctly open a Rosbridge connection
  • Fixed the panel settings editor to correctly read the default config values
  • Fixed an app crash in the 3D panel by displaying an error instead when fields are missing from a PointCloud2 topic's message
  • Fixed a bug that prevented tooltips from being shown on newly selected message paths in the Plot panel
  • Fixed an error that appeared when using the Node Playground panel in multiple tabs or windows at the same time
  • Fixed the Raw Messages panel to more reliably show latching topics' latest messages on startup
  • Fixed a memory leak that occurs when the app receives many out-of-order messages due to the presence of theĀ /clockĀ topic
  • Fixed a Data went back in time warning that appeared in certain cases when using /clock with Rosbridge connections
  • Fixed an issue where the Plot panel's legend would be incorrectly formatted when the user hovers on a point without a valid current value and when the Show plot values in legend setting is toggled on
  • Fixed a bug where adding a new series would clear data from the current series in the Plot panel
  • Fixed an issue where the Plot and State Transitions panels incorrectly interpreted a pan gesture as a click to seek

Foxglove v0.29.0

Added

  • Added ability to display Plot panel's legend next to the plot šŸ“ˆ
  • Implemented ability to click to publish points and poses in the 3D panel šŸ“šŸ™Œ

Fixed

  • Included default values for Protobuf message fields in the WebSocket player and MCAP provider
  • Fixed mesh rendering issues in the 3D panel
  • Fixed height collapsing in Layouts sidebar
  • Fixed COLLADA and STL mesh orientation; added option to ignore <up_axis> in COLLADA meshes
  • Wrapped message sorting and partitioning in safe time comparison
  • Correctly observed the frame_id for arrow markers defined with two points in the 3D panel
  • Respected color for meshes with mesh_use_embedded_materials: false and STL meshes in URDFs

Foxglove v0.28.0

Added

  • Added a grid display of available panels when the layout is empty
  • Added support for ROS_PACKAGE_PATH values with multiple paths

Changed

  • Changed seek behavior to play all messages until the desired seek time (vs. jump seeking), achieving the same visualization results as playing the data source
  • Improved rendering of data source timestamps in narrow views
  • Improved usability for Diagnostics ā€“ Detail panel
  • Removed panel name from panel toolbars
  • Used consistent title case for the Data Source Info panelā€™s table headers

Fixed

  • Fixed panel extension API to unsubscribe from all topics when subscribe is provided an empty topic list
  • Fixed an autocomplete regression in the Raw Messages panel
  • Fixed Plot panel panning
  • Fixed an issue with the Data source dialog failing to close when a data source is successfully opened
  • Fixed an issue with the data source when loading a remote data source via URL
  • Fixed an orientation issue when rendering cube and sphere lists in the 3D panel

Foxglove v0.27.0

Added

  • Added ability to toggle error details in the ErrorBoundary component and to click quick action buttons to "Dismiss", "Reset" and "Remove Panel"
  • Added selectable markers for the Image panel, analogous to the interactive markers in the 3D panel
  • Added tooltip thumbnail images to every panel in the panel list
  • Added a desktop app preference to "Automatically install updates"
  • Added rotation and horizontal / vertical mirroring to the Image panel
  • Added native ROS 2 connection support for subscribing to topics with volatile durability

Changed

  • Widened columns in Data Source Info panel and allowed column resizing
  • Defaulted markers without a frame_id to the (empty) frame when rendering
  • Improved hover interaction of hiding and showing toolbars in Tab panels
  • Displayed a detailed and actionable error message when failing to load a remote url from a server
  • Changed the tooltip for the panel toolbar's cog icon from "Panel settings" to "More"
  • Removed the duplicate fullscreen entry from each panel toolbar's dropdown menu
  • Hid the State Transitions panel's add button when the panel isn't hovered to prevent it from overlapping with the chart
  • Surfaced native ROS 2 message deserialization errors and fixed a bug decoding message headers in the ROS 2 native connector
  • Improved message path autocomplete behavior

Fixed

  • Fixed a bug where the URL bar flickered and removed/added the data source when loading a data source via url
  • Fixed a bug where extension panels rendered incorrect data when the user loaded a new data source
  • Fixed 3D panel to hide any internal implementation fields when displaying information for a selected marker
  • Fixed ability to read foxglove_msgs/ImageMarkerArrayĀ messages from ROS 2 .db3 files
  • Fixed 3D panel to not render markers with future timestamps or expired lifetimes
  • Fixed duration values in the sidebar's Data source tab and the Data Source Info panel to conform to the application's time format setting
  • Fixed the duplicateĀ .bagĀ item in the Data source dialog's "Open local file" option text
  • Fixed a zoom issue in the State Transitions panel
  • Fixed the Map panel to show the corresponding location when a user hovers over the playback bar, even when playback is paused
  • Fixed bounds jitter on synced Plot panels
  • Fixed parameter updating so that native ROS 1 connection users will receive parameter updates when connected to a remote machine
  • Fixed an issue with the hotkey overlay in Tab panels
  • Fixed the Node Playground panel to correctly update when a new ros library is generated
  • Fixed reading of truncated PX4 ULog files
  • Fixed invalid query params in the Slack and docs links

Foxglove v0.26.0

Happy new year! Check out our much improved sample data - we think it better demonstrates the power of Foxglove.

Added

  • Added nuScenes sample data and layout
  • Added support for changing playback speed for Foxglove data
  • Added support for multiple Foxglove processes in native ROS 1 and 2 data sources

Changed

  • Improved ROS 1 error handling
  • Made performance improvements when loading remote files
  • Prevented zooming below a threshold in Image Panel to avoid getting "lost in space"
  • Changed Plot panel tooltips to only show a single value + overflow message
  • Avoided deselecting a panel on second click when the settings are open
  • Made reselecting the same panel type a no-op
  • Rendered small points as rectangles in the Image panel for better performance
  • Removed zoom in instructions from the Plot panel tooltip's overflow message
  • Improved error message when failing to load mesh markers

Fixed

  • Fixed the Data source dialog's height
  • Queued ROS 1 advertise requests until ROS 1 node is ready
  • Fixed follow mode in orthographic mode so the camera no longer wobbles
  • Fixed setting publishers before getting topics in the ROS 1 player
  • Fixed rendering mesh resource markers referencing ASCII STL files in the 3D panel
  • Fixed rosbag initialization errors not showing to the user
  • Fixed Image panel from flickering during zoom
  • Fixed PointCloud2s' rgb and rgba fields when is_bigendian = false
  • Fixed the Data source dialog's recent connections list for new users
  • Fixed transform loading from URDF robot models in the 3D panel

Foxglove v0.25.1

Added

  • Added a ā€œShow on startup" checkbox to the Data source dialog
  • Added support for publishing Docker images for each major.minor and major.minor.patch release to the GitHub Container registry
  • Added dragged-and-dropped local files to the Data source dialog's "Recents" list
  • Added support for opening rosbag2 files recorded with WAL journaling mode

Changed

  • Removed the obsolete ROS_HOSTNAME setting from app Preferences
  • Removed feature flag for Data source dialog flow
  • Changed Data source dialog to avoid displaying duplicate entries in the "Recents" list

Fixed

  • Fixed issue in Data source dialog where clicking "Open file" after having cancelled a previous attempt did not re-open the file dialog as expected
  • Fixed the Image panelā€™s empty state to not display a stale image
  • Fixed issue where double-clicking a .bag file without any active Foxglove windows open would not correctly open the file in a new Foxglove window
  • Fixed handling of launch preference changes in an active session
  • Fixed the 3D panel's follow behavior

Foxglove v0.25.0

Happy holidays! šŸŽ„Ā We've got a jam-packed release for you...

Added

  • Added a Data source dialog to more easily select data sources and view sample datasets
  • Added light mode support for empty panel state
  • Added support for loading and visualizingĀ rosbag2Ā .db3Ā files larger than 2GB
  • Added tooltip descriptions for each entry in the panel list
  • Added support for the Plot panel in non-Chrome browsers
  • Added support for the Image panel in non-Chrome browsers
  • Added rgba field support for PointCloud2 in the 3D panel

Changed

  • Changed the Plot panel's tooltip to show all values under a series label when hovering on multiple values within a series
  • ImprovedĀ ImageMarkerĀ handling
  • Improved handling of deep links in fresh browser sessions
  • Made applicableĀ controls in the Preferences sidebar into dropdown menus
  • Improved handling of point cloud render errors
  • Changed URDF errors to surface as toast notifications instead of full-screen error dialogs
  • Reordered 3D panel's toolbar items and changed transform control dropdown menu to always be visible
  • Avoided displaying a hint for unsupportedĀ package://Ā URLs in the web app
  • Enabled better performance when rendering complex scenes, especially in the 3D panel
  • Avoided displaying "Your active layout was deleted" when users delete the current layout themselves
  • Split the existing "Open Connection" menu item in the desktop app's File menu into 3 items: "Open File", "Open Remote File", "Open Connection"
  • Removed the Welcome layout from the desktop app's Help menu
  • Changed 3D panel to remember a user's previously selected follow frame, even as they toggle through follow modes
  • Removed support forĀ LinedConvexHullsĀ in the 3D panel
  • Improved visibility for point clouds colored with "Turbo" and changed pose markers to purple in the 3D panel
  • Improved the display of low frequency markers and transforms in the 3D panel by reading messages several seconds before the playhead when seeking
  • Made usability improvements to the 3D panelā€™s follow control
  • Reduced memory usage of the empty app at startup

Fixed

  • Deselected the active layout when remotely deleted within another session
  • Omitted theĀ timeĀ URL parameter for non-seekable datasources
  • Fixed a bug where the Foxglove WebSocket connection would stop displaying data if topics disappeared and re-appeared on the server
  • Fixed URL state encoding for Foxglove WebSocket connections
  • Fixed pose handling forĀ OccupancyGridĀ messages
  • Fixed app crash when when adding a Publish panel while connected to a Foxglove WebSocket data source
  • Correctly updated the URL state for data sources that support URL state, and correctly cleared the URL state for data sources that do not support URL state
  • Ensured that infrequently published transforms no longer expire, and that transforms are never used ahead of their publish time
  • Fixed app crash when encountering incomplete Tab panel configs
  • Fixed unselectable color modes in point cloud settings editor
  • Fixed errors when loading certain Draco-compressedĀ .glbĀ meshes
  • Fixed loading of moreĀ .urdf,Ā .xacro, and COLLADA (.dae) files
  • Fixed a bug where renaming a layout would not take effect when signed in across multiple devices
  • Fixed interaction so that pressingĀ cmdĀ +Ā nĀ numberĀ in the web app properly changes you to yourĀ nth browser tab
  • Fixed user nodes to be initialized with the latestĀ globalVariablesĀ values
  • Displayed the disabled reason for a connection once, rather than twice
  • Fixed renderables that are not frame-locked (point clouds, occupancy grids, markers with frame_locked=false) to remain at their original position in the root frame in the 3D panel
  • Fixed URDF viewer to correctly parseĀ .xacroĀ files containing comments
  • Kept help text in the Data sources sidebar, even when a data source is reconnecting
  • Fixed lines connecting child and parent frames in the 3D panel to be more accurate for long distances
  • Fixed fetching mesh markers for non-200 but successful HTTP responses
  • Avoided filling in the follow control icon when not following a frame in the 3D panel
  • Fixed the Data Source Info panel to correctly display datatypes
  • FixedĀ LaserScanĀ poses when rendering a different frame; added support for visualizingĀ intensities[]Ā values
  • Fixed the color of a difficult-to-read link in the web app
  • Fixed drag-and-drop functionality in Firefox
  • Fixed panel list from scrolling behind the input field in the panel settings' "Change panel" submenu