Skip to content

Release 3.7.0#1825

Merged
moratom merged 225 commits into
mainfrom
release_3.7.0
Jun 5, 2026
Merged

Release 3.7.0#1825
moratom merged 225 commits into
mainfrom
release_3.7.0

Conversation

@moratom

@moratom moratom commented Jun 1, 2026

Copy link
Copy Markdown
Collaborator

Purpose

Release 3.7.0

Specification

None / not applicable

Dependencies & Potential Impact

None / not applicable

Deployment Plan

None / not applicable

Testing & Validation

None / not applicable

alex-luxonis and others added 30 commits November 16, 2025 16:41
update FW with fixes for reset GPIO used for EEPROM addressing on CBA.
This also fixes CAM_C detected on FFC setups (as a replica of CAM_B) when it was actually not connected
* Fix getAny and add waitAny (implement BinarySemaphore and ManyToOneNotifier)

* PR fixes

* Add waitAny tests

* Conditionally notify in semaphore

* Build fixes

* Add doc to ManyToOneNotifier class

* Bugfixes

* Make waitAny and getAny work with closed queues

* Switch back to using reference wrapper instead of pointer

* Ensure waiting guard gets reset

* Expand docs on ManyToOneNotifier limitations

* Rename ManyToOneNotifier to WaitAnyNotifier

* Specify usage of waitanynotifier struct, tidy fix

* Simplify waitAny predicate, unblock on queueexception

* Remove boost from waitAny impl

* getany atomic queue check & get

* PR fixes

* Add docstrings

* Remove try catch when getting messages in getAny

* Add python bindings for getAny and waitAny

* Clangformat
* Add U16F (unsigned 16bit short) to TensorInfo

* Add test and python bindings

* Adjust test to properly set U16F DataType

* Expand test to include all possible datatypes

* Bump FW.

* Fix merge issue

* Bump FW.

* Split RVC4 specific test case into separate script node test

* Bump FW
Remove setAutoCalibration and getAutoCalibration
Change CI so it should work
* Only perform rotation if both extrinsics are set. Otherwise fallback to identity rotation.

* Fix include
* Use libusb with windows fix, add test

* PR fixes
@coderabbitai

coderabbitai Bot commented Jun 1, 2026

Copy link
Copy Markdown
Contributor

Important

Review skipped

Too many files!

This PR contains 224 files, which is 74 over the limit of 150.

To get a review, narrow the scope:
• coderabbit review --type committed # exclude uncommitted changes
• coderabbit review --dir # limit to a subdirectory
• coderabbit review --base # compare against a closer base

⚙️ Run configuration

Configuration used: Repository UI

Review profile: ASSERTIVE

Plan: Pro

Run ID: d31bb17e-3774-4891-b9f6-0ea93eda22c6

📥 Commits

Reviewing files that changed from the base of the PR and between 8c0d8ec and 4b2733c.

📒 Files selected for processing (224)
  • .github/workflows/bom.yml
  • .github/workflows/main.workflow.yml
  • .github/workflows/python-main.yml
  • .github/workflows/test.workflow.yml
  • .github/workflows/test_child.yml
  • .github/workflows/test_child_mac.yml
  • .github/workflows/test_child_windows.yml
  • .github/workflows/zoo_helper.workflow.yml
  • CMakeLists.txt
  • CMakePresets.json
  • README.md
  • bindings/python/CMakeLists.txt
  • bindings/python/ci/upload-ak.sh
  • bindings/python/ci/upload-artifactory.sh
  • bindings/python/src/CalibrationHandlerBindings.cpp
  • bindings/python/src/DatatypeBindings.cpp
  • bindings/python/src/DatatypeBindings.hpp
  • bindings/python/src/DeviceBindings.cpp
  • bindings/python/src/MessageQueueBindings.cpp
  • bindings/python/src/XLinkBindings.cpp
  • bindings/python/src/pipeline/CommonBindings.cpp
  • bindings/python/src/pipeline/PipelineBindings.cpp
  • bindings/python/src/pipeline/datatype/AprilTagsBindings.cpp
  • bindings/python/src/pipeline/datatype/EncodedFrameBindings.cpp
  • bindings/python/src/pipeline/datatype/GPUStereoConfigBindings.cpp
  • bindings/python/src/pipeline/datatype/ImgDetectionsBindings.cpp
  • bindings/python/src/pipeline/datatype/ImgFrameBindings.cpp
  • bindings/python/src/pipeline/datatype/NNDataBindings.cpp
  • bindings/python/src/pipeline/datatype/PointCloudDataBindings.cpp
  • bindings/python/src/pipeline/datatype/SegmentationMaskBindings.cpp
  • bindings/python/src/pipeline/datatype/SpatialImgDetectionsBindings.cpp
  • bindings/python/src/pipeline/datatype/TrackletsBindings.cpp
  • bindings/python/src/pipeline/datatype/TransformableBindings.cpp
  • bindings/python/src/pipeline/node/GPUStereoBindings.cpp
  • bindings/python/src/pipeline/node/HostNodeBindings.cpp
  • bindings/python/src/pipeline/node/ImageManipBindings.cpp
  • bindings/python/src/pipeline/node/NodeBindings.cpp
  • bindings/python/src/pipeline/node/ToFBindings.cpp
  • bindings/python/src/py_bindings.cpp
  • bindings/python/tests/CMakeLists.txt
  • bindings/python/tests/auto_calibration_config_test.py
  • bindings/python/tests/inherited_messages_test.py
  • bindings/python/tests/messsage_queue_test.py
  • bindings/python/tests/xlink_protocol_test.py
  • ci/upload-ak-zoo-helper.sh
  • ci/upload-artifactory-zoo-helper.sh
  • cmake/Depthai/DepthaiDeviceRVC4Config.cmake
  • cmake/Depthai/DepthaiDeviceSideConfig.cmake
  • cmake/Depthai/DepthaiDynamicCalibrationConfig.cmake
  • cmake/Depthai/DepthaiVisualizerConfig.cmake
  • cmake/depthaiDependencies.cmake
  • cmake/ports/libusb/portfile.cmake
  • examples/cpp/Benchmark/benchmark_nn.cpp
  • examples/cpp/CMakeLists.txt
  • examples/cpp/Camera/camera_multiple_outputs.cpp
  • examples/cpp/DetectionNetwork/detection_and_keypoints.cpp
  • examples/cpp/DetectionNetwork/detection_and_segmentation.cpp
  • examples/cpp/DetectionNetwork/detection_network.cpp
  • examples/cpp/DetectionNetwork/detection_network_remap.cpp
  • examples/cpp/GPUStereo/CMakeLists.txt
  • examples/cpp/GPUStereo/gpu_stereo.cpp
  • examples/cpp/ImageManip/image_manip_remap.cpp
  • examples/cpp/ImageManip/image_manip_resize.cpp
  • examples/cpp/NeuralNetwork/neural_network.cpp
  • examples/cpp/NeuralNetwork/neural_network_multi_input.cpp
  • examples/cpp/NeuralNetwork/neural_network_multi_input_combined.cpp
  • examples/cpp/ObjectTracker/object_tracker_remap.cpp
  • examples/cpp/RVC2/CMakeLists.txt
  • examples/cpp/RVC2/VSLAM/CMakeLists.txt
  • examples/cpp/RVC2/VSLAM/rtabmap_vio.cpp
  • examples/cpp/RVC2/VSLAM/rtabmap_vio_slam.cpp
  • examples/cpp/RVC4/CMakeLists.txt
  • examples/cpp/RVC4/GPUStereo/CMakeLists.txt
  • examples/cpp/RVC4/GPUStereo/check_device_gpu.cpp
  • examples/cpp/Remapping/CMakeLists.txt
  • examples/cpp/Remapping/single_cam_remapping.cpp
  • examples/cpp/SpatialDetectionNetwork/spatial_detection.cpp
  • examples/cpp/VSLAM/CMakeLists.txt
  • examples/cpp/VSLAM/basalt_vio.cpp
  • examples/cpp/VSLAM/basalt_vio_rtabmap_slam.cpp
  • examples/cpp/VSLAM/rerun_node.hpp
  • examples/python/CMakeLists.txt
  • examples/python/Calibration/calibration_dump_sockets.py
  • examples/python/ImageManip/image_manip_remap.py
  • examples/python/ImageManip/image_manip_resize.py
  • examples/python/RVC2/VSLAM/rtabmap_vio.py
  • examples/python/RVC2/VSLAM/rtabmap_vio_slam.py
  • examples/python/RVC4/GPUStereo/check_device_gpu.py
  • examples/python/RVC4/GPUStereo/check_gpu_stereo_support.py
  • examples/python/RVC4/GPUStereo/gpu_stereo.py
  • examples/python/Remapping/single_cam_remapping.py
  • examples/python/VSLAM/basalt_vio.py
  • examples/python/VSLAM/basalt_vio_rtabmap_slam.py
  • examples/python/VSLAM/rerun_node.py
  • include/depthai/common/CameraBoardSocket.hpp
  • include/depthai/common/ImgTransformations.hpp
  • include/depthai/common/Keypoint.hpp
  • include/depthai/common/KeypointsListT.hpp
  • include/depthai/common/SpatialKeypoint.hpp
  • include/depthai/common/TensorInfo.hpp
  • include/depthai/device/CalibrationHandler.hpp
  • include/depthai/device/DeviceBase.hpp
  • include/depthai/pipeline/DeviceNode.hpp
  • include/depthai/pipeline/DeviceNodeGroup.hpp
  • include/depthai/pipeline/InputQueue.hpp
  • include/depthai/pipeline/MessageQueue.hpp
  • include/depthai/pipeline/Node.hpp
  • include/depthai/pipeline/NodeGroup.hpp
  • include/depthai/pipeline/NodeObjInfo.hpp
  • include/depthai/pipeline/Pipeline.hpp
  • include/depthai/pipeline/ThreadedHostNode.hpp
  • include/depthai/pipeline/datatype/AprilTags.hpp
  • include/depthai/pipeline/datatype/AutoCalibrationConfig.hpp
  • include/depthai/pipeline/datatype/DatatypeEnum.hpp
  • include/depthai/pipeline/datatype/EncodedFrame.hpp
  • include/depthai/pipeline/datatype/GPUStereoConfig.hpp
  • include/depthai/pipeline/datatype/ImgDetections.hpp
  • include/depthai/pipeline/datatype/ImgDetectionsT.hpp
  • include/depthai/pipeline/datatype/ImgFrame.hpp
  • include/depthai/pipeline/datatype/NNData.hpp
  • include/depthai/pipeline/datatype/PointCloudData.hpp
  • include/depthai/pipeline/datatype/SegmentationMask.hpp
  • include/depthai/pipeline/datatype/SpatialImgDetections.hpp
  • include/depthai/pipeline/datatype/Tracklets.hpp
  • include/depthai/pipeline/datatype/Transformable.hpp
  • include/depthai/pipeline/datatypes.hpp
  • include/depthai/pipeline/node/DynamicCalibrationNode.hpp
  • include/depthai/pipeline/node/GPUStereo.hpp
  • include/depthai/pipeline/node/ToF.hpp
  • include/depthai/pipeline/node/host/HostNode.hpp
  • include/depthai/pipeline/node/internal/PipelineStateMerge.hpp
  • include/depthai/pipeline/nodes.hpp
  • include/depthai/properties/GPUStereoProperties.hpp
  • include/depthai/properties/ImageManipProperties.hpp
  • include/depthai/utility/BinarySemaphore.hpp
  • include/depthai/utility/ImageManipImpl.hpp
  • include/depthai/utility/LockingQueue.hpp
  • include/depthai/utility/Memory.hpp
  • include/depthai/utility/OffsetMemory.hpp
  • include/depthai/utility/WaitAnyNotifier.hpp
  • include/depthai/xlink/XLinkConstants.hpp
  • protos/SpatialImgDetections.proto
  • protos/common.proto
  • scripts/generate_depthai_nodes_names.py
  • src/device/CalibrationHandler.cpp
  • src/device/DeviceBase.cpp
  • src/modelzoo/Zoo.cpp
  • src/opencv/ImgFrame.cpp
  • src/pipeline/MessageQueue.cpp
  • src/pipeline/Pipeline.cpp
  • src/pipeline/datatype/AprilTags.cpp
  • src/pipeline/datatype/DatatypeEnum.cpp
  • src/pipeline/datatype/EncodedFrame.cpp
  • src/pipeline/datatype/GPUStereoConfig.cpp
  • src/pipeline/datatype/ImgDetections.cpp
  • src/pipeline/datatype/ImgDetectionsT.cpp
  • src/pipeline/datatype/ImgFrame.cpp
  • src/pipeline/datatype/ImgTransformations.cpp
  • src/pipeline/datatype/PointCloudData.cpp
  • src/pipeline/datatype/SegmentationMask.cpp
  • src/pipeline/datatype/SpatialImgDetections.cpp
  • src/pipeline/datatype/StreamMessageParser.cpp
  • src/pipeline/datatype/Tracklets.cpp
  • src/pipeline/datatype/Transformable.cpp
  • src/pipeline/node/AprilTag.cpp
  • src/pipeline/node/AutoCalibration.cpp
  • src/pipeline/node/BenchmarkIn.cpp
  • src/pipeline/node/DetectionParser.cpp
  • src/pipeline/node/DynamicCalibrationNode.cpp
  • src/pipeline/node/DynamicCalibrationUtils.hpp
  • src/pipeline/node/GPUStereo.cpp
  • src/pipeline/node/ImageManip.cpp
  • src/pipeline/node/Script.cpp
  • src/pipeline/node/SegmentationParser.cpp
  • src/pipeline/node/SpatialLocationCalculator.cpp
  • src/pipeline/node/host/Replay.cpp
  • src/pipeline/utilities/Alignment/AlignmentUtilities.cpp
  • src/pipeline/utilities/DetectionParser/DetectionParserUtils.cpp
  • src/pipeline/utilities/NNDataViewer.hpp
  • src/pipeline/utilities/SegmentationParser/SegmentationParserUtils.cpp
  • src/pipeline/utilities/SpatialLocationCalculator/SpatialUtils.cpp
  • src/properties/Properties.cpp
  • src/utility/ImageManipImpl.cpp
  • src/utility/Initialization.cpp
  • src/utility/LogCollection.cpp
  • src/utility/LogCollection.hpp
  • src/utility/Logging.hpp
  • src/utility/PipelineImplHelper.cpp
  • src/utility/Platform.cpp
  • src/utility/Platform.hpp
  • src/utility/ProtoSerialize.cpp
  • src/utility/RecordReplay.cpp
  • src/utility/Resources.cpp
  • src/utility/Telemetry.cpp
  • src/utility/Telemetry.hpp
  • src/utility/Uuid.cpp
  • src/utility/Uuid.hpp
  • src/utility/VectorMemory.cpp
  • src/utility/depthai_nodes_names.hpp
  • src/xlink/XLinkConnection.cpp
  • tests/CMakeLists.txt
  • tests/src/ondevice_tests/dynamic_calibration_test.cpp
  • tests/src/ondevice_tests/gpu_availability_test.cpp
  • tests/src/ondevice_tests/gpu_stereo_node_test.cpp
  • tests/src/ondevice_tests/img_transformation_test.cpp
  • tests/src/ondevice_tests/pipeline/node/detection_parser_test.cpp
  • tests/src/ondevice_tests/pipeline/node/image_manip_optimization_test.cpp
  • tests/src/ondevice_tests/pipeline/node/object_tracker_test.cpp
  • tests/src/ondevice_tests/pipeline/node/segmentation_parser_test.cpp
  • tests/src/ondevice_tests/pipeline/node/spatial_location_calculator_test.cpp
  • tests/src/ondevice_tests/regression/boot.cpp
  • tests/src/ondevice_tests/script_node_rvc4_test.cpp
  • tests/src/ondevice_tests/script_node_test.cpp
  • tests/src/ondevice_tests/telemetry_multi_device_test.cpp
  • tests/src/ondevice_tests/telemetry_multi_device_test_child.cpp
  • tests/src/ondevice_tests/telemetry_test.cpp
  • tests/src/ondevice_tests/telemetry_test_child.cpp
  • tests/src/onhost_tests/calibration_handler_test.cpp
  • tests/src/onhost_tests/message_queue_test.cpp
  • tests/src/onhost_tests/normalization_test.cpp
  • tests/src/onhost_tests/pipeline/datatype/imgdetections_test.cpp
  • tests/src/onhost_tests/pipeline/datatype/imgframe_test.cpp
  • tests/src/onhost_tests/pipeline/datatype/nndata_test.cpp
  • tests/src/onhost_tests/pipeline/node/gpu_stereo_node_test.cpp

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch release_3.7.0

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands and usage tips.

Matevz Morato and others added 24 commits June 1, 2026 13:10
Replaced calibration socket overloads with CBA named functions
Increased rvc2 test workflow's timeout
CBACalibrationHandler now handles legacy non CBA camera sockets
@moratom
moratom merged commit 4b61a68 into main Jun 5, 2026
1 check passed
@moratom
moratom deleted the release_3.7.0 branch June 5, 2026 07:27
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.