Skip to main content

Foxglove 2.17.0

๐Ÿ›๏ธ Multi-file playbackโ€‹

We've added support for playback of multiple local files at once. With this update, you can select Open local file(s) from Foxglove, select multiple items from your file system, and immediately view the combined data.

The playback experience is the same as uploading multiple files to Foxglove data management or merging them locally using the mcap merge CLI command. For consecutive recording files (recorded one after another), you can now play from start to end through both files. For overlapping files, you'll see topics from all files and play through the messages in log_time order. Transforms must all belong to the same transform tree and all messages on the same topic must have the same schema.

๐Ÿ“‚ Organize layouts with foldersโ€‹

You can now create folders to organize your personal and shared layouts. Organize your team's layouts and keep them tidy by clicking the โ‹ฎ menu next to any layout to add it to a folder.

๐Ÿ“ˆ Plot & State Transitions using Publish Timeโ€‹

You can now create time-series plots andstate transitions using message publish_time in addition to the default log_time (occasionally refered to as receive time) and optional header.stamp fields.

๐Ÿง˜ Simplify Plot CSV outputโ€‹

We've simplified the CSV output when exporting data from the Plot panel. Right-click the top bar of any plot and select Download plot data as CSV. The output will now contain a single timestamp column, making it easier to work with.

For time-based plots, the value will be the timestamp selected for that series in the panel settings. For index-based and custom x-axis plots, the value will be the log_time of the message.

Plot CSV export

๐Ÿ“‹ Easily copy logsโ€‹

We added a button to copy the logs you're currently looking at in the Log panel to the clipboard. We love the little things that make your day-to-day workflow faster and easier.

Copy logs

New & Improved
Performance
  • Improved performance when resizing panels
Fixes
  • Fixed a bug where reloading the desktop app would not retain the current connection information
  • Fixed a bug that would occasionally occur when reconnecting to a websocket
  • Fixed a bug preventing the 3D panel's Open in raw message action from handling topic names with spaces
  • Fixed a bug preventing message converters from running on Transform messages
  • Fixed a bug preventing User Script log() output from correctly rendering true Boolean values
  • Fixed a bug that stripped whitespace from layout names
  • Fixed a bug where files with many MCAP attachments may fail to import
  • Added missing support for inputting numeric timezone offsets in the playback time input
  • Fixed a bug causing panels to crash when receiving CompressedVideo messages without timestamps
  • Fixed a bug causing the camera to jump when moving the camera after going from Fixed to Follow pose mode
API

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

Foxglove 2.16.1

โšก All new State Transitions panelโ€‹

We re-wrote the State Transitions panel from the ground up to improve performance and usability. While things may look the same, the new State Transitions panel is more than 2x faster loading saved data, and more than 10x faster rendering high-frequency (> 1kHz) messages as points. We've also cut latency in half when panning and zooming, making it feel smoother and more responsive.

We've also made lots of little tweaks like making labels easier to understand when you zoom out. This is only a start; we have more to come.

Before

After

โ›ต Expand and explore topicsโ€‹

The updated topic sidebar (open with [ shortcut) allows you to expand and explore topics in your data. You can now see the structure of your data and easily navigate through it. Select fields you're interested in and drag them into relevant panels to visualize them.

๐Ÿง  Intelligent settings for live vs replayโ€‹

The Plot panel and State Transitions panel now automatically switch the default time-range displayed based on the data source type. Live data defaults to showing the last 30 seconds while replayed recordings show the full time-range. These defaults can be overridden in the panel settings.

โ™ป๏ธ Manage data retention on your devicesโ€‹

The Foxglove Agent now makes managing data on your robot easy. Once you've installed the Foxglove Agent on your robot and connected it to Foxglove using a device token, set the retainRecordingsSeconds property for your device using the devices API. As data gets on your robot's disk ages out, the Foxglove Agent will automatically delete it based on the policy you've set.

Setting the retention period to zero retains data indefinitely and is the default state. You can set different retention policies for each of your devices and update them at any time. Each time your device connects to Foxglove, it will automatically sync its settings.

You can now copy links to your visualization or download data from the visualizaiton UI. Click the โŒ„ button in the top bar next to the data source name to copy a link to your current visualization or download the data. On download you'll be able to edit the time range, which topics you want, and the format of the data.

New & Improved
  • Improved search in the topic sidebar to make it easier to find specific message fields
  • Added a splash screen when launching the app
  • Font size can now be changed for the Indicator panel in the settings
  • Global variables are now supported in message paths for the Indicator and Gauge panels
  • Added support for DELIMITED_CDR2-encoded appendable sequences and arrays
Performance
  • Plot panel stability improvements
  • Reduced desktop app initialization time
  • Stability improvements for panels subscribing to the transform tree
  • Improved app stability for Ubunutu 22.04 users
Fixes
  • Fixed a bug with the importStatus field of webhooks notifications for recordings that were deleted and then re-uploaded
  • Fixed a bug where Map panel settings would not display in some cases
  • Fixed a bug causing the last message to be skipped during playback in some cases
  • Fixed a bug where the performance sidebar would show multiple entries for user scripts
  • Fixed a bug causing the app to occasionally crash when double-clicking files to open them in the desktop app
  • Fixed a bug preventing editable transform fields in the 3D panel from being set to values less than 0.1
  • Fixed a bug preventing user scripts from importing .ts modules in certain scenarios
  • Fixed a bug where publishTime was not set on message events when streaming from Foxglove
  • Fixed a bug where transform frames would be incorrectly visualized when their parent frame changed
  • Fixed a bug loading flatbuffer data with large or numerous fields
API
  • Deprecated mcap0 in favor of mcap as an outputFormat option for /data/stream
  • You can now create devices automatically when using the /data/upload API by specifying a new deviceName

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

Agent v1.2.0

Static Buildsโ€‹

We now build Foxglove Agent statically. This will allow foxglove-agent to run on more Linux versions and distributions.

Fixes
  • Fixed a bug where the Foxglove Agent exits when running on distributions with unsupported glibc version
  • The agent now will fetch and respect the configured per-device recording retention period

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

Primary Site v0.0.50

This release contains an change in behavior when providing a device name in Foxglove MCAP metadata.

New & Improved
  • Changed: When supplying a device name in Foxglove MCAP metadata, the device no longer needs to be created in advance. If a device with that name does not yet exist, it will be created during processing of the recording by the inbox listener.

Docs: About | Install | Upgrade

Foxglove 2.15.0

๐Ÿญ Quickly refine playback time rangeโ€‹

It's now smoother to refine the playback time range you've selected in the timeline view. If you update the range, the seek time will automatically update to also be within the new range.

New & Improved
  • When logging in using a magic link, emails now include a plain text copy of the link for copy/pasting
Performance
Fixes
  • Fixed a bug where the 'add panel' menu would not close after hitting 'enter' to add a panel
  • Fixed a bug causing scene entity models to flicker under some circumstances
  • Fixed a bug preventing users from opening symlinks to a local file in some cases
  • Fixed a bug preventing the click to publish feature in the 3D panel from working when using the Foxglove bridge with simulations
  • Fixed a bug where user scripts were not working when there were conflicting datatypes
  • Fixed a bug where the ROS_PACKAGE_PATH environment variable was not being used when the app setting with the same name was set to an empty string

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

Foxglove 2.14.0

๐Ÿ˜ท Easier handling of quarantined filesโ€‹

You can now retry or download failed imports directly from the Import errors tab of the Recordings page. Click the โ menu on any row of the table and select retry or download to take action on the quarantined file.

Self-service quarantined files

New & Improved
Performance
  • Improved memory optimization for plots and state transitions for recorded sources
  • Minor app stability improvements
Fixes
  • Collada textures can now load on the desktop app
  • Fixed a bug with rendering plots after a Topic Alias is updated
  • Fixed a bug occasionally preventing Topic Aliases from loading
  • Fixed a bug in exporting plots to CSV when a series value is a timestamp
  • Fixed a bug causing plots to occasionally reload unnecessarily
  • Panning in a Plot panel no longer causes current time indicator on the playback bar to jump around
API
  • The v1/data/pending-imports endpoint now returns a quarantinedAt date field for pending imports that have been quarantined
  • The v1/data/pending-imports response now returns undefined instead of null for empty fields

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

Agent v1.1.5

This release contains a fix for handling of some invalid MCAP files.

Fixes
  • Fixed: When the edge controller attempts to submit a recording that Foxglove cloud considers invalid, it will gracefully drop the recording instead of retrying forever.

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

Edge Site v0.0.29

This release contains a fix for handling of some invalid MCAP files.

Fixes
  • Fixed: When the edge controller attempts to submit a recording that Foxglove cloud considers invalid, it will gracefully drop the recording instead of retrying forever.

Docs: About | Install | Upgrade