Skip to main content

Foxglove v0.5.0

Our engineers spent the week on an expedition deep into our chart rendering code. I think we could call it a success! Somehow, they managed to also build a few shiny new features at the same time...

Added

  • New Map panel
  • New Topic Graph panel
  • New grid layer in the 3D panel
  • Ability to customize the 3D panel background with ColorRGBA messages
  • Support for loading 3D panel TFs from any topic
  • Node Playground can now learn TFs from MarkerArray messages
  • Support for ROS topics that don't start with /
  • New time zone setting
  • UI to opt out of telemetry & crash reporting

Changed

  • Way better Plot panel performance
  • Use /clock for currentTime if available on native ROS connections
  • Improved topic selector UX in the Image panel
  • Better error messages for remote bags

Fixed

  • Fixed app crash on some Windows machines due to off screen font loading
  • Fixed dragging panels from the Add Panel menu
  • Fixed 3D panel breaking after reconnecting an external display
  • Fixed click-to-seek functionality in Plot panel
  • Inform ROS master when unsubscribing from a topic
  • Node Playground was broken due to loading wasm from shared workers
  • Fixed silent getUserDefault error on non-macOS platforms
  • Fixed automatically inferred transforms for some point clouds
  • Fixed "split panel" action for panels with no config

Internals

  • New high-performance lazy ROS message parser
  • Fixed an issue with hot reloading icons
  • Moved default panel configuration into each panel
  • Updated sample-robot-docker to work on macOS
  • Better capturing of errors from shared workers
  • Upgraded electron, fixing several issues including missing source maps
  • Fixed storybook delays
  • Automatically merge dependabot updates
  • Split app/util/hooks.tsx into separate files
  • Added Windows git checkout to CI
  • Replace PopperJS with FluentUI tooltips
  • Added logging support to @foxglove/ros1
  • Replaced custom Dimensions component with react-resize-detector
  • Fixed wasm-bz2 unit tests on Windows
  • Fixed many @typescript-eslint/strict-boolean-expressions and missing return types
  • Added typescript-plugin-styled-components for improved CSS class names
  • Added release tracking to Sentry error reports

Foxglove v0.4.0

Our robots have been hard at work attempting to press buttons on keyboards, and it appears to have resulted in new features.

Added

  • We can now render raw Velodyne point clouds (velodyne_msgs/VelodyneScan messages from /velodyne_packets topic) in Foxglove, without them needing to be converted into sensor_msgs/PointCloud2. This makes it possible to visualize point clouds from additional open source datasets such as the Udacity Self Driving Car dataset.
  • Support for unpublished transforms referenced in point clouds, and transforms with missing parents
  • Support for all sensor_msgs/PointCloud2 field data types
  • Support for older style tf/tfMessage transforms
  • Added a "repeat" toggle to enable/disable repeat during bag playback
  • Added new telemetry.crashReportingEnabled preference

Changed

  • Automatic x-axis sync in Plot and State Transition panels
  • Integrated @fluentui/react component library, with some minor icon other UI changes
  • Auto-hide menu bar on Linux and Windows
  • Remember last URL for ROS and bag connections

Fixed

  • Fixed several issues with Node Playground
  • Fixed native file system integration (double click to open bag)
  • Fixed errors attempting to publish to empty topics
  • Fixed support for bags with unaligned Float32Array
  • Minor improvements to how we handle some errors
  • Cleaned up menu warnings in the developer console

Internals

  • New @foxglove/velodyne-cloud package for working with raw Velodyne packets in TypeScript
  • New @foxglove/log package
  • Upgraded chart.js to v3, moved off a custom fork, and rewrote most of the Plot and State Transitions panels in the process
  • Upgraded react-mosaic-component and moved off a custom fork
  • Replaced react-spring with react-transition-group

Foxglove v0.3.0

Happy release day! We're excited to bring you a selection of new treats:

Added

  • Native ROS 1 connection support! You can now connect directly to a running rosmaster, without needing to run the rosbridge_server websocket node (which is still fully supported).
  • Better timestamp formatting in the 3D panel
  • Hid the playback bar when connected to a live robot
  • Moved Electron Developer Tools under View -> Advanced menu
  • Added support for nav_msgs/Path
  • Added telemetry (opt-out available in settings.json)

Changed

  • Opening bags compressed with bz2 is at least 2x faster
  • Improvements to keyboard shortcuts and undo/redo handling
  • Always use dark mode if the OS supports it, to match our app theme
  • Keep layout menu open after deleting a layout
  • Renamed WebSocket to Rosbridge in the UI
  • Lots more refactoring and improvements under the hood!

Fixed

  • Many improvements to error handling around new connections
  • Fixed bug when displaying unknown panels
  • Fixed markers not being properly deselected
  • Fixed table color inheritance

Removed

  • Removed the 2D Plot panel. This had overlapping features with the existing Plot panel (not to mention a confusing name), and we plan to merge their features.

Foxglove v0.2.0

It's that time of the week again! Here's what we've been working on:

Added

  • Layout management! No longer are you constrained to a single layout. You can now save multiple layouts for different purposes, and easily switch between them. You can also import/export layouts as json files to share with friends.
  • New Welcome layout and panel, explaining how to get started with Foxglove.

Fixed

  • Fixed various issues regarding missing tf frames, preventing prominent open source bags from loading in the 3D panel

Removed

  • We removed the Note panel. We plan to investigate better ways of annotating layouts.

Foxglove v0.1.5

Just some small quality of life changes.

Changed

  • macOS builds are now universal binaries

Fixed

  • Windows automatic updates should now be working

Foxglove v0.1.4

Happy Monday! Here are some new features and tweaks for your enjoyment...

Added

  • Windows builds are now available! Try them out and send us your feedback.
  • Added file association support (double click to open .bag files in Foxglove)

Changed

  • Improved Experimental Features dialog
  • UX improvements to showing/hiding menus

Removed

  • Removed vim support in Node Playground editor

Fixed

  • Fixed incorrect rendering of special characters

Note: v0.1.3 was removed, as it contained a bug loading bag files. This has now been fixed. Sorry for the interruption!