173 posts tagged with "Foxglove"
Release notes for the Foxglove web and desktop app.
View All TagsFoxglove 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
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
withMessageEvent
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 withreact-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 intosensor_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
withreact-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
toRosbridge
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 existingPlot
panel (not to mention a confusing name), and we plan to merge their features.