Skip to main content

v0.19.0

We now sync your layouts to cloud storage when you sign in to a Foxglove account. In addition to syncing your personal layouts across multiple devices, you can also collaborate on Team Layouts with your robotics organization.

Added

  • Added link to License and Privacy Policy from Help menu
  • Added a confirmation step before reverting user changes to a layout
  • Added ability to toggle individual topics in the Map panel's display
  • Added support for ROS2 Foxy to the ROS2 native connector

Changed

  • Made miscellaneous copy edits and improvements to docs
  • Improved the Node Playground panel's Unhandled node kind error to include more useful details

Fixed

  • Made the header's background color and font size in the Diagnostic Summary panel consistent
  • Improved performance of the Raw Messages panel when viewing large messages

Downloads

v0.18.2

Added

  • Added dropdown with diagnostic level filters in Diagnostics Summary panel

Changed

  • Updated copy for State Transitions and Plot panel docs
  • Linked to external pages for remaining in-app docs
  • Hid plot title if not set

Fixed

  • Fixed "could not find chart with id" error
  • Fixed regression in Plot panel performance

Downloads

v0.18.1

Fixed

  • Fixed multiple preloaded datasets from overlapping in the State Transitions panel
  • Prevented late hover events from triggering when hovering on a Plot panel
  • Fixed a crash when loading layouts created with older versions of Foxglove or Webviz

Downloads

v0.18.0

Added

  • Added support for decoding /rosout via native ROS 2 connections
  • Added support for clicking on a graph to seek to the corresponding timestamp in the State Transitions panel
  • Added preloading support to the State Transitions panel
  • Added a vertical line indicating the current playback time in the State Transitions panel
  • Added a title setting to the Plot panel

Changed

  • Cleaned up styling in the app settings' "Experimental Features" section
  • Changed default behavior for time-based Plot panels by keeping their x-axes synced, even after panning or zooming
  • Updated docs to link out to external doc pages on foxglove.dev
  • Used consistent sentence-casing throughout the app

Fixed

  • Fixed topic filter settings in the Topic Graph panel
  • Fixed a bug where selecting a message path from the Plot panel's dropdown would replace the wrong text, resulting in an invalid path
  • Fixed issue where the user receives an un-actionable message when the playback bar has an invalid range
  • Fixed an issue with the tooltip getting stuck open on the playback controls
  • Fixed Plot panel tooltip to show data from the nearest point when hovering over a certain x-axis value
  • Fixed "Studio Debug Panels" experimental feature flag to hide debugging panels by default
  • Improved plot downsampling algorithm to avoid introducing gaps with adjacent datasets
  • Fixed issue with native ROS 2 connections not being established correctly due to implicit history size

Downloads

v0.17.0

Added

  • Added beta support for ROS 2 native connections (ROS 2 Rosbridge connections are more battle-tested)
  • Added support for loading ROS 2 Eloquent bag files
  • Added ability to explicitly save a layout, and to revert a layout to its last explicitly saved state
  • Added a clickable file icon in the macOS window titlebar to show the loaded file's location

Changed

  • Removed fine-grained undo/redo functionality for layouts in favor of the new ability to revert changes to baseline layout
  • Implemented more accurate sampling in the Plot panel for highly variable data points
  • Sorted layouts in alphabetical order
  • Automatically added a Welcome layout when deleting the last layout

Fixed

  • Fixed drag & drop handling of .xacro files
  • Fixed layout issues with full screen panels
  • Aligned field labels in the Raw Messages panel and the 3D panel's marker details modal
  • Fixed plots with a custom (non-timestamp) x-axis from attempting to sync
  • Fixed OOM on Linux loading certain bag files
  • Improved CPU usage when connected to a live data source
  • Improved Plot panel performance when connected to a live data source

Downloads

v0.16.0

We've added a Teleop panel, as well as support for live ROS 2 Rosbridge Websocket connections!

Added

  • Added a Teleop panel to send geometry_msgs/Twist messages with a configurable publish rate
  • Added advertise, unadvertise, and publish methods to the panel extensions API
  • Added ROS 2 support to panels that support only certain datatypes (e.g. sensor_msgs/msg/Image in addition to sensor_msgs/Image), to improve compatibility with ROS 2 bags, WebSocket connections, and future native connections
  • Added a README.md for @foxglove/studio-base
  • Added ROS 2 support for Rosbridge WebSocket connections
  • Added "Foxglove Studio" after the current data source in the titlebar title

Changed

  • Detected host platform to display the correct shortcut key in the Welcome panel
  • Added a check to avoid rendering if point cloud field offsets point past the end of the byte array
  • Improved error handling for native ROS 1 connection failures, by surfacing them as player problems
  • Added a check for the size of ROS 1 messages before deserializing, surfacing failures as player problems or user notifications
  • Removed in-app title bar to display connection problems as a badge on the connections icon or as text inside the connections tab

Fixed

  • Fixed Legacy Plot to properly display data when read from bags and other data sources using lazy messages
  • Display title and axis labels from message on the Legacy Plot
  • Fixed ROS 2 message parsing and deserialization, and improved error reporting
  • Fixed issue where panels would sometimes disappear from the layout when dragged out of Tab panels
  • Fixed an issue with performing mDNS lookups with a @foxglove/electron-socket update
  • Filtered the datasets down to the configured view bounds before sending to the Plot panel
  • Fixed ROS 1 message decoding regression with a @foxglove/rosmsg-serialization update
  • Fixed ROS 1 publishing with @foxglove/ros1 and @foxglove/electron-socket updates
  • Fixed State Transitions panel to place chart items under the correct legend item
  • Fixed styling on the Plot panel's hover bar to appear consistently on all browsers

Internal

  • Removed punycode, a dependency for older libraries with Webpack v4, from appearing in web builds
  • Remove unused code
  • Migrate to @foxglove/rostime package

Downloads

v0.15.0

In this release, we focused on bug fixes and making further improvements to app styling.

Changed

  • Enabled the Image panel's image markers dropdown, even when their topic name does not match the camera image topic
  • Scoped app styling to a top-level app container, instead of applying styles globally

Fixed

  • Fixed the Image panel's download feature to download the image at its original size
  • Fixed a crash when hovering on int64 or uint64 values inside arrays in the Raw Messages panel
  • Fixed a memory leak when attempting to automatically re-establish a connection to a rosbridge WebSocket
  • Fixed 3D panel error that appears when turning a topic off after toggling its namespace markers
  • Removed outdated Slack channel from Node Playground panel documentation

Internals

  • Removed references to global React in the ErrorBoundary component
  • Added back the legacy 2D Plot panel under a feature flag
  • Deleted unused code from the @foxglove/studio-base package
  • Upgraded dependencies, including @foxglove/rosbag
  • Updated lint rules to ban the use of the any type in conditionals

Downloads

v0.14.0

We've migrated more components to use FluentUI, made improvements to our web build, and fixed some outstanding bugs.

Added

  • Added browser support message when trying to load web build on unsupported browsers or versions
  • Added message encouraging users to install desktop app when they try to install extensions on the web build
  • Added a ?demo URL param to the web build to force loading the Welcome layout
  • Added a dialog for activating a sign-in code

Changed

  • Improved appearance of ErrorBoundary component
  • Moved notifications to be displayed in toasts
  • Moved the 3D panel's polygon drawing feature behind a feature flag to prepare for deprecation

Fixed

  • Fixed React key warnings on tooltips
  • Fixed bugs in how the timestamp tooltip appears above playback bar
  • Fixed the dropdown menus in 3D panel's topic settings editor to be consistently clickable
  • Fixed issue where PointClouds didn't render with non-RGB color fields
  • Added back the alpha field for PoseStamped messages' topic settings editor in the 3D panel
  • Handled corrupt layouts gracefully by allowing users to switch layouts or add panels from scratch
  • Fixed error when dragging and dropping panels into an empty layout
  • Fixed React warning for uncontrolled input

Internals

  • Added layout storage providers for team shared layouts feature
  • Converted player components to use FluentUI
  • Added support for ROS 2 Rosbridge (Websocket) connection behind a feature flag
  • Removed unused constants
  • Added business logic to add a preconfigured panel to layout
  • Added web analytics for web build
  • Gated layout debugging in dev
  • Added tracking for layout management metrics – i.e. adding and removing panels, creating / sharing layouts
  • Removed global styles
  • Simplified layout API by merging shareLayout and renameLayout into updateLayout
  • Renamed rosbag.js to @foxglove/rosbag
  • Automated release workflow

Downloads

v0.13.3

Fixed

  • Fixed occasional electron crash on Windows due to monospace fonts

Downloads

v0.13.2

Added

  • Added ability to toggle different groups of topics in the Topic Graph panel
  • Enabled loading and playing bags containing topics with empty message definitions
  • Displayed banner when opening app.foxglove.dev on an outdated version of Chrome or an unsupported browser
  • Added a spinner when lazily loading panels

Changed

  • Removed unsupported options to connect to a ROS 1 or Velodyne LIDAR data source in the web build
  • Removed experimental feature flag for "Extension Marketplace" to always display extension marketplace in sidebar

Fixed

  • Updated rosbag.js to gracefully handle truncated or corrupted bag files

Internals

  • Changed panel components to be lazily loaded
  • Updated dependencies on internal packages, including @foxglove/ros1, @foxglove/rosbag2-web, @foxglove/rosmsg-msgs-common, @foxglove/rosmsg-msgs-foxglove, and @foxglove/rosmsg-serialization

Downloads