ZED SDK 5.1

Release notes of the ZED SDK 5.1.x series
Open in ClaudeOpen in ChatGPT

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.

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 cameraID 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_OBJECT 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_MediaServer, even in IPC mode. Refer to the sample virtual stereo/cpp for an example on 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_DepthViewer 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 camera 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 and 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

  • Improved installers’ size on Linux Desktop with TensorRT 10 - about 40% smaller.
  • 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 compatibility.
  • 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.