> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.stereolabs.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.stereolabs.com/_mcp/server.

# ZED SDK 5.1

> **Note**
>
> Release notes of the ZED SDK 5.1 series. Patch releases are listed newest first. Download links and the full changelog, including ZED Tools and integrations, are available on the [ZED SDK 5.1 release page](https://www.stereolabs.com/developers/release/5.1).

## What's New

**ZED SDK 5.1** introduces a fully reworked **image capture and recording** pipeline delivering **stability**, **maximum performance**, and **reliability**. It adds **Jetson Thor support**, delivering up to **2.5× higher performance**. An **extra-close depth range** is now supported. **Streaming latency** is significantly reduced, ensuring smoother real-time operation. A redesigned **Virtual Stereo workflow for ZED X One** now achieves up to **60% lower CPU usage**. **OpenCV fisheye calibration** is now supported natively, and the new **ZED Studio** app unifies camera, stream, and SVO management. **Improved Positional Tracking** boosts **robustness**, introduces a **2D mode**, and refines **statuses**. Expanded support for **CUDA 13**, **JetPack 7**, **Python 3.14**, and **C++17/20** makes **ZED SDK 5.1** faster, more stable, and ready for the next generation of robotics and spatial AI.

## 5.1.2

*Released: Dec 17, 2025*

### Bug Fixes

#### General

* Fixed corrupted frame detection, which could lock upon closing the camera if only `Camera::read` was used and not `Camera::grab`.
* Fixed Virtual Stereo opening from ZED Ones when the right ZED One has the camera ID 0.
* Fixed an issue preventing the proper load of a saved `sl::InputType` for a virtual stereo configuration.
* Added support for uncalibrated mode in CameraOne for ZED Ones. This is enabled with the environment variable `export ZED_SDK_ALLOW_UNCALIBRATED_MODE=1`. Like Camera, this allows retrieving unrectified images, streaming, or recording when the calibration file is invalid or cannot be found.
* Fixed `CAMERA_MOTION_SENSORS_NOT_DETECTED` when opening a CameraOne when forcing the disablement of the IMU (with the environment variable `ZED_SDK_IMU_DISABLE=1`).
* Reduced the CPU memory usage by the self-calibration process during the call to `sl::Camera::open()`. This usage is now limited to a temporary pool of 40MB.
* Added beta support of H264 software (CPU) encoding for Orin Nano for SVO recording / local streaming.

#### SLAM

* Fixed repeatability issues of `GEN_3` SLAM module. This ensures greater consistency and reliability in module performance across all operational scenarios.
* Added missing support of landmark2D for `POSITIONAL_TRACKING_MODE::GEN_1`.
* Fixed an issue of `POSITIONAL_TRACKING_MODE::GEN_3` producing incorrect gravity alignment when the first metadata of an SVO was corrupted.

#### Object Detection

* Fixed a random crash occurring when using Custom Object Detection and repeatedly setting custom parameters for multiple hours.
* Fixed a random crash when tracking objects whose estimators failed to initialize; tracks now bail out safely when measurements disappear mid-frame.
* Improved Object Detection velocity accuracy.
* Fixed segmentation mask output when using `CUSTOM_YOLOLIKE_BOX_OBJECTS` with `enable_segmentation = true`.
* Fixed `CUSTOM_YOLOLIKE_BOX_OBJECTS` post-processing when using YOLOv10 models. Previously, only a small subset of the detected objects was returned.

## 5.1.1

*Released: Nov 12, 2025*

### Bug Fixes

#### General

* Fixed an issue preventing setting a specific value for `sl::InitParameters::depth_minimum_distance` in all Neural depth modes.

#### SLAM

* Improved overall stability of `POSITIONAL_TRACKING_MODE::GEN_3`. This update resolves random race conditions.
* Fixed a GPU stream synchronization issue that occurred when using `POSITIONAL_TRACKING_MODE::GEN_3` with `DEPTH_MODE::NONE`. This race condition resulted in inconsistent computation.
* Improved runtime performance of `getPositionalTrackingLandmarks` and `getPositionalTrackingLandmarks2D` methods. Performance gains are especially visible in large mapped areas.

#### Fusion

* Added missing documentation for the `FUSION_REFERENCE_FRAME` enum.

## 5.1.0

*Released: Oct 23, 2025*

### SDK

#### Depth

* Improved depth for close range, the new ZED SDK now provides depth values even at very short range.

#### Capture

* Enhanced GMSL camera acquisition, resulting in improved overall stability and fewer frame drops.
* Introduced Live Virtual Stereo from 2 ZED X One cameras directly via the API. It uses the Camera class and new functions `sl::InputType::setVirtualStereoFromCameraIDs` or `sl::InputType::setVirtualStereoFromSerialNumbers`. It shows significant performance optimization: CPU usage decreased by 60%, making this version 2.5x more CPU efficient than ZED Media Server (`ZED_Media_Server`), even in IPC mode. Refer to the `virtual stereo/cpp` sample for an example of how to use it.
* Introduced an uncalibrated mode for Virtual Stereo. This enables viewing unrectified images, recording to SVO, or streaming for future calibration or troubleshooting purposes. Note: depth sensing, positional tracking, and other modules are not available in this mode.
* Improved self-calibration in the near-range scenario. Improved robustness to more challenging conditions, and self-diagnostic. Added a new warning `sl::ERROR_CODE::POTENTIAL_CALIBRATION_ISSUE` returned by the `sl::Camera::open` function, if camera calibration is poor and may require a recalibration. To verify this, open ZED Depth Viewer (`ZED_Depth_Viewer`) and perform a visual check on the scene (is the depth image full, are planes flat, are objects' shapes correct, …).
* Added OpenCV fisheye calibration support for Camera and CameraOne.
* Added support for Windows for CameraOne API. It is now possible to stream or read SVOs from ZED X Ones on Windows.
* Added a new function `getSensorsDataBatch()` to retrieve all high-frequency sensor data associated with the latest grabbed frame.
* Added new `sl::VIEW` to handle more color conventions. Added additional 3-channel (BGR) and GRAY color modes. `DEPTH` and `CONFIDENCE` views are now retrieved in color.
* Fixed hue control for USB cameras.
* Improved `VIDEO_SETTINGS` reset calls. Now all the settings can be reset with the base function `sl::Camera::setCameraSettings(setting, sl::VIDEO_SETTINGS_VALUE_AUTO)`, for `sl::Camera` and `sl::CameraOne` (in live and streaming mode).
* Removed the default parameter `camera_type` from `sl::InputType::setFromCameraID` and `bus_type` from `sl::InputType::setFromSerialNumber`. Also removed the enum `CAMERA_TYPE`. Now, objects Camera and CameraOne handle the camera and bus types automatically.
* Fixed an inconsistency in frame rate selection with GMSL Cameras when the requested frame rate was not supported.
* Set default `sdk_verbose` of `InitParametersOne` to 1 to match `InitParameters`.
* Fixed rectified field of view for some `sl::CameraOne`. On some cameras the rectified field of view was much lower than expected. To revert to the previous rectification, set the environment variable: `ZED_SDK_OLD_FOV_COMPUTE=1`
* Resolved an issue that could prevent GMSL cameras from detecting and reporting faulty sensors.
* Added `DRIVER_FAILURE` in the enum `sl::ERROR_CODE`. This error code can be returned when the driver's initialization has failed. When using GMSL cameras, it is then recommended to restart it with `sudo systemctl restart zed_x_daemon.service`.

#### Object Detection

* Fixed a random crash when using Custom Object Detection for multiple hours.
* Fixed an issue where object or skeleton velocity could become NaN when camera motion was computed with a null time delta.

#### Recording

* Reduced system load and enhanced stability for SVO2 recording.
* Fixed a bug where ZED X One recording and reading using SVO gen1 was allowed but unsupported.
* Restored the ability to play back and re-record an SVO with new recording settings.
* Added exposure and gain values in ZED X SVO metadata. Other cameras will be done in a later release.
* Fixed IMU calibration handling in some SVOs where the IMU calibration was not extracted properly.

#### Streaming

* Switched default streaming mode back to GEN2 with high-frequency IMU data. Users can still use the lighter streaming version GEN1 by setting the environment variable `ZED_SDK_STREAM_VERSION=1`. Important: The Receiver must match or exceed the sender's version for compatibility.
* Added `AUTO_ANALOG_GAIN_RANGE`, `AUTO_DIGITAL_GAIN_RANGE`, and `AUTO_EXPOSURE_TIME_RANGE` camera control values in streaming.
* Reduced streaming latency by 21–38% across modes on Jetsons.

#### SLAM

* Improved robustness to dynamic objects and image corruptions of positional tracking `GEN_3`, resulting in more accurate and reliable positional tracking performance.
* Added a 2D tracking Mode to `GEN_3`, improving accuracy in flat floor environments: enabled by the `PositionalTrackingParameters::enable_2d_ground_mode` setting. This mode constrains positional tracking to two dimensions, recommended for grounded robots and vehicles.
* Improved relocalization performance of `GEN_3` in known environments. Increases relocalization accuracy and frequency, reducing localization drift.
* Added a new `SPATIAL_MEMORY` status in `GEN_3` to indicate whether tracking is active and relocated in a pre-mapped environment, performing loop closure, or relocating.
* Fixed the first call to `getPosition()`, which now returns `sl::POSITIONAL_TRACKING_STATE::OK` instead of previously returning `sl::POSITIONAL_TRACKING_STATE::UNAVAILABLE`.
* Fixed invalid retrieved landmarks with null position.

#### Fusion

* Added support for object detection streaming from `sl::Camera` to `sl::Fusion` in the network configuration.
* Improved incoming data association in the Fusion API when using a local network configuration.

### Platform

* Reduced the size of the Linux Desktop installers with TensorRT 10 by about 40%.
* Added beta support for JetPack 7 / Jetson Thor. Video decoding and encoding are not yet available because of the current JetPack 7 release limitation and will be in a later update.
* Added support for C++17; the ZED SDK now uses C++17 and requires a compatible compiler. Fixed external support for C++20.
* Added support for CUDA 13.
* Added explicit ZED SDK versioning for Docker images and ZED SDK download link; each patch will now be available.
* Dropped support for the older JetPack L4T 35.3 and TensorRT 8.