Skip to main content

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-server container image has been renamed to query-server. New images will no longer be published under the stream-server name.
  • the streamService values namespace has been renamed to queryService. Values defined in the legacy streamService namespace will continue to work. streamService values override default values defined in the queryService namespace before templating.
  • breaking The stream-service application and deployment are removed, and replaced with an query-service deployment. Any auto-scaler which uses the stream-service deployment name as a scaleTargetRef will no longer have any effect. To upgrade safely:
    • Add a new autoscaler that targets the query-service deployment.
    • 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.
  • The stream Kubernetes service is duplicated with the name query. New deployments should set up ingress to the query service, but the stream service remains for backwards compatibility.
  • breaking The service account name has changed from stream-service to query-service. If you are using OIDC on AWS you must update your namespace_service_accounts field to support the name change.

Docs: About | Install | Upgrade

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 LocationFixes schema
Changed
  • The LocationFix schema now supports an optional Color field

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.

info

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

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.

ResourceProjectOrganization
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.

tip

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 GridMap messages to match Foxglove.Grid functionality
  • 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 + a shortcut 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.Grid when 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.Grid when elevation is applied

Downloads: Linux: deb amd64 arm64, snap amd64 | Windows: Universal | Mac: Universal