Skip to main content

204 posts tagged with "Foxglove"

Release notes for the Foxglove web and desktop app.

View All Tags

Foxglove 2.29.0

๐ŸŸ Fisheye camera supportโ€‹

We've added support for fisheye camera images using the Kannalaโ€“Brandt image distortion model. The Kannalaโ€“Brandt model is popular for modeling fisheye distortion from wide-angle lenses and is used by several popular computer vision tools including OpenCV.

To use the Kannalaโ€“Brandt model, generate a CameraCalibration message and set the distortion_model parameter to kannala_brandt. Our implementation closely matches OpenCV's.

๐Ÿ“ˆ Centered plot playbackโ€‹

You can now adjust the playback bar position for a sliding time window in plots. Previously, the playback bar was always on the right edgeโ€”now you can center it for a more flexible view.

๐Ÿ‘€ View recordings in Timelineโ€‹

Use the Timeline to see a recording in context with other data for a particular device. You can now click the three-dot menu at the end of any recording in the recordings table and select "View in Timeline" to see it in the Timeline.

โ–ถ๏ธ Toggle sections of the layout menuโ€‹

You can now toggle sections of the layout menu closed to focus on your workflow.

New & Improved
  • Improved the import recordings flow in the UI
  • Added a new setting to explicitly choose between 'automatic', 'sliding', and 'fixed' time window modes in plots
Performance
  • Improved the Service Call panel to better handle large service responses
  • General stability improvements
API
  • You can now create, configure, and delete self-managed Primary Sites through the API
  • Improved robustness of streaming data from Foxglove-hosted or self-hosted primary sites
Fixes
  • Fixed topic converter schemaDescription handling for nested objects so they appear correctly in the topic sidebar
  • Copying a data source link from the header now includes your active layout ID
  • The app name is now displayed instead of the description for the process name on Windows
  • Fixed a bug where the same local and org extension would not be marked as overridden on the desktop app
  • Hovering over items in the Map panel no longer changes the stacking order, making it easier to access tooltips for overlapping features
  • Fixed an issue where opening a recording (local or remote) could cause the playhead to stay at the start instead of playing forward to load topic data
  • The selected object data in the 3D panel's object inspector is now updated during playback
  • Fixed an issue where the Plot panel's zoom tool would incorrectly default to the y-axis in some cases
  • Fixed a bug with zooming in the Plot panel using a mouse wheel
  • Fixed an issue where the Plot panel y-axis would jump to [0, 1] when zoomed very far in
  • Maked the upload status list scrollable when many uploads are in progress via UI
  • Fixed and issue where pinch zoom in the Plot panel would zoom the whole app on MacOs
  • Fixed an issue when launching the app in a Linux environment with both Gtk3 and Gtk4 installed

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

Foxglove 2.28.0

๐Ÿงฎ Write your own source-controlled scripts for manipulating dataโ€‹

We've added a new type of Foxglove extension that allows you to manipulate data and create new topics on the fly for visualization.

Semantically, these new topic message converters are similar to user scripts, but they are available across layouts and can be used to deploy "user-scripts" organization-wide. Like other extensions, they support code reuse, development in your own IDE, and use of third-party modules.

What used to be called a message converter is now called a schema message converter (schema converter for short). This new type of extension is called a topic message converter (topic converter).

How are the new Topic Message Converters different?โ€‹

Topic converters are more flexible than schema converters. Where schema converters assume a 1:1 relationship between proprietary schemas and well-known schemas, topic converters do not have this restriction. They can produce new topics from one or more input topics. These new topics can output custom types or other well-known schemas.

Topic converters support:

  • One or more input topics
  • Maintaining state (you can aggregate signal data from previous input messages to produce new outputโ€”allowing you to make filters or perform arbitrary math on signal data)
  • Extract individual fields from a message to separate top-level topics
  • View output of new topics in plots and State Transition panels (or any panels that use range subscriptions)

When should Schema Message Converters be used?โ€‹

We recommend using these when there is a 1:1 relationship between some internal schema and a well-known schema. Common examples:

  • Converting proprietary GPS messages to foxglove.LocationFix for display in the Map panel
  • Converting internal Log messages to foxglove.Log for the Log panel
  • Converting business logic to foxglove.SceneUpdate for display in the 3D panel

๐Ÿ“’ Multi-file uploadโ€‹

You can now select multiple files and upload them simultaneously from the app.

New & Improved
  • Updated GridMap icon to match OccupancyGrid and FoxgloveGrid topics
  • When visualizing a ULog data source, the last message on a topic is now displayed after seeking
  • Visualization now shows an error when a 3D panel entity is rendered with a likely incorrect pose due to mismatched timestamps
  • Added the ability to quickly hide or show all series in the plot panel
  • Added the ability to hide or show all transforms, while preserving individual frame visibility, in the 3D panel
  • Tooltips for message path plots are now hidden for undefined series
  • Proximity in both x and y dimensions is now used to select points for tooltips in plots
  • Removed the vertical bar when hovering over non-time-series plots
  • Improved Map panel auto-centering
  • Moved the plot legend visibility toggle to the panel toolbar
  • Drag area is now only rendered in charts where sync is enabled
  • Added the ability to delete unimported device recordings
Performance
  • Improved memory performance of path-based XY plots to support larger datasets
  • Improved memory usage for 3D scenes with many transparent arrows
  • General performance improvements
Fixes
  • Fixed Quick Look previews not appearing on macOS
  • Resolved occasional 3D panel crashes with older versions of the ROS GridMap message type
  • Fixed GridMaps indexing and displaying data incorrectly when the size changes
  • GridMaps orientation now matches RViz
  • Fixed unsupported color settings appearing for Grid layers
  • Fixed timestamp truncation in filenames when downloading images from the image panel
  • Fixed retry getting into an unrecoverable state from network errors while seeking
  • Fixed playback head racing forward past cached regions after a network interruption
  • Fixed plot tooltip showing after panning, even if the mouse is not over a point
  • Fixed an issue with dropping H.265 video topics into the image panel

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

Foxglove 2.27.1

This release contains minor feature and performance improvements.

New & Improved
  • Renaming a previously deleted and then restored extension is now allowed
  • The measurement tools now show distance for all path-based plots, not just those with a 1:1 axis scale
Performance
  • Improved 3D panel performance for scene entity arrows when there are many scene entities

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

Foxglove 2.27.0

โ›ฐ๏ธ Support for Grid Maps in 3Dโ€‹

We've added support for visualizing grid_map_msgs/GridMap messages in Foxglove. Grid Maps can be used to represent and visualize 2.5D height map information as well as other layers in the 3D panel. Common data layers stored in GridMap include elevation, variance, color, friction coefficient, foothold quality, surface normal, traversability, and more.

For visualizing surfaces in the 3D panel, Foxglove currently supports two interpolation methods between points:

  • Nearest neighbour: Creates cube volumes at the nearest grid point containing the elevation data (faster, less accurate representation of the surface).
  • Linear: The value of any point (x, y) on the surface is estimated using bilinear interpolation or the four neighboring grid points (slower, more accurate representation of the surface).

๐Ÿ“ Inspect and measure points in the Plot panelโ€‹

We've added inspect and measurement tools to the Plot panel. With the tool enabled, you can click on any point to highlight its x and y-values. Select a second point to view the x and y-delta between the points. Additionally, when viewing a path-based XY plot (as opposed to a time-series plot), the tool will also display the Euclidean distance between the two points.

๐Ÿ”ฌ Easier zooming in the Plot panelโ€‹

We've updated how you zoom in the Plot panel for a faster and more intuitive experience. When scrolling to zoom, hold Shift to zoom in y-axis and Alt/Option to zoom in the x-axis modifiers. You can also scroll either axis by hovering over the respective axis area for the plot.

๐Ÿ“œ Quickly scroll through State Transitionsโ€‹

If your State Transitions panel contains a large number of rows, you can now use Shift + Scroll to quickly scroll through them.

New & Improved
  • Topics from scripts or converters are labeled as "from Script" or "from Converter" for topics generated by User Scripts or Converters respectively
  • Non-critical URDF issues now appear as warnings instead of errors
  • Added support for automatic min, max, and range detection for plots and state transitions using custom timestamp sources
Performance
  • Added a "Compute vertex normals" toggle in the 3D panel to improve performance for large meshes
  • Reduced initial opening time for ULog files
  • Improved support for larger ULog files, enabling review of longer flight logs
Fixes
  • Fixed an issue in the Plot panel where points were not displayed as expected
  • Copying bigint values in the Raw Messages panel now copies them as numbers, not quoted strings
  • Fixed a bug where certain paths would crash the Raw Messages panel
  • Fixed an issue where the 3D panel transform tree frame list could get shuffled during looped playback
  • Reduced flickering while streaming plot data
  • Fixed a point cloud bug where some points would linger when in cube mode
  • Fixed an issue where schemaless topics would not load from a streaming source
  • Fixed an issue where holding down z rapidly toggled the zoom tool
  • Fixed the "Retry" button after a network interruption
  • Fixed an issue where Plot and State Transitions panels would get stuck at deep zoom levels
  • Fixed an issue in the Image panel where large images could fail to synchronize with their annotations

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

Foxglove 2.26.0

๐ŸŽจ Set URDF opacity and toggle outlinesโ€‹

You can now adjust the opacity of URDF models and toggle their outlines in the 3D panel. This gives you more control over how your robot models are displayed.

๐Ÿ” Marquee zoom for Plot and State Transitions panelsโ€‹

The Plot and State Transitions panels now support marquee zooming. Click and drag to select an area to zoom into.

โŒจ๏ธ Keyboard shortcuts on desktopโ€‹

The desktop app now supports keyboard shortcuts for common actions:

ActionShortcut
Open a new windowโŒ˜ + n / Ctrl + n
Open a recordingโŒ˜ + o / Ctrl + o
Open a live connectionโŒ˜ + Shift + o / Ctrl + Shift + o
New & Improved
  • Replaced the floating "Reset View" button with a panel toolbar button in the Image panel
  • Improved handling of improperly encoded data fields in JSON schema messages
Performance
  • Improved performance in the Raw Messages panel
  • Improved performance in the State Transitions panel
  • Improved seeking behavior in the Image panel when viewing compressed video topics by caching keyframes
Fixes
  • Fixed jitter in the Plot panel legend when hovering over plot series
  • Fixed line flicker on overlapping poses in the 3D panel
  • Fixed textures of COLLADA meshes not loading in certain situations
  • Fixed an issue where selecting all visible items in the recordings page would show an error with open-ended date ranges
  • Fixed spurious errors in 3D panel topic settings during playback loops
  • Fixed inability to view and set prismatic URDF joints
  • Fixed textures of URDF OBJ/GLTF meshes not loading
  • Fixed a bug where state transition panels could cause misalignment with timeseries plots
  • Fixed jitter when panning and zooming large path-based plots with 1:1 scales enabled
  • Fixed an issue where the 3D panel would not show the selected marker when scrubbing
  • Fixed an issue where the desktop app would not persist the current path on refresh

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

Foxglove 2.25.0

๐Ÿ“ฎ Plot by any timestampโ€‹

You can now generate plots and state transitions using arbitrary timestamp fields from your messages. This gives you more flexibility in how you visualize your time-series data.

๐Ÿ‘จโ€๐Ÿ’ผLayout Managerโ€‹

We've introduced a dedicated page for managing your Foxglove layouts. The new layout manager makes it easier to organize, share, and maintain your visualization configurations.

๐ŸงŠ Point cloud cube modeโ€‹

Point clouds and laser scans now support a cube rendering mode that displays points as cubes. This is useful when your point cloud data semantically represents voxels.

point cloud cubes

New & Improved
  • Replaced the floating reset view button with a panel toolbar button in the Plot and State Transitions panels
  • Device tokens are now automatically disabled when their associated device is deleted
Performance
  • Improved performance when streaming data in the web app
  • Enhanced performance for timeseries plots
  • General performance optimizations across the application
Fixes
  • Fixed an issue in the Plot panel where index plots could not be zoomed independently on the x-axis or y-axis
  • Fixed a bug where zooming-in on XY plots would not show data points indicating data is no longer down sampled
  • Fixed an issue where the 3D panel would not properly render frame transforms after changing the session ID
  • Fixed bulk actions in the recordings list to properly scope to the selected device
  • Fixed an issue where the settings panel would not open when clicking the settings icon in the object inspector
  • Fixed incorrect positioning of 3D panel crosshairs in certain scenarios
  • Fixed a bug where recordings from deleted devices remained visible
  • Fixed line clipping in the 3D panel when using small near clipping plane distances
  • Fixed an issue where GeoJSON shape selection outlines would persist after moving the mouse away

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

Foxglove 2.24.0

๐Ÿšข Performant API for visualizing data across a time rangeโ€‹

The subscribeMessageRange extension API is now generally available. Using this API, Foxglove can load data in small chunks and cache only a subset of serialized data. By doing this, heap memory usage is reduced while still allowing fast re-reads. As a result, panels can display larger datasets without exhausting memory resources.

The subscribeMessageRange API should be used instead of preload: true and context.watch("allFrames") in order to load data across a data source. These previous APIs are now deprecated.

The reference documentation for the extension API is also now available in the core Foxglove documentation. extension api docs

โฎ๏ธ Quick navigation to recent layoutsโ€‹

The layout menu now shows a list of recently used layouts at the top for quick navigation.

New & Improved
  • Added font size settings to the Log panel
  • The Map panel now shows the color assigned to each topic when using "Automatic" color mode
  • rgba8 and bgra8 encoded images now use their transparency when rendering in the Image panel
Performance
  • Improved the offline startup time of the Foxglove app
  • Improved the stability of the WebSocket connection
  • Plot panel performance improvements
Fixes
  • Fixed an issue where the URL would unnecessarily update while the web app loads a data source
  • Fixed an issue where reverting a layout to the last saved state would result in some settings not resetting
  • Fixed an issue where H.264 video playback would fail in rare cases
  • Fixed an issue where old completed imports were sometimes missing from the timeline view for devices with over 100,000 recordings
  • Fixed an issue where high-frequency data in the Plot panel would jitter under certain circumstances
  • Fixed an issue where the Plot panel legend would display the current y-value, but not the x-value, for XY plots
  • Fixed an issue where Plot panel tooltips did not correctly show that multiple points were under the cursor
  • Fixed a bug where ctrl/cmd + c did not work to copy text out of the Log panel

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

Foxglove 2.23.0

๐Ÿ“ Locked axis scales in the Plot panelโ€‹

The Plot panel now supports locking the x- and y-axis scales to a 1:1 ratio. This can be set via the "Axis scales" drop down in the panel settings.

๐Ÿฉป Preview topics before importing with Foxglove Agentโ€‹

The Foxglove Agent tracks metadata about what topics exist in each MCAP recording and forwards this information to the Foxglove Cloud. We now make this topic-level information available for you to inspect directly in Foxglove before importing the recording.

Learn more about the Foxglove Agent in the Agent docs or by watching the recording of our Foxglove Agent live demo.

New & Improved
  • When an extension fails to activate, an error is now displayed on the extension list page and the extension details page
  • Plot and State Transitions panel tooltips are now hidden when dragging the panel to improve clarity
  • The Image panel now supports viewing both original and converted messages when using message converters
  • Added the ability to filter the recordings list to show only those that are not associated with a device
  • Improved the usability of the vertical scrollbar in the State Transitions panel
  • Timestamp objects are now pretty-formatted in the Table panel
Performance
  • Network usage reduced when syncing layouts
  • Reduced latency of H.264 video decoding if the video was not already encoded with low latency settings
  • Performance improvements for User Scripts that load a time-range of a topic
  • General performance improvements
Fixes
  • Fixed an issue where the Raw Message panel would display "waiting for next message" when using a message path ending with a slice on an empty array
  • Mitigated tooltip flickering when resizing the Plot panel
  • Fixed an issue where switching tabs would cause messages to no longer be displayed
  • Fixed an issue where hover values would sometimes not show when zoomed out in a plot
  • Fixed an issue causing the viewport to jump after switching from 3D to 2D in the 3D panel
  • Fixed an issue with incorrect URL parameters when adjusting the time range for a data source
  • Fixed an issue where single-message recordings didn't show up in the timeline coverage view
  • Fixed an issue where file for downloaded files varied depending on the download context
API
  • The /data/stream API endpoint for streaming and downloading data now accepts a compressionFormat parameter to specify the output compression format for MCAP chunks
Deprecated
  • Removed support for streaming using the ds.importId URL parameter which has been deprecated for over a year

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