SDK v0.14.0
Foxglove SDK
This version includes the first release of the Foxglove Data Loader C++ SDK. Release artifacts can be found in the C++ artifacts link below.
What's Changed
Added
- Releases the Foxglove Data Loader C++ SDK with support for encoding messages using the Foxglove SDK.
Docs: Introduction | Reference: Rust, Python, C++ | Source: github | C++ Artifacts: github
SDK v0.13.0
Foxglove SDK
This release adds support for directly serializing Foxglove messages to the C++ SDK. It also adds support for WebSocket Secure (WSS) in the Foxglove Bridge.
What's Changed
Added
- Added encode() method on all schema structs in C++.
- Added schema() method on all schema structs in C++.
- Added support for WebSocket Secure (WSS) in Foxlove Bridge.
Docs: Introduction | Reference: Rust, Python, C++ | Source: github | C++ Artifacts: github
Primary Site v0.0.77
This primary site release changes the name of the stream-server to query-server. It contains breaking changes, read the changelog to see if manual intervention is required for your deployment.
Changed
- The
stream-servercontainer image has been renamed toquery-server. New images will no longer be published under thestream-servername. - the
streamServicevalues namespace has been renamed toqueryService. Values defined in the legacystreamServicenamespace will continue to work.streamServicevalues override default values defined in thequeryServicenamespace before templating. - breaking The
stream-serviceapplication and deployment are removed, and replaced with anquery-servicedeployment. Any auto-scaler which uses thestream-servicedeployment name as ascaleTargetRefwill no longer have any effect. To upgrade safely:- Add a new autoscaler that targets the
query-servicedeployment. - Upgrade and test your deployment.
- Schedule a date in the future to remove the old autoscaler. After removing the old autoscaler, this chart should not be rolled back past this version.
- Add a new autoscaler that targets the
- The
streamKubernetes service is duplicated with the namequery. New deployments should set up ingress to thequeryservice, but thestreamservice remains for backwards compatibility. - breaking The service account name has changed from
stream-servicetoquery-service. If you are using OIDC on AWS you must update your namespace_service_accounts field to support the name change.
Primary Site v0.0.75
Added
- Add the
BUFFERED_OBJECT_LIMITenvironment variable to the stream service.
SDK v0.12.0
Foxglove SDK
This release supports logging LocationFixes as a single message. LocationFix messages now contain a color field to identify each fix within a group.
What's Changed
Added
- Add a new
LocationFixesschema
Changed
- The
LocationFixschema now supports an optionalColorfield
Docs: Introduction | Reference: Rust, Python, C++ | Source: github | C++ Artifacts: github
Foxglove 2.34.0
🚜 Introducing data loader extensions
Data loaders are Foxglove extensions that let you write a Rust or C++ translator to load your own file formats in Foxglove.
Using a data loader extension, you can enable Foxglove to open anything from a .csv file to your own proprietary file format.
Data loaders are currently in beta. The API may change based on testing and feedback. Contact [email protected] if you have questions.
🌲 New Transform Tree panel
The new Transform Tree panel allows you to visualize and explore the relationships and hierarchy of your transform tree.
🗺️ Measure distance in the Map panel
Measure distances directly on your map visualizations with the new distance measuring tool. Click through multiple points to get a total distance, with measurements automatically displayed in human-readable units (mm, cm, m, or km) based on scale.
New & Improved
- Added distance measuring tool for Map panel with support for multiple points and human-readable units
- Panel expansion now keeps sidebars visible and intelligently handles playback control space
- Improved number formatting in plot tooltips with comma separators and cleaner XY labels
- Removed scientific notation from plot axes based on user feedback
- Disabled browser autocomplete by default for text fields
- The Raw Messages panel now more clearly distinguishes missing messages from message paths that select zero results, and more accurately displays arrays with one item
- The visualization sidebars are still accessible when in full-screen mode
Performance
- General performance and stability improvements
- Improved websocket subscription handling to prevent false positive error messages
Fixes
- Fixed 3D panel crash when GridMap messages have no dimensions
- Fixed Map panel crash when given an invalid covariance matrix
- Fixed Map panel to properly center on GeoJSON points when loading
- Fixed stale topic frequency estimates when reconnecting to live data sources
- Fixed inconsistent array handling in Raw Message panel for empty arrays and single values
- Fixed decay time setting for Velodyne point clouds not persisting data correctly
- Fixed user script topics incorrectly keeping messages when seeking
- Fixed an OMG IDL parsing issue preventing enums from being accessed via their parent module namespace
Downloads: Linux: deb amd64 arm64, snap amd64 | Windows: Universal | Mac: Universal
SDK v0.11.0
Foxglove SDK
This release contains a new schema for rendering volumetric grids in the 3D panel.
What's Changed
Added
- Add a new
VoxelGridschema for rendering volumetric grids - Expose sink ID in channel logging functions
Docs: Introduction | Reference: Rust, Python, C++ | Source: github | C++ Artifacts: github
Foxglove 2.33.1
Foxglove 2.33.0
📽️ Introducing Foxglove Projects
Foxglove Projects allow Enterprise organizations to organize data and resources in Foxglove and control who has access to them. Projects are managed by organization admins and act as a container for data, devices, and events. Organization members can only access resources in Project(s) they are assigned to.
Frequently asked questions
What resources are scoped to a Project vs. an organization?
Every device, event, and recording belongs to a single Project. Data in one Project cannot be accessed from another Project.
Resources at the organization level work across all Projects.
| Resource | Project | Organization |
|---|---|---|
| Devices | ✓ | |
| Events | ✓ | |
| Recordings | ✓ | |
| API Keys | ✓ | |
| Custom Properties | ✓ | |
| Extensions | ✓ | |
| Layouts | ✓ | |
| Sites | ✓ | |
| Webhooks | ✓ |
What happens to my existing data and devices?
Every organization starts with a single Project. When you create a new project, all existing data will remain available under the existing default Project(s). All members will retain their current access.
We are self-hosted, what Primary Site version do I need?
The minimum Primary Site version required for Foxglove Projects on self-hosted deployments is 0.0.69. If you are on an older version, everything will continue to work, but you will not have access to Projects.
What changes do I need to make to start using Projects?
Before you start using Projects, make sure to update any code that interacts with devices, recordings, or events via the Foxglove API. Endpoints that interact with Project scoped resources accept a projectId to specify the Project.
Device name and id are required to be unique within your organization. If a device is provided, then projectId is optional, but we recommend always including it.
How do I create a project?
Admins can create and manage Projects from the Projects page under organization settings.
How do I manage Project membership?
When creating a new Project, you will be prompted to give it a name (you can change this later) and add members to the Project. You can manage the membership of an existing project from the Projects page. You can also manage which Projects an individual member has access to from the Members page.
🕐 Layout Version History
Track and manage changes to your layouts with the new Layout History panel in the right sidebar. Available for Team plans and above, you can now see who changed layouts when, preview previous versions, and restore older versions when needed. Never lose important layout configurations again.
🗺️ Maps in 3D
Add map tiles to the 3D panel to visualize your robot's position and data with street, satellite, or custom maps layers. This enables geographical context for outdoor navigation, field testing, and autonomy development by allowing you to layer 2D and 3D information like point clouds and object detections directly onto a map.
By default, street and satellite map layers are available from OpenStreetMap and Esri. Team and Enterprise organizations can also load data from custom map layers by pointing to any map server that follows the Tile Map Service specification.
📝 Markdown Panel
Display formatted text and documentation directly within your Foxglove layouts using the new Markdown panel. Create interactive documentation, embed links, and provide contextual information alongside your data visualizations.
New & Improved
- Customize states in the State Transitions panel with custom colors, labels, and range-based indicators for continuously-varying values
- Added opacity controls for
GridMapmessages to matchFoxglove.Gridfunctionality - Timeline UI now shows an indicator when device coverage has pending updates
- Preserve left sidebar state when navigating between pages
- User Scripts and Topic Converters without input topics in the current data source are not shown in the sidebar and in panels
Performance
- Improved app stability
- Display a warning banner when hardware acceleration is disabled
Fixes
- Fixed desktop app launching twice when opening recordings from web
- Fixed select all panels shortcut (Cmd+A) triggering with additional modifier keys
- Fixed a bug where
cmd+shift+ashortcut would be captured by the app - Fixed webhook delivery errors when processing large numbers of events
- Fixed playback halting when playing at speeds less than 1x in certain situations
- Fixed inconsistency in extension panel type names
- Fixed rendering of some fisheye camera sources in Image and 3d panels
- Fixed seeking forward at end of play range breaking play and seek-forward button
- Fixed uninstalling local extensions not removing all versions properly
- Fixed elevation rendering for
Foxglove.Gridwhen color mode is set to flat - Extension README and changelog files are now properly displayed for installed extensions
- Voxel Grids now properly support transparent coloring
- Fixed transparency for
Foxglove.Gridwhen elevation is applied
Downloads: Linux: deb amd64 arm64, snap amd64 | Windows: Universal | Mac: Universal