Skip to main content

173 posts tagged with "Foxglove"

Release notes for the Foxglove web and desktop app.

View All Tags

Foxglove v0.10.2

Fixed

  • Fixed layout undo/redo functionality
  • Fixed incorrect panel settings being saved

Internals

  • Ongoing work to support panel extensions
  • Ongoing work to support shared layouts

Foxglove v0.10.1

Most notably in this release, we added the ability to publish messages using the ROS 1 native connection. The dream of integrated robotics visualization & control is getting closer! For now, our Publish panel is pretty basic, but this opens up the ability for extensions to create more complex control panels.

Added

  • Ability to publish messages using ROS 1 native connection
  • Ability to publish common ROS messages from Node Playground without existing message definitions
  • Support custom image zoom
  • Support 8UC3 image encoding
  • App setting to reduce framerate
  • Add File->Preferences and Help->About menus on Linux & Windows
  • Add support for foxglove_msgs/ImageMarkerArray

Fixed

  • Fix "New Node" button rendering in Node Playground
  • Remove warning for subscribing right after player loaded (
  • Fix "Provider topics should not change often" warning
  • Fix occupancy grid rendering in 3d panel
  • Fix marker with linked variables error in 3d panel
  • Fixed several issues and warnings with image panel

Internals

  • Ongoing improvements to browser support
  • Ongoing work to support panel extensions
  • Rename @foxglove-studio/app to @foxglove/studio-base
  • Merge redundant loadLayout and importPanelLayout actions
  • Consolidate use of micro-memoize with memoize-weak
  • Add @foxglove/rosmsg package
  • Switch Rosbridge player to use lazy messages
  • Replace rc-color-picker with FluentUI color picker
  • Move layout from redux to CurrentLayoutContext
  • Speed up lint with a single tsconfig

Foxglove v0.9.0

We're excited to share with you our new branding!

Changed

  • New app icon and colors

Fixed

  • Fix "cannot find chart with id" errors
  • Fix creating new window from dock in macOS
  • Fix missing data in table panel
  • Fix analytics settings

Internals

  • Ongoing work to support web build

Foxglove v0.8.1

Mostly just squashing a few bugs - always nice to get the fixes out as soon as possible! 🪲

Added

  • Allow adjusting min/max values for mono16 depth images

Changed

  • Move 3D panel settings to sidebar
  • Move Plot panel settings to sidebar

Fixed

  • Fix crash on Windows HiDPI screens with Plot panel
  • Fix error when inverted min/max values were entered for Plot panel
  • Fix broken Plot panel x-axis range setting
  • Fix loading a second bag by holding Shift while drag & dropping

Internals

  • Load new Foxglove windows when created via File menu
  • Fix some @typescript-eslint/no-explicit-any warnings

Foxglove v0.8.0

✨ This week we have a brand new sidebar UI to show off. We think it's a better way to connect to a data source, add panels, and manage your global variables, without covering your existing panels. Try it out and let us know what you think! ✨

Added

  • New sidebar UI

Changed

  • Use system fonts instead of Inter UI

Fixed

  • Fix very slow startup time on some macOS systems caused by getMachineId
  • Fix rosparam subscriptions when new parameters are added to a running system
  • Fix loading spinner showing after refreshing app
  • Fix app crash when atteempting to use Publish panel with ROS 1 native connection
  • Fix scrollbars hiding text on the error modal

Internals

  • Add new @foxglove/hooks package
  • Separate renderer entrypoints from app
  • Replace text-width with text-metrics
  • Disable Cytoscape warnings in Topic Graph
  • Remove remaining references to webviz
  • Load app settings synchronously at startup
  • Disable sentry breadcrumbs
  • Fix @typescript-eslint/prefer-nullish-coalescing lint warnings
  • Move experimental features to app settings
  • Add NativeAppMenuContext

Foxglove v0.7.0

Lots of bug fixes, performance improvements, and under-the-hood improvements this week.

Added

  • Ability to set ROS_HOSTNAME in preferences
  • New toolbar, layout options, and other settings for Topic Graph panel

Changed

  • Complete rework of how we handle and present connection errors
  • Improved app initialization performance
  • Improved panel rendering performance
  • Show preview while dragging panels
  • Set minimum window size

Fixed

  • Gracefully handle ROS connection failures
  • Fixed app crash when Publish panel used with Rosbridge connections
  • Improved URDF error handling
  • Fixed ROS connection dialog appearing on refresh
  • Fixed app re-intializing when switching to fullscreen on macOS
  • Added mDNS caching, preventing timeouts/DoS for local network robots
  • Better errors when unsupported file types are dragged into the app
  • Fixed rendering of playback bar during resize
  • Fixed line breaks not rendering in 3D panel Object Details
  • Resume playback when spacebar pressed

Removed

  • Removed Global Variables panel (redundant since there is already a top-level dropdown)

Internals

  • Remove bobjects, use LazyMessageReader instead
  • Remove indexdb data provider
  • Improve jest performance
  • Replace react-cytoscapejs with our own component
  • Replace Message with MessageEvent in Panel API
  • Fixed many lint warnings
  • Check for Git LFS before running yarn
  • Better cross-platform support for ros1-turtlesim-docker
  • Moved TypeScript typings to separate @foxglove/types package

Foxglove v0.6.0

Friday afternoon is always the best time to push out a release! 🔥

Added

  • Added new URDF panel
  • Added new ROS Parameters panel
  • Added foxglove:// URL handler

Changed

  • Allow higher zoom levels for the map panel
  • Use app timezone setting in the playback bar
  • Panels are no longer selected on every click

Fixed

  • Fix TCP connections to mDNS hostnames (helpful for Duckiebot and other robots on your local network)

Internals

  • Panel rendering performance improvements
  • Enable React.StrictMode for new panels
  • Set sample-robot-docker hostname
  • Replace react-select with FluentUI in Rosout panel
  • Replace babel-loader with react-refresh-typescript

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.