Skip to content

Releases: stereolabs/zed-sdk

ZED SDK 5.1.2

17 Dec 12:50
380dc56

Choose a tag to compare

https://www.stereolabs.com/en-fr/developers/release#512-2b6224afd2d4

5.1.2

SDK

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

Tools

  • Added support for Drag & Drop of a saved sl::InputType in ZED Depth Viewer; it is now easier to open a stream or virtual stereo setup.

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::GEN_1.
  • Fixed an issue of POSITIONAL_TRACKING::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.

ZED SDK 5.1.1

12 Nov 16:00
9daa908

Choose a tag to compare

https://www.stereolabs.com/en-fr/developers/release/5.1#511-2b6224afd2d4

5.1.1

Bug Fixes

SDK

  • 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::GEN_3. This update resolves random race conditions.
  • Fixed a GPU stream synchronization issue that occurred when using POSITIONAL_TRACKING::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.

Tools

  • Fixed a camera opening issue when using multiple instances of ZED Explorer simultaneously.

Fusion

  • Added missing documentation for the FUSION_REFERENCE_FRAME enum.

Wrappers

Python

  • Added missing override_gravity field in FusionConfiguration.

Samples

  • Improved error handling in samples to use comparison operators (<, >, <=, >=) instead of equality checks (==, !=) when testing ERROR_CODE::SUCCESS for camera opening and frame grabbing. This follows best practices for distinguishing between warnings (negative values) and errors (positive values).

ZED SDK 5.1.0

24 Oct 12:44
f15ea59

Choose a tag to compare

https://www.stereolabs.com/en-fr/developers/release/5.1#510-8a756bc18083fc9b21b949fb5fa8ffbb

5.1.0

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 Objection 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 GEN3, resulting in more accurate and reliable positional tracking performance.
  • Added a 2D tracking Mode to GEN3, 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 GEN3 in known environments. Increases relocalization accuracy and frequency, reducing localization drift.
  • Added a new SPATIAL_MEMORY status in GEN3 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::OK instead of previously returning sl::POSITIONAL_TRACKING::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.

INSTALLER

  • 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 L4T35.3

Wrappers

PYTHON

  • Improved Python Wrapper GPU data transfer using CuPy. sl.Mat.get_data() now supports explicit error and clearer warnings. Added instructions to set up and validate CuPy integration with PyZed
  • Added support for Python 3.14
  • Fixed setters of sl.FusionConfiguration in the Python wrapper.
  • Fixed Python wrapper's gnss_mode interpreted as a GNSS_STATUS in both GNSSData and FusedPositionalTrackingStatus
  • Added docstring in Python stubs so that users can see the methods, classes, and attributes docs in-code.
  • Added missing Fusion SpatialMapping methods in the Python wrapper.

ISAAC SIM

  • Added ZED X One (GS and 4K) camera support
  • Added Virtual ZED X camera support

TOOLS

ZED Studio

  • Introduced a new tool for viewing and managing multiple cameras, streams, and SVOs in one app. It supports customizable layouts with drag-and-drop panels, synchronized playback and recording, and group control of settings. The tool enables multi-camera streaming, simplifies data collection, and supports command-line options to auto-load sources at launch. On Windows, it is now the default application for opening SVO files.

ZED Sensor Viewer

  • Enabled SVO playback and seeking in the ZEDSensorViewer tool. Also added a toggleable camera view to the UI to view the camera feed along with sensor data for both Live mode and SVO mode.

ZED Diagnostic

  • Improved GMSL diagnostic in ZED_Diagnostic for detecting potential driver mismatches, issues with capture card power/connection, and GMSL cable status.

ZED Media Server

  • The ZED Media Server tool is now considered deprecated, the new more efficient Virtual Stereo API should be used instead.
  • Fixed adaptive GOP size depending on the FPS of the cameras.

ZED Calibration

  • Fixed the CLI argument --cimud of the ZEDCalibration tool to now handle all GMSL cameras.

SAMPLES

  • Added hello_zed_gpu.py script in tutorials/tutorial1 - hello ZED/python to validate the usage of CuPy with the ZED SDK Python API.
  • Improved Python sample performances using GPU data transfer with CuPy in the GLViewer for depth sensing and object detection samples instead of CPU copy.
  • Improved Python object detection samples; legacy is removed. Added a new pytorch_yolov8_cupy_preproc, a YOLOv8 inference CuPy optimized sample. Also updated default weights to yolo11m.pt (previously it was yolov8m.pt)
  • Improved Positional Tracking Sample by enhancing the display for clearer visualization of tracking data, and adding functionality to save and read .area files, allowing for easier management of mapped environments. Also introduced the use of SPATIAL_MEMORY for better tracking of feedback.
  • Refactored the global localization GNSS reader. Now the same class can be used to read GNSS data from a live device or from a recorded SVO file.
  • Added the sample virtual stereo/cpp for an example on how to use the new VirtualStereo API from two ZED X One cameras.

ZED SDK 5.0.7

23 Sep 13:42
3f9adca

Choose a tag to compare

https://www.stereolabs.com/en-fr/developers/release/5.0#507-b1c25d6cde63b9ff6afa80f4e2d1fc33

5.0.7

Bug Fixes

  • Fixed a std::future_error that could randomly occur with different frequencies on various setups when the health_check feature is enabled.
  • Fixed a crash that could happen when reading SVO2 files, particularly at end of file.

Wrappers

  • Fixed a TypeError when calling get_camera_information from a ZEDOne with the Python API.

Tools

  • Depth Viewer now allows drawing a Region of Interest (ROI) on the image. This feature is accessible from the settings panel. The mask is saved and can be loaded later by the ZED SDK.

ZED SDK 5.0.6

09 Sep 14:26
3f9adca

Choose a tag to compare

https://www.stereolabs.com/en-fr/developers/release/5.0#506-b1c25d6cde63b9ff6afa80f4e2d1fc33

5.0.6

Bug Fixes

  • Fixed a crash that occurred with USB cameras when unplugging and re-plugging a ZED, or when calling sl::Camera::reboot in a running application.
  • Fixed an issue where sl::GeoPose returned empty pose_data.
  • Fixed an issue where sl::Pose::valid from sl::Fusion::getPosition always returned true.
  • Improved image sharpening, which previously caused reduced image quality compared to ZED SDK 4.
  • Fixed SVO recording from streaming or from the ZED Media Server in Gen2, where high-frequency IMU data were missing.

Wrappers

  • Updated struct SL_GNSSData in the C wrapper.
  • Added the missing enable_hdr parameter in sl.InitParametersOne in the ZED Python API.

Tools

  • Fixed IMU biais calibration in ZED_Calibration (--cimu command line option)

ZED SDK 5.0.5

29 Jul 09:15
43e634d

Choose a tag to compare

https://www.stereolabs.com/en-fr/developers/release/5.0#505-b1c25d6cde63b9ff6afa80f4e2d1fc33

5.0.5

Bug Fixes

  • Fixed a regression in simultaneous GMSL camera listing in multiprocess setups. The ZED X camera can now be concurrently listed and opened in different processes without issues.
  • Fixed an issue when parsing calibration file for ZED X One in QHPlus resolution.
  • Fixed a segfault that could occur when restarting the positional tracking module while having the grab running in parallel.
  • Fixed a bug in SVO recording where the camera model could be incorrectly set in the internal metadata.

Wrappers

  • Added the operators <, <=, > and >= for all enums of the ZED Python API (pyzed). Previously, only == and != were available.

ZED SDK 5.0.4

22 Jul 15:03
43e634d

Choose a tag to compare

https://www.stereolabs.com/developers/release#504-b1c25d6cde63b9ff6afa80f4e2d1fc33

5.0.4

SDK

  • Fixed the Positional tracking GEN_3 area map behavior to match GEN_1/GEN_2. It now updates the loaded area map, and it is also possible to save it.

Bug Fixes

  • Fixed a bug that could cause the getAreaExportState function to return an error code when saving an area map using Positional Tracking GEN_3.
  • Fixed an issue preventing retrieval of the absolute positional tracking covariance using Positional Tracking mode GEN_3.
  • Fixed an issue causing CameraOne to return 0 in focal_length_metric.
  • Fixed a conversion issue in findFloorPlane leading to a possible wrong output transform depending on the used coordinate system.

Samples

  • Fixed all Python samples to support both .svo and .svo2 file formats. Previously, some samples only recognized the .svo extension.
  • Fixed samples to continue on WARNING-level grab results (negative ERROR_CODE), stopping only on ERROR-level. This improves robustness when occasional issues, like image degradation detected by enable_image_validity_check, occur but the ZED SDK remains functional.

Tools

  • Fixed a crash in ZED Diagnostic Tool when optimizing AI models.

Wrappers

  • Fixed an OpenGL installation issue on Windows platforms with Python versions 3.12+ when using the script get_python_api.
  • Fixed a binary compatibility issue between the ZED Python API (pyzed) and numpy that occurred specifically on Windows platforms with Python versions 3.9, 3.10, and 3.11. This fix ensures stable integration and prevents runtime errors related to ABI mismatches in these configurations.

ZED SDK 5.0.3

22 Jul 14:59
71d7a13

Choose a tag to compare

https://www.stereolabs.com/developers/release#503-01552fd28a68e574d70fcf78818f9e1b

5.0.3

SDK

  • Changed the default value of svo_real_time_mode from true to false for CameraOne's InitParametersOne, to match the stereo camera's default parameters.
  • Improved the Python API setup script for better error handling, particularly for permission issues and unsupported platforms.

Bug Fixes

  • Fixed a race condition that could occur when repeatedly setting the object detection runtime parameters.
  • Fixed an accuracy regression in the Object Detection module's preprocessing, introduced in version 5.0.0. Bounding boxes could have an incorrect offset when using certain camera resolutions, such as HD1200.
  • Fixed an issue on Windows where the SVO file could not be correctly parsed from within the fusion calibration file.
  • Fixed an issue with ZED X One SVO recording making the resulting SVO size the same size as if recorded with a stereo camera when using the default bitrate. ZED X One SVO recording now have expected sizes.
  • Fixed a memory leak issue that occurred when repeatedly starting and stopping recordings.

Samples

  • Fixed an incorrect type in OpenGL window initialization in Python samples that could lead to a crash.

Tools

  • Fixed ZEDSVOEditor -export-to-mcap option when using a SVO recorded with a ZEDOne.

ZED SDK 5.0.2

22 Jul 14:59
46e0d8d

Choose a tag to compare

https://www.stereolabs.com/developers/release#502-ga-dd38a90c2359bfc27d07c490fdadd733

5.0.2

SDK

  • Significantly improved the accuracy of NEURAL and NEURAL_PLUS depth modes, even compared to the NEURAL model released in 5.0.0 EA, with enhanced temporal stability and robustness against reflections, repetitive patterns, and complex-structured objects.
  • Added NEURAL model files in the ZED SDK installer to avoid additional downloads at runtime.
  • Added supporting functions isCameraOne, isAvailable, supportHDR, and getAvailableCameraFPS to easily check cameras compatible and available modes and capabilities.
  • Switched default streaming mode to GEN1 while GEN2 is being improved and stabilized. Users can still use streaming GEN2 by setting the environment variable ZED_SDK_STREAM_VERSION=2.

Bug Fixes

  • Fixed a crash that occurred when calling retrieve_objects using CUSTOM_BOX_OBJECTS with the resolution set to VGA.
  • Fixed a rare undefined behavior that led to random values when calling getCurrentFPS.
  • Fixed a rare crash that could occur after repeatedly opening and closing the same camera within the same process.
  • Fixed a possible race condition when opening multiple GMSL cameras from different processes.
  • Fixed a crash when using Fusion with multiple cameras and multiple GPUs.
  • Fixed an accuracy regression with body fitting in NEURAL modes.
  • Fixed a UDPSocket crash when streaming from a Jetson to a desktop.
  • Fixed an issue that prevented enableRecording from working with localhost. This is now supported.
  • Fixed a memory leak in Local Streaming IPC mode (with the ZED Media Server).
  • Fixed a segmentation fault on the sender side in Local Streaming that occurred randomly after some time.
  • Fixed getVideoSettings(sl::VIDEO_SETTINGS::WHITEBALANCE_AUTO) on ZED-X / ZED-XOne, which was returning an incorrect value at launch (noticeable in ZED Explorer with multiple cameras).

Tools

  • Added focal length information (in millimeters) in ZED Explorer, within the 'Calibration' window.
  • Added SVO auto-repair support in ZED Explorer. It will now attempt to auto-repair corrupted SVO files upon opening, similar to ZED Depth Viewer (or SDK).
  • Fixed ZED Explorer framerate calculator.
  • Fixed model downloads in ZED Diagnostic tool when GPU is not available.
  • Fixed minor UI issues in ZED Explorer.
  • Fixed minor UI issues in ZED Media Server.
  • Fixed video settings control through receiver/host in ZED Media Server. Users can now control virtual ZED-X camera video settings from the receiver side.
  • Fixed stop signal handling in CLI mode for a proper and clean exit in ZED Media Server.
  • Added support for different ZED-XOne camera models connected to ZED Media Server (identical resolution is still required).
  • Added support for multiple JSON configuration files for virtual cameras in CLI mode via the --config option in ZED Media Server.

Wrappers

  • Improved Python wrapper performance when using multiple cameras in multiple threads.
  • Improved pip installation behavior in the Python wrapper: now uses --force-reinstall by default to avoid issues with stale pyzed after reinstallation.
  • Fixed Docker images with OpenGL display; they are now available again.
  • Fixed minor issues in the C and C# wrappers.

Samples

  • Improved C++ and Python samples for camera streaming and recording. They are now available and optimized for both single and multi-camera setups.

ZED SDK 5.0.1

16 May 14:51
e52c838

Choose a tag to compare

https://www.stereolabs.com/developers/release#501-rc-e3e315a2d07b432b0db3e2b5d5c8d257

5.0.1 RC

Please note that 5.0.1 and 5.0.0 are not binary compatible. The Python API package will only work with 5.0.1. You should compile it from source if needed to run with 5.0.0.

SDK

  • Added SVO real-time mode pausing function.
  • Added dedicated setter functions for the Object Detection and Body Tracking runtime parameters. New retrieveObjects and retrieveBodies functions without runtime parameters have been added as well.
  • Added functions ENU2Geo and Geo2ENU in sl::Fusion, making it easy to compute latitude-longitude coordinates of a 3D point. See the C++ Geoloc playback sample (convert2Geo function).
  • Improved SVO playback for large files.
  • Added covariance output for Positional Tracking GEN_3.
  • Improved Positional Tracking GEN_3 loop closure detection and map optimization.
  • Reduced Positional Tracking GEN_3 area mapping file size and saving/loading times.
  • Improved Region of Interest precision when using Object Detection or Body Tracking. The boxes are now filtered depending on the ratio in the region of interest mask instead of the center and bounding box edges.
  • Improved Python API code autocompletion support for most IDEs by including the .pyi stub in the .whl package.
  • Improved Object Detection fusion internal synchronization — the process is now safer and more efficient.
  • Added ONNX model name as a prefix in the optimized model name when using Object Detection with a custom YOLO-like ONNX model.

Bug fixes

  • Fixed ZED X auto-recovery function. A regression introduced in 5.0.0 prevented the GMSL camera recovery in case of an interruption.
  • Fixed a rare crash that could occur when enabling NEURAL depth mode.
  • Fixed a deadlock in the Object Detection module with the new internal threaded mode introduced in 5.0.0.
  • Fixed an unclosed file descriptor on Jetson when using SVO H26X input. This could lead to undefined behavior if the Camera class was opened and closed hundreds of times in the same instance processing hardware-decoded SVOs.
  • Fixed a regression when using multiple GPUs. It now correctly uses the selected device ID.
  • Fixed multiple bugs in setSVOPosition functions using index or timestamp input. It should now set the expected frame.
  • Fixed a small memory leak when using Fusion.
  • Fixed AI model optimization log when using ROS.
  • Fixed Object Detection crash when passing an invalid or missing custom YOLO-like ONNX file.
  • Fixed undefined behavior in Object Detection and Body Tracking when processing detector output.
  • Fixed incorrect retrieveImage output when using specific resolutions. The issue could affect grayscale or low-resolution images.
  • Fixed isVideoSettingsSupported function with the AEC_AGC_ROI setting that would return invalid results.

Tools

  • Fixed ZEDfu NEURAL depth mode optimization.
  • Improved Depth Viewer camera open when switching between camera models.
  • Improved ZED Explorer firmware update GUI on ZED X for clarity.

Samples

  • Added support for YOLOv11, YOLOv12, and more when using a custom YOLO-like ONNX model. Check out the dedicated documentation page.
  • Updated C++ Spatial Mapping sample.
  • Updated C++ Positional Tracking sample.

Camera Driver

Deprecation

  • Using retrieveObjects and retrieveBodies with runtime parameters is now deprecated. Setting runtime parameters should now be done using the dedicated setters.