Foxglove 2.16.2
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.
📎 Copy links and download data in viz
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 ofmcap
as an outputFormat option for/data/stream
- You can now create devices automatically when using the
/data/upload
API by specifying a newdeviceName
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.
Foxglove v2.15.1
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
- Performance improvements for timeseries data in the Plot panel
- Performance improvements for reading FlatBuffer messages
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.
New & Improved
- Clicking the plot button in a Raw Messages panel that is defined using a global variable will now pass the variable reference—rather than the current value—to the new Plot panel
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 aquarantinedAt
date field for pending imports that have been quarantined - The
v1/data/pending-imports
response now returnsundefined
instead ofnull
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