Releases: stereolabs/zed-sdk
ZED SDK 5.2.1
https://www.stereolabs.com/en-fr/developers/release#521-b35bdf54f33238c75ea27a24a1a21a4e
5.2.1
SDK
General
- Fixed
Camera::retrieveImageandCameraOne::retrieveImagewithNV12views and when using default resolution: it now correctly uses the camera resolution instead of requesting the user to manually set it. - Fixed an issue where ZED2/ZED2i could report locked positional tracking information.
- Fixed
Sensors::enableObjectDetectionto work without explicitly settingfused_objects_group_nameinsl::ObjectDetectionSensorsParameters. A default group name is now used automatically when the field is left empty, simplifying setup for single fused group configurations. Setting a custom name is still required when using multiple fused groups. - Fixed
RawBuffer::getWidth()andRawBuffer::getHeight()always returning 0 when usingCamera::retrieveImage(RawBuffer&). The buffer metadata now correctly reports the camera capture resolution. - Set GEN_3 as the global default mode. Applied consistency fixes to C++/C#/python parameters, ZEDFu, and remaining samples where this was previously omitted.
- Negative ERROR_CODE results during module enabling are now correctly logged as warnings, consistent with grab() error handling.
- Fixed a rare lock that could appear using
Camera::grab()when corrupted frame detector was enabled. - Fixed an issue leading to the left and right buffer being swapped in
RawBufferretrieval for ZED X camera. - Reduced SDK memory usage per camera instance (up to 40MB savings).
- Fixed
CameraOne::retrieveImagebehavior forVIEW::LEFT_UNRECTIFIED, which previously returned the rectified image in 5.2.0. - Fixed an issue where GMSL2 cameras could stay in state
sl::CAMERA_STATE::REBOOTINGindefinitely. - Fixed an opening issue with ZED X One UHD cameras in QHDPLUS mode.
- Disabled gamma compensation for ZED X One UHD camera as it conflicts with ISP.
Streaming
- Fixed streaming corruption and flickering caused by control packets being mixed into the video data stream during frame reassembly.
- Fixed incorrect auto-exposure/auto-gain ROI for the right sensor on dual-sensor cameras (ZED X, ZED X Mini).
- Fixed the sender reporting wrong exposure/gain range values for the secondary sensor (right) on stereo cameras.
- Fixed an issue leading to the left and right images being swapped for ZED X camera, leading to corrupted depth map and warning about potential calibration issue.
- Fixed a memory leak when streaming reception times out.
- Fixed potential hang when closing a streaming receiver.
Object Detection
- Fixed
CustomObjectDetectionRuntimeParametersper-class properties not working with custom object detection models (ingestCustomBoxObjectsandingestCustomMaskObjects). Per-class properties (confidence threshold,is_grounded, tracking parameters, class filtering, etc.) are now correctly applied when usingCUSTOM_BOX_OBJECTSwithretrieveCustomObjects. - Fixed
Sensors::enableObjectDetectionto returnSENSORS_ERROR_CODE::INVALID_FUNCTION_PARAMETERSwhen usingSensors::enableObjectDetectionwithout adding at least one valid camera beforehand. If at least one camera was added, the behavior remains the same: leavingObjectDetectionSensorsParameters::sensors_idsempty still enables object detection with all available cameras. - Updated documentation and samples to reflect YOLO26 support. YOLO26's default end-to-end output (
1×300×6) and one-to-many output (1×(nc+4)×8400) are handled by the existing custom ONNX detector pipeline. - Fixed random erroneous position estimation with Positional Tracking GEN_3 when Object Detection is enabled.
SLAM
- Reduced the memory footprint of
sl::POSITIONAL_TRACKING_MODE::GEN_3by up to 80%, specifically whenenable_area_memoryis disabled. - Fixed random deadlock occurring in low-texture environments when
enable_2d_ground_modewas enabled. - Fixed a rare crash in
Camera::saveAreaMap()that could occur when closing the camera while a save operation was still in progress. Thread synchronization and pointer safety have been strengthened to prevent any concurrent access issues. - Fixed a rare crash that could occur when
enable_imu_fusionwas set tofalse.
Wrappers
Python
- Added pickle (serialization) support for all parameter and data classes (
InitParameters,RuntimeParameters,Mat,Pose,InputType, etc.). This enablesmultiprocessing.Process,copy.deepcopy(),joblib, and other serialization frameworks to work with pyzed objects out of the box. - Hardware wrapper classes (
Camera,CameraOne,Fusion,Sensors,Lidar) raise a clearTypeErrorwhen pickle is attempted, with a message guiding users to re-open devices in child processes. - Fixed
InitFusionParameters.sdk_gpu_idproperty referencing wrong internal member. - Fixed the
InitParametersdefault value ofenable_image_validity_checktoTrueto match the C++ default value.
C#
- Fixed the
InitParametersdefault value ofenable_image_validity_checktoTrueto match the C++ default value.
Tools
ZED Explorer
- Fixed “No current context available” error happening on Jetson platform.
- Fixed
--resolution,--frequency,--inputand--serial_numberCLI options being ignored when selecting a camera for recording, streaming, firmware update, or GUI launch. - Changed default resolution from hardcoded values to
AUTO, which resolves to the best default per camera model (e.g.HD720for USB cameras,HD1200for GMSL), consistent withsl::InitParametersdefaults. Applies to both CLI and GUI. - Fixed reported "FRAMERATE: N/A" for USB cameras.
ZED Depth Viewer
- Fixed
--resolutionand--frequencyCLI options being parsed but never applied. - Fixed a crash (SIGSEGV) occurring during or after Neural depth model optimization. Optimization now runs in an isolated subprocess, preventing TensorRT-related crashes across camera open/close cycles.
- Fixed the optimization dialog displaying a generic "NEURAL" label instead of the actual selected mode (NEURAL, NEURAL PLUS, or NEURAL LIGHT).
- Fixed the depth view freezing while the optimization confirmation dialog was displayed.
- Fixed declining the optimization dialog switching to a different depth mode instead of keeping the currently running one.
ZED Sensor Viewer
- Fixed sensor data frequency not being displayed when using SVO input.
ZED Diagnostic
- Fixed a crash (SIGSEGV) occurring during the camera resolution tearing test. Systematic on Linux, intermittent on Windows.
ZED Studio
- Completely removed the Depth map field in the Settings Panel for monocular cameras.
- Added the option to enable/disable the depth view directly from the Depth Panel by changing the
Depth mode. - Fixed UI issue when opening SVO files.
- Depth settings are now applied to SVO and Stream inputs.
Samples
- Improved Sensor Placer tool (
sensors_api/sensor_placer/cpp) by adding interactive point-pair matching: Shift+Click the same physical feature on two sensor point clouds to automatically compute and apply the optimal alignment transform. - Add Auto Exposure Region of Interest selection in Camera One live sample.
ZED SDK 5.2.0
https://www.stereolabs.com/en-fr/developers/release#520-beta-8a756bc18083fc9b21b949fb5fa8ffbb
5.2.0
ZED SDK 5.2 delivers major performance gains on Jetson with up to 85% lower CPU load, improved GMSL driver reliability at 200 Hz IMU rate, and sharper images in low-resolution modes. This release also introduces the new Sensors API (sl::Sensors), a unified interface for managing ZED cameras and Ouster LiDAR devices in a single pipeline — replacing the need for separate APIs and custom fusion code.
SDK
General
- Reduced CPU load by 51–85% and grab latency by 5–45% on Jetson AGX (benchmarked with 1× to 8× GMSL cameras, SVGA to HD1200, with and without Neural depth and streaming/recording). Memory usage reduced by up to 28% in multi-camera configurations.
- Added
getCudaStream()tosl::CameraOneto match thesl::CameraAPI, enabling unified CUDA stream management. - Added
sdk_gpu_idtoInitParametersOne. - Fixed a lock that could happen when disabling depth with runtime parameters.
grab()now returnsCORRUPTED_FRAMEonly for actual image corruption (green/purple images). Other quality issues (lens obstruction, stereo mismatch, blur, low light) now returnSUCCESS.- Fixed
sl::CameraConfiguration::fpsnot correctly returning the user-requested frame rate on Windows. - Deprecated the
InitParameters::async_image_retrievalparameter; it no longer has any effect. - Added methods
sl::Camera::retrieveTensorandsl::CameraOne::retrieveTensorto retrieve ansl::Tensor, containing the input image pre-processed for inference with SVO or live camera. This method works withsl::TensorParametersto define input options for deep learning inference. Refer to Tutorial 12 for usage examples. - Updated
convertCoordinateSystemandconvertUnitto acceptcudaStream_tas an argument, facilitating operations on GPU memorysl::Matobjects. - Added
applyTransformto apply a rotation and translation to a point cloud matrix. - Standardized default compression mode to H.265 for both streaming and recording.
Capture
- Improved image processing for low-resolution modes, resulting in significantly sharper images and reduced blur.
- Improved capture stability under high load and high FPS scenarios.
- Introduced
InputType::setFromGMSLPort(int gmsl_port)to open GMSL cameras based on their physical connection — useful for static production rigs where wiring remains constant even if serial numbers change. - Added
NV12toMAT_TYPEandLEFT_NV12_UNRECTIFIED/RIGHT_NV12_UNRECTIFIEDtoVIEW. These new views enable requesting anNV12sl::MatviaCamera::retrieveImageorCameraOne::retrieveImage. - Fixed opening GMSL cameras in parallel with different processes.
Zero-Copy Capture (Jetson Only)
For Advanced Users Only: Introduced the RawBuffer API, enabling zero-copy access to native camera capture buffers (NvBufSurface / Argus) in NV12 format.
- Eliminates memory copies when passing camera data to custom TensorRT, Argus, or NVMM pipelines.
- Uses RAII; the buffer is automatically released when
RawBuffergoes out of scope. - Improper use (such as manual destruction of the NvBufSurface) can crash the Argus stack or destabilize the system.
- Requires defining
SL_ENABLE_ADVANCED_CAPTURE_APIat compilation. - Gstreamer ZED plugin now uses this new efficient interface by default when possible.
Driver
- Integration of Driver v1.4.0 is now required for improved GMSL stability.
- Standardized IMU rate to 200 Hz for guaranteed reliability (requires driver 1.4.0+), significantly reducing inter-sample jitter. In 8-camera setups, IMU rate spread improved from ~11 Hz (185–197 Hz) to < 1 Hz (199.5–200 Hz).- Fixed data drop issues in complex setups involving 8+ IMUs.
- Unplugging a GMSL camera now correctly triggers a
CAMERA_DISCONNECTEDerror (requires driver 1.4.0+). - GMSL cameras experiencing micro-disconnections now correctly report
CAMERA_DISCONNECTEDerror (requires driver 1.4.0+).
Streaming
- Added
getStreamingDeviceList()static method toCameraOne. - Fixed an issue where
Camera::getStreamingDeviceList()would incorrectly reportCameraOnedevices. - Added
camera_modelproperty toStreamingProperties. - Fixed a use-after-free that could occur on some devices when a ZED streaming connection timed out during initialization.
Recording
- Added a return error code in
sl::Camera::setSVOPositionandsl::CameraOne::setSVOPositionmethods. - Fixed an IMU read issue that could prevent positional tracking from fusing IMU data in rare cases.
- Fixed an issue in
setSVOPositionthat could prevent seeking to the final frame of an SVO file.
SLAM
- Gen3 is now the default positional tracking mode.
- Enhanced tracking stability in dark or poorly lit environments.
- Fixed a bug where covariance values would erroneously increase while the camera was stationary.
- Added
sl::KeyFrameclass to expose internal frames used for graph and map creation.
Object Detection
- Added new fine-tuning controls per class in
ObjectTrackingParameters:velocity_smoothing_factor: Tunes the "jitter" of bounding box velocity.min_velocity_threshold: Clamps low-speed movement to zero.prediction_timeout_s: Duration to predict a path after losing sight of an object.min_confirmation_time_s: Required "alive" time before a track is validated.
- Improved numerical stability to prevent random ID swaps during tracking.
New Beta Sensors API : Ouster LiDAR and ZED Cameras in a unified API
The Sensors API (sl::Sensors) is a major new addition that provides a single, unified interface for managing heterogeneous sensor systems — ZED stereo cameras, ZED One monocular cameras, and Ouster Lidar devices — eliminating the need for separate APIs and manual coordination. This is an addition to the existing API, the original Camera and CameraOne classes are still supported and improved.
- Natively combine ZED cameras and Lidar devices in a single coordinated pipeline via
sensors.add(). Previously, Lidar integration required external libraries and custom fusion code. - A single
sensors.add()call works for any ZED model (ZED 2, ZED 2i, ZED X, ZED X One). The SDK auto-detects the camera type — no need to choose betweensl::Cameraandsl::CameraOne. - Set sensor poses with
sensors.setSensorPose()and retrieve data in any reference frame (SENSOR,BASELINK, orWORLD). Point clouds and images are automatically transformed. - The familiar
read()+grab()separation now works across all sensors simultaneously, enabling custom inference between acquisition and SDK processing. - Retrieve data from all sensors in a single call using
BatchedData<T>(e.g.,sensors.retrieveImage(),sensors.retrieveMeasure()), returning a map of sensor identifiers to results. sensors.syncSVO()automatically aligns SVO and OSF files to a common start timestamp for synchronized playback.- Configure which sensors participate in each Object Detection or Body Tracking instance via
sensors_idsandinstance_module_id, with separate fusion groups per sensor set. - A single
sensors.enableRecording()call records all cameras (SVO) and Lidars (OSF) with synchronized timestamps. sensors.getProcessErrorCodes()returns per-sensor error diagnostics usingBatchedData<sl::ERROR_CODE>.sensors.getHealthStatus()provides per-sensor health, temperature, and connection status.- Internally managed thread pool parallelizes grab, AI inference, and memory allocation across all sensors.
Migration
| Use Case | Recommendation |
|---|---|
| Single ZED camera | Continue using sl::Camera |
| Single ZED One | Continue using sl::CameraOne |
| Multi-camera (cameras only) | sl::Fusion still supported, sl::Sensors recommended |
| Any setup with Lidar | Use sl::Sensors (required) or the new sl::Lidar class |
| New multi-sensor projects | Use sl::Sensors |
Platform
- Added official support for JetPack 7.1 / L4T 38.4, unlocking hardware video encoding and decoding on Jetson Thor.
- Added H.264 software (CPU) encoding for SVOs on Orin Nano to compensate for the lack of a hardware H.265 encoder. The H.265 software encoding is also supported but reserved for offline processing such as SVO frame extraction or conversion as it requires extensive compute and is unsuited for real time applications.
- The SDK now automatically falls back to H.264 if H.265 is requested but unavailable. This is customizable via the environment variable
ZED_SDK_H265_FALLBACK_MODE:0(Default): Fallback to H.264.1: Force x265 CPU encoding (High latency, intended for offline use).2: Return an error (No fallback).
Wrappers
Python
- Added
from_stringmethods to most enums. - Added AI helpers:
check_ai_model_status,download_ai_model,optimize_ai_model. - Added Fusion helpers: methods
get_current_timestampandread_fusion_configuration, and parameteroverride_gravitytosubscribe. - Added Camera helper:
get_communication_parameters. - Added CameraOne helpers:
get_camera_settings_range,get_svo_position_at_timestamp. - Added IO helpers: JSON saving/loading and
blob_from_images. - Added Coordinate and Unit Conversion helpers:
get_coordinate_transform_conversion_3f,get_coordinate_transform_conversion_4f,convert_coordinate_system_transform,convert_coordinate_system_mat,get_unit_scale,convert_unit_transform,convert_unit_mat,compute_rotation_matrix_from_gravity. - Added Rect helper:
is_contained_in_resolution. - Added missing docstrings for some classes, methods, properties and functions.
- Added enums
MESH_CREATIONandTYPE_OF_INPUT_TYPE. - Resolved
np.arraytyping issues. identityandzerosfor Matrix classes are now correctly mapped as `@static...
ZED SDK 5.1.2
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::readwas used and notCamera::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::InputTypefor 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_DETECTEDwhen opening a CameraOne when forcing the disablement of the IMU (with the environment variableZED_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::InputTypein 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_3producing 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_OBJECTSwithenable_segmentation = true. - Fixed
CUSTOM_YOLOLIKE_BOX_OBJECTpost-processing when using YOLOv10 models. Previously, only a small subset of the detected objects was returned.
ZED SDK 5.1.1
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_distancein 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_3withDEPTH_MODE::NONE. This race condition resulted in inconsistent computation. - Improved runtime performance of
getPositionalTrackingLandmarksandgetPositionalTrackingLandmarks2Dmethods. 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_FRAMEenum.
Wrappers
Python
- Added missing
override_gravityfield inFusionConfiguration.
Samples
- Improved error handling in samples to use comparison operators (
<,>,<=,>=) instead of equality checks (==,!=) when testingERROR_CODE::SUCCESSfor camera opening and frame grabbing. This follows best practices for distinguishing between warnings (negative values) and errors (positive values).
ZED SDK 5.1.0
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
https://www.stereolabs.com/en-fr/developers/release/5.0#507-b1c25d6cde63b9ff6afa80f4e2d1fc33
5.0.7
Bug Fixes
- Fixed a
std::future_errorthat 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
TypeErrorwhen callingget_camera_informationfrom 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
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
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
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
getAreaExportStatefunction 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
findFloorPlaneleading 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 byenable_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) andnumpythat 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
https://www.stereolabs.com/developers/release#503-01552fd28a68e574d70fcf78818f9e1b
5.0.3
SDK
- Changed the default value of
svo_real_time_modefromtruetofalsefor CameraOne'sInitParametersOne, 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.