Skip to content

Release Notes

Nir Azkiel edited this page Dec 3, 2024 · 220 revisions

Release 2.56.3 beta

Release Date: December 3, 2025

This is a Beta release with source code only, no Debian or PyPi collaterals were published.

API Changes - see here

Please note that API changes in beta versions may not be final.

What's new

  • Feature - Introducing a new depth & IR post processing (90/180/270 deg) frame rotation filter [GitHub #6023, RSDSO-19843]
  • Platform - ARM NEON CPU acceleration support included in the SDK (align, pointcloud) [PR #13396 , #13389]
  • Platform - Updated minimal Jetson version support to v5.0.2
  • Wrapper - Updated minimal Python version support to v3.9 (Python 3.8 is EOL, can be built from source) [LRS-1154]
  • Use Case - Water safety alert system using RealSense camera reference (in collaboration with the Technion™)

Bug Fixes

  • Refresh D457 device information after DFU [LRS-686]
  • Added support for D457 recovery mode [RSDSO-19297]
  • Optimize USB enumeration time [RSDSO-19750]
  • Broken metadata timestamp in D457 GMSL mode [RSDSO-19754]
  • D405 UV errors and intrinsic misalignment [RSDSO-17488, RSDSO-18999]

Security

  • Switched on security for compilation and linkage flags by default [PR #13378, LRS-1183]
  • Windows Installer - Fix insecure folder permissions allows privilege escalation [PSIRT #PTK0005062]
  • Windows Installer - Fix Time-Of-Check Time-Of-Use in Windows installer [PSIRT# PTK0004998]

Full Changelog in GitHub

  • #13543 - Fix python UCAL example
  • #13526 - Fix static analysis issue
  • #13431 by @aaron-evercoast - Improve query_devices time on high device count systems
  • #13499 - Add new post processing filter - rotation filter
  • #13510 - remove response size limitation, and remove log prints for cmds with empty responses
  • #13512 - Table read error fallback
  • #13498 - Adding string to opcode mismatch error
  • #13488 - Add retry for get_gvd command
  • #13479 - Remove libusb leftovers
  • #13476 by @bewuethr - Add step to change directory
  • #13378 - Use Security Standard Compiler flags
  • #13444 - make hwmon_response product line dependent
  • #13473 - Fix width/height for resolution calculation
  • #13469 - D457 timestamp handling back compatable
  • #13466 - MIPI - Mapping AE attribute value in RGB metadata to 0 or 1
  • #13465 - Hardcoding the AE control range of MIPI device
  • #13315 - Sensor ts metadata mipi corrected
  • #13418 - update libusb
  • #13441 - pyrealdds.image_msg.data as a memoryview; fps.py --save-frames
  • #13432 - update for Android Studio 2024.2.1
  • #13389 by @fateshelled - Add ARM NEON intrinsics to align
  • #13396 by @fateshelled - Add ARM NEON intrinsics to pointcloud
  • #13408 - remove py3.8 support
  • #13406 by @Arun-Prasad-V - Bug fix: manual patch script for Noble
  • #13385 - fix rs-fw-update wait for device to reconnect
  • #13402 - Add a drowning detection example reference - Technion Industrial Course
  • #13388 - add flush after printf on rs-fw-update
  • #13369 - check sensors exist
  • #13359 - Update installation_jetson.md

Release 2.56.2 beta

Release Date: October 16, 2024

This is a Beta release with source code only, no Debian or PyPi collaterals were published.

API Changes

None (for previous API changes see: API changes)
Please note that API changes in beta versions may not be final.

What's new

  • Added manual kernel driver patches for Kernel 6.8 on Ubuntu Jammy and Noble
  • Bug fixes (see full changelog)
  • Introducing ARM NEON intrinsics to unpack_yuy2 (Community work)
  • Introducing RISCV build support (Community work)

Bug Fixes and Enhancements

Full Changelog in GitHub

  • #13354 - fix filter BUG
  • #13353 - fixing pipeline-start-stop failures after Coverity fix
  • #13270 by @fateshelled: Add ARM NEON intrinsics to unpack_yuy2
  • #13348 - fix viewer crash when exporting to PLY
  • #13347 - some Coverity issues fixed
  • #13345 - move common classes to common.h
  • #13332 - removing unused calibration data types
  • #13316 - update FW version display after FW update
  • #13328 - set_option api checking range restored
  • #13327 - new depth calibration returned when tc succeeds
  • #13236 - manual patches for Kernel 6.8 Jammy and Noble
  • #13321 - remove live-test build
  • #13322 - depth symmetrization - using MRD command is stream pipe config table'
  • #13292 - remove legacy live tests
  • #13296 - linux v4l2 backend - method get_devname_from_video_path efficiency improved
  • #13234 - reading depth symmetrization from table using GET_HKR_CONFIG_TABLE instead of MRD added
  • #13267 - std::move in DFU process
  • #13265 - validate option setting for calibrations
  • #13258 - handle small Coverity issues
  • #13255 - hwm extended buffers: computing number of chunks corrected
  • #5689 by @radfordi: Augment "Add Source" button with the number available
  • #13239 - adjust previous hwm api to send_and_receive api
  • #13235 - handle some Coverity warnings
  • #13218 - make our own json dump available in Python
  • #13216 - fix rs2_register_calibration_change_callback interface requirement
  • #13232 - checking only depth sensor instead of all sensors present
  • #13224 - add --debug and --sw-only to rs-depth-quality
  • #13220 - update rs-fw-update readme & bug fix
  • #13219 - viewer displays options in the order reported by librealsense
  • #13217 - make dfu flow slower based on feedback
  • #13215 - fix 'UNKNOWN in rs2_get_frame_data' error on activating IMU
  • #13211 by @per1cycle: Add riscv build support
  • #13156 - post processing filters tests ported from legacy live tests
  • #13205 - commenting update_samples_base method
  • #13189 - calib_engine - set_calibration_table removed from engine
  • #13202 - fix #13185 & #13192: move inline bool operator to json.h
  • #12451 - fix global timestamp mapping issue when HW timestamp is rollback to 0
  • #13192 - fix PR #13185: json bool operator now same as json_ref'
  • #13185 - replace default json serializer to improve readability'
  • #13177 - update find_first_device_or_exit - hw reset test improve

Release 2.56.1 beta

Release Date: August 20th, 2024

This is a Beta release with source code only, no Debian or PyPi collaterals were published.

API Changes

https://github.com/IntelRealSense/librealsense/wiki/API-Changes#version-2561-beta
Please note that API changes in beta versions may not be final.

What's new

  • SDK API documentation is back: Doxygen (C++) and Sphinx (Python)
  • Introducing Python 3.12 support
  • Introducing JetPack 6.0 support
  • Introducing Ubuntu 24 support including documentation
  • Introducing ROS2 Jazzy distro support on Ubuntu 24.04 with the ROS Wrapper
  • Python 3.7, JetPack 4.0 and Ubuntu 18 are all EOL — We are pleased to continue offering the source code for developers who wish to download and compile it for their own use
  • Added support for exposure dynamically update in runtime while HDR mode is enabled
  • Bug fixes (see full changelog)
  • New MIPI driver, version 1.0.1.23

Bug Fixes and Enhancements

Full Changelog in GitHub

#13215 - fix 'UNKNOWN in rs2_get_frame_data' error on activating IMU

  • #13168 - change get/set calibration config API to work with JSONs directly
  • #13166 - enable adding metadata of size bigger than 255 bytes in playback device
  • #13157 - update docs for u24 additon and u18 removal
  • #12335 - fps permutations test
  • #13149 - fix typo in hello-realsense example readme.md
  • #13135 - new API rs2_pipeline_set_device
  • #13138 - display NVIDIA license before syncing source
  • #13143 - remove py3.7; add py3.12
  • #13128 - fix possible bug in D400 coefficient table handling
  • #13097 - scripts: rs-enum: Use media link to get video nodes indexes.
  • #13104 - rs-dds-config
  • #13102 - Ubuntu24 RS-Viewer DFU fix - D457 w/a removed
  • #13111 - SENSOR_TIMESTAMP metadata pulling fixed
  • #13105 - update README regarding ros2-master
  • #13106 - adding githubpages extension to sphinx
  • #13091 - test added for checking sensor timestamp and frame timestamp metadata values
  • #13084 - fix Y12i stream output in MIPI with CUDA case
  • #13074 - viewer presets for dds devices
  • #13089 - adjust dds dfu timeout based on image size
  • #13092 - fix sphinx to publish python API documentation
  • #13079 by @eufrizz - Install pyrealsense2 .so and init.py
  • #13060 - fix D405 VGA resolution intrinsics calculation
  • #13075 - reduce lease duration to 3sec and announcement period to 1.5
  • #13076 - don't start backend if device-mask specifies sw-only
  • #13078 - re-reduce PNG file size
  • #13077 - remove warning about mismatching arguments
  • #13073 - fix bad CMake syntax at OpenCV example
  • #13005 by @acasalboni - align to width and height -1 to prevent SSEGV accessing out of range buffer
  • #13055 - L4T UVC/HID manual patch for JP6
  • #13056 - reduce gifs and images size
  • #13051 - remove py3.7 from documentation
  • #13054 - md parser for always enabled param added
  • #13033 - d500 devices - hw ts from capture stats
  • #13048 - fix 'format not a string literal' warning
  • #13042 - add motion_frame::get_combined_motion_data() for DDS Motion streams
  • #13045 - Update NVIDIA docs (Fix NVIDIA B & TM [Aligned to development doc])
  • #13012 - Update NVIDIA docs
  • #13041 - fix DDS motion stream to show gyro/accel components
  • #12251 by @hsuys - Fix D457 RGB sensor exposure control range issue
  • #13031 - Support calibration config conversion from/to JSON string
  • #13029 - D500 calib config to dev
  • #13024 - enable github actions for U24
  • #13022 - enabling ROS2 CI for Jazzy distro
  • #13007 - update libcurl version to latest version 8.8.0 (Verified on Win + Linux)
  • #13004 - rs2_get_video_stream_intrinsics no longer reports errors if no intrinsics available
  • #12944 - DFU for D457 recovery device
  • #12982 - handle Accel correctly in D500
  • #12993 - add more badges to readme.md
  • #12983 - enable dds flow controller
  • #12972 - fix MacOS M processor compilation + GHA upgrade to use macos 14 + update upload tool version
  • #12965 - IMU frame index jump in D457-Mipi
  • #12978 - LRS_LOG_LEVEL fix; enable log optimizations
  • #12971 - add new line for error comments in fw-update.cpp
  • #12964 - D500 DFU - cleaning d400 fw update code, avoid stucking of d500 w/o dfu monitoring
  • #12963 - fix json clone for a build directory that contain spaces
  • #12950 - fix typo in rs-fw-update.cpp
  • #12948 - add D500 DFU progress monitoring support
  • #12956 - make json clone more robust
  • #12961 - FastDDS v2.11.2 -> 2.10.4 (LTS)
  • #12959 - Jammy compilation fix with log macro changes
  • #12949 - revert usage of power_for_duration (PR #12897) because of CI failures
  • #12943 - add NO_TLS for FastDDS builds to disable SSL linkage
  • #12935 - refer to students game example
  • #12862 by @rurban - C++ 17 fixes
  • #12933 - fix PR #12911: sleep if test is not live
  • #12924 - flow controller & misc
  • #12911 - LibCI - Recycle device on retry
  • #12927 - update minimal CMake version 3.8
  • #11997 by @autoantwort - simplify C++ version check
  • #12914 - force shallow clone of json 3-rd party
  • #12908 - enable runtime exposure update in HDR mode
  • #12905 - add uvcvideo version update patch
  • #12897 - power on UVC sensors after creation to speed initialization
  • #12899 - reverse order of sensor open in pipeline API
  • #12879 - DDS metadata: add ToA, backend, actual FPS, raw-frame-size
  • #12891 - improvements added
  • #12874 by @kadiredd - added param test_dir in run-unit-tests.py
  • #12857 - RSUSB support for imu sensitivity
  • #12854 - unit-tests: check hwmc error codes
  • #12856 - d500 auto calib added for future capabilities
  • #12853 - fix FW logs bug
  • #12848 - fix settings in rs2_create_context
  • #12789 - size & CRC in dfu-start; topic-reader stop-from-callback crashes
  • #12819 - DDS ROI support; enums in adapter
  • #12842 by @GAFMONKEY - update readme.md
  • #12836 - update tests to use default profiles
  • #12835 - update fw_logs in Python wrapper + few fixes
  • #12741 - D500 temperatures as xu
  • #12822 - fix legacy intrinsics serialization and uppercase 'OK' status
  • #12821 - static-analysis fix - Check dynamic cast
  • #12788 - DDS scaled intrinsics
  • #12813 - power line freq option with hardcoded range
  • #12817 - fix wrong gyro values
  • #12688 - support FW logs extended format
  • #12778 - tests: rs-enumerate-devices
  • #12791 - non-float option fixes
  • #12799 - L4T: uvc patch fix localversion
  • #12798 - fix IMU back compat for D457
  • #12797 - IMU sensitivity fixes
  • #12765 - [Colorizer] Check Depth stream format supported or not before process
  • #12785 - relax enumeration logs
  • #12775 - reduce compilation warnings to 0
  • #12777 - Viewer add control to number of logs kept
  • #12776 - correct glsl debug issue
  • #12772 - fix configuration bug in DQT
  • #12767 - fix skipped options showing in viewer
  • #12760 - add byte manipulation functions
  • #12764 - Jetson Orin JP6 install
  • #12559 - set top level permissions to GHA
  • #12505 - update jetson installation doc (Update spell errors)
  • #12497 - add new supported kernel versions to docs
  • #12409 - fix compile error: ‘uint64_t’ does not name a type
  • #12309 by @oceanusxiv - fix pybind arg names

Release 2.55.1

Release Date: April 21st, 2024

API Changes

https://github.com/IntelRealSense/librealsense/wiki/API-Changes#version-2551

What's new

  • Support for variable IMU gyro sensitivity on D455 and D435i
  • MIPI
    • Enumerate video nodes by name (JP5 and newer)
    • rs-fw-update can update multiple devices
    • Please reinstall udev rules and driver (v1.0.1.21)
  • Linux compilation collaterals are now placed inside build/<configuration> directory (e.g., build/Release) rather than spread out in different project directories (like in Windows)
  • And additional static compilation target realsense2-all is now available, packaging all other dependent libraries for ease of use
  • L515 and SR300 Support:
  • Support for Linux kernels 5.19, 6.2, 6.5
    • Please make sure DKMS is up-to-date
  • Support for JetPack 6.0
  • Added periodic options-changed notifications (see API changes)
  • Auto Exposure Limit & Auto Gain Limit options are back and now available across the D400 line except D415 and D457
  • Added SSE optimizations for alignment processing
  • Metadata scrollbar in the Viewer
  • New rs-enumerate-devices format for better readability

New FW version 5.16.0.1

  • IMU values are now reported by the camera as 32 bits, for both accelerometer and gyroscope values
  • This API change will NOT work with older versions of LibRealSense!
    IMU SDK >= 5.16 SDK < 5.16
    FW = 5.16 D455/D435i: dynamic gyro sensitivity.
    All other SKUs: static gyro sensitivity (1000 Deg/Sec)
    Corrupted IMU values (both Gyro + Accel)
    FW < 5.16 Static gyro sensitivity (1000 Deg/Sec) Static gyro sensitivity (1000 Deg/Sec)

Bug Fixes and Enhancements

  • #12849 - Fix settings in rs2_create_context
  • #12801 - Cherry Pick PR #12799 l4t: uvc patch fix localversion
  • #12800 - Cherry Pick PR#12797 & PR#12798: IMU fixes
  • #12773 - Cherry Pick PR #12772: fix configuration bug in DQT
  • #12769 - Cherry Pick PR #12764: Jetson Orin JP6 install
  • #12768 - fix skipped options showing in viewer
  • #12715 - Gyro sensitivity feature
  • #12759 - More Coverity issues handled
  • #12754 - fix coverity issues
  • #12753 - fix slowness with viewer get_option_values() while drawing
  • #12731 - WTLAL move to rsutils (float3 etc.)
  • #12748 - Fix some Coverity issues
  • #12745 - Revert PR #12671: Viewer Accel and Gyro dashboards
  • #12743 - backend: mipi dfu default nodes
  • #12670 - hdr test converted to python and stabilized
  • #12671 - [Viewer] Accel & Gyro dashboards
  • #12722 - Auto removed from popup
  • #12728 - Add start_offset param to md parser with crc
  • #12687 by @m-mead - Replace calls to cudaDeviceSynchronize with calls to only synchronize the default CUDA stream
  • #12720 - rs-enum: fix non-zero video index
  • #12708 - Options: add BOOLEAN & ENUM; rs2_set_option_value
  • #12714 - backend-v4l2: relax mipi filter
  • #12692 - **Support strobe HMC (Emitter Always On) **
  • #12661 - operator<() on rs2::device uses fw-update-id & check-fw-compat works on recovery devices, too
  • #12696 - V4l2 mipi compatible
  • #12693 - Extended HWM - Reuse first chunk (Continue #12682)
  • #12683 - Small fixes
  • #12682 - Extended HWM commands refactor
  • #12678 - Remove HDR option
  • #12679 - Minimal CMake GHA test fix
  • #12589 - Create fps_helper.py
  • #12668 - Add more logs to MD alive test to debug failures
  • #12662 - Stabilize LibCI with retries until we fix the issues/tests
  • #12650 - Viewer relies on options-changed notifications, and gets ranges even for r/o options
  • #12637 - [LRS-GL] Support for Align-SSE
  • #12658 - Add Auto Exp/Gain Limit feature to all D400 except D415+D457
  • #12652 - FW logs parser should parse :f format as 32 bit float
  • #12655 - Link to libusb repo in Copyright fixed
  • #12651 - Add and update SW release compliance files to the repo
  • #12646 - reverse py_to_json integer types to match json::parse()
  • #12649 - doc: support linux kernel 6.5
  • #12642 - Enhance metadata test to verify sensor timestamp
  • #12636 - [Viewer] Option Open/Close dashboard area
  • #12616 - option-value and usage in options-changed notifications
  • #12640 - [Coverity] Fix Major issues
  • #12624 - Remove SKU D465
  • #12588 - [Viewer] Font size slider
  • #12628 - Add error handling mechanism
  • #12582 - Auto Exp/Gain Limit feature addition to D435i and D455
  • #12602 - RealSense kernel 6.5 support.
  • #12622 - Remove memcpy in HWM & command_transfer
  • #12621 - Enable blocking advanced mode setting
  • #12618 - Fix intrinsics calculation for non BROWN models
  • #12561 - run-unit-tests on ykush devices
  • #12615 - fix json = json_ref
  • #12610 - remove "frame counter reset" log when enabling HID stream
  • #12600 - Fix gated_by_value_option
  • #12585 - Separate frame archives for IR streams
  • #12556 - Fixing Depth Alignment in Align-GL processing block
  • #12576 - [PointCloud] Set texel intrinsic & extrinsic based on selected stream
  • #12575 - Frame queue per stream, not per extension
  • #12573 - Improve test.remote reliability
  • #12567 - fix setting initialization in rs-terminal and -enumerate-devices
  • #12563 - Align t2ff KPI to validation KPI
  • #12555 - rsutils::json cleanup & usage
  • #12558 - Set top level permissions to GHA
  • #12557 - config: udev rules for d555e dfu device.
  • #12554 - Fix exceptions when closing the viewer
  • #12418 - scripts: patch: modify Interface Protocol to UVC1.5 for 5e
  • #12550 - helper functions for formatted values on metadata
  • #12483 - Can update options automatically, get notification of value change
  • #12541 - Unit test for end recording and start streaming again bug fix
  • #12544 - test-live-frames-fps time to measure based on fps
  • #12549 - Add logs to unstable unit test - rgb options metadata consistency
  • #12540 - Add rs2::device type/desc APIs; dynamic col width in rs-enum; json fixes
  • #12517 - Add is_xxx() to json::nested; empty string in context config
  • #12535 - Disable test projection-from-recording from running
  • #12534 - **End recording and start streaming again - bug fix **
  • #12533 - Fix Coverity issues
  • #12531 - Coverity development validation
  • #12528 - Don't get GVD a second time to check if camera is locked
  • #12489 - Coverity - Uncaught exception
  • #12424 - Added class md_attribute_parser_with_crc to dev
  • #12511 - Fix: Should not set HDR when it is already enabled
  • #12513 - Refactor the logic and hover text for disabling the record button
  • #12508 - backlight compensation is for D400 only
  • #12481 - Test projection from recording
  • #12507 - Move ASIC & Projector temperatures to D400 only
  • #12482 - small refactor for synthetic source
  • #12498 - context construction using make()
  • #12506 - Spell fix on Jetson docs
  • #12484 - Make uvc sensor weak pointer
  • #12502 - udev: fix warnings reported by udevadm verify
  • #12494 - Add kernels 5.19 and 6.2 to docs
  • #12491 - fix auto return value error grrrrr
  • #12485 - [Coverity] Fix an unchecked dynamic cast issues
  • #12467 - Separate base- from rsutils executable-name; clarify check_false output in unit-tests
  • #12480 - depth test - removing comparison to no laser
  • #12475 - Set FW version
  • #12473 - moving test-image-quality & renaming to test-depth
  • #12472 - making terminal only functional when focused
  • #12466 - Add A module (disparity modulation) set and get test
  • #12471 - add run-unit-tests --device <>
  • #12468 - Update rsutils::version from 1-2-1-4 bytes to 2-2-2-2
  • #12449 - image quality test - adding comparison to laser off if depth is detected
  • #12465 - Fix Coverity issues
  • #12448 - Participant & liveliness QoS overrides
  • #12463 - move extract_firmware_version_string() into ds::, d400-private
  • #12458 - Test point-cloud-from-recordng
  • #12456 - WA for pipeline start stop until fixed
  • #12425 - abstract post-processing filter factory via context
  • #12402 - port tests post-processing-from bag to python
  • #12426 - Acroname reset on libCI start
  • #12447 - Fix visual preset depth settings (Colored IR settings were set along with RGB settings, moved to be with depth module settings.)
  • #12446 - Handle mutex and CV properly on recovery DFU
  • #12384 - Add feature-interface to sensors
  • #12432 - derive context settings from configuration file
  • #12439 - update dds options documentation
  • #12441 - use non-copying get_to() in rsutils::json::get_ex()
  • #12427 - Fix Coverity issues
  • #12417 - move special_folder into rsutils
  • #12428 - move to non-virtual register_color_processing_blocks()
  • #12423 - make sure depth frame is used in hdr check to avoid merged frame from…
  • #12360 - Updating minimal_cmake_version test
  • #12410 by @mattiasbax - FIX: Add iostream explicit dependency for building with older gcc (7.5.0)
  • #12420 - fix PR #12378 missing recordable< recommended-pbs >
  • #12415 - Relax start stop test
  • #12399 - Color Y formats
  • #12395 - FW update aligned
  • #12408 - fix json install for debians
  • #12397 - Rename temperatures options + add projector temp
  • #12398 - make json into proper interface lib
  • #12396 - laser change by textbox now changes value in list to 'Laser'
  • #12394 - Fix software-device matcher creation
  • #12386 - third test on image quality removed. now using max laser power
  • #12378 - remove recommended_processing_blocks_base
  • #12368 - remove platform dependency in stream.h
  • #12372 - clean up types.h
  • #12369 - refactor option.h and related
  • #12361 by @rhaschke - Fix dependencies in package.xml
  • #12364 - add PR template
  • #12322 - USB missing icon bug fix
  • #12353 - refactor software-device, sensor.h, streaming.h
  • #12359 - Add security.md file
  • #12355 - removed width restriction for fw version
  • #12358 - Gyro sensitivity might not be const for all models
  • #12357 - Align to GVD spec 0.4
  • #12354 - remove deprecated L500 APIs
  • #12356 - Add gated_by_value_option option type
  • #12350 - add tclap interface library
  • #12349 - Add ensure_set_xu_option option type
  • #12346 - metadata_helper::is_enabled() now returns true if not a USB device
  • #12310 - realsense2-all
  • #12345 - fix is_port_enable() on libci
  • #12342 - Syncer debug
  • #12330 - fix pybackend missing udev watcher
  • #12326 - Actual FPS simplification & unit change [API change]
  • #12331 - move all ExternalProjectTargets into '3rd Party'
  • #12334 - Removed third test comparing laser on/off
  • #12332 - use RS2_API_FULL_VERSION_STR in tools
  • #12318 - Cherry-pick PR #12309 - Fix pybind arg names
  • #12281 - Image quality test
  • #12303 - remove ppa install for GHA and fix U22 log files
  • #12301 - Fix wrong user message when trying to backup camera flash
  • #12289 - remove rs2 structs from context.h
  • #12298 - Use optical module SN + Disable FW backup stage
  • #12297 - Clean up types.h a little
  • #12283 - [GHA] Fix Minimal CMake version test
  • #12282 - Deadlock test & unit-test-config now listens to donotrun
  • #12275 - Context callback changes and device mutex removal [API change]
  • #12270 - static hw_monitor::build_command()
  • #12272 - Setting preset does not update color options
  • #12248 - Fix build DQT with visual studio 2017
  • #12269 - remove context knowledge of playback devices
  • #12266 - Fixing GHA Minimal CMake version check
  • #12265 - rscore/device-factory base & usage in context; fix warning
  • #12241 - hexarray & hexdump
  • #12259 - Device hub fixes and small refactor in backend
  • #12257 - Catch2 v3.4 as static lib; U22 in GHA
  • #12255 - Add support to update multiple MIPI devices in rs-fw-update tool
  • #12243 - Singleton backend/device-watcher
  • #12247 - add unit-test-config --not-live and make use in GHA
  • #11900 by @ciandonovan - Refactor device enumeration for unprivileged containers
  • #12118 - GHA checking CMake minimal version test
  • #12225 - Replaced travis with Github Actions on readme files
  • #12234 - Y16 calibration format test
  • #12217 - backend-device-factory: separation from context
  • #12240 - add rs2_device_is_connected, rs2::device::is_connected [API change]
  • #12239 - enable unit-test-config --live
  • #12219 - Simplify time-service usage
  • #12228 - Signal in rsutils
  • #12231 - master -> development
  • #12230 - promote v2.54.2 to master
  • #12223 - fix unit-test-config cmake file detection; add cmake:dependencies
  • #12224 - New color for button on pop up window Viewer updated
  • #12200 - Refactor device.h
  • #12212 - allow multi filters for fw update via viewer
  • #12209 - Enable D457 FW update on LibCI
  • #12207 - win_event_device_watcher wait before notify
  • #12210 - Handle Coverity issues
  • #12195 - Fix static-analysis issue in frame_holder
  • #12193 by @hsuys - Fix GetDistance() issue for SoftwareDevice in C#
  • #12196 - SW device depth-units per sensor's DEPTH_UNITS, if set
  • #12204 - Prevent the RGB camera from being disabled during FL calibration
  • #12201 - fix access violation when exiting viewer with playback device
  • #12191 by @AllenIsaacJose - Update installation_jetson.md
  • #12138 - Remove recordable<> from many interfaces
  • #12175 - Add cmdline args to realsense-viewer
  • #12174 - Fix Coverity issue
  • #12013 - Refactor Windows documentation
  • #12167 - calling the continuation method even on frame alloc failure
  • #12163 - Options registry for non-built-in options
  • #12162 - do not use IR frame for hdr merging if it does not support meta data
  • #12149 - Refactor frame interfaces and structures
  • #12160 - fix update_device::get_device_info
  • #12151 by @mengyui - update project files to Android Studio 2022 with AGP 8.0
  • #12153 - [testing] disable ports only if acroname is connected
  • #12152 - Fw logger multipe devices
  • #10593 by @mengyui - when launch DQT using default depth/ir profiles
  • #10965 by @kyosho- - Android 12 Support
  • #12141 - Devinfo
  • #12121 - Removing tensorflow wrapper example n.4 & n.5
  • #12143 - Move lazy to rsutils
  • #12060 - merge ADL branch to development.
  • #12146 - script: patches: jammy 6.2 append W10 format for D415
  • #12120 - scripts: patches: metadata: append SKU
  • #12132 - [testing] add retries directive
  • #12124 - add BUILD_LEGACY_PYBACKEND default OFF
  • #12115 - Fix get_intrinsics for unrectified image
  • #12128 - Restore calibration changed options only after apply or dismiss
  • #12126 - fix motion_get_intrinsics
  • #12109 - sw-dev profiles work; shorter rs-enum-devs output; use-basic-formats -> format-conversion
  • #12114 - move platform_camera out of context.cpp; remove recovery_info
  • #12110 - scripts: patches: append SKUs
  • #12108 - merge ADL to development
  • #12105 - Draw cross in calibration ROI
  • #12095 - rs-enumerate-devices fix
  • #12054 - rs-fw-update tool - handle D457 MIPI device
  • #12102 - scripts: ipu6 bind commentary
  • #12096 - scripts: support for kernel 6.2
  • #12101 - scripts: patch will skip hid for fixed versions
  • #12099 - Patch 5.4.232 noiio
  • #12078 - [testing] recycle all ports at start & disable all ports when finish
  • #12040 - Port test record-software-device to python
  • #12070 - scripts: ipu6 aggregated camera support.
  • #12084 - Remove redundant file
  • #12042 - D457 Segfault when calling get_motion_intrinsics
  • #12083 - fix string concats in versions-db-manager.cpp
  • #12003 by @autoantwort - CMake: Use plain add_library
  • #12041 - merge to dev
  • #12052 - hdr options and metadata enabled for mipi
  • #12023 - scripts: rs-enum: update enumeration for jetson devices.
  • #11953 - GHA - Remove Foxy (EOL) and Galactic (EOL), add Iron (New Distro)
  • #12051 - remove debug enforcement (-g) from unix compile options
  • #12038 - Fix minimal FW version UT
  • #12034 - Update minimal FW version for d455
  • #12029 - **Fix formats-converter bug **
  • #11949 - Porting legacy live test - test software-device motion stream
  • #11969 - scripts: ipu6: fix media controller index
  • #12008 - merge to development
  • #11990 - IMU with combined motion stream
  • #12002 - Remove L500
  • #11995 - Close laser emitter on Focal Length calibration
  • #11992 - [RS-Viewer] 3D D455 model added
  • #11988 - Remove SR300
  • #11989 - Update API comment
  • #11946 - DDS using generic format types
  • #11962 - Fix building with -DBUILD_EASYLOGGINGPP=OFF
  • #11959 - Fix the installation target directory of the pyrealsense2
  • #11952 - Add full version attribute for python wrapper
  • #11880 - Legacy live test - Units transform test
  • #11930 - [testing] improve exception handling in rspy.test
  • #11713 - Refactoring Linux installation guide
  • #11851 by @mengyui - Fix YCrCb2RGB issue in CUDA code.
  • #11915 - Linux collaterals in single build dir
  • #11850 - virtual software_device::add_xxx_stream(); support in formats-converter
  • #11861 - Python wrapper - Explicit config enable_stream(...) to have unique arg count [API CHANGE]
  • #11917 by @davids91 - Fixed compile error: ‘uint64_t’ does not name a type
  • #11902 - backend-v4l: stop metadata before video for ipu6
  • #11907 by @WurmD - fix: issue #11899 log line fix
  • #11903 - fix cppcheck parser for missing 'file0' in error
  • #11892 - depth ae mode added to options to ignore in test
  • #11886 - merge master to dev
  • #11858 - Update synthetic-stream.cpp
  • #11856 - remove internal unit-tests (with BUILD_INTERNAL_UNIT_TESTS)
  • #11810 - Formats-converter renaming and adding comments for clarity
  • #11822 - Adlp metadata
  • #11834 - log_to_console now logs to console in Windows
  • #11837 - scripts: support for jammy 5.19
  • #11840 - patches: Change device match to uvc1.5 compliant.
  • #11825 - scripts: patch-hid ignore 5.15.0-72+
  • #11830 - create rsutils-os.cpp, rsutils-os.h
  • #11780 - Fix CMake build on a root folder that contains spaces
  • #11801 - using the method both from sensor and ros_reader
  • #11714 - Formats conversion
  • #11766 by @Allius27 - create temporary file in build directory instead of source
  • #11760 - Add GHA timeout
  • #11637 - RS-Viewer : metadata scrollbar added
  • #11751 - [testing] improve rspy.test.remote.Error output
  • #11707 - replace rspy.test abort_on_fail:bool with on_fail:str (ABORT/RAISE/LOG)
  • #11711 - Verify support for options before setting them
  • #11697 - **Fix unstable test metadata alive **
  • #11668 - live-frames-fps test monitors frame drops
  • #11695 - add metadata-syncer unit-tests
  • #11699 - Allow change AE type while not streaming (even if AE is on)
  • #11665 - improve shorten_json_string; use std::string for json; [testing] improve test.remote & GHA
  • #11666 - Run more tests on more devices
  • #11664 - Add a short stress test for start/stop
  • #11653 - Metadata test alive calibration
  • #11651 by @coolsarne - Added support for D405 camera
  • #11650 - add "gha" to rspy.test.context using GITHUB_ACTIONS env var
  • #11647 - Remove unrelated device in metadata test
  • #11618 - adl-p temporary disable metadata node
  • #11615 - refactor & optimize frame creation, invocation, metadata syncing
  • #11600 - MD performance and misc changes
  • #11598 - add slice and shorten_json_string
  • #11592 - rs-enum: support for metadata nodes format updates
  • #11566 - Add support for post processing filters
  • #11587 - external json & pybind11_json
  • #11561 - rsutils::deferred RAII; change archive to move data
  • #11550 - [ADL-P] Automate rs-enum script to udev rules
  • #11412 - Search extra_data for software-device
  • #11536 - add rsutils::os::executable_name()
  • #11534 - add D415 formats
  • #11472 - backend: dfu - add support for multiple cameras
  • #11489 - fix cppcheck warnings
  • #11446 - [testing] add proper indents to rspy.test failures
  • #11145 - Update rsutils::shared_ptr_singleton; [testing] run-unit-tests --tag negation & using manifest
  • #11319 - Enumerate video nodes by name
  • #11324 - [testing] add rspy.test.check_float_lists
  • #11294 - color processing block acc to platform
  • #11295 - [ADL-P] LRS V4L2 Backend MPLANE streaming support
  • #11165 - Build_CI restructure with live-tests on Linux only
  • #11102 - [testing] change rspy.test.check_equal() to throw an exception for lists
  • #11080 - clean up rs-enumerate-devices tab output; add --verbose
  • #11075 - rs-enumerate-devices works
  • #11063 - add operator<() to rs2::device
  • #11042 - move json utils into utilities/json.h
  • #11036 - fix throws; in locked_transfer::send_receive; [testing] fix test-rgb-options-metadata-consistency
  • #11022 - CUDA fixes for dds branch in release flow
  • #10386 - context json settings

Full Changelog: https://github.com/IntelRealSense/librealsense/compare/v2.54.2...v2.55.1

Release 2.54.2

Release Date: 28th Sep, 2023

What's new

  • This is an incremental bug-fix-only release
  • New FW version 5.15.1.0 for the D400 product line
    • Fixed D457 FW CRC signature in metadata
    • Fixed issue with Tare & OCC calibrations at 848x480 resolutions
  • Robust OCC / Tare. Note: the calibration convergence time has increased
  • Introducing: NEW D456 camera support
  • Enabled manual HDR for D457
  • FW update tool support for D457

Bug Fixes and Enhancements

  • #12169 - Cherry pick #12105 - Draw cross in calibration ROI
  • #12165 - Cherry pick #11892 - Ignore ae mode in drops on set test
  • #12164 - Cherry pick #12162 - rs-hdr fix for d457
  • #12161 - Cherry pick #12128 - UCAL - Restore calibration changed options only after apply or dismiss
  • #12104 - Cherry pick #12054 - rs-fw-update tool - handle D457 MIPI device
  • #12085 - Cherry pick #12042 & #12084 - D457 Segfault when calling get_motion_intrinsics
  • #12079 - Cherry pick #12052 - hdr options and metadata enabled for mipi
  • #12073 - Cherry pick #12034 & #12038 - Update minimal FW version for d455
  • #12074 - Cherry pick #11995 - Close laser emitter on Focal Length calibration
  • #12075 - Release flow & collateral changes (no debug info; no C#/Matlab collaterals; etc.)

Release 2.54.1

Release Date: 6th Jun, 2023

API Changes

https://github.com/IntelRealSense/librealsense/wiki/API-Changes#version-2541

What's new

  • New FW version 5.15.0.2 for the D400 product line
  • Support for the D400f family of cameras with filters
  • Support for Python 3.11; Python 3.6 is no longer supported
  • C++14 default in library
  • JetPack 5 collaterals
  • Some content has been removed as part of an overall cleanup initiative to minimize the size and complexity of the SDK:
    • Removed deprecated camera PIDs, such as T265, L535
    • The network-device functionality has been removed in preparation for a replacement in the next release
    • Boost has been removed as a dependency of realsense-file
    • Sqlite, originally meant for use in internal unit-tests, has not been in quite a while and has been removed, and with it rs2::recording_context and rs2::mock_context

Bug Fixes and Enhancements

  • #11703 - AE type option hot fix
  • #11646 - Deprecate apt-key in distribution_linux.md to align with Debian policy #11644
  • #11643 - Remove nodejs support from docs
  • #11409 by @michael-mih - Fixed throw misspell
  • #11636 - Fix bug in #11625
  • #11627 - Update GHA linux runners to Ubuntu 20
  • #11625 - Handle exceptions during device creation
  • #11626 by @jirislaby - (gcc-13) include cstdint for int_t
  • #11610 by @kirkoman - fix: close ObjectPool race condition (#8334)
  • #11611 & #11604 - Fix unsigned fw update for L515
  • #11602 - changes in hw monitor added
  • #11591 - HW reset - response required handling
  • #11585 - Remove unused Hoffman filter
  • #11567 - Fix metadata
  • #11574 - move d400 intrinsics and extrinsics to d400 folder
  • #11569 - Update manual patch to use https (Verified on Ubuntu 22 kernel 5.15)
  • #11559 - Remove unused code
  • #11556 - remove useless code in context.cpp
  • #11551 - change metadata_blob to fit ALL metadata; software_sensor now uses array indexing
  • #11541 - Type of variable initialization was changed
  • #11558 - remove sw_device_extra_data (Now that the metadata can encompass all fields #11551)
  • #11542 - multiple resolutions implementation added, never enabled
  • #11519 - Viewer small refact
  • #11520 - limit test-set-gain-stress-test to nightly only (LRS-634)
  • #11497 - Relocation git install command
  • #11495 - The python support versions were updated
  • #11488 - fix crash from leftover T265
  • #11484 - Pr check add
  • #11479 - Move stuff to and from common DS
  • #11477 - Compilation -pedantic flag disabled for glfw on Unix
  • #11478 - KW - null pointers checks added - other concept
  • #11475 - printings added in hdr tests
  • #11469 - KW - null pointer checks added (Tracking on [LRS-696])
  • #11474 - Move FW version & serial numbers parsing to ds-common
  • #11473 - Rollback error polling option name
  • #11417 - support for Python 3.11 with pybind11 v2.10.3
  • #11442 - Clean cmake opengl warning ubuntu22 (Tracking on [LRS-673])
  • #11464 - removing register to motion module temperature option
  • #11448 - Update stb image to version 2.28
  • #11450 - Add retry to set/get pu commands
  • #11461 by @alexmehta - Update installation_raspbian.md (Update the raspbian install slightly)
  • #11397 - Cppcheck cleanup
  • #11447 - Fix FW version check on RS-Viewer
  • #11440 - Fix uninitialized variable issue
  • #11432 - Add depth auto exposure mode
  • #11399 - Detect the new products in the SDK and Viewer: D435f, D435if, D455f, D456
  • #11436 - Set different ABI to each python module to fix crash on multiple shared python modules
  • #11422 - refact ds5 to d400
  • #11416 by @rupprecht - Fully qualify std::move invocations to fix -Wunqualified-std-cast-call
  • #11408 - Metadata permission
  • #11394 - Enumerate video nodes by name
  • #11404 by @cobar001 - **Make minor adjustments to depth-metrics.h and a few dependencies to improve modularity)
  • #11396 - update third-party:tinyfiledialogs version to 3.9.0: cleanup format-overflow warning
  • #11385 - D457 MIPI enable multiple cameras for single DES.
  • #11402 - remove debug message in global_timestamp_reader
  • #11398 - fix the streams order in viewer
  • #11395 - third-party:glad: ignore pedantic directive for sensitive code
  • #11377 - calling buffer releasing method earlier
  • #11378 - Retry on "set_xu" when device is busy
  • #11375 - C++latest, step 1
  • #11373 - Initialization of variables added
  • #11372 - validating range before set option
  • #11369 - force update of cppcheck_run.parsed.log in static analysis
  • #11359 - T265 leftovers in docs and src
  • #11356 - removing static analysis errors
  • #11341 - scripts: Add D585 & D585S to metadata patch list in manual scripts
  • #11345 - remove sqlite, rs2::recording_context & ::mock_context
  • #11343 - Variables initialization added
  • #11344 - fix the left pixels column
  • #11349 - turning flag to true when needed
  • #11342 - Update static analysis
  • #11331 - Update missing packages to installation guide
  • #11334 - Division by zero might occur in ds5-auto-calibration.cpp
  • #11242 - scripts: L4T 5.0.2 RLS UVC support
  • #11318 - Remove network device
  • #11312 - adding string comparison in case duration comparison fails
  • #11305 - Remove boost from realsense-file
  • #11307 - Fix crash when advanced mode = OFF
  • #11221 by @martinseilerameria - Add device iterator to ImGui ID stack for device selection pop up in RealSense Viewer
  • #11300 - add UT verifying no emitter freq option on legacy devices
  • #11105 - C++14
  • #11071 - restoring test for d400 pl
  • #11287 - Remove TM2 (T265) from LibRS
  • #11285 - Fix viewer histogram equalization at startup
  • #11275 - add sample.preset to avoid install problems
  • #11265 - remove L535
  • #11237 - Python log unit-tests, with hang fix and more
  • #11254 - Variable Initialization type was changed
  • #11235 - Stabilize timestamp domain test: sleeping time.
  • #11222 - Hkr other ds rebased dev
  • #11233 - Division by zero might occur in viewer.cpp
  • #11223 - Update emitter frequency minimal fw version to 5.14.0.0
  • #11216 - Remove nodejs wrapper
  • #11217 by @hsuys - GitHub#11171
  • #11202 - add rsutils::number::running_average<>
  • #11214 - stabilized-value in pyrsutils; replace 9 cpp tests with 1 py
  • #11209 - Relax HDR UT KPI
  • #11191 - rsutils::version, replacing librealsense::firmware_version & sw_update::version
  • #11193 - Add divide by zero protection
  • #11186 - Utilities rename to rsutils
  • #11179 - Reduce cppcheck errors
  • #11167 - Stabilize timestamp domain test
  • #11160 - ELPP and utilities changes
  • #11136 - Hot fix for OCC HA type to use legacy UCAL demo scripts
  • #11147 - pybind as a dependency in own project; utilities-py; test-split
  • #11137 - utilities as a library
  • #11100 - Add ROS2 build step for LibRealSense
  • #11078 - Add GMSL to RS Viewer for D457
  • #11095 by @Endruu - Fix memory leaks in post processing filters

Build Environment

  • Solution name in Visual Studio has changed: librealsense2 -> realsense2 ... make sure you reopen the new solution after running CMake
  • Librealsense headers previously in include/librealsense2/utilities have been moved internally into third-party/rsutils and are now a statically-linked library
    • This means that realsense2 dependencies now have an additional rsutils dependency
    • If including librealsense via its CMake project, this dependency should be injected automatically and nothing needs to be done
      • An include directory is automatically added, too: just use #include <rsutils/...>
    • If BUILD_PYTHON_BINDINGS is ON, an additional Python library pyrsutils.pyd will be built, and includes access to the utilities functions from it... this is mostly for use in CI, but is available for anyone if needed
  • Visual Studio solution projects have been moved around a bit, with most of the main ones (rsutils, python wrappers) now under Library alongside realsense2

Release 2.53.1

Release Date: 6th Dec, 2022

API Changes

https://github.com/IntelRealSense/librealsense/wiki/API-Changes#version-2531

What's new

  • New FW version 5.14.0.0 for the D400 product-line

  • Python 3.10 support

  • Added support for Ubuntu 2020 kernels 5.13 and 5.15, and Ubuntu 2022 with kernel 5.15

  • LibRS ROS wrapper is now supporting ROS Humble - click here for more info

  • Collaterals for Python 3.5 and Ubuntu 16 are no longer generated or tested

  • Added support for MIPI camera OCC/Tare calibration that offloads part of the algorithmic flow to the host, also known as Host-Assistance (HA) mode (see API changes)

Bug Fixes and Enhancements

Pre-Release 2.52.1

Release Date: 28th Sep, 2022

What's new

  • Collaterals for Python 2.7 and 32-bit are no longer generated or tested
    • NOTE: the Windows installer is still 32-bit
  • Introducing support for MIPI devices!

NOTE

This is a PRE-release, off a branch that is yet to be merged to the main development branch, of MIPI support. Validation of USB devices is ongoing and, while we expect no major issues, this release is intended for use with a MIPI device.

Release 2.51.1

Release Date: 23rd Aug 2022

API Changes

https://github.com/IntelRealSense/librealsense/wiki/API-Changes#version-2511

What's new

  • D405 is now officially supported
  • Windows 7 executable is no longer created as part of the release, but the code is still compilable

Bug Fixes and Enhancements

  • #10740 - Remove unused variable pid in ds5_advanced_mode_base constructor See #10336: Crash in applications when running x86 in Win10 with D405
  • #10619 - fix #10617 rs-software-device black output
  • #10147 - Partial frame notif acc to kpi
  • #10573 - Remove redundant frame copies inside librealsense core
  • #10388 - Add easylogging include cmake
  • #10384 - Fix root include path
  • #10369 - Move utilities to librealsense include dir
  • #10314 - Fix LibCI-nightly reset_update_counter opcode (wrongly changed in #10261)
  • #10296 - Remove ENABLE_ZERO_COPY CMake flag (wasn't in use)
  • #10261 - add debug_protocol::build_command()
    • add build_raw_data to the debug_protocol API - (this API generates a raw data cmd from opcode, params, and data)
    • add the new API to C# and Python wrappers
  • #10183 - tooltip corrected
  • #10152 - Allow retries for USB claim interface + Increase FW update UT stability
  • #10130 - Force non-realtime playback to be synchronous
  • #10117 - Fix option_set_drop_test
  • #10091 - Fix error polling last value reset logic
  • #10082 - syntax error corrected
  • #10047 - Gh actions update windows label & fix mac-os OpenSSL link
  • #10032 - Concurrency improvements (Improve dispatcher::flush() and waiting_on<> so that the stopped mutex/cv are used -- otherwise the stopped signal may not stop the wait and we get a timeout.)
  • #10024 - Fix playback flush halt + add UT
  • #9936 - Adjust the Self-Calibration script for UCAL flows
  • #9912 - Fix UCAL inconsistencies Viewer-specific fixes and refinements:
    • Enable preview with ROI for GT after HW reset event
    • Improve FL robustness in USB2 mode by adding more time for camera's exposure to settle
    • Add blocking notification when invoking FL-Calib for D455 at USB2 mode.
  • #9727 by @kevindehecker - Enable patches for kernel 5.11
  • #9887 - Error on playing paused bag (Fix issue #4249)
  • #9882 - Ucal fixes (Ucal amendments)

Documentation

  • #10210 - Add Ubuntu 20 to installation guide
  • #9973 - Remove Jetson installation doc Debians built with FORCE_RSUSB comment Jetson Debians no longer build with -DFORCE_RS_USB_BACKEND=true, The backend built is V4L2
  • #9895 - Add libudev-dev dependency to Jetson installation guide
  • #9898 - Disclaimer notification for D415 and Self-cal (Add notification and provide a link to Self-Cal white paper)

Release 2.50.0

Release Date: 11th Nov 2021

API Changes

https://github.com/IntelRealSense/librealsense/wiki/API-Changes#version-2500

What's new

  • #8925 - [D400] Firmware version 5.13.0.50
    • Intermittent failures in sequential Depth start/stop stress-test scenario (DSO-17659)
    • Fix for Emitter on/off stops on RGB srteam deactivates (DSO-16964)
    • Minor fixes and stability improvements
  • #9336 - [D400] Self-Calibration (UCAL) Routines - enhancements and refactoring
    • UCAL is an advanced feature(1) intended to compensate for camera's calibration misalignments developed over the product's life cycle after it's being deployed. The re-calibration is achieved by running a set of predefined routines - On-Chip, Tare and Focal-Length(2), on the Depth camera. Each routine is designed to address specific Camera's metric and to re-adjust it to a level comparable to factory calibration spec.
      (1) Read the White Paper prior to running UCAL steps, as it affects the camera's calibration tables.
      (2) As part of the Self-Calibration refactoring, Focal-Length calibration and Tare Target-based distance calculation were introduced, that require a printed target to be provided (Target_for_print).
  • #9831 - [Linux] Switch to OS Event-driven device discovery instead of polling mechanism.
    • Reduce camera reset cycles delays and improves software responsiveness.
    • Replace Linux polling_device_watcher with udev_device_watcher. More than one udev notification is sent for each add/remove event. We "aggregate" and enumerate only when a polling period comes up "empty" meaning nothing else is incoming.
    • Utilizes libudev-dev package functionality. (LRS-294)
  • #9268 - [Docker]
    • Provide tutorial with a demo docker file to generate and deploy a containerized version of the SDK (LRS-85)
  • #9558 - [Demo] Pointcloud-Stitching.
    • The demo combines Depth live feeds from two cameras and presents a single Wide FOV image.
    • The method used to stitch the images is to transfer both pointclouds into the virtual device's coordinate system and then project them on the virtual device's images.
    • The app assumes the calibration matrix between the devices is known. A method for calculating it is demonstrated in the wrappers\pointcloud\pointcloud-stitching\doc\pointcloud-stitching-demo.md file.
    • The source code is available under wrapper/pointcloud/pointcloud-stitching/rs-pointcloud-stitching demo path.

Bug Fixes and Enhancements

  • #9878 - [Core] fix callback ptr (DSO-17796)
  • #9876 - [Core] C++17 std::iterator error. Addresses for #6283. (DSO-15172)
  • #9871 - [Windows] Handle SEMAPHORE_TIMEOUT error on set_pu command. Addresses #7129. (DSO-17181)
  • #9855 - [Jetsons] Support for l4t 32.6.1 (the latest supported jetson version 32.5.1 is not the latest official version from nvidia (32.6.1) contributed by @wall0404
  • #9815 - [D400] Group FW calls. Apply wrapper function "group_multiple_fw_calls" to ds5 devices to speed-up device activation. Speedsup camera's startup in cold boot scenario by 200+ msec (DSO-16629)
  • #9845 - [Video4Linux] Fix set gain exception raised on Ubuntu 20. Use Status Interrupt Endpoint Vl42 (async. controls) for verifying set_pu command was executed before the function call returns. (DSO-17185)
  • #9692 - [D400] Reset Auto Exp/Gain Limit back to default value 0. (DSO-17393)
  • #9844 - [Core] Wrap android log with lrs namespace. (LRS-316)
  • #9821 - [RSUSB] Backend - reattach kernel driver.
    Fixes RSUSB/V4L interoperability:
    RSUSB backend detaches the device from the V4L2 kernel driver and never reattaches it. Consequently, after using RSUSB backend, applications using the v4l backend can't find the device. (DSO-17429)
  • #9824 - [Viewer] Add minimal delay between set_option commands** (LRS-311)
  • #9804 - [Core] LibCI improvements & VS2019 (glad, atlstr) compatibility. (LRS-303)
  • #9807 - [C#] Add tutorial for network device. (Follow-up on PR #8809 (LRS-200)
  • #9792 - [Viewer] Add stream index to stream window title (DSO-17647)
  • #9794 - [Viewer] Prompt for advanced mode when changing depth units (LRS-202)
  • #9782 - [Android] Fix Android motion line UX.
    • Draw a centered dot under dead zone values
    • Change line color to white to match the RS Viewer UX. (LRS-122)
  • #9789 - [Viewer] Settings windows affected by measure tool (DSO-17665)
  • #9764 - [Tools] Add rs-embed tool
  • The tool converts 3D models into a string format suitable for embedding into C++ applications.
  • Update 3d models for the supported camera SKUs.
  • Switch the tool to use the latest LZ4 library version. (LRS-290)
  • #9642 - [D400] Presets update
    • Update hard-coded presets to the latest recommended configuration.
    • Specify D450 default preset. Tested by comparing the JSONs files of the new presets (in the ticket) to the exported JSONs files from the viewer. (DSO-17183)
  • #9763 - [Core] Firmware check when updating in recovery mode
    • Add FW check when the device is in recovery mode.
    • Add D4xx and L5xx FW checks by the FW version when updating in recovery mode.
    • Add heuristic FW size check to sr3xxx when updating in recovery mode. Follow-up on PR: #9683 (DSO-17448)
  • #9770 - [CMake] remove cmake deprecation warnings** (Newer CMake was complaining of deprecations in certain source files. (LRS-108)
  • #9767 - [Linux] Lower Linux device polling interval to 2 seconds. The time for enumeration when there are no changes is on average 0.005s, when there are changes it is 0.15s. So polling every 2s shouldn't cause too much burden on the system. (LRS-234)
  • #9768 - [Core] Another escapee for a mem leak (Follow-up to #9762 )
  • #9762 - [Core] avoid mem leaks in rs.cpp by taking ownership of callback ptrs. Addresses #3873 and #4447: potential memory leak in pipeline::start method (callback overloads). (DSO-13704)
  • #9746 - [Viewer] Switch off histogram equalization when min/max distance is changed. (LRS-291)
  • #9688 - [Viewer] Fix Unreadable stream info while multi stream** (If multiple stream views are packed closely together, the Info line overwrites the view to the right. (DSO-17042)
  • #9732 - [MacOS] Set default CHECK_FOR_UPDATES=OFF for OSX. Due to a non trivial flow when building with online updates on OSX, we set the default CMake flag to OFF (on OSX only) Update the OSX installation guide for users who want the online updates feature on. (DSO-17551)
  • #9731 - [Viewer] Window size callback is called with value of 0 for height and width. (LRS-292)
  • #9727 - [Linux] Enable patches for kernel 5.11. Contributed by @kevindehecker.
  • #9715 - [Core] Dix crash with desynced frames; add unit-test** (LRS-289)
  • #9517 - [Android] UI fixes
    Make the stream statistic view in camera app scrollable (RS5-11519)
  • #9625 - [Core] Improve unsigned firmware update on android** (Improve unsigned firmware update:
    1. use file browser to pick the firmware file in any accessible directory
    2. error handling (DSO-17007, DSO-17550)
  • #9662 - [Android] RS Camera viewer restarts the stream when rotating screen.
  • Handle device orientation change to avoid interruption during preview, recording and playback
  • Fix memory leak during device rotations (DSO-14436)
  • #9716 - [Core] Update frame callback logs
    • Remove callback-started field in frame
    • Remove frame release log message
    • Separate composite frame release log
    • Split archive into several files (DSO-16993)
  • #9720 - [Viewer] Depth data hides the content of export window. (DSO-17561)
  • #9721 - [Viewer] Export window affected by Measure tool (DSO-17658)
  • #9689 - [Android] Default Started streams appears off in settings Changes:
    • added getActiveStreams API in sensor and pipeline on android
    • populate default stream profiles in camera viewer settings
    • turn off all settings to reset to default streams. (DSO-15687)
  • #9711 - [Viewer] Windows sometimes goes to 0 width & height. (LRS-288)
  • #9710 - [Viewer] Disabling Measure when depth stream is stopped. (DSO-17043)
  • #9706 - [Viewer] Measurement line is not disappeared after disabling distance Button* Revised tooltip to make it clear how to draw a polygon. (DSO-17043)
  • #9668 - [Core] Playback behavior with syncer at EOF. Added improvements to Python wrapper usability:
    • added frame_queue-like wait_for_frame etc. to syncer so they can be used interchangeably
    • added pyrs.sensor.name and repr Also: -added a text converter to rs-convert to easily see the frame content of a rosbag (LRS-172])
  • #9704 - [Viewer] - Visual Preset value change when reselecting the default value. (LRS-119)
  • #9677 - [Core] Crash on stopping context
    Added debug messages, in general. But the issue, it seems, was that context::stop() only called device_watcher::stop() when there were NO callbacks registered. (LRS-219)
  • #9676 - [Demos] 'rs-measure' example program has missing measurement value. (DSO-17549)
  • #9670 - [Core] Removed unneeded ; character in serialized-utilities.cpp. (Removed unneeded ; character) contributed by @mgeorg
  • #9669 - [Viewer] Error message when click on pause in 3D Viewer** (DSO-17558)
  • #9666 - [Viewer] Flash screen hourglass show a palm (hand) icon. (LRS-177)
  • #9656 - [Android]] Controls option not begins with capital letter Changes: Minor fix controls option not begins with capital letter (DSO-15651)
  • #9665 - [Tools] Update tool dfu alert
    • Capitalize messages
    • Show list of devices without any command-line arguments
    • If device is in recovery mode, give proper message (LRS-33)
  • #9562 - [Viewer] Correct get_folder_path behavior.
    For documents folder use SHGetFolderPath instead of SHGetKnownFolderPath because SHGetKnownFolderPath doesn't give the path to OneDrive documents folder but to the local documents folder. (LRS-229)
  • #9602 - [Android] - Fix resource issue handling issue.
    This is part b fix to additional issues found when switching between 2d and 3d. Changes:
    • release frame resources when switching between 2d and 3d
    • handle cases when only depth, no rgb, is part of the stream
    • handle cases when no depth is part of the stream (DSO-16584)
  • #9011 - [Python] Fix software device in Python wrapper.
    • fix matcher for Python wrapper. contributed by @mengyui
  • #9616 - [Core] Fix Stepping Forward / Backwards with playback device. (DSO-17562)
  • #9593 - [Core] Syncer fix for not releasing frames with inactive stream.
    • The syncer was comparing to the wrong timestamp.
    • Reduce the threshold used to detect inactive streams (10 -> 7 gaps), which can also reduce ability to handle big latency. But it's more important to reduce change of reaching the current queue limit of 10 frames.
    • Unit-test that shows this is WIP, to follow in another PR. (LRS-275)
  • #9599 - [Viewer] Closing the viewer app while in playback mode causes seg fault.
    • live tests crash fix + dispatcher flush() fix** (Includes changes from PR #9570. (LRS-265)
  • #9595 - [Core] Enable Global_timestamp domain with ARM architecture for Raspberry PI.
    Revert patch of commit e992be3b84f164e0e917f6fa0adad9f50e0. Address issue in [librealsense-ros#1906](https://github.com/IntelRealSense/realsense-ros/issues/1906) (DSO-17352)
  • #9518 - [Android] Sensor callback improvement. (DSO-17538)
  • #9575 - [Viewer] - Alert user on recovery device bundled update
    • Expose PID for recovery device
    • Add notification for recovery device update. (DSO-17527)
  • #9559 - [Android] device watcher add is stopped** (LRS-257)
  • #9498 - [D400] HDR merge - discarding merged frame on resume. (DSO-17341)
  • #9553 - [Core] Remove circular shared_ptr dependency in Pointcloud class.
    • Handle memory leak in PointCloud processing block
    • Addresses a long-standing issue #2860. (DSO-13695)
  • #9540 - [Core] Update LZ4 compression utility to version 1.9.3**
    • (Benchmark results of compress + write RGB 1280x720 frame (frame only no additional data)
    • Tested on Windows 10. Laptop HP Elitebook 850 G6
    • 1.8.0 benchmark results: AVG time: 53 [ms], Min time: 40 [ms], Max time: 67 [ms]
    • 1.9.3 benchmark results: AVG time: 23 [ms], Min time: 19 [ms], Max time: 39 [ms]
    • Performance improvement of :~ 50% (LRS-34)
  • #9253 - [MacOS] Fix build on macOS arm64.
    This fixes the build on macOS running on Apple Silicon (arm64). contributed by @prusnak
  • #9496 - [Android] Java example adjusted to Android X** (LRS-249)
  • #9525 - [Python] receiver sensitivity option added to python wrapper** (LRS-258)
  • #9514 - [Android] Memory leak fix. Release point cloud resources when clearing the rendering surface. (DSO-16584)
  • #9503 - [Core] Fix for device_watcher class.
    • start it on register_internal_device_callback** (Device_hub API registers for events using register_internal_device_callback but this didn't start the device-watcher... we weren't getting device change notifications. (DSO-11850).
  • #9502 - [Core] Add missing DS error codes. (DSO-16036)
  • #9522 - [Core] Protect playback sensor call to user callback (LRS-255)
  • #9509 - [Viewer] FW Update via popup fix. (LRS-250)
  • #9497 - [Core] Fix zero depth for SR300.
    • Add UT for depth units from metadata. (LRS-248)
  • #9491 - [Viewer] - Handle crash with L515 with USB2. Fixes issue introduced in #9382 (LRS-243).
  • #9490 - **[Viewer] Fix pointcloud for L515
    Rectifies improver assignment of depth_units. Addresses #9154. (LRS-240)
  • #9486 - [Core] GCC 7.5 fixes.
    • Add explicit #include reference
    • Remove warning - drop unnecessary struct in signature.
  • #9482 - [CUDA] Fix building with CUDA accelerators.
    • Hot-fix to propagate depth-units refactoring into CUDA-enabled build. Rectifies #9154

Documentation

  • #9633 - [Jetson] Fix doc-jetson-installation.
    This PR fixes the installation for jetson, which is currently broken for the second part. It also has some minor editorial changes to enhance readability.) contributed by @tkazik.
  • #9849 - [Core] Update installation readme for libudev + add ROS dependency** (LRS-315)
  • #9834 - [Jetson] Update installation_jetson.md. Fix markdown grammar error. contributed by @Sn-Kinos
  • #9781 - [Python] Update python wrapper docs Add a note about building pyrealsense from source as a self-contained library (#9760) (LRS-293)
  • #9719 - [Jetson] Update installation_jetson.md. Contributed by @DestinyOne
  • #9577 - [Core] Document LRS Viewer version update notifications flow** (LRS-268)
  • #9547 - [Demo] Fix record and playback readme link** (LRS-218)
  • #9235 - [MacOS] Update out-of-date brew command in macOS guide. contributed by @zgotsch
  • #9499 - [Core] Merge record and playback readme files. (LRS-218)

Release 2.49.0

Release Date: 10th Aug 2021

API Changes

https://github.com/IntelRealSense/librealsense/wiki/API-Changes#version-2490

New Features

  • #8925 - [D400] Fw version 5.12.15.50.
    • Fixes and stability improvements
  • #9273 - Wrappers Support OpenVino 2021
    Add support for OpenVino 2020 and 2021.(LRS-71)

Bug Fixes and Enhancements

  • #9509 - [Tools] Viewer - fw update via popup fixed. (LRS-250)
  • #9497 - [Core] Fix SR300 - Depth-units control propagation. (LRS-248)
  • #9491 - [Core] Fix L515 - Depth-units control propagation. (LRS-243)
  • #9490 - [Core] Fix L515 - Pointcloud generation. (LRS-240)
  • #9486 - [Core] Fix Linux compilation with GCC v7.5.
  • #9482 - [Core] Fix CUDA implementation for Pointcloud.
  • #9435 - [C#] Restructure tutorials & add load-json
    Rebase of #8653. (LRS-59)
  • #9470 - [Core] json preset files format update. (LRS-206)
  • #9467 - [Core] Adjust cmake target for Presets.
    The presets will be deployed in $ENV{HOME}/Documents/librealsense2/presets (LRS-215)
  • #9465 - [Core] Update preset json format + Add device info Change preset json format to SCHEMA_VERSION = 1
  • Reading backward compatible - old style (flat) preset json files is supported. (LRS-210)
  • #9458 - [Core] Create .preset files for planned presets.
    Added json files:
    • Max Range With Binning.preset
    • Max Range.preset
    • Medium Range.preset
    • Min Range.preset.
      (LRS-206)
  • #9382 - [Core] 0x0B5B to support OEM Cal resolutions Allow streaming non-native resolutions simultaneously. (DSO-17425)
  • #9441 - **[L515] Add RS2_OPTION_RECEIVER_SENSITIVITY control Integrate into Core and wrappers. (RS5-11828)
  • #9271 - [Tools] Enhance rs-terminal with files input Pass binary blobs from ANSI files. (DSO-17305)
  • #9416 - [Core] Remove unused member satisfied_streams input removed from map_sub_device method(... (LRS-212)
  • #9414 - [CI] Build CI: re-enable Node.js job
    • Fix errors from esling and cpplint
    • Added enum checks after linter
    • Changed folder for npm install (LRS-203) contributed by @whsol
  • #9321 - [Linux] Clone only the files of the tag for Tegra.
    Cloning the Tegra kernel sources repository was taking so much time. It couldn't complete even once on my device. With this change*, it only retrieves the tagged version of the repository. The whole process can complete in less than 5 minutes. Refers to https://stackoverflow.com/questions/20280726/how-to-git-clone-a-specific-tag contributed by @rszengin
  • #9431 - [Android] FW names convention update L5xx -> L51x & L53x Follows on #9264Fixes Jenkins CI nightly. (LRS-214)
  • #9264 - L5XX FW bundling
    • Change L5XX_FW_Image to L51X_FW_Image
    • Added support for L53X FW bundling.
    • Added recommended_fw_version for L5XX. (RS5-11533)
  • #9415 - [Core] Add parser for Y411 packed format Includes #9065 and #9380 (LRS-29)
  • #9396 - [L53X] Added min-max fw_version check
    (LRS-143)
  • #9380 - [Core] Tunnel Y411 format as NV12; OpenGL processing** (LRS-29)
  • #9394 - [Core] Fix playback deadlock on live tests (Git Actions CI fail)
    • Bring back playback sensor flush on end-of-file or else last frames may get lost.
    • Move sensor stop outside of mutex lock.
    • Fix 2 unit-tests that did not stop & close the sensors.
      (LRS-190)
  • #9379 - [Core] Drop static from function signature Follow up on #9096. Addresses #6055. (DSO-17046)
  • #9352 - [Android] Sensor API getProfile added, sensor example using it (LRS-182)
  • #8873 - [Wrappers] Add lrs-net viewer for Python (LRS-174)
  • #9339 - [Viewer] Add support for recovery device in online update flow
    • Add recovery device support
    • Fix misaligned UI
    • Remove "Update URL" button from settings (LRS-64)
  • #9256 - [C#] Add D400 Calibration APIs extensions. (LRS-74/LRS-75/DSO-16811)
    Follow up on @DenisGeek's work in #8773
  • #9320 - [Android] API fixes
    • openSensor with multiple profiles API added (LRS-132) Using Sensor example, we get both depth and infrared profiles from the depth sensor.
  • #9285 - [Demos] Connect to rs-server and render frames by means of GPU
    This sample demonstrates how to connect to remote rs-server over the network and to utilize the GPU for processing of depth frames received from remote camera. This sample is based on rs-gl sample and appears when generating solution by cmake with BUILD_GRAPHICAL_EXAMPLE , BUILD_GLSL_EXTENSIONS and BUILD_NETWORK_DEVICE flags is ON)
  • #9065 - [Core] Support for Y411 format (Reopened #8871 Native & SSE support included. (RS5-10803)
  • #9301 - [Tools] viewer - add informative tooltip message ...when Measure is disabled (DSO-17011)
  • #9300 - [Core] Depth Units refactoring fix Fix correct depth units extraction from ROSbag records (lRS-140)
  • #9309 - [Core] Syncer mutex to fix single_consumer_queue::peek() issues And revised peek() mechanism, too... (LRS-162)
  • #9261 - [L515] Set all the values of amc controls on start up. (Fixes RS5-11488)
  • #9299 - [Core] Fix playback crash in Dtor (LRS-135)
  • #9254 - [L515] Control Vertical binning.
    • Added RS2_OPTION_VERTICAL_BINNING option - Enables vertical binning which increases the maximal sensed distance.
    • Added support on wrappers (RS5-11533)
  • #9276 - [Wrappers] include USB info on pyrs device repr()
    Export data in the following format <pyrealsense2.device: Intel RealSense L515 (S/N: f9440703 FW: 01.05.05.00 UNLOCKED on USB3.2)>
    (LRS-129)
  • #9274 - [Tools] Rosbag-Inspector fix.
    Addresses issue introduced with #9154
  • #9258 - [Core] Handle Dispatcher exception + high CPU usage fix** (Continuation of #9219. (LRS-125)
  • #9154 - [Core] Add Depth Units value to frame metadata (DSO-16066)
  • #9255 - [Core] D4xx Default preset with sub-millimetric units (DSO-17316)
  • #9240 - [Core] change default resolutions for 0xB5B SKU** (LRS-81)
  • #9228 - [Viewer] FW build version is not properly displayed Fixed regex that parses the version (DSO-17194)
  • #9238 - [Viewer] - depth units changing fix (LRS-124)
  • #9230 - [D400] Advanced controls have no min/max (DSO-17312)
  • #9213 - [Viewer] - Fix decimal point display
  • #9221 - [Core] Memory leak in IMU/Win Addresses #8091 (DSO-17238, DSO-17239)
  • #9225 - [Tools] DQT - Fix IR reflectivity display Fix issue created on #9061 (LRS-117)
  • #9222 - [Tools] Viewer syncer loop correction Switching to IR in 3D texture source froze the view. The render_loop() depends only on synchronization_enable but sometimes we bypass it and so it cannot get the frames... (LRS-116)
  • #9223 - [Tools] DQT - do not set sensor mode while streaming Caused by #9081. (LRS-115)
  • #9209 - [Core] fix CppCheck warning in string-utilities.h

Documentation

  • #9345 - [MacOS] Update vulkan brew install instructions brew cask install has been superseded by brew install --cask
    If you use brew cask install, you will be greeted with Error: Unknown command: cask. contributed by @alkasm
  • #9436 - [MacOS] Update installation_osx.md Homebrew doesn't use "cask" anymore. IF you try this build process you get this error error: Unknown command: cask I've updated the doc to use the new way of doing things. (Basically just trash the cask part of the install) Ive tested this works.) contributed by @martystack
  • #9433 - [Debians] Update PPA public server key repo Fix PPA public key registration for X86 and Jetsons due to the deprecation of keys.gnu.net. Uses the alternative server mentioned in #9289 by @hanzheteng. (LRS-204)
  • #9412 - [Arch] Add librealsense2 playback readme file.

Known issues

  • #2860 - Memory-leak in Pointcloud processing block.
  • #3433 - Valgrind: Conditional jump or move depends on uninitialized variable. (DSO-13700)
  • #4261 - [T265] Add ability to open multiple devices from different processes.
  • #4518 – [T265] Pose data produces NaNs. Can still occur in some cases. If detected, please attempt to make a raw data (images + IMU) recording using the recorder tool, and attach a link to it in the github issue, to assist our resolution.
  • #6009 v2.33.1 does not compile with -DBUILDEASYLOGGINGPP=OFF
  • [T265][Mac] - Start after stop is not working on Mac with the T265 camera
  • (DSO-13525) - [D400] 3D viewer moved when sliding the tare calibration sliders

Release 2.48.0

Release Date: 29th June 2021

API Changes

https://github.com/IntelRealSense/librealsense/wiki/API-Changes#version-2480

New Features

  • #8905 - Android - Support Sensor API for streaming
    • Add sensor open/close/start/stop with callbacks
    • Add callbacks to pipeline API with default and custom configurations
    • Demo apps to use the new APIs
    • Impact to existing API (these are bugs in current implementation and the change should not impact existing apps):
    • Extend Java class FrameSet from Frame so the frame from pipeline callback can be cast to a set of frames.
    • Add deleter to Java Sensor API with content from old close.
      (DSO-16739, DSO-16740)
  • #8860 - [C#] Example for Pose type stream for T265 device

Bug Fixes and Enhancements

  • #9219,#9159,#9210 - [Core] Concurrency & Syncer rework Following the deadlock that Nir experienced, reworked some stuff (and not all because of the deadlock:
  • split off dispatcher code into dispatcher.cpp
  • syncer (timestamp) inactive stream handling moved into skip_missing_stream
  • syncer identity_matcher names now include the stream index
  • single_consumer_queue::_mutex is now mutable; size() and empty() const
  • revised logic inside single_consumer_queue
  • revised logic inside dispatcher
  • cancellable_time::try_sleep() is now templated, requires actual chrono duration (and not just its ::Rep)
  • syncer stop() calls now percolate recursively to shut down all queues; new syncs do nothing if syncer was stopped
  • add actual matchers to playback device
  • live-test issues with playback
  • added !mayfail to frame-number syncing test for stability
  • added waiting_on<> in utilities/time/waiting-on.h, with unit-test
  • rework dispatcher::flush()
    DSO-16888
  • #9221 - [Core] Fix Memory leak on IMU sensor query (DSO-17238, DSO-17239 )

  • #9210 - [Core] Fix Composite frame with playback device Add actual matchers to playback device

  • live-test issues with playback

  • added !mayfail to frame-number syncing test for stability

  • added waiting_on<> in utilities/time/waiting-on.h, with unit-test

  • rework dispatcher::flush()
    DSO-16888

  • #9188 - [Python] box_dimensioner_multicam_demo error fix for L515 (RS5-11319)

  • #8156 - [Examples] Recording Bag file under "Program Files".
    Now it attemts to write to temp folder first

  • #9207 - [Viewer] Fix crash when opening 'Stereo Module' of a playback

  • #8884 - [Examples] Connect to rs-server and draw frames by means of GPU
    This sample demonstrates how to connect to remote rs-server over the network and to utilize the GPU for processing of depth frames received from remote camera. This sample is based on rs-gl sample and appears when generating solution by cmake with BUILD_GRAPHICAL_EXAMPLES and BUILD_GLSL_EXTENSIONS flags is ON.

  • #9185 - [L515] FW version compatibility fix
    L515 FW version prerequisites must be defined with min/max range to avoid cross-product versions reference. Can be seen as a temporal solution since FW versions may overlap eventually. Update L515 minimal downgradeable version to 1.5.1.3 instead of 1.4.1.0.
    (RS5-11513), (DSO-16641)

  • #9183 - [Core] Increase the syncer queue on model-views.h to avoid frame drops.
    This queue stores the output from the syncer, and has to be large enough to deal with slowdowns on the processing / rendering threads of the Viewer, to avoid frame drops. The problem here wasn't slowdowns of the other thread -- it was bust output from the syncer, too fast for any other thread to deal with and causing drops. The bursts are caused by latency introduced on the USB/FW side when different streams have different FPS.
    (DSO-16419)

  • #9145 - [Core] 0x0B5B SKU to display in cm** (DSO-17052)

  • #9081 - [L515] Make sensor-mode r/o during streaming (LRS-7)

  • #9153 - [Core] 0x0B5B SKU Fix Color stream calibration retrieval (DSO-17104)

  • #9132 - [Core] 0x0B5B SKU remove intercam sync support (DSO-17061)

  • #8674 - [Core] Fix Extrinsic map build algorithm (DSO-16814)

  • #9061 - [Viewer] Fix ROI display rectangle selection (DSO-16748)

Known issues

  • #2860 - Memory-leak in Pointcloud processing block.
  • #3433 - Valgrind: Conditional jump or move depends on uninitialized variable. (DSO-13700)
  • #4261 - [T265] Add ability to open multiple devices from different processes.
  • #4518 – [T265] Pose data produces NaNs. Can still occur in some cases. If detected, please attempt to make a raw data (images + IMU) recording using the recorder tool, and attach a link to it in the github issue, to assist our resolution.
  • #6009 v2.33.1 does not compile with -DBUILDEASYLOGGINGPP=OFF
  • [T265][Mac] - Start after stop is not working on Mac with the T265 camera
  • (DSO-13525) - [D400] 3D viewer moved when sliding the tare calibration sliders

Release 2.47.0

Release Date: 6th June 2021

API Changes

https://github.com/IntelRealSense/librealsense/wiki/API-Changes#version-2470

New Features

  • #9167 - [L515] FW version 1.5.8.1
  • #9165 - [D4xx] FW version 5.12.14.50
  • Disparity Modulation enhancements (DSO-17067)
  • Handle pattern under strong light in Slave mode. (DSO-17022).
    Fixes and stability improvements
  • #8948 - [Core] Firmware Compatibility check as part of Firmware Update
    Check and verify the FW image prior to the firmware update to prevent loss of functionality and/or physical damage to the device. (DSO-16958)
  • #8977,#8906 - [Tools] rs-convert enhancements.
    Support IMU and Pose serialization into csv format (DSO-16987).
  • Support for Ubuntu20/Kernel 5.8 DKMS package (v1.3.18)

Bug Fixes and Enhancements

  • #9060 - [Linux] Memory leak with option query
  • #9008 - [Viewer] Online updates
    Add up to date notification
    Reset notification delays when user click on check for updates (RS5-11310)
  • #9051 - [Viewer] No 3D image on playback
    Point cloud frames are ignored during playback / DQT 3D streaming The fix allows the Point cloud frames to be uploaded to the rendering window (RS5-11334)
  • #8967 - [Viewer] Software Update enhancements (DSO-16893)
  • #9019 - [D4xx] Remove IR pattern for relevant devices (DSO-17102)
  • #9017 - [D4xx] Remove emitter-on-off support from 0x0B5B (DSO-17048)
  • #9041 - [SR300] Support for alternative 0x0AA2 PID (DSO-17101)
  • #9034 - [L515] HWM_OVER_XU logic rework
  • #8804 - [Core] Validate Range on controls change (DSO-13749)
  • #8875 - [Linux/v4l] Memory leak test sensor option.
    Add test for memory issue using valgrind and a fix.(DSO-16885)
  • #9035 - [3rd party] change libjpeg-turbo branch to 'main' master... branch was renamed to main (cherry picked from commit 9d58316dba78e93ad89aeeace5670c915be2435e))
  • #9021 - [Unity] Modified editor script for Unity on Linux
    Changed BuildAllAssetBundles method for use in Unity on Linux
  • #8876 - [SR300] Fix SR3xx firmware image size and recovery checks.
    Adjust recognized FW sizes for SR3xx.
    Modify SR3xx recovery device condition for Win10 build 1909. (DSO-16985)
  • #8749 - [SR300] Enabling LRS examples/tutorials on SR306 (DSO-16721)
  • #9003 - [L515] Add Transmitter Frequency control Enable receiver sensitivity according to ambient light, bounded by the Receiver Gain control.
    Fix removal of Max Useful Range and IR Reflectivity. (RS5-11278)
  • #8921 - [L515] Metadata display negative brightness and hue (DSO-14036)
  • #8952 - [L5xx] Support for new options.
  • Create 0x0b68 hw_options class for options.
  • Remove option RS2_OPTION_DIGITAL_GAIN not applicable for 0x0b68 .
  • Add option RS2_OPTION_RX_SENSITIVITY.
  • Remove all preset values (except custom) for now - until we will have declaration of presets for 0x0b68.
  • Remove options RS2_OPTION_ENABLE_MAX_USABLE_RANGE and RS2_OPTION_ENABLE_IR_REFLECTIVITY - for now until we will have declaration of them for 0x0b68.
  • #8979 - [L515] Remove AC.
    Backwards-compatibility is maintained at the level of the C runtime, but not the wrappers or C/C++ compilations: rs2_cah_trigger, for example, was removed -- code using it will not compile. Likewise, the options for TRIGGER and RESET are still there, but nothing supports them and so they have been removed from most wrappers. Interfaces like calibrated_sensor are still there, but no longer in use.

  • #8896 - [CUDA] Fix unpack from sr300 CUDA implementation
    This PR fixes a bug with incorrect depth image on the SR300 series cameras when librealsense is built with CUDA. Addresses #8897]. The functions unpack_z16_y8_from_sr300_inzi and unpack_z16_y16_from_sr300_inzi use the source data pointer (in) - the first half of the data is bit-shifted and stored in dest[1], the second half is directly copied to dest[0].
    In the CPU version, the pointer is moved in a loop and after its execution it points to in + count - so the copying works as it should.
    In the CUDA version, the pointer is never moved, so bad data is copied to dest[0], resulting in an incorrect depth image.
    Simply moving the pointer to the right place fixes the problem. ) contributed by @andrusza2

  • #8910 - [Core] Signed Firmware image check before updating.
    Throw a informative exception message when trying to update signed firmware image if its corrupted or unsupported by the specific device. (DSO-16641)

  • #8946 - [D4xx] Depth Units default value added (DSO-16963)

  • #8950 - [D4xx] Fix preset setting when not streaming (DSO-15585)

  • #8913 - [Core] Replace GVD queries with device update notification ..to verify device removal during DFU.
    Add a ~6 seconds maximum loop to verify the device is disconnected after the DFU command (replacing HWM calls) This partly reverts PR #8018 which caused freezes after DFUs. (RS5-11058)

  • #8920 - [CMake] Flag to control AVX for OpenVINO
    Add LRS CMake flag BUILD_WITH_CPU_EXTENSIONS [default=ON]. Will affect LRS use of CPU extensions in the future.
    If BUILD_WITH_CPU_EXTENSIONS == OFF => disable AVX support for OpenVINO.

  • #8912 - [Viewer] SW update - support 3-field version.
    DB file parsing will now support 3 fields version (as release versions are represented). i.e "version": "1.5.4".
    Before the fix the regex supported 3 fields only with an ending period. i.e. "version: 1.5.4."

  • #8867 - [Viewer] Stop FW logs with button (DSO-16977)

  • #8903 - [Viewer] crash when close app (RS5-10427)

  • #8869 - [Python] Add GIL release to enter_update_state() function enter_update_state() can take ~2.5 seconds and need to release the GIL for other function to get CPU time

  • #8820 - [Core] Protect illegal access on types.h floats** (Fix CppCheck warning on types.h i.e: src\types.h:585:24: warning: The address of local variable 'x' might be accessed at non-zero index. [objectIndex] return (&x)[i];)

  • #8861 - [Android] Android Camera app - Update settings UI to ExpandableListView Fix an issue where not all settings items are accessible at landscape view (RS5-8610)

  • #8821 - [Core] Realsense2 warnings fixed.

  • #8856 - [Viewer] Fixed frameset handling on viewer Open the frameset on viewer_model::handle_ready_frames and save the frames on last_frames, so if one of the frames missing we will take the last frame saved. (DSO-16419)

  • #8525 - [ImGui] Clamp slider rounding operations to keep ranged values
    ImGUI floating point interpolations and rounding operations do not ensure min/max range on results. The PR fixes it to avoid overriding user-defined min/max slider boundaries. (DSO-15067)

  • #8805 - [Core] Fix warnings in sensor.cpp.

  • #8822 - [CMake] Make BUILD_GRAPHICAL_EXAMPLES depend on BUILD_EXAMPLES

  • #8817 - [Viewer] Increase updates windows stability on multiple updates (Changes:

  • Fix Download & Install button missing on multiple update processes (DSO-16891)
  • Use typedef to version to info map
  • Inhibit updates popup when updates windows is on - even when only recommended available (Can occur after updating essential update)
  • Break "check_for_updates" to several functions for simplicity.
  • #8802 - [CMake] Add BUILD_TOOLS flag to CMake
    BUILD_TOOLS is ON by default! NOTE: this may break some builds that have disabled BUILD_EXAMPLES (therefore tools weren't built) but that will now automatically get BUILD_TOOLS so their tools will build (perhaps with errors).
  • #8816 - [Viewer] Inhibit checking for updates on playback device (Part of RS5-8604)
  • #8811 - [DQT] Remove online updates
  • #8807 - [Viewer] Recommended update pop up hot fix.
    Display updates window only on essential updates.
    If no essential updates, recommended updates will show as a pop up.
    The fix adds a version check for getting the SW/FW updates.

Documentation

  • #8986 - Update post-processing-filters.md.
    I am not sure if it was supposed to be dec_filter or decimation_filter (same for spatial_filter) contributed by @c-flew
  • #8935 - No more distinction for different Ubuntu required (=> Use bash for codename) contributed by @tkazik

Known issues

  • #2860 - Memory-leak in Pointcloud processing block.
  • #3433 - Valgrind: Conditional jump or move depends on uninitialized variable. (DSO-13700)
  • #4261 - [T265] Add ability to open multiple devices from different processes.
  • #4518 – [T265] Pose data produces NaNs. Can still occur in some cases. If detected, please attempt to make a raw data (images + IMU) recording using the recorder tool, and attach a link to it in the github issue, to assist our resolution.
  • #6009 v2.33.1 does not compile with -DBUILDEASYLOGGINGPP=OFF
  • [T265][Mac] - Start after stop is not working on Mac with the T265 camera
  • (DSO-13525) - [D400] 3D viewer moved when sliding the tare calibration sliders

Release 2.45.0

Release Date: 2nd May 2021

API Changes

N/A

Bug Fixes and Enhancements

  • #8672 - Add recommended on-line updates
    • The Viewer now checks (by default) online for SDK and/or FW recommended updates whenever a new device is detected (previously, it only checked for essential updates)
    • The "Install Recommended Firmware" button (press More next to your device) was replaced with "Check For Updates", which will also look online
    • If an update is available, a notification will be displayed (same as before)
    • NOTE: If the notification was previously dismissed, it may not show up! To reset this, go into settings and, under the General tab, "Restore Defaults"
  • #8925 - [D400] Fw version 5.12.13.50 Fixes and stability improvements
  • #8790 - [D400] Make intercam_sync option read-only while streaming (DSO-16833)
  • #8791 - [L515] Brown-Conrady forward/backward distortion, deproject impl (GitHub #7335) (RS5-9995)
  • #8759 - [Core] Implementation of Brown-Conrady model on SSE , CUDA and GLSL
    • Implementation of Brown-Conrady transformation on deproject_pixel_to_point_cuda().
    • Fix of Inverse-Brown-Conrady transformation on deproject_pixel_to_point_cuda().
    • Implementation of Brown-Conrady transformation on get_texture_map_sse().
    • Added unit tests for sse code (Inverse and Forward Brown-Conrady)..
    • Added unit tests for cuda code (Inverse and Forward Brown-Conrady).
    • Implementation of Brown-Conrady transformation on GLSL.
  • #8784 - [Core] Allow physical port retrieval from recovery devices
  • #8787 - [Linux] Kernel patches for LTS 5.8 and SKU 0x0aa3 and 0x0b68
    • Add support for Ubuntu focal/5.8 kernel.
    • Register PIDs for metadata support.
    • Apply to LTS kernel patches 4.4-5.4.
    • Fix kernel application for bionic legacy 5.0/5.3.
    • Apply Tegra patches for 32.2.3 and 32.5.1 releases.
    • Minor refactoring and improvements in manual patching flow.
      (DSO-16720, RS5-10737)
  • #8536 - [Viewer] Adjust error report for out of boundary in viewer (DSO-13749)
  • #8606 - [Core] SKU 0x0B5B - fine tunings in viewer (DSO-16440)
  • #8775 - [Windows] Catch exception on shutdown, release resources (DSO-15821)
  • #8713 - [SR300] Adding SR300 derivative into SDK core
    The following tools are functioning in SR300-like device :
    • rs-enumerate-devices
    • Realsense-viewer streaming
    • Realsense-viewer controls
      (DSO-16719)
  • #8777 - [Python] update examples to python 3
    Tests work using python 3 (does not include: box_dimensioner_multicam, ethernet_client_server, t265_wheel_odometry).
    (RS5-10433)
  • #8709 - [D400] Added genlock features to extend the option RS2_OPTION_INTER_CAM_SYNC
    Replacing old pull request #8584 for adding genlock features to extend the option RS2_OPTION_INTER_CAM_SYN_MODE.
    (DSO-16833)
  • #8751 - [LRS-Net] Fix connecting to network device with realsense-viewer
    There was changes introduced in Feb 15 in model-views.cpp that breaks connections to network devices from realsense-viewer. This PR fixes this. Addresses #8675
  • #8748 - [Viewer] Resize drop-down box size to fit the text (DSO-12348)
  • #8724 - [Viewer] Updated OCC part of the RS Viewer (DSO-16841.)
  • #8690 - [Core] Fix LibRS compilation with ELPP disabled (RS5-10758)
  • #8696 - [CI] Travis-CI - update OSX image + decrease builds runtime (Travis-CI build fails when using MacOs < 10.13.
    • Update xcode_image to 12.2 (latest)
    • Remove CHECK_FOR_UPDATE flag for windows build to shorten build time
    • Remove UT run on Windows first build
    • Remove building UT on Linux build
  • #8693 - [Viewer] Fix DQT + Viewer crash when minimized when running on Debug (When running on Debug configuration, minimizing the DQT / Viewer windows cause the application to crash. On this PR I add protection against illegal inputs to open-gl functions.
    (RS5-10796)

Documentation

  • #8768 - [D400] OCC Documentation Update
    Replaced one missing "OCC All" with "OCC Extended".
    (DSO-16841)

Known issues

  • #2860 - Memory-leak in Pointcloud processing block.
  • #3433 - Valgrind: Conditional jump or move depends on uninitialized variable. (DSO-13700)
  • #4261 - [T265] Add ability to open multiple devices from different processes.
  • #4518 – [T265] Pose data produces NaNs. Can still occur in some cases. If detected, please attempt to make a raw data (images + IMU) recording using the recorder tool, and attach a link to it in the github issue, to assist our resolution.
  • #6009 v2.33.1 does not compile with -DBUILDEASYLOGGINGPP=OFF
  • [T265][Mac] - Start after stop is not working on Mac with the T265 camera
  • (DSO-13525) - [D400] 3D viewer moved when sliding the tare calibration sliders

Release 2.44.0

Release Date: 1st Apr 2021

API Changes

https://github.com/IntelRealSense/librealsense/wiki/API-Changes#version-2440

New Features

  • #8633 - [NodeJs] Support for NodeJs14.
    Fix Nodejs14 cameras autoconfiguration new glfw

Bug Fixes and Enhancements

  • #7997 - [D400] Added rs2_get_target_size_on_frame and updated python wrapper to use it.
    API rs2_get_target_size_on_frame is created and exposed in the Python wrapper.

  • #8671 - [D400] Tare calibration fix
    Fix issues in if statements (DSO-16782).

  • #8519 - [D400] Auto Exposure Limit : range value setting limitation
    When setting Auto Exposure value outside the fixed limit, error will be printed to the log and AE value will remain as previous valid value (DSO-16596).

  • #8428 - [C#] Fix colorizer/Software Object bundle
    Addresses #8407

  • #8018 - [Core] FW update exception interception
    When FW update runs, the device disconnects when it switches to DFU. Exception is thrown when FW update calls query devices while device still connected (not switch to DFU already.
    In this fix, after sending the command of switching device to DFU, I checked when device is disconnected then continue to next step of querying devices. (DSO-16069)

  • #8489 - [Android] Redesigning presets activity to dialog
    (DSO-15649, DSO-15651)

  • #8658 - [Core] Add FW version and locked status to device string (RS5-10771)

  • #8561 - [T265] Fix for race condition during pipeline stop.
    This PR is effectively the suggested fix in the GH issue below. Thank you @ankyur. https://github.com/IntelRealSense/librealsense/issues/7276 I've validated the fix works using the following code:

    // Reproduces T265 Hand on Exit.
    int main(int, char**)
    {
        constexpr std::chrono::seconds timeout{ 1 };
        while (true)
        {
            // Start
            rs2::config config;
            rs2::pipeline pipeline;
    
            std::cout << "Entering pipeline.start()" << std::endl;
            pipeline.start();
            std::cout << "Exiting pipeline.start()" << std::endl;
    
            std::cout << "Sleeping for 1 second..." << std::endl;
            std::this_thread::sleep_for(timeout);
            
            std::cout << "Entering pipeline.stop()" << std::endl;
            pipeline.stop();
            std::cout << "Exiting pipeline.stop()" << std::endl;
        }
        return 0;
    }

    Suspect this fix potentially addresses the following open T265 issues as well: #7553, #5807, #6272, #7555, #7750

  • #8594 - [Core] FW Update fortification
    Adding size check for signed & unsigned firmware (DSO-13524)

  • #8624 - [D400] Baseline computing corrected (DSO-16780)

  • #8623 - [D400] Checking supports API before calling get or set to emitter option** (DSO-16782)

  • #8640 - [Core] Disable_stream() fix when running enable_all_streams() Fix disable_stream() to actually stopping disabled streams from arriving. Reported issue: #3919 (DSO-13705)

  • #8625 - [Core] Fix deadlock on pipeline.stop() with playback device in non realtime

    • Add stop to syncer to avoid deadlock in case of blocking enqueue. (DSO-15157)
  • #8593 - [L515] Keep USB power on when multiple HWM calls made.
    Reduce L515 device creation and sensor open/start calls time by keeping the USB power on when multiple access are made. (RS5-8208)

  • #7880 - [MATLAB] Use case extension draft

  • #8600 - [NodeJs] Make RSPointCloud.mapTo compatible with `rs_processing.hpp map_to``
    Related to #5057, #6223 RSPointCloud.mapTo should repeat same behavior as rs_processing.hpp map_to which was changed by commit, contributed by @whsol

  • #8555 - C# tutorial 1 fixes
    Example fix: cs-tutorial-1-depth.
    Checked against cameras: D415, D435, SR300, L515 and USB2/USB3 .NET 4.8, dotnet 5.0, mono.

  • #8559 - [C#] tutorial 2 fixes
    Example fix: cs-tutorial-2-capture.
    Checked against cameras: D415, D435, SR300, L515 and USB2/USB3 .NET 4.8, dotnet 5.0

  • #8560 - [C#] Tutorial 3 fixes
    Example fix: cs-tutorial-3-processing.
    Verified for D415, D435, SR300, L515 and USB2/USB3 .NET 4.8, dotnet 5.0

  • #8552 - C# tutorial 4 fixes Example fix: cs-tutorial-4-software-dev.
    Verified for D415, D435, SR300, L515 and USB2/USB3 .NET 4.8, dotnet 5.0.

  • #8576 - [Python] Update pybind11 version to 2.6.2
    Apply fixes for python 3.8 + 3.9 support, align to the latest version. (RS5-10670)

  • #8575 - [Android] Fix record for Android 11 (DSO-16751)

  • #8573 - [Core] Syncer to produce frameset (always)
    Solve the playback with syncer bug added on #8378 and pipeline with single stream bug. The old code expected syncer output to always be a frameset.

  • #8574 - [Python] Fix auto calibration python example (DSO-16768)

  • #8570 - [Python] Fix pyrealsense2 crash when importing other pybind11 created modules
    Pybind's ABI is made up of compiler type among other things, but not compiler version -- so two modules with pybind compiled with VS 2019 and VS 2015 would generate the same ABI and pybind will try to share resources, crashing Python. (see https://github.com/pybind/pybind11/issues/2898). The change forces a unique ABI version to be created and loaded that won't be shared with pybind instances. (RS5-10582)

  • #8553 - [Viewer] Depth color map ruler show wrong values
    Fix Viewer depth units ruler's ranges on the right side (RS5-10658)

Documentation

  • #8613 - [HDR] link correction
    Changed Gif address to the Gif in the development branch instead of the previous (private github link))

Known Issues

  • #2860 - Memory-leak in Pointcloud processing block.
  • #3433 - Valgrind: Conditional jump or move depends on uninitialized variable. (DSO-13700)
  • #4261 - [T265] Add ability to open multiple devices from different processes.
  • #4518 – [T265] Pose data produces NaNs. Can still occur in some cases. If detected, please attempt to make a raw data (images + IMU) recording using the recorder tool, and attach a link to it in the github issue, to assist our resolution.
  • #6009 v2.33.1 does not compile with -DBUILDEASYLOGGINGPP=OFF
  • [T265][Mac] - Start after stop is not working on Mac with the T265 camera
  • (DSO-13525) - [D400] 3D viewer moved when sliding the tare calibration sliders

Release 2.43.0

Release Date: 21 Mar 2021

Debian Distribution PPA Change - User Notification

The Debian Distribution PPA is being transferred and redirected to use new URL with Secure Access - HTTPS instead of HTTP
The new addresses shall start with https://librealsense.intel.com
The users who use seamless Ubuntu update shall modify the server's list according to the updated documentation.
Relates to #8414

NVidia Jetson - User Notification

With the release of Jetpack 4.4.1 support for RealSense Devices D415,D435(i) has been integrated into the L4T kernel, thus the owners/developers for that platform (Jetson AGX/Nano) that use those devices do not need to apply kernel patches anymore in order to receive the extended functionality and features, such as metadata.

API Changes

https://github.com/IntelRealSense/librealsense/wiki/API-Changes#version-2430

New Features

  • #8622 - [D400] Fw version v5.12.12.100
  • #8605 - [L515] FW version 1.5.5.0
  • #8405 - [Python] Generate wheels for Python 3.8 + 3.9 Package classifiers updated to support python 3.8 + 3.9 (DSO-16485)
  • #8366 - [NVidia JetPack] Adding support for Jetpack 4.4.1+4.5 (32.4.4 + 32.5)
    • Manage separate kernel patches for formats and metadata since L4T 4.4.1
    • Modify script to avoid redundant patches that have been introduced inL4T 4.4.1
    • Rename 4.9 patches into 4.4/4.4.1 to follow the JetPack baseline version
    • Minor adjustments to script to handle with Git/Kernel variants
      Addresses #8254 ) (DSO-16259)
  • #8298 - [Android] Support for Android 11
    Added changes needed by Android Studio and the gradle build system for supporting the latest version of the Android SDK (30). The changes were tested to be working on a Pixel device with Android version 11

Bug Fixes and Enhancements

  • #8473 - [Core] Video profile eq (video_stream_profile class is missing operator== This cause 2 video_stream_profile objects to use the stream_profile::operator== instead which gives false results.
    (DSO-16565)

  • #8524 - [Core] Fix include in src/sensor.h

  • #8487 - [Unit-tests] FW update test

  • #8518 - [Unit-tests] Negative number of assertions

  • #8494 - [Unit-tests] Memory Leak test fix
    Fixed internal unit test : "Extrinsic memory leak detection" Fix: accepting first arrived frame in each iteration regardless of its frame number (DSO-16625)

  • #8495 - [Android] FW Update message correction
    Avoid suggesting the user to update the recommended fw if already there (DSO-15522)

  • #8365 - [Core] Add support for SKU B5B (DSO-16440)

  • #8490 - [Unit-tests] Misc run-unit-tests attempts at better stability Including work in set-options

  • #8461 - [Core] Fix for IMU drops on playback
    Addresses issue #7908.
    Adding log for manitenance (DSO-12379)

  • #8488 - [Windows] LRS examples from Windows installer does not build Split example.hpp ImGui related code into a new file example-imgui.hpp
    Fix examples includes
    Fix examples warnings (RS5-10360)

  • #8463 - [3rd Party] Libcurl update - SSL support
    Update libcurl third-party to version 7.75
    Build libcurl with SSL
    Change online versions DB link to https link (DSO-16463)

  • #8056 - [L500] Add MUR and reflectivity unit tests
    (RS5-9400)

  • #8462 - [Playback] Slider show milliseconds
    (DSO-12379)

  • #8477 - [Unit-Tests] fixes Fix missing unit-tests test:device & better debug output
    Add rspy.log.debug_indent()
    Add rspy.test.print_separator()
    Fix some weird behavior with rspy.log color output
    #8475 - [L500] Fixed AC-triggers test

  • #8468 - [Unit-Tests] Added tag directive

  • #8444 - [Unit-Tests] Fix run-unit-tests issue with finding acroname

  • #8443 - [Unit-Tests] Added priority option to config

  • #8440 - [Unit-Tests] Added configuration for c/cpp tests

  • #7859 - [Unit-Tests] Added unit tests for hw-errors handling
    Error handling sanity, in and out of streaming (RS5-9659)

  • #8406 - [Unit-Tests] fixes run-unit-tests.py no longer requires pyrealsense2.pyd

  • #8432 - [Core] Change to C style cast
    Fixes #8431 contributed by @surban

  • #8410 - [Core] Log to output file instead of console
    Adding option for printing the fw logs in an output file

  • #8414 - [Linux Distribution] Update Repository Server URL
    Replacing URLs:

    • realsense-hw-public.s3.amazonaws.com
    • realsense-hw-publics3-eu-west-1.amazonaws.com
      with librealsense.intel.com Installation tested on Ubuntu 16.04, 18.04, 20.04 (DSO-16482)
  • #8420 - [L500] Update MUR limits and resolution
    (RS5-9580)

  • #8378 - [Core] Syncer Fix
    Fix syncer bug causing wrong frame order:

    • Fix l500 matcher hierarchy (remove timestamp_composite_matcher as root above device-generated matcher)
    • Add mutex to protect try_dequeue and calling to callback
    • Add log parameter to syncer (RS5-10200)
  • #8403 - [Unit-Tests]
    Fix small issues with devices.py

  • #8387 - [Core] Use standard cast syntax to cast to float
    This change was supposedly done to reduce / remove the number of warnings, but ended up breaking our Rust bindings to librealsense2 (bindgen is expecting an expression which isn't there). See our realsense-rust fork.
    If you're looking for the specific error when building against the official 2.42 release.) contributed by @ThatGeoGuy

  • #6653 - [Linux] add patch scripts for debian 10 and linux vanilla
    L515 working on Debian 10. contributed by @andrewhodel

  • #7751 - [Unit-Tests]
    Encapsulate the content of internal-tests-linux.cpp with #ifdef __linux__

  • #8380 - [Android] switch HTTP to HTTPS
    ... in camera app gradle.build (DSO-16528)

  • #8336 - [Unit-Tests] - HDR Move HDR tests from live tests to dedicated folder** (DSO-16532)

  • #8370 - [Unit-Tests] Additional unit-testing fixes

  • #8359 - [Unit-Tests]

    • Test:device acroname control (for py only)
    • Separated log functionality into rspy.log module
    • Use devices module from run-unit-tests.py
    • Changed python subprocess invocation to sys.executable
    • HWM cmd SET_AGE -> UNIT_AGE_SET, to fit XML
  • #8328 - [Viewer] OpenVINO filter fix **

    • Disable OpenVINO filter while streaming single frames (when IMU is ON) and returning it back when IMU is disabled
    • Enable frameset streaming after IMU is disabled
      Addresses #8074 (DSO-15250)
  • #8351 - [Python Examples] Adjust python examples to support L515 device (RS5-10333)

  • #8338 - [L500] Mode check remove
    Remove the sensor mode check on start stream on custom: profile resolution now trumps sensor_mode
    Added test to check it

  • #8335 - [Core] Add const to a couple of HW monitor APIs

  • #8331 - [Tenssor Flow] Rename camera_simulation.py to example5-denoised.py in part 5)

  • #8304 - [D400] DFU updates Version 107 added, version 106 corrected (DSO-16507)

  • #8285 - [Android] Fix Permisisons Camera permission skipped in OS versions < 8 (DSO-16060)

  • #8282 - [3rd Party]Live555 version freeze

  • #8297 - [Unit-Tests]
    Fixed preset unit-test issues

  • #8214 - [Unit-Tests]
    Pipe unit test for first frame delay issue
    Tested on D435i and L515, USB3 (DSO-16305)

Documentation

  • #8286 - [Doc] Add Android releases artifactory link (DSO-16496)

Known Issues

  • (RS5-10755) - [Android] Significant slowness when working with Viewer App and L515
  • (DSO-16751) - [Android] Apk record cannot work with Android 11
  • #2860 - Memory-leak in Pointcloud processing block.
  • #3433 - Valgrind: Conditional jump or move depends on uninitialized variable. (DSO-13700)
  • #4261 - [T265] Add ability to open multiple devices from different processes.
  • #4518 – [T265] Pose data produces NaNs. Can still occur in some cases. If detected, please attempt to make a raw data (images + IMU) recording using the recorder tool, and attach a link to it in the github issue, to assist our resolution.
  • #6009 v2.33.1 does not compile with -DBUILDEASYLOGGINGPP=OFF
  • [T265][Mac] - Start after stop is not working on Mac with the T265 camera
  • (DSO-13525) - [D400] 3D viewer moved when sliding the tare calibration sliders

Release 2.42.0

Release Date: 14 Feb 2021

API Changes

https://github.com/IntelRealSense/librealsense/wiki/API-Changes#version-2420

Android Releases - User Notification

The Android Distribution Center has been transferred from bintray.com to jfrog servers starting from Feb 1st. The previously available server is not accessible since Jan 24th. The official releases of the Android apk and Java library can be browsed with https://egiintel.jfrog.io/artifactory/librealsense/com/intel/realsense/librealsense
See #8280 for details.
Note that the new server currently is hosting SDK releases v2.41.0+ only. Transfer of older releases is envisioned but not prioritized.

New Features

  • #8350 - [L515] FW update v1.5.4.1 (RS5-10444)
  • #8345 - [D400] FW update v5.12.11.0
    • Max time limit for IR sensors (DSO-12884)
    • Customer enhancements (DSO-15098).
  • #8036 - [UE] Unreal Engine wrapper is converted to UE4.26
    This changes makes unrealengine4 wrapper to be build against Unreal Engine 4.26 and introduces some breaking changes for engines less than v4.26 according to a new UE API.
  • #8281 - [API] Enable rolling log files
    Continues the work of @aseelegbaria (#8212 Log files can have a max size. upon reaching max size new file will be created and current file will be truncated.
    (RS5-9271)
  • #8211,#8240 - [SDK] CMake Build transition to HTTPS
    Librealsense Cmake Build requires downloading and bundling FW images from external server. Starting with v2.42.0 the actual downloads will be queried using Secure Access (https).
    The new resource URLs are retrofitted into CMake and the source tree documentation.
    (DSO-16368, DSO-16444)
    Fix FW download link url in Realsense-viewer (RS5-8513)
  • #8220 - [D400] Auto-Exposure and Gain max limits for IR sensors.
    The new APIs set the effective upper bound for Exposure and Gain values for Depth Auto-Exposure. This allows to control and limit the changes in FPS rate while enabling for AE auto-adjustments.
    Requires FW5.12.11.0 or later.
  • #8029 - [MacOS] IMU data processing via HIDAPI on MacOS
    Support of IMU accelerometer and Gyro data on MacOS.
    s_hid_device class was modified to receive the IMU data via HIDAPI library functions on Mac OS.
    (RS5-9285, RS5-8852, possibly RS5-9121) by @sokolov19830711
  • #8063 - [Core] -Reset logger Stop and reset reset logger on demand to cope with huge log files. (RS5-9270)

Bug Fixes and Enhancements

  • #8289 - **[DQT] Fix L515 handling in Custom Mode **
    In custom mode we need to update the sensor with sensor mode before start.

  • #8072 - [Unity] using SafeHandle in Context class
    Context class with CriticalFinalizerObject and CER implementation.
    (DSO-13740)

  • #8002 - [L515] Remove default preset (RS5-8999)

    1. Remove default preset
      • on LRS start up we calculate if we are in one of the presets and if not we are on custom
      • when loading old Json file if the preset is default the preset will be custom
      • if user try to set preset default he will get an error.
    2. Reading of defaults values
      • on new fw versions( >1.5.3.0) is by get_default command
      • on old fw versions its stay as it was - set_current -1 and than get_current gives the defaults values
    3. update defaults values of hw options on the following cases
      • on startup
      • when changing resolution
      • when changing gain
    4. Flow of set preset
      • set gain according to preset
      • read the default values
      • set default values to currents
      • set laser according to preset

    NOTE: When starting to stream, librealsense may raise an exception:

    sensor mode (VGA) with RS2_L500_VISUAL_PRESET_CUSTOM is incompatible with the requested profile resolution (XGA)

    This is caused when the visual preset is CUSTOM and the value in RS2_OPTION_SENSOR_MODE does not match the resolution from the profile. Either make sure the preset is one of the predefined ones or set the SENSOR_MODE to match the profile. This exception has since been removed, see PR #8338.

  • #8261 - [Android] Remove (L515) Confidence stream from settings (RS5-8989)

  • #8262 - [L515] Deprecate Zero-Order option (RS5-10182)

  • #8252 - [Core] Fix GCC 5 error/warnings in HDR demo

  • #8234 - [Linux] Revert "Switch v4l to use memory-mapped files instead of userptr."
    Use of mmap leads to sporadic segfault on stream close/frames release.
    Switch back to user-allocated buffers for v4l data exchange.
    Addresses #8154.
    (DSO-16453)

  • #8245 - [Live555] Fix build_with_network CMake option and other workarounds

    • liveMedia update - liveMedia has been upgraded by live555 in 2021-jan-21. Available as an archive from server only.
    • A workaround for wrong default value about RS2_OPTION_POWER_LINE_FREQUENCY.
    • A workaround for bad parameter when create frame object in Y8 format with network mode.
    • add 'add_to' method for net_device in python wrapper.
  • #8048 - [EasyLogging] - add asynchronous handling (Linux)
    Handling log messages asynchronously to reduce latencies.
    ( DSO-16295)

  • #8180 - [L515] Frames Filter unit-tests Check that IR frames do not arrive to the user callback if not specifically asked for.
    (RS5-10249)

  • #8206 - [Viewer] Fix FW update exception showed after entering update state
    On FW update window we see a recoverable exception string during the FW update process. This PR fixes this behaviour. Actions taken:

    1. Add delay between sending the device command to enter update state and query devices (if we do it too fast we still get the device before it was able to disconnect)
    2. Replace FW update UI exception with log exception
      (RS5-7900)
  • #8176 - [Python] Integrate pybind11 V2.6.1 + replace pybind11 files with clone action

    • Clone pybind11 instead of keeping pybind files inside librealsense2 repo
    • Update pybind version 2.2.1 -> 2.6.1
      (RS5-9118)
  • #8159 - [Examples] HDR demo overhaul

    • Review and refactoring both in Documentation and in Code.
    • Handle Mosaic View to present stacked frames.
    • Add HDR-specific controls
  • #7661 - [L500] Age-update implemented for projection (The age is now updated in the DSM on setup. When AC is run the Age and last AC fields in DSM are updated, the fields that involve the MC are not changed.

  • #8182 - Unit-tests fixes
    Change the default directory for test logs to build/unit-tests instead of build.
    Remove from the printing of the call stack when check fails the printing of the calls to the functions inside test.py

  • #8142 - [Core] Memory Leaks fixes (Fixes some memory leaks:

    • In the Linux backend, the deleter of a std::unique_ptr didn't call delete;
    • The hdr_config type and its sensor were holding mutual shared pointers to each other, causing them to not be deleted;
    • In synthetic-stream.cpp, the on_set method is called on a ptr_option, which stores the function passed to that method. However, the lambda passed captures the shared pointer, giving another shared pointer loop.) contributed by @Rheel17
  • #8066 - [Examples] - rs-kinfu Place OMP pragma before for statement in rs-kinfu app. Fixes #5776. Contributed by @PeterBowman

  • #8084 - [Open3D] wrapper examples and tutorial
    This PR adds a tutorial and some examples for using RealSense devices through the new Open3D wrapper. contributed by @ssheorey

  • #8162 - [Unit-Tests] Add run-unit-tests delay after acroname reset; add --stdout, --asis

  • #8145 - [Unit-Tests] - Acroname controls in unit-tests Disable unit-tests in Travis Linux static build -- the Python version there misbehaved with ModuleNotFoundError and it was to be removed eventually anyway.

  • #8151 - [Core] fix realsense2-compression & realsense2-net plugin Follow up on #8141

  • #8141 - [Core] amendments src removed from include directories of projects that do not need it.

  • #8127 - [D400] Detect IMU type (BMI-085 or BMI-055) regardless of device type.

    • This PR allows the device to set the correct accel frame rate based on the IMU type, instead of the device type.
    • Requires FW 05.12.10.0 or later.
    • rs-imu-calibration.py was tested using this PR in Ubuntu 16.04.
      (DSO-16367)
  • #8135 - [Unity] Add log creation Add a -logFile parameter to unity export package command for investigation failures

  • #8105 - [Unit-Tests] updates (RS5-9997)

  • #8133 - [Examples] Correcting compression labels in rosbag-inspector tool (Compression labels displayed in the tool are swapped) contributed by @matbb

  • #8131 - [Python] python subprocess invocation using same python exe

  • #8061 - [L515] IR Reflectivity - hide until value stabilized (RS5-9613)

  • #8109 - [SDK] REmove redundant Include directories from CMake There was a misuse of the include_directories function where the first argument was a project name. This function should only get the wanted directories as parameters. (RS5-9747)

  • #8087 - [L515] correct display of advanced controls + UI setting when switching devices

    • Fix querying advanced controls with the wrong sensor mode.
    • Fix restoring UI controls from different device (RS5-9466)
  • #8073 - [Core] Retrofit changes from v2.41 into Development

  • #8071 - [Core] Fix GCC 7.0 compilation error

  • #8064 - [Unit-Tests] enhancements

    • set-option unit-test fix & bug fix in test.info
    • abort test in case of exception
      (RS5-9850)
  • #7781 - [Examples] Wrap Viewer/DQT error pop up text The error pop up text on Viewer and DQT application is not wrapped, It use a ImGui::InputTextMultiline because the input text is dynamic. For static text we can use ImGui API - "ImGui::PushTextWrapPos / ImGui::PopTextWrapPos ". (RS5-9465)

  • #8050 - [L515] IR Reflectivity - move setting
    IR reflectivity option moved to configuration section at the DQT application.
    (RS5-9612)

  • #8052 - [CI] Revert change on Linux parallel build

    • Travis CI currently allow VM with 2 cores.
    • Using -j$(($(nproc)-1)) disabled the parallel build on Linux builds.This PR revert this change
  • #8051 - [Unit-Tests] fix
    Fix unit-test failure and add info for the test. (RS5-9850)

  • #8023 - [PyBackend] fix
    Deadlock occurs when HID callback invokes from multi-threads

  • #8041 - [Unit-Tests] - test.info (RS5-9754)

  • #7895 - [Unit-Tests] serializable_device preset bug fix & unit-test
    Added a test for serializable device json serialize and load Also changed load_json in l500-serializable so it works with the presets. (RS5-9630)

  • #8016 - [Unit-Tests] Fixed test-FG - remove 1280x720 resolution
    Remove test "streaming FG 1280x720". FW support only 800x600 resolution on FG. (RS5-9894)

  • #8000 - [Unit-Tests] frame drops after set_option Unit-tests to check if there is any frame drops after set_option in Windows and Linux. (RS5-9850)

Documentation

  • #8280 - [Android] repo updated in java_example and native_example (DSO-16496)
  • #8238 - Tensorflow fix Fixed URL in part 3.

Known Issues

  • #2860 - Memory-leak in Pointcloud processing block.
  • #3433 - Valgrind: Conditional jump or move depends on uninitialized variable. (DSO-13700)
  • #4261 - [T265] Add ability to open multiple devices from different processes.
  • #4518 – [T265] Pose data produces NaNs. Can still occur in some cases. If detected, please attempt to make a raw data (images + IMU) recording using the recorder tool, and attach a link to it in the github issue, to assist our resolution.
  • #6009 v2.33.1 does not compile with -DBUILDEASYLOGGINGPP=OFF
  • [T265][Mac] - Start after stop is not working on Mac with the T265 camera
  • (DSO-13525) - [D400] 3D viewer moved when sliding the tare calibration sliders

Release 2.41.0

Release Date: 27 Dec 2020

API Changes

https://github.com/IntelRealSense/librealsense/wiki/API-Changes#version-2410

New Features

  • #7802 - [D400] FW Update - 5.12.10.0
    • Bug fixes and improvements
  • #7808 - [L515] FW Update - 1.5.3.0
    • Bug fixes
  • #7851 - [OpenVINO] Compatibility to both 2019/2020 versions of the openVINO was added. Compatibility for 2019 and 2020 versions of the openVINO for the openVINO wrapper examles and realsense-viewer has been added. Addresses 6127.

Bug Fixes and Enhancements

  • #7983 - [Linux] Kernel 5 improvements:
    Changes in v4l backend implementation applicable for Kernels 4.16+ only:
    • v4l backend - use multiplexing to handle metadata and video payloads
    • Modify UVC_URBs from 5 to 16 to mitigate frame drops in uvcvideo
    • Minor enhancement in manual patching script
    • Frame drops unit-test refactoring
  • #8005 - [Linux] Fix for video buffers guard
  • #7993 - [Network Device] Update rs-server to the latest Live555.
  • #7977 - [Android] Enabled advanced mode is not supported
    Display the advanced mode option only when it's actually supported. (RS5-8619)
  • #7911 - [D400] Emitter On /Off and Emitter Always On enabling together avoided (DSO-16064)
  • #7938 - [D400] On-Chip Calibration - Focal Length Enhancements
  • #7915 - [D400] On-Chip Calibration support for csharp wrapper Add on-chip calibration call in csharp wrapper.) contributed by @mengyui
  • #7535 - [D400] On-Chip Calibration - Focal Length calibration and merged Tare Ground Truth. Added on-chip focal length calibration and merged tare ground truth
  • #7872 - [L515] IR Reflectivity report at 15% resolution
    IR Reflectivity resolution changes to 15% increments. Add stabilized_value utility class and use it to smooth low-rate changes to the output value. (RS5-9611)
  • #7759 [SDK] Convert frame to frameset in post processing filters. Make allocations consistent for all processing blocks. Addresses #7584 (DSO-15250)
  • #7339 - [Linux] Update packages error.
    A solution to issue #5092.
    error : E: Unable to locate package libdrm-amdgpu1-dbg I ran apt-cache search libdrm-amdgpu1-dbg and it returned libdrm-amdgpu1-dbgsym and libdrm-amdgpu1.
    Contributed by @bestaps
  • #7774 - [SDK] input to try_parse ROS record method updated** (DSO-16068)
  • #7931 - [MacOS] IMU was temporarily switched off on Mac OS Processing of IMU data was temporarily switched off in case of Mac OS usage to prevent the viewer and examples applications crash. Contributed by @sokolov19830711
  • #7878 - [PCL] Fixes
    Introduce cmake flag.
    Add try-catch for main function of pcl-color example. Contributed by @manson
  • #7876 - [PCL] Fix wrapper building Searching procedure for headers and libs of the GLFW libriary was modified for using with the internal version of GLFW. Contributed by @sokolov19830711
  • #7885 - [L515] Fix error during AC when alt-IR isn't available
  • #7887 - [OpenCV] rotate point cloud example was added. Contributed by @Allius27
  • #7881 - [libusb] Work-around for libusb breaking changes in Master branch (v1.0.24)
  • #7836 - [Python] Add run-unit-tests.py ability to run tests by name
  • #7842 - [Network Device] Fix for the API usage removed bythe new version of Live555.
  • #7854 - [L515] Parse additional HW error types.
    Added additional "Fatal Errors" 18-24. (RS5-9443)
  • #7741 - [L515] Added unitests for alt-IR:
    • Sanity test.
    • Check that AC fails if AltIR was enable before stream start.
    • Check that AC fails if AltIR was enable after stream start.)(RS5-9423)
  • #7812 - [Python] pybind linux - Fix missing debug symbols in RelWithDebug mode. The output binary .so file of building pyrealsense2 on Linux and on configuration RelWithDebInfo do not contain debug symbols. It was caused due to a known issue with pybind11 version 2.2.1 that is used in librealsense SDK. The issue was fixed at PR1892 at pybind11 repo.
    Linux python 2.7 wheel size before this changes is : ~10 [MB]
    Linux python 2.7 wheel size after this changes is : ~70 [MB]
  • #7835 - [Python] stream_profile stream/format output now uses to_string()
  • #7794 - [Unity] For the L515 device, disabled processing blocks in the PointCloudProcessingBlocks scene, except for Temporaral Filter) contributed by @SergeySPF
  • #7840 - Fix get_stream_profiles()
  • #7833 - [Java] Download firmware image file for l500
    Add missing enum to Java wrapper (RS5-9606)
  • #7832 - [Git] fix merge issue
    Fix merge from master issue of duplicate code
  • #7818 - [Git] Retrofit Development branch with 2.40.0 changes
  • #7796 - L500] Support for FG with debug_stream_sensor Added API function get_debug_stream_profiles() that returns the list of debug formats (FG). The debug format will not be available through the sensor::get_stream_profiles() API. Added support for python wrapper. Added unit tests on python.

Known Issues

  • #2860 - Memory-leak in Pointcloud processing block.
  • #3433 - Valgrind: Conditional jump or move depends on uninitialized variable. (DSO-13700)
  • #4261 - [T265] Add ability to open multiple devices from different processes.
  • #4518 – [T265] Pose data produces NaNs. Can still occur in some cases. If detected, please attempt to make a raw data (images + IMU) recording using the recorder tool, and attach a link to it in the github issue, to assist our resolution.
  • #6009 v2.33.1 does not compile with -DBUILDEASYLOGGINGPP=OFF
  • [T265][Mac] - Start after stop is not working on Mac with the T265 camera
  • (DSO-13525) - [D400] 3D viewer moved when sliding the tare calibration sliders
  • (RS5-7374) - [L515] Error after performing HW reset
  • (DSO-15118) - [D400] Viewer is closed forcibly with cycling start/stop streaming in 3D view.

Release 2.40.0

Release Date: 18 Nov 2020

Ubuntu 20 LTS and Ubuntu 18 LTS with kernel 5 known issue:
We encountered high level of frame drops with several consecutive, compared to Ubuntu16/Kernel 4.
Streaming Librealsense with Kernel 5 results in a higher frame drop rate that is intensified by consecutive frame drops, mostly between 2-4 frames in a row, reaching 7 frames in certain cases.
The recurrence rate at which the drops appear is affected by CPU and resources utilization:

  • For streaming Depth at VGA resolution, the frame drops may occur in intervals of 5-30 min.
  • Streaming Depth+IR+RGB+IMU the frame drops will appear within 1-3 minutes.
  • IMU-enabled devices, such as D435i, D455 and L515 encounter higher rate of frame drops compared to D415 and D435.

Kernel 5 is currently the backbone of Ubuntu 18 and Ubuntu20, thus the issue would affect most users of those versions.
Note that the frame drops issue is confirmed in Ubuntu LTS 18 and 20, and it does not affect Ubuntu16 with LTS kernel 4.4.

Mitigation Plan and Alternatives
Realsense support team is working to resolve the issue on SDK and OS levels, and while the investigation is ongoing, one recommended method to mitigate this is by compiling and running Librealsense SDK with RSUSB backend - (cmake .. -DFORCE_RSUSB_BACKEND).
The main limitation of RSUSB backend is that it is not suited for multi-cam scenarios. But whenever applicable - using RSUSB backend allows to bypass the Video4Linux kernel APIs and communicate with the device using generic USB driver.
Switching to RSUSB backend provides a mitigating for sequential frame drops.

API Changes

https://github.com/IntelRealSense/librealsense/wiki/API-Changes#version-2400

New Features

  • #7802 - [D400] FW Update - 5.12.9.0

    • Bug fixes
    • Suppportfor DFU counter reset
  • #7808 - [L515] FW Update - 1.5.2.0

    • Bug fixes
    • Alternate IR option
  • #7675 - [L500] Add reflectivity estimator to Depth Quality Tool
    Calculates and provides LiDAR reflectivity estimation.

    • Add "RS2_NOISE_ESTIMATION" option
    • Add "RS2_ENABLE_IR_REFLECTIVITY" option
    • Add reflectivity algorithm class
    • Add display at the DQT application
    • Current calculations for display occurs at frame rate
      Note: This PR does not contain all logical conditions for activating IR Reflectivity (RS5-9263)
  • #7672 - [L500] Add Alternate IR
    Requires firmware_version 1.5.2.0+. (RS5-9266);

  • #7637 - [L500] Add Max Usable Range feature
    Max Usable Range calculates the maximum range of the camera given the amount of ambient light in the scene.

    • Added to Viewer + LibRS API (not DQT)
    • New option : RS2_OPTION_MAX_USABLE_RANGE
    • New LibRS API function "rs2_get_max_usable_range"
    • Add sensor extension "RS2_EXTENSION_MAX_USABLE_RANGE_SENSOR"
    • Wrappers handling (tested on C#, Python, C++)
    • Requires FW version >= 1.5.0.0 (added NEST (Noise-Estimation) value to temperatures)
      (RS5-9263)
  • #7692 - Ubuntu 20 (Focal) Support
    Alpha level - see above note.
    Update the patches list with Ubuntu Focal configuration. (DSO-16026)

  • #7518 - Add support for Jetson Xavier
    Adding kernel patches for V4L driver for Jetson with Ubuntu18, tested with L4T version 4.2.3, 4.3 and 4.4 Jetson installation guide update.
    (DSO-15132)

  • #7470 - Tensorflow Examples (DSO-15262)

Bug Fixes and Enhancements

  • #7706 - [L500] Add Reflectivity option restrictions
    • When changing resolution (sensor mode) during streaming and Enable IR Reflectivity on , IR reflectivity will be disabled (With no error pop up window)
    • ROI restriction is not addressed on this PR
      (RS5-8358)
  • #7724 - [L500] Disable AC if Alt IR is on. Throw exception when "Alt IR" is on and user asks for AC.
  • #7718 - Trim newlines utility function
  • #7635 - Udev rules power down (On kernel 5.x.x.x there is an issue with iio sensors - some of them does not reduce power consumption after connection. This udev-rules correction disables the sensor after it's initial connection. (DSO-15863)
  • #7548 - Update rsutil.h (In order to remove a warning generated by Rust bindgen) contributed by @neilyoung
  • #7693 - Fix Platform Camera streaming and controls
    • Reenable Webcam streaming, with YUYV/2 and MJPEG formats.
    • Present USB type field.
    • Extract UVC Header timestamp (metadata) when applicable.
  • #7687 - Fix Resource deadlock avoided exception on thread join (It's illegal to call _thread->join(); in capture_loop(). Setting _is_capturing = false breaks to outer while loop, and the thread should be terminated.) contributed by @Domos
  • #7689 - Colorizer - fix division by zero (RS5-8689)
  • #7698 - [Viewer] Fix out-of order resources deallocation Continued from #7647. (DSO-15827)
  • #7700 - [Viewer] Fix playback Resuming in 3D viewer (Fixed :
    • Resuming of playback and 3D viewer are now coupled , when resuming playback - 3D automatically promoted from pause to to play.
    • Stop uploading texture when playback is running and 3D viewer is resumed.
      (DSO-12584)
  • #7673 - [D400] Skip enabling HDR if already enabled (DSO-15909)
  • #7697 - [Java] Fix syntax error on Option.java.
  • #7674 - ROS dependencies update Remove some dependencies to be build dependencies. (DSO-15133)
  • #7558 - **[D400] HDR-merge and sequence-id-filter proc blocks Also add ROS recorder read/write (DSO-15980)
  • #7619 - Fw logger tool adding sleep
    Adding a sleep between each fw log polling. Default value is hardcoded in the tool's code. Can be passed from command line with -s <sleep_in_ms> flag (DSO-15939)
  • #7645 - Fix colorizer - Get depth units from depth_sensor API.
    Get depth units from depth_sensor API instead of disparity_info to support also l500. [#7089](https://github.com/IntelRealSense/librealsense/issues/7089)
    Disabling histogram equalization leads depth map to void. (RS5-8868)
  • #7668 - [Python] Fix Python API backwards compatibility for "lld_temperature"
    Python API to support both lld_temperature and ldd_temperature. (RS5-9334)
  • #7543 - [D400] HDR live tests update Checking lrs version, FW support options and metadata available.
  • #7649 - [Viewer] Improve IR stream footer text.
    Remove the equal mark from IR stream footer text on mouse picking. (DSO-15449)
  • #7301 - [MacOS] define SQLITE_HAVE_ISNAN so xcode 10 will compile
    When trying to build librealsense using xcode 10 on macOS 10.14 I ran into the following build error: "SQLite will not work correctly with the -ffast-math option of GCC.
    The following stackoverflow post suggests defining SQLITE_HAVE_ISNAN in order to fix that error: https://stackoverflow.com/questions/48917320/getting-gcc-error-when-using-sqlite-and-fast-math-sqlite-will-not-work-correct .
    contributed by @robtherich
  • #7573 - [NodeJS] Resolve errors and deprecated warnings when build wrapper on nodejs 12
    • Updated jsdoc to 3.6.6 to support nodejs 12, but it drop compatibility with nodejs 6.
    • Update nan for latest version.
      contributed by @whsol
  • #7648 - [Viewer] Remove dots from some of the controls tool tip. (DSO-15513)
  • #7650 - [L500] Spelling fix for LDD option
    Fixed spelling mistake of LDD Temperature option on get_string(), The enum value cannot be changed due to backward compatibility. (RS5-8371 )
  • #7653 - Improve the description of alternating_emitter_option. (DSO-15512)
  • #7367 - rs-convert tool supports extracting frame\time ranges (DSO-11742)
  • #7613 - [cmake] Add MULTITHREADED/APARTMENTTHREADED selector flag.
    Sets the param passed to CoInitializeEx call (Windows only) (DSO-15197)
  • #7625 - [Unity] Adapting wrapper to Unity 2018-2020
    • Deleted GUI Layer from some scenes
    • Added AR Background Resitrictions for prevent using old classes in Unity 2020)
      contributed by @SergeySPF
  • #7632 - [NodeJS] Add missing enums to nodejs wrapper and python script for check enums
    contributed by @whsol
  • #7604 - Handle exception in uvc_sensor::acquire_power
    Reduce the reference counter in case that exception throws in acquire_power (RS5-9071)
  • #7627 - Filter only intel product line on DQT tool
    DQT recognizes platform camera when no Realsense device connected. (DSO-15662)
  • #7600 - [L515] - Add temperature fetcher thread
    Periodic read of temperatures and noise estimation values once depth sensor is on.
    Precondition for reflectivity tool + max range
    Description:
    • A new temperature fetcher thread is created on depth sensor start and closed on stop.
    • All of temperature clients get it from a "get_temperatures" new function
    • get_temperatures function return the protected fetcher values or read directly from the FW is no fresh values from the thread
    • N-Est values are exposed only with FW ver 1.5.0.0+ (RS5-9263)
  • #7610 - [Viewer] FW update error popup fix (DSO-15557)
  • #7563 - [L515] Add digital gain option that replaces ambient light option
    • Add digital gain option at same option value as ambient light.
    • Add comment on LRS API option ambient light that it is deprecated.
    • Replace ambient light option registration with digital gain option (same value for both) from L515 depth sensor
    • Add it to all wrappers
    • Add special case for python wrapper for dealing with 2 options with the same value
    • no ambient == high gain
      (RS5-9152)
  • #7598 - Fix humidity option compilation (Fix for PR 7474 compilation issue)
  • #7474 - Add description to l500-options (RS5-8665)
  • #7572 - Added default ctor and initialized valid
    Added a default constructor for thermal_calibration_table class, and in non-default constructor added an initialization of _header.valid.
  • #7554 - Enable BUILD_EASYLOGGINGPP=OFF contributed by @hsuys
  • #7452 - Add time utility classes + UT
    • Add a space for common utility classes.
    • Take timer helper functions from rendering.h , refactor + add functionality and place on timer.h utility file
    • Replace all time functions usage with new classes
    • Add unit tests for 3 new classes)
  • #7551 - [L500] Pick K_th fixes
  • #7542 - [HDR] Return nullptr instead of throwing exception
  • #7437 - Identify L515 USB2 DFU mode
    L515 Units with old payload 0 on the device connected with USB2 is identify as D4xx device on DFU mode. This PR use the DFU version to determine is the DFU device is L515 or D4xx. (RS5-8812)
  • #7493 - Fix Viewer GUI freeze due to DFU and SW update pop ups interference
    Both processes try to open a popup modal from the same popup tree level, which is not supported in ImGui.
    • Handle error message during SW update process (Do not allow pop up from inside a pop up).
    • Display SW update popup only when no other expended notification is being displayed.
      (RS5-8934)
  • #7500 - Fix sporadic spinning bug in rs-motion.cpp If the first gyro frame is received before the first accel frame the "first" flag is cleared and the timestamp value is incorrect. This separates the flags to be method specific.
    Addresses #4915)
  • #7512 - Fix error poller method.
    • Support graceful sensors closure on switching to DFU mode.
    • Minor formatting and wording corrections.
      (RS5-8661)
  • #7522 - [HDR] Enhancements
    Replace exceptions with log writing when accessing affected controls while in HDR mode.
    Adding HDR unit-tests suite.
    (DSO-15603), (DSO-15592)
  • #7514 - [L500] Fix GlobalTimer
    Fix FW clock readings. Addresses #7508 (RS5-9117)
  • #7023 - Fix warning C4005 macro redefinition
    ex: warning C4005: 'WIN32_LEAN_AND_MEAN': macro redefinition. contributed by @chadbramwell
  • #7515 - Fix black pixel at upper left corner Remove setting upper left pixel on viewer to 0,0,0 (Black) (RS5-8960)
  • #7501 - [Python] Add D455 product id to python-rs400-advanced-mode-example.py
    Even though a hardcoded list of magic numbers is a bad practice, the example should work with the new D455 sensor. contributed by @Petrox
  • #7440 - [Viewer] make snapshots for IMU and pose frames. (RS5-8691)
  • #7490 - Add L515 humidity temperature option (RS5-9069)
  • #7468 - Fix depth stream freeze in post-processing Use streams_origin to find out the origin ID of stream in case the frame is after some post-processing.
  • #7451 - Fix stuck depth scene in texture mapping (RS5-8690)
    #7413 - Improve the message at the end of the recording (RS5-8698)
  • #7297 - [L500] Krgb-thermal support
    Reading k-thermal table from FW and use it to correct k-rgb according to current humidity temp, the k-rgb that written to FW is without the thermal correct ,but user will get the corrected one.
  • #7438 - added CMake error when BUILD_WITH_TM2 is on but IMPORT_DEPTH_CAM_FW is off (RS5-8833)
  • #7412 - Improve error message
    Improve the error message in custom preset when sensor_mode is incompatible with requested resolution. (RS5-8797 )

Documentation

  • #7725 - update installation.md for Udev rules power down
    add "at" installation to installation.md
  • #7061 - Document the order of the coefficients in rs2_intrinsics::coeffs
    I could not find the order of the distortion coefficients in the Realsense documentation so I am adding them to it. I am assuming that they follow the order that is used in OpenCV for its distortion coefficients. contributed by @foohyfooh
  • #7329 - Fix documentation in C API examples
    Fix some comments in the documentation of C API examples. contributed by @gsaponaro
  • #7382 - Fixed Typos in Documentation contributed by @harshmittal2210

Known Issues

  • #2860 - Memory-leak in Pointcloud processing block.
  • #3433 - Valgrind: Conditional jump or move depends on uninitialized variable. (DSO-13700)
  • #4261 - [T265] Add ability to open multiple devices from different processes.
  • #4518 – [T265] Pose data produces NaNs. Can still occur in some cases. If detected, please attempt to make a raw data (images + IMU) recording using the recorder tool, and attach a link to it in the github issue, to assist our resolution.
  • #6009 v2.33.1 does not compile with -DBUILDEASYLOGGINGPP=OFF
  • [T265][Mac] - Start after stop is not working on Mac with the T265 camera
  • (DSO-13525) - [D400] 3D viewer moved when sliding the tare calibration sliders
  • (RS5-7374) - [L515] Error after performing HW reset
  • (DSO-15118) - [D400] Viewer is closed forcibly with cycling start/stop streaming in 3D view.
  • (DSO-15250) - [Viewer] with OpenVINO stops the RGB stream when IMU is activated

Release 2.39.0

Release Date: 1 Oct 2020

API Changes

https://github.com/IntelRealSense/librealsense/wiki/API-Changes#version-2390

New Features

  • #7453 - D4xx Firmware - v5.12.8.200

    • Important: the firmware is intended to be used with SDK v2.39.0(+) and is not compatible with the previous Librealsense releases
    • Add RGB stream from Left IR imager (D455).
    • HDR Functionality for D400 Depth sensors
  • #7466 - L515 Firmware - v1.5.1.3

    • Support for USB2
    • Support QVGA resolution
    • Controls and stability improvements
  • #6916 - [D455] Add synthetic RGB from left imager

  • #7205 - [Android] Enable USB weak host workaround to improve android stability
    Enable L515 android stability workaround. Current USB buffer settings in device require large number of small USB transactions from device to USB host controller, some hosts with relatively weak host cannot handle this many transactions quickly, results in stability issues, camera disappear from os enumeration or one of the streams dies during stream, etc. This workaround uses larger buffer settings to reduce the number of transaction and improve performance and stability. Workaround is enabled by default for all android platforms. Requires additional firmware command support in new firmware release. (RS5-8011)

  • #7354 - Depth HDR Functionality (Alpha Release) A new Depth enhancement feature implemented in both Host and the Device Firmware that allows to improve Depth data in adverse light conditions by merging data from consecutive frames. At its core the feature allows to configure and run Depth and IR stream with per-frame specified exposure and gain values (sequence of 2 frames). Dedicated metadata attributes allow to associate the arriving frames with the configuration established by user.
    When arrived on host a specially-designed Merge processing block shall be utilized to fuse depth data from the incoming frames. Additionally a Filtered Id processing block is provided that allows to forward Depth and IR frames that correspond to even/odd frames of the sequence.
    The feature is integrated with Realsense-Viewer application via a set of dedicated controls and post-processing blocks.
    It is an Alpha release, and will be followed by a White Paper for in-depth presentation and usage guidance.
    (DSO-15603)
    Complementary PRs:

    • #7257 - [HDR] Split/Merge processing blocks infrastructure
    • #7354 - [HDR] Support for sub-preset configuration
    • #7397 - [HDR] Adjust metadata names
    • #7404 - [HDR] Update metadata sequence id
  • #7385 - [Network-device] support for D455 and L515, update list of supported streaming configurations

Bug Fixes and Enhancements

  • #7409 - [Python] Reverting the parametrized get_depth_frame
  • #7403 - [Windows] Fix crash on stop sensors Use auto reset event instead of manual event (RS5-8921)
  • #7368 - [Android] Correct the order in the extensions list Change in rs_extension had been done while the new enums were added out of order.
  • #6564 - [Core] Min Distance can't get higher value than the Max Distance Affects Threshold Filter and Depth Visualization (DSO-12346, DSO-12163)
  • #7344 - [L515] Disable unsigned FW update for unlocked units
  • #7330 - Refactor error polling with shared/weak ptr instead of unique_ptr. (Switch to shared/weak ptr model for active object handler. Follow up on #7272. (DSO-15542)
  • #7334 - [L515] Fix DFU crash DFU update on L515 is generating an exception and fails the update process. The Asic serial number structure retrieved from the DFU FW has reversed bytes order then expected. This PR address this issue and treat the data at the real FW implementation order. (RS5-8843)
  • #7323 - [Viewer] Fix SW update crash (When connecting a device, the SW Update checks whether a new version is available.
    • Use a weak ptr for the SW update detached thread
    • Reduce the DB download tried to 1 (still 5 seconds timeout) (RS5-8694)
  • #7325 - [L515] Remove SW limitation of noise filter range (Previous SW min limit=2 for noise filter option)
  • #7272 - Stability enhancemets Follow up on #7330.
  • #7246 - [L515] Callback receives depth+infrared when only depth is requested (Add test: "test-depth-only" - checks that if depth is the only profile specified when opening a sensor, the callback given at sensor.start() will be called for depth frames only)
  • #7294 - [Viewer] SW Updates - Fix UI issue + allow use of local DB file
    • Overcome ImGui issue that cause an error pop_up closing the updates window. (always force open it unless no need) -Allow local version's DB file use. (Treat "file://" prefix as local file path)
  • #7269 - [L515] Filter IR frames if were not requested by the user (RS5-8734)
  • #7203 - [L515] Fix GVD fields for S.N. & lock statuses (RS5-8550)
  • #7293 - [L515] Fix crash when connecting L515 device to the Viewer application
    • Addresses issue caused on PR 7126 caused by a virtual function call from inside L515 ctor -- replaced with a member variable.
  • #7278 - Report reason for stream stop (HW errors) (RS5-7657)
  • #7259 - [Linux] named_mutex: release if exception occurs while locking. (Addresses deadlock in viewer when unplugging camera while streaming and then plugging it back Add to unit-tests (multicam_streaming test) - test streaming of depth only due to known issues with alternate streaming of color. (DSO-15623)
  • #7248 - [Tools] Print FW logs with host clock () contributed by @ashrafabuesba
  • #7241 - Bundled firmware update no longer fail if backup step fail (The flash backup was a mandatory step at the firmware update. At this PR we allow to proceed with the update even if the backup step fail. (DSO-15599)
  • #7213 - Fix a wrong argument in "CreateEvent" call contributed by @libdavid
  • #7238 - Add rs2_cah_trigger_to_string to realsense.def
  • #6304 - **BUILD_EASYLOGGING = OFF ** (compiles with -DBUILD_EASYLOGGINGPP=OFF and unit_tests pass. Addresses #6009
  • #7207 - [Viewer] Fix crash on Fw update enhancement over PR7165. (DSO-15554)
  • #7186 - [Viewer] Prevent imGui state corruption in Viewer by encapsulating exception handling. (DSO-15542)
  • #7184 - Fix SW update links (The SW Update links filling were mistakenly comment out on a LLVM unused variable warning fix This PR undo it and removed the unused variables.)
  • #7158 - [L515] Remove depth invalidation option
  • #7165 - [Viewer] Disable click on fw update buttons when streaming (DSO-15554)
  • #7171 - Uncomment "message" call (Call to message(STATUS "Checking internet connection...") was commented.) contributed by @libdavid
  • #7161 - Fix backward button issue with viewer. (the function rs2_playback_seek behind the playback::seek function can't receive negative timestamps. (DSO-15533)
  • #7164 - Add OpenCV license to NOTICE
  • #7147 - [L515] Fix CAH unit-tests file separators in Linux
  • #7148 - added 'using std::abs' in types.h to avoid Linux bug (This fixes a bug where compilation occurs on Ubuntu 16, where GCC decides to use abs(int) and this obviously causes bad results. The global ::abs() should really never be used, but I found no good way of removing it. (RS5-8641)
  • #7133 - [Viewer] Fix ctrl+Num keys not rendering on viewer terminal
    • Viewer application does not support special keys like '_' (all of shift + Num keys) as inputs. The code that was removed on this PR is the reason. It was inserted as part of the terminal feature to allow copy-paste capabillity.
  • #7131 - Occlusion bug fix Addresses #6990. (RS5-8522)
  • #7126 - [L515] Update tagged profiles for USB2
    • Remove raw resolutions processing blocks
    • Update L515 tagged profiles to support USB2 resolutions
    • Remove viewer resolutions + FPS constrains for USB 2 (behavior stayed the same due to tagged profiles) (RS5-8384)
  • #7097 - Fix sensor mode exception on QVGA resolution (USB2)
    • Sensor default mode change from XGA to [USB3 -> VGA], [USB2 -> QVGA]. (RS5-8352)
  • #7105 - [L515] Fixed bug on manual trigger: (movement_from_last_success is always true in manual trigger.)
  • #7094 - [L515] Handle dynamic number of intrinsic tables for USB2 support On L515 device we get 2 depth resolutions on USB3 and 1 on USB2. This PR replace sharing the FW raw data vector with a physical preallocated full size buffer (Support up to 5 resolutions) Same change apply for depth and color intrinsic tables handling.
  • #7072 - [L515] Set default values for color sensor controls for calibration (For better results the CAH process require default values to some of the RGB sensor controls. When the CAH process need to open the color sensor, it will check and set the sensor controls to it's default values if needed. When the CAH need to stop the color sensor or if the user will open the sensor while CAH opened it, it will restore the values to it's previous ones if needed. )
  • #7092 - Call to callback from optimize() and optimize_p(), also on non debug mode. (Call to callback from optimize() and optimize_p() also on non debug mode, to enable stop in time if needed)
  • #7075 - Small optimization in CAH plus removal of two annoying repetitive messages in Viewer
  • #7074 - [L515] New CAH limiters & handling per VAL request
  • #7076 - [Python] Fix GIL locks in calibrated_sensor APIs which can cause frame drops
  • #7071 - [L515] Disable auto CAH by default and update bundled L515 FW version to 1.4.1.2

Known Issues

  • #2860 - Memory-leak in Pointcloud processing block.
  • #3433 - Valgrind: Conditional jump or move depends on uninitialized variable. (DSO-13700)
  • #4261 - [T265] Add ability to open multiple devices from different processes.
  • #4518 – [T265] Pose data produces NaNs. Can still occur in some cases. If detected, please attempt to make a raw data (images + IMU) recording using the recorder tool, and attach a link to it in the github issue, to assist our resolution.
  • #6009 v2.33.1 does not compile with -DBUILDEASYLOGGINGPP=OFF
  • [T265][Mac] - Start after stop is not working on Mac with the T265 camera
  • (DSO-13525) - [D400] 3D viewer moved when sliding the tare calibration sliders
  • (RS5-7374) - [L515] Error after performing HW reset
  • (DSO-15118) - [D400] Viewer is closed forcibly with cycling start/stop streaming in 3D view.
  • (DSO-15250) - [Viewer] with OpenVINO stops the RGB stream when IMU is activated

Release 2.38.1

Release Date: 27 Aug 2020

API Changes

https://github.com/IntelRealSense/librealsense/wiki/API-Changes#version-2381

New Features

  • #6970 - D4xx Firmware - v5.12.7.100

  • #6997 - L515 Firmware - v1.5.0.0

    • Controls and stability improvements

Bug Fixes and Enhancements

  • #6150 - global_timestamp_reader: no blocking.. Prevent calls for get_device_time_ms from frame thread. Continue system_time-hw_time equation through time loop.
  • #7017 - Fix reporting distance with SW device (DSO-15441)
  • #6933 - Release CComPtr cause to access violation
  • #6926 - Fw logger bug fix. Fixing timestamp in new fw logger message (DSO-15394)
  • #6945 - Android stability fixes - Camera app performance/stability issues:
  1. fix pipe.stop() issues a) problem: null pointer segfault cause: thread synchronization in dispatcher fix: add additional lock in invoke_and_wait. b) problem: invalid address segfault in uvc_streamer, active_object, dispatcher flows cause: double release of memory in destructors due to synchronization issue in watchdog, active_object, dispatcher, and primarily uvc_streamer. fix: add additional state check and synchronization. c) problem: invalid address segfault in pipeline flows cause: double release of memory in pipeline destructor to stop pipeline twice, the extra stop come from JNI code when handle is deleted and invokes destructor which tries to run stop() again. fix: do shared pointer reset when profile active (also this is when they are initialized). d) problem: invalid address segfault at various points depends on workload cause: uvc_streamer shared pointers cleared at the wrong time, not cleared when stream stopped, so it tries to stop the streamer a second time during destruction fix: destroy uvc_streamers after stream is stopped and no active profiles e) problem: invalid address segfault in device info destructor through JNI stack cause: appears to be double releasing as JNI stack references the pointer fix: avoid delete in JNI, need to confirm it's released on native stack.
  2. problem: invalid address segfault related to stream profiles cause: profile data array copy in JNI, jlong is 64-bit but pointer could be 32-bit, should not xcopy the entire buffer fix: copy array elements
  3. problem: invalid address segfault related to query sensors cause: sensor data array copy in JNI, jlong is 64-bit but pointer could be 32-bit, should not xcopy the entire buffer fix: copy array elements
  4. problem: camera app performance degradation and stability issues after repeated device disconnect/connect app cannot recover if device disconnected in middle of starting streaming cause: activity operations executed multiple times due to activity instances and sequence issue fix: create single activity instance, manage its creation and destruction, and correct sequence.
    (RS5-8219, DSO-15293, DSO-15294, DSO-15358, DS5U-4588)
  • #7008 - Query Projector capability from FW (DSO-15453)
  • #7000 - Increase logs queue size on viewer (The current queue is at default size of 10, that means that at a viewer cycle when the logs queue is full after 10 logs the output window will miss logs. This PR increase the logs to 100 in order to display a peek of logs.)
  • #6567 - Viewer starts without Documents directory. Fixes #5707 (DSO-13589)
  • #6950 - Fix viewer error while trying to replay a bag file with confidence stream
  • #6929 - Remove dependency on fts.h (fts.h is included in these two backend-v4l2 files but not actually used.) contributed by @dbolkensteyn
  • #6954 - Fix extrinsics related log_warnings while recording on L515 (Fix a log warning when recording RGB / Confidence streams on L515 devices)
  • #6998 - Set L500 Depth Invalidation flag to false by default
  • #6999 - Remove Y8I conditional invocation for USB2 (DSO-15468)
  • #7007 - Add missing string to rs_sensor_mode enum
  • #7046 - Always open IR stream with depth on L515
  • #7004 - Disable CAH buttons on viewer device menu

Documentation

  • #7034 - Link fix () contributed by @fburak
  • #7011 - Update imu calibration white paper public web link (The latest IMU white paper refresh was published to a different web link than previously documented in read.md. This change is to update the link. No impact to calibration script or user.)

Pre-Release 2.37.0

Release Date: 27 Jul 2020

  • #6872 - Adjusting Unity package to work with L515 out of the box (This PR is introducing couple of small changes with regards to IR stream indexing to ensure Unity sample works with both D400 and L500 families of cameras. Following-up on #6579 and #6859
  • #6891 - Adjust windows cmake build to v3.6+
  • #6848 - pointcloud::calculate add const specifier contributed by @ohadmen
  • #6884 - Pyrealsense2-net wrapper (follow-up on https://github.com/IntelRealSense/librealsense/pull/6171 by @lramati. Adds pyrealsense2-net wrapper for realsense2-net extension module)
  • #6889 - Re-enable Thermal Compensation loop (Requires FW v5.12.7+ Tracked on:DSO-14980)
  • #6645 - Fix rs-tracking-and-depth with T265 contributed by @pjessesco
  • #5800 - Fix a bug concerning connection to multiple cameras by several threads or processes with V4L2 backend (Linux). Tracked on: DSO-13745
  • #6880 - Adding GPIOs state to metadata (Field added in metadata in order to support GPIO Input Data. Triggered by jira ticket: DSO-15379)
  • #6793 - Controls emitter options list changed to dynamic (Triggered by jira ticket: DSO-15273. In android camera application, the relevant values for the emitter options are now dynamic. This implements also the requirements due to jira ticket: RS5-8168)
  • #6818 - Android Wrapper - Projection API functions added. Triggered by jira ticket: DSO-15199
  • #6858 - Improved Error Handling for SDK tools (On Windows, the Viewer & DQT could silently fail in certain situations, now all errors will be reported with an option to submit as a new GitHub ticket)
  • #6786 - Fix the return value of poll_for_frames in MATLAB wrapper contributed by @mengyui
  • #6809 - remove rs_terminal_parser.h - obsolete file
  • #6779 - Auto-exposure Priority Mode tooltip text corrected (Tooltip text corrected so that the user would understand the implications of turning ON/OFF the Auto Exposure Priority button in realsense viewer. Tracked on: DSO-13683)

Release 2.36.0

Release Date: 9 Jul 2020

API Changes

https://github.com/IntelRealSense/librealsense/wiki/API-Changes#version-2360

New Features

  • #6782 - New 4xx FW v5.12.6.0 - Stability and performance enhancements
  • #6694 - New L515 FW v1.4.1.2 - Stability and performance enhancements
      • (RS5-6586) - [L515] Corrupted Depth and IR
  • #6679,#6623,#6666,#6743 - RealSense-Viewer Enhancements
    • Firmware logs window to streamline profyling and debugging (DSO-14959)
    • Terminal for Firmware commands and calibration data window (DSO-15212)
  • #6587 - [L515] Add IMU Calibration and Motion Correction support
    • Support L515 IMU calibration and motion correction
    • Updated L515 extrinsic
    • Keep lazy design, use default intrinsic in case valid calibration data is not available on device
    • Calibration instruction aligned for all D400 and L515 devices with IMU
      (RS5-7834)
  • #6594 - Android intrisics extrinsics added to wrapper (Adding Intrisic and Extrinsic libRS API to the Android wrapper)
    • rs2_get_extrinsics
    • rs2_get_video_stream_intrinsics
    • rs2_get_motion_intrinsics
      Resolves #4580 (DSO-14957)

Bug Fixes and Improvements

  • #6680 - [C#] Add L500 preset enum -Add enum similar to Rs400VisualPreset to easily set Option.VisualPreset for L500 devices. contributed by @jangernert

  • #6615 - [C#] fix L500 intrinsic initialization. Addresses #6609 contributed by @jangernert

  • #6709 - [Linux] Update patch-arch.sh - Fix for on Manjaro Linux. Extending the patch for Depth Metadata. contributed by @puzzlepaint

  • #6727 - [L515] NUM_OF_DEPTH_RESOLUTIONS reverted." (return NUM_OF_DEPTH_RESOLUTIONS to 2 for backward compatibility.

  • #6722 - [MacOS] Fix imGui Font, habdle LLVM warnings:

    • Adding new imGui font results in artifact similar to #4558;
    • remove unused variables;
    • re-order ctor init lists to rectify potential out-of order value initialization
  • #6723 - [L515] Resolutions alignment and Algo recording

    • Update the num of resolutions.
    • Separate the dir of algo recording from files names
  • #6700 - [L515] Fix Confidence Stream handling (Enabling confidence stream causes missing depth frames)

  • #6699, #6693 - [Android] WaitForFrames timeout adjustment for L515 (switched to 5sec default)

  • #6622 - MSVC screening

    • static casts; unused variables; excessive #define usage
  • #6668 - [L515] Provision for additional streaming profiles - USB2 mode. (RS5-7992)

  • #6644 - [Unity] Fix the value of RS2_OPTION_FILTER_MAGNITUDE contributed by @mengyui

  • #6654 - Linux Updates and Fixes

    • Fix streaming CNF4 with kernel 4.19+
    • Add patches for kernel 5.4 LTS (Bionic)
    • Retrofit FG/INZC/PAIR/Z16H FourCC into patches to eliminate irrelevant warnings.
    • Patches script - fix Ubuntu tag selection to filter 4-digit kernel versions.
    • Fix patches for the deprecated Bionic/4.18 branch.
      (RS5-8037)
  • #6672 - [Android] fix stability issue on strea.stop (fix invoke_and_wait regression (caused by https://github.com/IntelRealSense/librealsense/pull/6203).
    (RS5-7999), (DSO-15084)

  • #6220 - [Python] Move bindings into separate cmake target (* Move python bindings into a separate cmake target so we can install them separately. Also install the python bindings into python's sitearch, not in /usr/lib64 (or /usr/local/lib64)
    Resolves #6124. contributed by @morxa

  • #6617 - [L500] Block return to Default Preset + cancel max_range on stream start (System requirement - Trying to return to visual preset "Default" should generate an error on the viewer + exception on the API. (RS5-7898)

  • #6639 - [Viewer] Fix UI crash when disabling measurement (On the viewer/depth quality tool if a user pressed on "Measure" button while a measurement is active, the application crashed.

  • #6629 - [SDK Core] Hexify helper method name in test changed to char2hex (Same name of helper function in global namespace lead to failure in linkage.)

  • #6625 - [L515] UI Adjustments Cosmetic changes for l515 (RS5-7661)

  • #6621 - [Viewer]: Fix Depth ROI button for D4xx (DSO-15009)

  • #6593 - Add capability to override the official SW update server url - Debugging Capability

  • #6581 - [CUDA] Fix broken compilation (Fix gcc-pedantic remarks). Resolves #6573 (DSO-15134)

  • #6405 - [Core SDK] Move to Catch2 version 2.12.1 (Only affects unit-testing)

    • Catch2 changes the way we do approximate-equals comparisons, and we now define our own approx() (rather than the Catch Approx()) for customizability.
    • Also fixed some warnings.
  • #6595 - [CI] Travis update nodeJs version to 10.15.3 (regression on travis-cs nodeJs build)

    • Mocha latest verison no longer support NodeJs version 6 https://github.com/mochajs/mocha/releases #4164:
    • Mocha v8.0.0 now requires Node.js v10.0.0 or newer. Mocha no longer supports the Node.js v8.x line ("Carbon"), which entered End-of-Life at the end of 2019)

Documentation

Known Issues

  • #2860 - Memory-leak in Pointcloud processing block.
  • #3433 - Valgrind: Conditional jump or move depends on uninitialized variable. (DSO-13700)
  • #4261 - [T265] Add ability to open multiple devices from different processes.
  • #4518 – [T265] Pose data produces NaNs. Can still occur in some cases. If detected, please attempt to make a raw data (images + IMU) recording using the recorder tool, and attach a link to it in the github issue, to assist our resolution.
  • #6009 v2.33.1 does not compile with -DBUILDEASYLOGGINGPP=OFF
  • [T265][Mac] - Start after stop is not working on Mac with the T265 camera
  • (DSO-13525) - [D400] 3D viewer moved when sliding the tare calibration sliders
  • (RS5-7374) - [L515] Error after performing HW reset
  • (DSO-15118) - [D400] Viewer is closed forcibly with cycling start/stop streaming in 3D view.
  • (DSO-15250) - [Viewer] with OpenVINO stops the RGB stream when IMU is activated
  • (RS5-8167) - [Viewer] Firmware Update process may generate unnecessary warning/popup message that must be clicked to proceeds
  • (RS5-8011) - [Android] L515 looses connection under stress streaming.

Release 2.35.2

Release Date: 10 Jun 2020

API Changes

N/A

New Features

  • #6487 - Introduce L515 Depth Camera official support.
  • #6480 - L515: Firmware version 1.4.1.0.
    • Fix Horizontal shift of depth map.
    • Recommended firmware with this release.
  • #6423 - Viewer 3D view enhancements:
    • 3D interactive measurements
    • Shading with Diffuse Light mode
    • Updated UI
  • #6457, #6548 - Viewer: Add check-for-updates capability to streamline SW updates. The feature would provide notification in case of software changes/new version releases (RS5-7674).

Bug Fixes and Improvements

  • #6488 - Linux: Remove libusb warning on device removal.
  • #6484 - Core: fix memory leak in occlusion-filter. (RS5-7793).
  • #6467 - Core: Fix Multi-camera behavior with RSUSB backend. Follow up on 5615. Should address #5614, #5935, #6084.
  • #6487 - L515 Fixes and enhancements:
    • PID update + enable metadata support.
    • Remove unnecessary froms from validator (RS5-7628)
    • Fix memory leak in validator (RS5-7715)
    • Fix playback crash (RS5-7726)
  • #6492 - L515: Viewer to include recommended FW for the said SKU (RS5-7866).
  • #6492 - L515: Adjust projector power default mode (RS5-7780).
  • #6500 - L515: IMU Calibration script to support said SKU. (RS5-7793).
  • #6503 - Linux: Adjust fix for build with GCC 5.3.
  • #6539 - Libcurl: Fix for non-default build configurations.

Known Issues

  • #2860 - Memory-leak in Pointcloud processing block.
  • #3433 - Valgrind: Conditional jump or move depends on uninitialized variable. (DSO-13700)
  • #4261 - [T265] Add ability to open multiple devices from different processes.
  • #4518 – [T265] Pose data produces NaNs. Can still occur in some cases. If detected, please attempt to make a raw data (images + IMU) recording using the recorder tool, and attach a link to it in the github issue, to assist our resolution.
  • #6009 v2.33.1 does not compile with -DBUILDEASYLOGGINGPP=OFF
  • [T265][Mac] - Start after stop is not working on Mac with the T265 camera
  • (DSO-13525) - [D400] 3D viewer moved when sliding the tare calibration sliders
  • (RS5-7374) - [L515] Error after performing HW reset
  • (RS5-6586) - [L515] Corrupted Depth and IR
  • (DSO-15118) - [D400] Viewer is closed forcibly with cycling start/stop streaming in 3D view.

Release 2.35.0

Release Date: 31 May 2020

API Changes

https://github.com/IntelRealSense/librealsense/wiki/API-Changes#version-2350

New Features

  • #6480 - D4xx: Firmware version 5.12.5.0.
  • #6176 - T265: Firmware version 0.2.0.951.
    • Make initial yaw consistent when starting forward, backward, up and down.
    • Fix intermittent descriptor/imu corruption
  • #6205 - Extended cam sync mode to support full slave and genlock modes

Bug Fixes and Improvements

  • #6470 - Android: Detach event was generated instead of Attach event. Addresses #6452, (DSO-15065,DSO-14493).
  • #6318 - MATLAB: Add missing mapping for depth_frame::get_units() contributed by @mengyui.
  • #6321 - Linux: Fix aarch64/arm detection. Depending on the compiler, -dumpmachine can output any aarch64-* or arm-*, such as aarch64-suse-linux or arm-suse-linux-gnueabi, not only aarch64-linux-gnu or arm-linux-gnueabihf.) contributed by @ggardet.
  • #6434 - DQT: UI fixes and enhancements (DSO-14283).
    • Fix UI units.
    • Log Plane Fit RMS % error metric)
  • #6429 - Support FW Flash scheme 106 (Required for FW v5.12.4.+).
  • #6308 - rs-convert rework
    • Switch to sensor callback API (except for ply export)
    • Assign file names based on frame timestamp (instead of frame number)
    • Generate metadata text file per frame
  • #6427 - Fix dead-lock on multi-threaded log invocations Addresses #6231, #6393 (DSO-15016).
  • #6420 - LRS Network Extensions: Live555 3rd party compilation fix.
  • #6417 - Fix Memory Leak in frame-validator PB (RS5-7715)
  • #6375 - Fix Syncer Memory Leak (Fix for #6337 contributed by @MojamojaK
  • #6350 - Thermal Compensation option provisioning (DSO-14980).
  • #6355 - Manual gain setting to override AE (changing gain manually with Auto-Exposure on should disable AE instead of error), addresses #5952 (DSO- 14638).
  • #6328, #6188 - LRS Network Extensions: Hot Fixes.
  • #6315 - Disable creation of unnecessary log files Configure filename for logging ONLY if it was requested, in which case minimum_file_severity is different than RS2_LOG_SEVERITY_NONE.) contributed by @AndrejOrsula.
  • #6299 - GlSL occlusion (implement occlusion removal on gpu with glsl.
  • #6305 - Add notification for L500 corrupted frames.
  • #6143 - Android: Fix YUYV preview for the RGB stream in camera app.
  • #6288 - CMake Set depth invalidation enabled by default.
  • #6290 - Win metadata script fix (DSO-14805, DSO-14653).
  • #6203 - Fix RSUSB messaging takes 20 msec (fix signalling in concurrency.h invoke_and_wait function. Was waiting until timeout and missing the signal, Addresses #6206.
  • #6198 - Python: add log_to_callback add rs2::log_message, rs2::log_to_callback() and rs2::log() to python wrapper.

Documentation

Known Issues

  • #2860 - Memory-leak in Pointcloud processing block.
  • #3433 - Valgrind: Conditional jump or move depends on uninitialized variable. (DSO-13700)
  • #4261 - [T265] Add ability to open multiple devices from different processes.
  • #4518 – [T265] Pose data produces NaNs. Can still occur in some cases. If detected, please attempt to make a raw data (images + IMU) recording using the recorder tool, and attach a link to it in the github issue, to assist our resolution.
  • #6009 v2.33.1 does not compile with -DBUILDEASYLOGGINGPP=OFF
  • [T265][Mac] - Start after stop is not working on Mac with the T265 camera
  • (DSO-13524) - Viewer crash when running Update Unsigned FW with signed FW image (unlocked units only)
  • (DSO-13525) - 3D viewer moved when sliding the tare calibration sliders

Release 2.34.0

Release Date: 31 Mar 2020

API Changes

https://github.com/IntelRealSense/librealsense/wiki/API-Changes#version-2340

New Features and Enhancements

  • #6136 - RealSense Device over Ethernet (from #5999) (CAMOE-11) Alpha
    • rs-server tool is a stand-alone application for streaming Depth and RGB sensors. Currently the server provides partial functionality for D415 and D435 cameras, on Linux only.
    • A new extension module realsense2-net was introduced to encapsulate depth camera streaming and management over network. Configured with BUILD_NETWORK_DEVICE Cmake flag, currently limited to Linux and Windows OS.
  • #6026 - OpenVINO Face Detection toolkit is integrated into realsense-viewer (DSO-13910) - Requires Windows SDK Installer, not included in the standalone viewer.
  • #6097 - On-Chip Calibration (OCC) fine-tuning (DSO-14650):
    • OCC health check error for values <0 is now based on error magnitude.
    • OCC More Options, White Wall is set as default for D415.
    • Tare-cal, The Avg step default values when you hover on the name are now compatible with the number shown (20).
    • Tare is set to last value the user typed.
    • Error messages is shifted slightly to the left and the box is bigger.
    • Progress bar during Tare is updated.
  • #6118 - [Software Device] Add API to break circular dependency with Active Object
    • The new rs2_software_sensor_detach function should be called on all instances of rs2::software_sensor stored inside the Active Object.
  • #6000 - [L500] Add HW Sync Enable control (RS5-6978)
  • #6109 - [rs-fw-logger] Parse parametric floating point input (RS5-7008)
  • #6098 - [CMake] Make firmware URL overrideable (as proposed in 5114 by @mikepurvis)
    • Permits the firmware binaries to be mirrored on-site for more restrictive CI environments that do not permit external network access at build time.
  • #5996 - [API] Add depth_frame::get_units() convenience API
  • #5997 - [SR305] Fix device designation (DSO-14170)
  • #6006 - [D400] Added emmitter always on option (DSO-14265)
  • #5879 - [Core] Establish 0x0B5B, 0xB5C SKUs (DSO-14577)
  • #5961 - [API] Add rs2_allocate_synthetic_motion_frame (DSO-14645)

Bug Fixes and Improvements

  • #6161 - [Video4Linux] Fix broken activation of custom deleter in RAII. Ensure custom deleter is called by passing non-null pointer in ctor. Contributed by @anmelleSlamcore .
  • #6149 - [Software Device] invoke pixels deleter. Make sure frame deleter is called even if no streaming is active.
  • #6151 - [Python] revert save_to_ply options to properties (using properties with getter functions fixes static compilation)
  • #6137 - [EasyLogging] Fix logger activation (Fix typo)
  • #6133 - [MSVC] Visual Studio 2019 compilation fix
  • #6040 - [RaspberryPi4] Update installation script for Raspbian Buster
  • #6043 - [Global Time] Handle get_device_time delay (occasionally the may takes up to ~250 ms resulting in frame drops).
  • #6037 - [Metadata] Fix time domain handling (DSO-13182, DSO-14314)
    • (Track and update metadata presence continuously to handle cases where v4l driver produces zeros
  • #6083 - Fix 100% CPU usage when using libusb
    • Replace broken dispatcher with a thread to fix 100% CPU usage. Addresses #5783, #6062.
  • #6029 - [D435i] Fix imu motion correction
    • Motion Correction is calculated and to be applied in the same CS as the depth sensor
  • #6022 - Odroid kernel patch scripts update contributed by @chlakshminarayana
  • #5991 - [Android]Fix for USB disconnect-recovery flow (DSO-14132)
  • #6064 - []API Fix Emitter_On option (DSO-14265)
  • #6044 - [Matlab] Fix broken include in wrapper
  • #6021 - [Python] Add missing cpp file into CMakeLists
  • #5922 - [C++] Dynamic cast compatibility contributed by @militaryCoder
  • #5970 - [Matlab] Matlab bindings fixes (Address #5906, #4453, #5236 (DSO-14313)
  • #5977 - [Metadata] Minor fixes and enhancements
    • Fix the behaviour of "Enable Metadata" button on Windows
    • Add horizontal and vertical FOV to rs-enumerate-devices
  • #5988 - [T265] Fix default USB permissions for T265 (Android) contributed by @smartynenko
  • #5622 - [C#] C# Wrapper Reference Counting for Sensor/Device. Fixes #5369, contributed by @JBBee
  • #5333 - [Software Device] Enhancement Fix python wrapper FW update callback (DSO-14348)
  • #5579 - [T265] Updated T parameters in rotated camera odometry example. contributed by @krazycoder2k
  • #5483 - [ROS] remove rosdep 'linux-headers-generic' contributed by @christian-rauch
  • #5665 - [C++] notification registration route to base sensor. Fixes #5479
  • #5853 - [C#] Add the missing distortion fisheye model contributed by @mengyui
  • #5910 - [Android] Handle Resources deallocation
  • #5921 - [Core] Downgrade UVC warning messages
  • #5929 - [Core] Typo in rs-ar-advanced.cpp contributed by @pjessesco

Documentation

Known Issues

  • #2860 - Memory-leak in Pointcloud processing block.
  • #3433 - Valgrind: Conditional jump or move depends on uninitialized variable. (DSO-13700)
  • #4261 - [T265] Add ability to open multiple devices from different processes.
  • #4518 – [T265] Pose data produces NaNs. Can still occur in some cases. If detected, please attempt to make a raw data (images + IMU) recording using the recorder tool, and attach a link to it in the github issue, to assist our resolution.
  • #6009 v2.33.1 does not compile with -DBUILDEASYLOGGINGPP=OFF
  • [T265][Mac] - Start after stop is not working on Mac with the T265 camera
  • (DSO-13524) - Viewer crash when running Update Unsigned FW with signed FW image (unlocked units only)
  • (DSO-13525) - 3D viewer moved when sliding the tare calibration sliders

Release 2.33.1

Release Date: 1 Mar 2020

Enhancements

  • #5946 - FW 5.12.3.0 for D4xx Devices Stability and Power Management fixes and enhancements

  • #5741 - Visual presets and new options for L500 (RS5-6455):
    Options:
    - confidence,
    - post_processing_sharpness ,
    - pre_processing_sharpness ,
    - noise_filtering , - avalanche_photo_diode,
    - laser_gain,
    - min_distance, - invalidation_bypass,
    - ambient_light
    Presets:
    - RS2_L500_VISUAL_PRESET_NO_AMBIENT,
    - RS2_L500_VISUAL_PRESET_LOW_AMBIENT,
    - RS2_L500_VISUAL_PRESET_MAX_RANGE,
    - RS2_L500_VISUAL_PRESET_SHORT_RANGE
    Serialization support:
    - save and load options/presets with JSON.

  • #5584 - log_to_callback + unit-tests:
    Fixes OpenVino test-cases in static (non-shared) builds.
    Fixes some of the warnings repeatedly given (from headers) during compilation.
    Travis "Linux - cpp" build is now "Linux - cpp - static" and uses static (non-shared; BUILD_SHARED_LIBS is off) compilation.
    Added unit-testing mechanism:

    • Any test-*.cpp (and, in future, test-*.py, etc.) under unit-tests/ is a unit-test
    • Tests can be nested inside directories
    • Each test creates its own project (in Visual Studio under Unit-Tests, with same nested structure) and thus its own executable
    • A script (unit-tests/run-unit-tests.py) runs all unit-tests and exits with status 1 or 0
    • Unit-tests can be specifically shared or static
  • Unit-tests are now run in Travis, in both shared and static builds
  • BUILD_SHARED_LIBS is now a compiler definition, too
  • Added rs2::log_to_callback, rs2_log_to_callback, rs2_log_to_callback_cpp
    • Minimum level can be set for a callback (e.g., warnings and above)
    • Added RS2_LOG_SEVERITY_ALL, same as _DEBUG, so it's easier to say "log all messages"
    • 21 unit-tests under unit-tests/log/
  • #5751 - Linux Kernel 5 and 5.3 fixes and enhancements (DSO-14299):
  • Fixes:
    • UVC and metadata node matching shall use non-lexicographic sort in v4l. Applicable for kernels 4.16+.
    • Enforce Video/Metadata sync by using two-stage blocking calls. This replaces I/O multiplexing to ensure the pairing of video and meta nodes payloads.
    • Check libusb return value to prevent null de-referencing and segfault.
    • Enforce Metadata polling is performed when invalid video buffer is encountered to ensure Video/Metadata node sync.
    • Fix hardware fps calculation when the frame number being reset internally by the FW, such as in SCP Overflow case.
  • Enhancements:
    • Make unified kernel patches for LTS v5.0 and v5.3.
    • Re-enable unattended patch by overriding patch --merge inconsistency with try/apply. Github #5710
    • Adjust metadata validation heuristics in SKU-neutral manner to allow for D400, SR300 and L500 md payloads.
    • Check Metadata/Video nodes buffers synchronization by comparing the kernel sequence buffers
  • Addresses #5319, #4543. Relevant for the following ROS issues 1024, 1047, 1060, 492.
  • LabVIEW Package ** update with SDK v2.33.0**

  • #5796 - Syncer to bypass IMU frames for L500 (RS5-5558):

    • Added composite_identity_matcher that passes frames to callback without synchronize them.
  • #5792 - Android streamer start time increase fix (DS5U-4538, DSO-14302):

    • (Autoclosable try added for getting device into Updatable - bug was only in the Android wrapper.
  • #5789 - Android multicam fix (DSO-14133):

    • Start/stop multicam application fixed
  • #5780 - RS2_OPTION_FREEFALL_DETECTION_ENABLED (RS5-6461):

    • When an L500 camera experiences free-fall (is dropped) a safety mechanism is triggered and turns off the depth sensor to protect moving parts inside the camera.
  • #5698 - #4297 Multicamera IMU data mix up (DSO-13711):

    • HID devices now use the unique-ID assigned to their parent node (which is the USB node), letting them be properly associated with the proper composite device.
    • Multiple HID cameras should be identified correctly.
    • Addresses #4297
  • #5801 - rs-fw-logger - regression fix (DSO-14405)

  • #5716 - rs-enumerate-devices fixes and enhancements (DSO-14190):
    Revert -s option to invoke a one-line description per device.
    Add -S to provide the device node data (used to be -s)
    Addresses #5423

  • #5768 - On-Chip and Tare Calibration Fixes:
    Minor fixes and quality of life improvements for OCC and Tare features

  • #5791 - Disable all L500 depth processing blocks except for the Temporal Gilter

  • #5785 - Fix typo (apriltag_pose_destory -> apriltag_pose_destroy) contributed by @pjessesco

  • #5645 - T265 Serial Number Compatability:
    Keep the serial number of the T265 compatible with the libtm format (8XXXXXXXXXXX rather than 00008XXXXXXXXXXX). By @radfordi

  • #5889 - Fix memory leak in v4l2 backend with kernel 4.16+.

  • #5923 - License for Windows INF file update. Addresses #5809

Community Contribution:

  • #5750 - Ill-defined for loop fix. by @JTrantow

  • #5769 - Update camera renderer:
    Make SR305 and L500 appear correctly in the 3D view.

  • #5623 - One Viewer Context:
    Avoid creating multiple unused rs2::contexts.

  • #5747 - Remove the std::move() on const. See Issue5746.:
    Resolves #5746) contributed by @JTrantow

  • #5702 - Fix for conversion from RGB to BGR in the OpenCV wrapper helpers file:
    Related to #5701.
    Without converting to a seperate cv::Mat object, the conversion would not happen on my machine. This seems to be the case for other users, see this example.). Contributed by @cedriclmenard

  • #5724 - Fix typos. Contributed by @ruffsl

  • #5734 - Fix what appears to be a copy/paste redundant code problem:
    Addresses #5733 - Change second conditional to test values_ir.size(). By @JTrantow

Release 2.32.1

Release Date: 23 Jan 2020

Enhancements

#5678 - Enable metadata with a single click on Windows UVC frame metadata on Windows is causing a lot of questions and confusion, adding a single click solution that would be applicable from within the Viewer. contributed by @dorodnic

#5700 - Upgrade D4XX firmware to 5.12.2.100

  • Maintenance update: performance and stability improvements

#5687 - Upgrade T265 firmware to 0.2.0.926

  • Fix map load hangs
  • Fix USB serial number (remove trailing zeros)
  • Support for remove_static_node
  • Fix map export hangs based on map sizes (#5394)
  • Fix immediate NaNs based due to a specific initial condition
  • Fix export without import or start
  • Allow export of imported but not started maps

#5213 - Replace libtm with direct communication with T265 This PR removes libtm completely and makes T265 a first class driver in librealsense. In more detail, it:

  • Removes libtm and remnants of older products and directly communicates with T265
  • Uses the librealsense usb abstraction for booting T265 and communicating with it
  • Unifies firmware download into common/fw
  • Fixes many issues on macOS
  • Fixes multi-process issues caused by libtm greedily claiming the device
  • Adds hardware reset support
  • Allows export of map while running
  • Logs an error when the user tries to stream video data over USB 2 connections
  • Fixes the pipeline resolution bug mentioned in #4506

Contributed by @bfulkers-i

#5356 - T2XX sample: new ar-advanced sample to show map import/export and get/set static node APIs

  • Import localization map from raw data file before starting T2xx tracking.
  • Export localization map to raw data file after T2xx tracking ended.
  • Command line options to specify raw data file paths for the above map import/export.
  • Set up a callback to receive relocalization event from the device and action after the event.
  • Get static node from imported localization map after relocalization event detected.
  • Set static node before localization map exported.

Contributed by @honpong

#5468 - Add sensor extensions Add color_sensor, motion_sensor and fisheye_sensor extensions. Enable the option to dev.first<rs2::color_sensor>() or sensor.is<rs2::color_sensor>() etc. Contributed by @doronhi

#5529 - .NET VideoStreamProfile.Clone added
Cloning a profile is sometimes needed when writing custom processing blocks. Contributed by @ogoshen

#5419 - Merge Android development branch Adds the following features:

  • Terminal
  • FW Logger
  • FW Backup
  • Extend stream stats
  • Basic Controls tab - Emitter mode only for now

Fixes issues:

  • Pipeline memory leak
  • Recordings functionality
  • Permissions issues

Bug Fixes

#5691 - Fix possible bug in device-hid detection Comparison to capacity(), which can be greater than size(), can lead to wrong logic contributed by @maloel

#5639 - T265 time sync: filter outliers Global timestamp will show deviation due to global timestamp base adjustment every 500ms, contributed by @cchen6

#5597 - VAAPI HEVC Main10 hardware depth encoding example contributed by @bmegli

#5586 - Add support for POWER9 CPUs on Linux Tested on a Raptor Computing Blackbird motherboard with an IBM POWER9 CPU, running Void Linux PPC. Contributed by @AlbertoGP

#5626 - Adding links to community projects

#5589 - L500 duplicated IR frame fix
IR frame was processed from both IR-id and from zero order processing blocks. Now IR frame is not passed-through by default when zero order is disabled Tracked-on: RS5-6159

#5677 - Prevent UVC frame overflow with v4l Add heuristic to drop UVC overflow frames with v4l kernel prior to v4.16 Handle GCC pedantic Tracked on: DSO-14370

#5627 - Remove Accelerometer 50Hz profile (Tracked-on: RS5-5473)

#5636 - Fix for memory overrun when parsing metadata Trim frame size when the metadata is present but invalid Add heuristics to validate metadata existence. (assume d4xx format) Tracked on : DSO-14292

#5637 - Include stddef in usbhost.h usbhost.h uses size_t, which is defined in stddef.h. This change includes stddef.h header. Contributed by @jonberling

#5534 - Fix motion and motion correction routines

  • Fix reported HID frame size required for unpacker
  • Motion correction and handling:
  • Query motion correction option at run-time
  • Assign the intrinsic data to the processing block and switch to cached data
  • Fix data flow management
  • Move exception handling to initialization
  • Assign default MM axis rotation for unsupported SKUs Addresses #5515, possibly #5496, #5498) contributed by @ev-mp

#5574 - Added action_delayer and remove gamma correction control.

  1. Added action_delayer to enable delayed action
  2. Remove gamma correction control from RGB sensor

#5264 - Update installation_osx.md (Make it work on Catalina) contributed by @neilyoung

#5155 - update pyglet to 1.4.x The pyglet class pyglet.clock.ClockDisplay has removed in 1.4.x. Use pyglet.window.FPSDisplay instead. Addresses #255. Apply the changes from #3887 Contributed by @mengyui

#5387 - polling_device_watcher: fix race between construction and start Device watchers do not notify for devices that already exist when they are constructed (e.g. win_event_device_watcher), but polling_device_watcher was also not notifying if devices were added between construction and start. This aligns polling_device_watcher with win_event_device_watcher. Contributed by @bfulkers-i

#5444 - CMake: unix_config, set CMAKE_POSITION_INDEPENDENT_CODE
And remove manually set fPIC. CMAKE_POSITION_INDEPENDENT_CODE properly sets fPIC for libraries and fPIE for executables. Contributed by @jirislaby

#5443 - common: fw-update-helper, don't compare addresses
create_default_fw_table tries to compare "" with another string. But both are addresses. Use strlen in that case. Issue: #5525, Contributed by @tylerjw

#5521 - Fix extrinsics commutativity
Manually create a new stream profile for every clone needed by the sensor while initializing the stream profiles, instead of cloning via the raw profile. Cloning the profiles caused extrinsic registration with incomplete profiles. Addresses #5451

#5522 - Fix recording crash Recording unsubscribe signal was not called properly, causing sensor hooks to be called even after the record device object was destroyed.

#5421 - Typo removed
Contributed by @neilyoung

Release 2.31.0

Release Date: 9 Dec 2019

API Changes

TBD

Bug-fixes and Enhancements

  • #5402 - Promote recommended D400 firmware to 5.12.1.0 contributed by @ev-mp
  • #5360 - Add rs-dnn-vino sample (rs-dnn-vino This example demonstrates OpenVINO™ toolkit integration with object detection, using basic depth information to approximate distance) contributed by @maloel
  • #5377 - Change default RGB resolution (Default change to HD 30) contributed by @arilowen
  • #5386 - Warning fixes (Fixes a few minor warnings encountered on macOS) contributed by @bfulkers-i
  • #5399 - Fix xhci_build flags handling (Limit the xhci_patch to LTS v4.4 only, improve robustness. The bug fix resolved in v4.18 is being actively back-ported by Ubuntu, e.g 4.4.0-170. Assume that this may occur for other kernel branches as well) contributed by @ev-mp
  • #5380 - fix openni2 wrapper convertDepthToColorCoordinates (Оnly intrinsics are used in the function Rs2Stream::convertDepthToColorCoordinates, which leads to a small error due to the fact that the depth and color cameras are offset relative to each other) contributed by @DarkCon
  • #5325 - Update t265_rpy.py (Reverting regression regarding negative signs introduced with last commit to this PR. The negation of z and y is required in order to obtain similarity to the previous sample code (used in the ArduPilot project)) contributed by @neilyoung
  • #5208 - Option to preserve T265 maps in memory for subsequent starts contributed by @radfordi
  • #5370 - Update tinyfiledialog to v3.4.1 and set map extension (The version of tinyfiledialog we have doesn't allow by extension file selection on macOS (see #5245 and #5196). Even the newest version doesn't seem to allow *.* selection, so this PR introduces the .map extension of T265 localization maps) contributed by @bfulkers-i
  • #5283 - Openvino sample (This example demonstrates OpenVINO™ toolkit integration with facial detection, using basic depth information to approximate distance) contributed by @maloel
  • #5346 - Added API for depth auto calibration. (Added auto_calibrated_device extension for on-chip (plane fit RMS) and tare calibration (absolute distance). Use this API in viewer and added example on python for auto calibration. Fixed viewer to put the default resolution on top and fixed default resolution in D435) contributed by @aangerma
  • #5344 - Android add pipeline profile partial support (Only get device function is supported for now) contributed by @arilowen
  • #5352 - Version compatibility enhancement. Relax version compatibility constrain from strict identity to the standardized convention:
    1. The versions are compatible when the majors align and the version minors hold (lib_ver >= exe_ver)
    2. Patch number version does not affect compatibility.
  • #5353 - Synchronize D400 devices using timestamp by default, and not frame counter contributed by @arilowen
  • #5234 - Upgrade T265 firmware to 0.2.0.879 contributed by @radfordi
    1. Double map size.
    2. Fix loading maps with a previously loaded map that hadn't relocalized #4593
    3. Relocalization significantly improved for areas up to 50 sq. m: testing indicates fast (< 5 seconds) relocalization for typical environments and usage with non-static T265 device.
    4. Addressing #4593 – [T265] Map corruption after repeated export and import
  • #4275 - Fixed inconsistent return type (Fixes the following error (GNU Make 4.2.1): error: inconsistent types 'bool' and 'int' deduced for lambda return type) contributed by @battlecry231
  • #5331 - Fix global timestamp domain query crash (DSO-13980 - Add missing global timestamp case to timestamp domain enum.) contributed by @arilowen
  • #5334 - Fix a minor bug in sorting streams (Assumes the ordering should be by format first, then index, then stream number.) contributed by @bfulkers-i
  • #5336 - Fix save_to_ply symbols in python (The core issue is that static const members are not instantiated anywhere python can access, so taking a reference to them doesn't work. Fix that by creating lambdas that return the value) contributed by @bfulkers-i
  • #5337 - Add version to python wrapper contributed by @bfulkers-i
  • #5312 - Android multicam example (- GLSurface cleans its view before each frame arrives. a. Extend wrapper API. b. Add support for multi cameras. c. Add multicamera example) contributed by @arilowen
  • #5170 - .NET Development (fix for #5054, #5071. Revert some c# sensor API changes back to non-generic) contributed by @ogoshen
  • #5200 - Add new functions to Python wrapper, update some more documentation (Addresses #5173) contributed by @lramati
  • #4720 - Automatically set supported profiles in viewer (Added functionality to the realsense viewer: when the user picks a value (resolution / fps / format / stream) that isn't compatible with the current configuration, a new configuration that supports the chosen value is set) contributed by @AnnaRomanov
  • #4396 - Smooth GlobalTimeStamp's corrections. (prevents cases where, due to jumps in sampling, global timestamps difference is much greater then the original hw timestamp difference) contributed by @doronhi
  • #5198 - Alternative, possibly simpler approach for obtaining pitch, roll and yaw from T265 pose in python contributed by @neilyoung
  • #5244 - Wheeled Odometry Calibration Setup Examples (Added basic wheeled odometry description / sample drawings/json to T265 documentation. ) contributed by @krazycoder2k
  • #5278 - Fix SR300 enumeration on linux (DSO-13973, #5230, #5233, #5219) contributed by @matkatz
  • #5053 - Adding Support-Matrix and updating Jetson docs. This PR introduces two new documentation enhancements:
    1. Rewrite of installation_jetson.md
    2. Addition of support-matrix.md trying to capture the big picture of what features are available on which platforms)
  • #5111 - Sensor refactoring (DSO-13626) contributed by @arilowen
    • Add Synthetic Sensor class.
    • Replace unpackers with processing blocks.
    • Add composite processing blocks
  • #5110 - Enhanced PLY exporter contributed by @AnnaRomanov
  • #5205 - Kernel patch adjustment for 4.4 branch (The patch provides a new option to incorporate additional 4.13-upstreamed patches for usbcore and xhci-hcd modules on top of the basic patches suite. The additional patch is a retrofit of patchwork.kernel.org/patch/11095737. The patches allow to avoid sporadic errors reproduced during stress start/stop tests that can affect certain SKUs. Tracked on: RS-5440) contributed by @ev-mp
  • #5204 - Zero the high 32 bit of 64 bit imu timestamp. contributed by @aangerma
  • #5202 - Disable GLOBAL_TIME option (Disable global timestamp by default for specific SKU) contributed by @aangerma
  • #5179 - Include USB Host license contributed by @matkatz
  • #5190 - Fix link in t265.md contributed by @levingerdes
  • #5306 - UE4 wrapper 4.24 update and Linux build contributed by @gaborpapp

Release 2.30.0

Release Date: 4 Nov 2019

API Changes

link

New Features & Improvements

  • #4975 - New Cross-platform user-space implementation for supported USB protocols named rsusb. The refactored classes replace the multiplicity of UVC device per-platform implementations (Windows, Unix, Android) with a single cross-platform code infrastructure. In order to support the UVC device requirements, some modification were introduced into rsusb API, mainly adding asynchronous API to the USB messenger. Core Features:

    • Asynchronous API added to rsusb (USB request).
    • Multiple implementations of libuvc (Win7 / Linux / Android) replaced with single implementation
    • HID device modified to work with the new asynchronous API. Impact:
    • A new CMake option named FORCE_RSUSB_BACKEND added replaces the FORCE_LIBUVC and FORCE_WINUSB_UVC flags are now marked as deprecated.
    • An update to WinUSB driver was implemented. Important - The new driver must be installed in order to use librealsense 2.30.0 or newer SDK version on Windows 7. Installation of the new driver is performed via librealsense Windows 7 installer.
  • #5169 - [T265] Firmware Upgrade to 0.2.0.857:

    • Numerical stability improvements in various NaN pose scenarios, can have positive effect on issues #4518, #5101, realsense-ros #955
    • Minor relocalization improvements (including better cross-device map compatibility), toward upcoming greater relocalization update.
  • #4936 - [T265] New notification category.(RS2_NOTIFICATION_CATEGORY_POSE_RELOCALIZATION), produced on first relocalization to an imported map

  • #5109 - [T265] display USB port chain in physical port info. by @BriceRenaudeau

  • #4966 - New face detection and depth-enabled anti-spoofing demo exhibiting machine learning algorithms with DLIB toolkit (DSO-13630).

  • #4889 - [T265] Adding Wheel Odometry python sample.

  • #4953 - A link to community project that builds Android application with librealsense. @cabelo

  • #4907 - [Realsense-Viewer] User notification improvement when the rendering format is not supported.

Bug Fixes

  • #5157 - Prevent hex formatting contamination.
  • #5106 - Acquire depth units from intrinsic. (RS5-5486)
  • #5077 - On-chip calibration crash fix
  • #5066 - [rosbag-inspector] Crash fix. (DSO-13665, DSO-13562). Addresses #4704, #4932
  • #5065 - Memory leak in hid sensor (DSO-13080, DSO-13712, DSO-13639). Fixes #4332
  • #5025 - Raspbian Buster build fix. Fix IMU streams handling. Addresses #4986, #4979, #4950, #4818.
  • #5028 - [Realsense-Viewer] Configuration file default path with white spaces was not handled properly (DSO-13701). Fixes #3779
  • #4987 - Rename foreach to foreach_rs to avoid namespace collisions with QT's "foreach" macro. #4461. Proposed by @cgpadwick's
  • #4981 - Fix min Z offset for disparity domain colorization mode by @TetsuriSonoda
  • #4967 - [Depth Quality Tool/Viewer] Metrics record fixes and improvements. Fixes #4913, #4948
  • #4945 - [rs-ar-basic] Fix extrinsic pose to camera transformation
  • #4914 - Fix White Balance control for Rolling shutter sensor.
  • #4910 - Robustness improvement: get_distance to verify user-provided pixel indexes. #4877

Known Issues

  • #2809 - Advanced C# examples bug
  • #2356 - [Python] missing python example of alignment with post-processing. (DSO-10681)
  • #2860 - Memory-leak in Pointcloud processing block.
  • #3433 - Valgrind: Conditional jump or move depends on uninitialized variable.
  • #4297 - [Windows] Multi-camera IMU Mix up. (DSO-13711)
  • #4261 - [T265] Add ability to open multiple devices from different processes.
  • #4505. - Global Timestamps wrong after long use. (DSO-13418)
  • #4518 – [T265] Pose data produces NaNs. Can still occur in some cases. If detected, please attempt to make a raw data (images + IMU) recording using the recorder tool, and attach a link to it in the github issue, to assist our resolution.
  • [T265][Mac] - Start after stop is not working on Mac with the T265 camera
  • (DSO-9065) - Frame Drops when changing depth controls while depth streaming.
  • (DSO-12940) - IMU jitters and drops events
  • (DSO-12942) - Global Timestamp: first 15 seconds of frames timestamps are unstable.
  • (DSO-13524) - Viewer crash when running Update Unsigned FW with signed FW image (unlocked units only)
  • (DSO-13525) - 3D viewer moved when sliding the tare calibration sliders
  • (DSO-13539) - [Android] Camera disconnected after streaming some duration with Android Camera Sample
  • (DSO-13541) - On-Chip Calibration stuck at 0% when in USB2 mode
  • (DSO-13072) - Firmware Update on Linux - backup procedure may takes up to two minutes
  • (DSO-13078) - Firmware Update with rs-fw-update tool. The firmware update process may fail when additional librealsense application runs in background. Make sure to close any librealsense-based application during the Firmware Update routine

Release 2.29.0

Release Date: 26 Sep 2019

API Changes

link

Bug Fixes

  • #4886 - [Pcl] Fix typo in documentation by @fburakk.
  • #4909 - Fixed bug on record-playback. (RS5-3373)
  • #4925 - [Realsense-Viewer] Fix Tare-Calibration UI. (DSO-13537)
  • #4927 - Update doxygen of pose_sensor.

Known Issues

  • Firmware Update with rs-fw-update tool. The firmware update process may fail when additional librealsense application runs in background. Make sure to close any librealsense-based application during the Firmware Update routine (DSO-13078)
  • Firmware Update on Linux - backup procedure may takes up to two minutes (DSO-13072)
  • #2860 - Memory-leak in Pointcloud processing block
  • Frame Drops when changing depth controls while depth streaming. (DSO-9065)
  • #2809 - Advanced C# examples bug
  • (Python) #2356 / DSO-10681 - missing python example of alignment with post-processing
  • [T265][Mac] - Start after stop is not working on Mac with the T265 camera
  • #3433 - Valgrind: Conditional jump or move depends on uninitialized value(s)
  • Global Timestamp: first 15 seconds of frames timestamps are unstable (DSO-12942)
  • IMU jitter and drops events [LRS] regression (DSO-12940)
  • (DSO-13541) - On-Chip Calibration stuck at 0% when in USB2 mode
  • (DSO-13539) - [Android] Camera disconnected after streaming some duration with Android Camera Sample
  • (DSO-13525) - 3D viewer moved when sliding the tare calibration sliders
  • (DSO-13524) - Viewer crash when running Update Unsigned FW with signed FW image (unlocked units only)
  • (DSO-13418) - Global Timestamps wrong after long use #4505.

Release 2.28.1

Release Date: 22 Sep 2019

API Changes

No API changes - a maintenance release.

New Features & Improvements

  • #4808 - [Realsense-Viewer] Set Decimation off by default for RGB streams (DSO-13570)
  • #4826 - [rs-fw-logger] support extended XML scheme for dedicated SKUs.(RS5-5315)
  • #4836 - [Android] Add sensor ROI support to the wrapper. (DSO-13473)
  • #4863 - Change Depth Invalidation default to false.
  • #4773 - Allow frame_queue to automatically keep frames instead of requesting the user code to call frame.keep() explicitly for each required frame.

Bug Fixes

  • #4808 - [Python] Fix A-factor access in the wrapper. Addresses #4807
  • #4809 - Fixes for save_single_frameset. Related to #4801, #4020, #3704, #3671, #2588.
  • #4830 - Wheel odometry unit-test fix.
  • #4851 - [Python] Fix typo in align-depth2color.py example by @BenDavisson.
  • #4866 - Fix RGB distortion coefficients assignment (RS5-5354).
  • #4867 - On-Chip Calibration adjustments

Known Issues

  • Firmware Update - owners of SR300 device shall not use firmware versions v3.27.xx as it overrides camera's product id (PID) and may render it non-recognizable with the client's code, especially with the legacy versions. A new compatibility enforcement policy that shall prevents accidental upgrades will be integrated in future releases.
  • Firmware Update with rs-fw-update tool. The firmware update process may fail when additional librealsense application runs in background. Make sure to close any librealsense-based application during the Firmware Update routine (DSO-13078)
  • Firmware Update on Linux - backup procedure may takes up to two minutes (DSO-13072)
  • #2860 - Memory-leak in Pointcloud processing block
  • Frame Drops when changing depth controls while depth streaming. (DSO-9065)
  • #2809 - Advanced C# examples bug
  • (Python) #2356 / DSO-10681 - missing python example of alignment with post-processing
  • [T265][Mac] - Start after stop is not working on Mac with the T265 camera
  • #3433 - Valgrind: Conditional jump or move depends on uninitialized value(s)
  • Global Timestamp: first 15 seconds of frames timestamps are unstable (DSO-12942)
  • IMU jitter and drops events [LRS] regression (DSO-12940)
  • (DSO-13541) - On-Chip Calibration stuck at 0% when in USB2 mode
  • (DSO-13540) - On-Chip Calibration with D415 and blank wall target may return "Calibration didn't converge! (EDGE_TO_CLOSE) please retry in different lighting conditions". (Note: w/a is using textured target)
  • (DSO-13539) - [Android] Camera disconnected after streaming some duration with Android Camera Sample
  • (DSO-13525) - 3D viewer moved when sliding the tare calibration sliders
  • (DSO-13524) - Viewer crash when running Update Unsigned FW with signed FW image (unlocked units only)
  • (DSO-13418) - Global Timestamps wrong after long use #4505.

Release 2.28.0

Release Date: 5 Sep 2019

API Changes

N/A

New Features & Improvements

  • #4786 - [Realsense-Viewer] Set Decimation off by default for RGB streams (DSO-13570)
  • #4749 - [Python] Code refactoring, minor fixes

Bug Fixes

  • #4788 - Fix Frame Validation (RS5-5244)
  • #4787 - Fix Jupyter Notebook. #4142, #4579
  • #4785 - Fix a potential out-of-order initialization for A-factor (DSO-13560)
  • #4774 - [Kernel Patches] Adjust Ubuntu LTS track branches for kernel sources
  • #4772 - [Realsense-Viewer] Fixing basic threading issues within on-chip calibration UI.
  • #4759 - MSVC2019 compilation fix by @UnaNancyOwen
  • #4758 - Fix deadlock on pipeline.stop() with playback device in realtime=false mode
  • #4752 - [Android] Streaming got stuck with camera APP (DSO-13453)

Known Issues

  • Firmware Update - owners of SR300 device shall not use firmware versions v3.27.xx as it overrides camera's product id (PID) and may render it non-recognizable with the client's code, especially with the legacy versions. A new compatibility enforcement policy that shall prevents accidental upgrades will be integrated in future releases.
  • Firmware Update with rs-fw-update tool. The firmware update process may fail when additional librealsense application runs in background. Make sure to close any librealsense-based application during the Firmware Update routine (DSO-13078)
  • Firmware Update on Linux - backup procedure may takes up to two minutes (DSO-13072)
  • #2860 - Memory-leak in Pointcloud processing block
  • Frame Drops when changing depth controls while depth streaming. (DSO-9065)
  • #2809 - Advanced C# examples bug
  • (Python) #2356 / DSO-10681 - missing python example of alignment with post-processing
  • [T265][Mac] - Start after stop is not working on Mac with the T265 camera
  • #3433 - Valgrind: Conditional jump or move depends on uninitialized value(s)
  • Global Timestamp: first 15 seconds of frames timestamps are unstable (DSO-12942)
  • IMU jitter and drops events [LRS] regression (DSO-12940)
  • (DSO-13541) - On-Chip Calibration stuck at 0% when in USB2 mode
  • (DSO-13540) - On-Chip Calibration with D415 and blank wall target may return "Calibration didn't converge! (EDGE_TO_CLOSE) please retry in different lighting conditions". (Note: w/a is using textured target)
  • (DSO-13539) - [Android] Camera disconnected after streaming some duration with Android Camera Sample
  • (DSO-13525) - 3D viewer moved when sliding the tare calibration sliders
  • (DSO-13524) - Viewer crash when running Update Unsigned FW with signed FW image (unlocked units only)

Release 2.27.0

Release Date: 29 Aug 2019

API Changes

link

New Features & Improvements

  • T265 Calibration APIs:
    • #4650 - write calibration APIs
    • #4717 - updating default T265 firmware to 0.1.0.279
      • Expose the ability to modify the T265 calibration (w/ #4650)
      • T265 tracking performance improvement
      • Fixes #4700 T265 load/start/stop/load/start failure
    • #4739 and #4685 - documentation enhancements
  • New OpenCV example - #4733 (Implementing "Depth Map Improvements for Stereo-based Depth Cameras on Drones")
  • #4721 - Fix format-security warnings (contributed by @morxa)
  • #4706 - [Viewer] Enable step forward and backward during playback

Bug Fixes

  • On-Chip Calibration enhancements (#4735) -
    • Integration with firmware 5.11.14 (pre-release)
    • Unlocking the feature for D435i (DSO-13538)
    • Fixing Tare calibration units (DSO-13537)
  • #4731 - Fixing Java example (addressing issues #4701 and #4693)
  • #4729 - Fix Ubuntu 32bit compilation (addressing #3448 / DSO-12283)
  • #4698 - [Android] GLFrame resource release (addressing DSO-13120)

Known Issues

  • Firmware Update - owners of SR300 device shall not use firmware versions v3.27.xx as it overrides camera's product id (PID) and may render it non-recognizable with the client's code, especially with the legacy versions. A new compatibility enforcement policy that shall prevents accidental upgrades will be integrated in future releases.
  • Firmware Update with rs-fw-update tool. The firmware update process may fail when additional librealsense application runs in background. Make sure to close any librealsense-based application during the Firmware Update routine (DSO-13078)
  • Firmware Update on Linux - backup procedure may takes up to two minutes (DSO-13072)
  • #2860 - Memory-leak in Pointcloud processing block
  • Frame Drops when changing depth controls while depth streaming. (DSO-9065)
  • #2472 - Application hangs when trying to close file replay pipeline (DSO-10749)
  • #2809 - Advanced C# examples bug
  • (Python) #2356 / DSO-10681 - missing python example of alignment with post-processing
  • [T265][Mac] - Start after stop is not working on Mac with the T265 camera
  • #3433 - Valgrind: Conditional jump or move depends on uninitialized value(s)
  • Global Timestamp: first 15 seconds of frames timestamps are unstable (DSO-12942)
  • IMU jitter and drops events [LRS] regression (DSO-12940)
  • (DSO-13541) - On-Chip Calibration stuck at 0% when in USB2 mode
  • (DSO-13540) - On-Chip Calibration with D415 and blank wall target may return "Calibration didn't converge! (EDGE_TO_CLOSE) please retry in different lighting conditions". (Note: w/a is using textured target)
  • (DSO-13539) - [Android] Camera disconnected after streaming some duration with Android Camera Sample
  • (DSO-13525) - 3D viewer moved when sliding the tare calibration sliders
  • (DSO-13524) - Viewer crash when running Update Unsigned FW with signed FW image (unlocked units only)

Release 2.26.0

Release Date: 21 Aug 2019

API Changes

link

New Features & Improvements

  • #4658 - D400 On-Chip Auto-calibration. Allows to recalibrate and therefore, improve depth quality using SDK-provided tools : realsense-viewer and rs-depth-quality. Note that this capability relies on FW version 5.13.x+ which is not yet publicly available at this stage. Follow the above link for more details.
  • #4605 - Cross platform IMU HID device. This PR brings a cross platform HID device (IMU), implemented above rsusb interface. 435i IMU streaming is now enabled on Android platform. It is also available on non-X86 platforms, such as Arm with libuvc backend (e.g. Jetson TX2 amd Nano). (DSO-11944)
  • #4433 - Add support for Firmware Update using non-signed images
  • #4492 - Python: an Ethernet client-server example code for Realsense devices. Requires python 2.7.

Enhancements

  • #4677 - Pointcloud 3D-view in Android. Addresses #4601
  • #4673 - T265 Firmware Upgrade to version 0.1.0.242 to improve start and stop reliability, and overall stability, can have a positive effect on #4592, #4518.
  • #4666 - Synchronize wrappers options with the core SDK. (matlab, node.js, python) #4288
  • #4645 - T265: auxillary function to print out motion intrinsic data
  • #4638 - T265 Documentation: fix python examples link
  • #4622 - Support for MJPEG stream for selected SKUs.
  • #4620 - Community Project: realsense with cyber update, by @mickeyouyou
  • #4618 - Windows7 : Drivers update to include support for the new and provisional model types, DFU mode. Digital certificate update as of Aug 2019.
  • #4602 - T265: Increase internal queue size to mitigate frame drops
  • #4583 - Android: SR300 firmware update improvements. (DSO-13360)
  • #4587 - D400: fix IMU data rate configuration. (DSO-13325)
  • #4582 - CMake enhancement, addresses #3024
  • #4546 - Python: Add syncer support for sensor start method. (DSO-13062)
  • #4545 - rs-enumerate-devices robustness enhancement
  • #4537 - Conform to ROS name convention. #1161
  • #4248 - Windows7 stability fixes and enhancements

Bug Fixes

  • #4678 - Fix Out-of-Memory error - Android UVC. Addresses #3612, #4091, #4215
  • #4631 - Fix default stream index for synthetic stream
  • #4616 - Fix matlab method syntax in points.m by @dpiskas dpiskas
  • #4596 - Fix memory leak in rs-multi-cam example
  • #4562 - DQT: fix plane and metric annotations when stream is paused. (RS5-3386)
  • #4561 - CMake: fix offline build with no FW image available
  • #4560 - Viewer - fix unresponsive UI on errors. (DSO-13146)
  • #4535 - Remove "Depth Visualization" tab under unrelated sensors in viewer. (DSO-12361)
  • #4531 - Use full GPG Key IDs for installing in linux by @miguelprada
  • #4507 - T265: Use the origin of the Pose frame as the baseline for sensor extrinsic

Known Issues

  • Firmware Update - owners of SR300 device shall not use firmware versions v3.27.xx as it overrides camera's product id (PID) and may render it non-recognizable with the client's code, especially with the legacy versions. A new compatibility enforcement policy that shall prevents accidental upgrades will be integrated in future releases.
  • Firmware Update with rs-fw-update tool. The firmware update process may fail when additional librealsense application runs in background. Make sure to close any librealsense-based application during the Firmware Update routine (DSO-13078)
  • Firmware Update on Linux - backup procedure may takes up to two minutes (DSO-13072)
  • #2860 - Memory-leak in Pointcloud processing block
  • [MacOS] File-Open / File-Save dialogs are not available in the Viewer / DQT, preventing import of custom presets #3781.(DSO-9162)
  • Frame Drops when changing depth controls while depth streaming. (DSO-9065)
  • #2472 - Application hangs when trying to close file replay pipeline (DSO-10749)
  • #2809 - Advanced C# examples bug
  • (Python) #2356 / DSO-10681 - missing python example of alignment with post-processing
  • [T265][Mac] - Start after stop is not working on Mac with the T265 camera
  • #3433 - Valgrind: Conditional jump or move depends on uninitialized value(s)
  • Global Timestamp: first 15 seconds of frames timestamps are unstable (DSO-12942)
  • IMU jitter and drops events [LRS] regression (DSO-12940)

Release 2.25.0

Release Date: 1 Aug 2019

API Changes

link

New Features & Improvements

  • #4340 - T265 Demo with Apriltag detection on host
  • #4327 - T265 Tracking + Depth Example

Enhancements

  • #4544 - RGB Distortion correction for the supported sensors types (DSO-8307) linked to IntelRealSense/realsense-ros#779
  • #4321 - T265 Mapping/Relocalization/Jumping Options
  • #4511 - T265 advanced options to the python wrapper: enable_mapping, enable_pose_jumping, and enable_relocalization. Follow up on #4321
  • #4478 - Support new calibration command RECPARAMSGET for D400 series
  • #4472 - RGB Auto-Exposure ROI control for SR300
  • #4448 - T265 expose Frame timestamp metadata attribute
  • #4403 - T265 to support GLOBAL_TIMESTAMP_DOMAIN (TM2-4496)
  • #4402 - Update for realsense_device_manager.py example by @NicholasWon47
  • #4389 - IMU Support for D465.
  • #4380 - Update SR300 recommended fW version to 2.26.1.0
  • #4367 - Update 3rd-party update stb_image_write.h to v1.13 by @sailfish009
  • #4365 - Remove the default 2Mb limit for log file generation (RS5-4780)
  • #4358 - Silence OpenGL deprecation warnings on MacOS 10.14
  • #4314 - Firmware Update robustness enhancement

Bug Fixes

  • #4377 - OpenCV Kinfu example dependency fix by @peterhinson
  • #4360 - Fix for udev-rules validation routine (RS5-4780) addresses #4350
  • #4329 - Easy-logging bug fix
  • #4313 - Fix python readme by @kechako
  • Firmware Update on Windows with Realsense-Viewer halts at (30-50)% progress. Troubleshoot this by disconnecting and reconnecting the camera, then rerun Firmware update process (DSO-13070)

Known Issues

  • Firmware Update with rs-fw-update tool. The firmware update process may fail when additional librealsense application runs in background. Make sure to close any librealsense-based application during the Firmware Update routine (DSO-13078)
  • Firmware Update on Linux - backup procedure may takes up to two minutes (DSO-13072)
  • #2860 - Memory-leak in Pointcloud processing block
  • [MacOS] File-Open / File-Save dialogs are not available in the Viewer / DQT, preventing import of custom presets #3781.(DSO-9162)
  • Frame Drops when changing depth controls while depth streaming. (DSO-9065)
  • #2472 - Application hangs when trying to close file replay pipeline (DSO-10749)
  • #2809 - Advanced C# examples bug
  • (Python) #2356 / DSO-10681 - missing python example of alignment with post-processing
  • [T265][Mac] - Start after stop is not working on Mac with the T265 camera
  • #3433 - Valgrind: Conditional jump or move depends on uninitialized value(s)
  • Global Timestamp: first 15 seconds of frames timestamps are unstable (DSO-12942)
  • IMU jitter and drops events [LRS] regression (DSO-12940)

Release 2.24.0

Release Date: 27 Jun 2019

API Changes

link

New Features & Improvements

Streamlining Firmware Update for D400 and SR300 Depth Cameras: A new Cross-platform firmware update capability has been introduced to facilitate the camera maintenance.
Platforms supported: Windows(*), Linux, Android, MacOS. *Before updating device please review errata below.
The capability is integrated into realsense-viewer and a stand-alone rs-fw-update tools. For more info see

  • #4267 - Firmware Update Capability and rs-fw-update tool
  • #4280 - Firmware Update integration with Viewer
  • #4304 - Firmware Update in Android camera app

Enhancements

  • #4265 - Adding Ubuntu Kernel 4.18 support. Non-LTS Kernel 5.0 is also supported with manual installation.
  • #4240 - Contradictory Camera Axis Labels for T265 #4226
  • #4237 - Android - dynamic USB read buffer size #3612, #4091, #4215
  • #4203 - Nodejs support for windows build. Documentation update

Bug Fixes

  • #4268 - Viewer - fix variables name #4157
  • #4264 - Fix Kernel 4.19+ error #2850 (DSO-11696)
  • #4251 - rs-terminal improperly selects target in case of multiple devices connected
  • #4246 - Linux file descriptors are not released when device is plugged off. Can be related to #3538 (DSO-12768)
  • #4219 - Android l500 detection issue
  • #4208 - Matlab and Python wrappers updates. Fixes #4034, #4146.

Known Issues

  • Firmware Update on Windows with Realsense-Viewer halts at (30-50)% progress. Troubleshoot this by disconnecting and reconnecting the camera, then rerun Firmware update process (DSO-13070)
  • Firmware Update with rs-fw-update tool. The firmware update process may fail when additional librealsense application runs in background. Make sure to close any librealsense-based application during the Firmware Update routine (DSO-13078)
  • Firmware Update on Linux - backup procedure may takes up to two minutes (DSO-13072)
  • #2860 - Memory-leak in Pointcloud processing block
  • [MacOS] File-Open / File-Save dialogs are not available in the Viewer / DQT, preventing import of custom presets #3781.(DSO-9162)
  • Frame Drops when changing depth controls while depth streaming. (DSO-9065)
  • #2472 - Application hangs when trying to close file replay pipeline (DSO-10749)
  • #2809 - Advanced C# examples bug
  • (Python) #2356 / DSO-10681 - missing python example of alignment with post-processing
  • [T265][Mac] - Start after stop is not working on Mac with the T265 camera
  • #3433 - Valgrind: Conditional jump or move depends on uninitialized value(s)
  • Global Timestamp: first 15 seconds of frames timestamps are unstable (DSO-12942)
  • IMU jitter and drops events [LRS] regression (DSO-12940)

Release 2.23.0

Release Date: 10 Jun 2019

API Changes

link

New Features & Improvements

  • #3998 - Add comprehensive documentation to Python via sphinx - published via intelrealsense.github.iolink
  • #4100,#4162 - Depth linearity enhancement - Mitigate the half-pixel disparity issue by adjusting the modulation amplitude. rs2_set_amp_factor/rs2_get_amp_factor Advanced-mode parameters functions. Requires FW version 5.11.9+ (DSO-12737)
  • #3992 - T265: Expose the Fisheye sensor manual exposure control.
  • #4135 - Propagating IMU HW timestamp via metadata API. Allows to retrieve IMU HW timestamp via the metadata API. Also add support for IMU metadata backend timestamps (DSO-12860).
  • #4159 - Retrofitting metadata quirks into the linux kerenel patches for additional SKUs.
  • #4012 - Add python 3.7 support (by @ClimbsRocks)
  • #4133 - Documentation enhancement (by @VasuAgrawal)
  • #4094 - CMake improvements
  • #4122, #4152 - T265: Quiet Static Nodes
  • #4078 - Add support for D4xx SKUs (DSO-12649).
  • #4149, #4119 - SKU enhancements

Bug Fixes

  • #4160 - Revisited and updated RGB extrinsic calibration recovery routine that applies to D435i that underwent upgrade to v5.11.6.200. The changes are transparent to the end user. Addresses #3788, #3949, #4050. (DSO-12820, DSO-12623)
  • #4117 - Android examples fix with config object
  • #4093 - Linux: Restore OpenMP support #4023
  • #4073 - Fix GlobalTimer prevents enter power-saving mode (DSO-12794).
  • #4032 - Fix Android error handling flow.
  • #4029 - Fix RGB calibration recovery exceptions handling (DSO-12789)
  • #4013 - T265: Improve precision tolerance of Quaternion<=>Rotation transformation to remain within 6% off the norm.
  • #4000 - T265: Fix t265_rpy.py demo.

Known Issues

  • #2860 - Memory-leak in Pointcloud processing block
  • [MacOS] File-Open / File-Save dialogs are not available in the Viewer / DQT, preventing import of custom presets #3781.(DSO-9162)
  • Frame Drops when changing depth controls while depth streaming. (DSO-9065)
  • #2472 - Application hangs when trying to close file replay pipeline (DSO-10749)
  • #2809 - Advanced C# examples bug
  • #2850 / DSO-11696 - Linux Kernel 4.19 support
  • (Python) #2356 / DSO-10681 - missing python example of alignment with post-processing
  • [T265][Mac] - Start after stop is not working on Mac with the T265 camera
  • #3433 - Valgrind: Conditional jump or move depends on uninitialized value(s)
  • Global Timestamp: first 15 seconds of frames timestamps are unstable (DSO-12942)
  • IMU jitter and drops events [LRS] regression (DSO-12940)

Release 2.22.0

Release Date: 20 May 2019

API Changes

API changes

New Features & Improvements

  • #3909 - introducing Global Camera Timestamp. The feature is a prerequisite for inter-cam synchronization and requires frame metadata attributes. The PR changes the default behavior of frame.get_timestamp() by returning the timestamp in RS2_TIMESTAMP_DOMAIN_GLOBAL_TIME. Follow the PR link for more details. Addresses #2922, #2188 (RS-3975).
  • #3654 - New Module - GLSL Processing Blocks. This pull-request introduces auxiliary realsense2-gl module. It can be used to perform common SDK processing tasks on the GPU in a relatively generic way (vendor neutral, unlike CUDA) via GLSL shaders. In addition, it serves as a proof-of-concept for future SDK extensions beyond core API.(Follow the PR link for in-depth introduction)
  • #3828 - Adding common cross-platform USB back-end API. Initially, it will be used for cross-platform FW update API and tools(DSO-10947). In the future the infrastructure will allow unified implementation for UVC/HID/TM2 for all the supported operating systems.
  • #3907 - Promote TM2 Firmware 0.0.18.5715 - re-localization and tracking stability enhancements
  • #3882 - T265: Re-enabling re-localization reports.
  • #3869 - Android OS (Java): Add post-processing filters and demo.
  • #3930 - Add realsense2-gl Debian distribution packages to support PR3654.
  • #3933 - Adding rs2_get_frame_sensor function (DSO-12656)
  • #3951 - New T265 Example: Generate Depth map from T265 Stereo sensors with OpenCv.
  • #3982 - Add a processing block to generate depth frame in metric format (RS5-4269)
  • #3993 - Add comprehensive documentation to Python wrapper via Sphinx.
  • #3956 - Unreal Engine 4 wrapper supports v4.22.
  • #3972 - Adding software_device support to C# wrapper.
  • #3820 - RealSense depth viewer community example
  • #3860 - Python Documentation - sample code enhancement
  • #3826 - C#: Expose T265-specific APIs (Localization map, Static node).
  • #3883 - OpenCv: Fix missing RS2_FORMAT_DISPARITY32 handler.

Bug Fixes

  • #3884 - T265: Pose record/playback to provide the required metadata attributes; Enable rs-enumerate-devices extract info from ROSBag record files. Addresses #3837 (TM2-4344)
  • #3976 - D435i: Rectify invalid RGB-Depth extrinsic calibration produced by FW versions 5.10.13+. Addresses #3474, #3788, #3201(DSO-12623)
  • #3900 - Fix extrinsic graph multiplications order.
  • #3901 - Fix D435i IMU extrinsic
  • #3971 - T265 FW: Fix potential issue with UNC paths and rc.exe.

Known Issues

  • #2860 - Memory-leak in Pointcloud processing block
  • [MacOS] File-Open / File-Save dialogs are not available in the Viewer / DQT, preventing import of custom presets #3781.(DSO-9162)
  • Frame Drops when changing depth controls while depth streaming. (DSO-9065)
  • #2472 - Application hangs when trying to close file replay pipeline (DSO-10749)
  • #2809 - Advanced C# examples bug
  • #2850 / DSO-11696 - Linux Kernel 4.19 support
  • (Python) #2356 / DSO-10681 - missing python example of alignment with post-processing
  • [T265][Mac] - Start after stop is not working on Mac with the T265 camera
  • #3433 - Valgrind: Conditional jump or move depends on uninitialised value(s)

Release 2.21.0

Release Date: 22 April 2019

API Changes

API changes from 2.20.x versions

New Features & Improvements

  • #3778 - T265 Firmware update to 0.0.18.5502 - re-localization and tracking stability enhancements
  • #3775 - T265 Wheel Odometer documentation updated.
  • #3771 - Android OS - add Visual Presets support. (DSO-12447)
  • #3739 - Python wrapper performance enhancement - release GIL during invocation of polling routines (DSO-12493)
  • #3736 - T265: Disable low power default mode.
  • #3729 - Streamline Linux installation instructions. (contributed by @pedrombmachado)
  • #3647 - CMake enhancements : Simplified T265 FW handling, disabling redundant downloads

Bug Fixes

  • #3810 - Fix typo in Raspbian documentation (contributed by @jonherke)
  • #3807 - Enable rs-measure with USB2 configurations
  • #3777 - Matlab installation build fix with T265 firmware.
  • #3773 - D435i: Fix D435i IMU timestamp precision (DSO-12084)
  • #3760 - Fix misalignment when generating 3D Pointcloud from Depth-Aligned-To-Color #3752. (DSO-12515)
  • #3755 - Fix "Elseif" statement in Matlab wrapper
  • #3726 - D435i: Fix HID Timestamp trimming. #3776, #3675, (DSO-12084)
  • #3702 - D435i: Fix Windows Metadata script for IMU-enabled SKUs.

Known Issues

  • #2860 - Memory-leak in Pointcloud processing block
  • [MacOS] File-Open / File-Save dialogs are not available in the Viewer / DQT, preventing import of custom presets #3781.(DSO-9162)
  • Frame Drops when changing depth controls while depth streaming. (DSO-9065)
  • #2472 - Application hangs when trying to close file replay pipeline (DSO-10749)
  • #2809 - Advanced C# examples bug
  • #2850 / DSO-11696 - Linux Kernel 4.19 support
  • (Python) #2356 / DSO-10681 - missing python example of alignment with post-processing
  • [T265][Mac] - Start after stop is not working on Mac with the T265 camera
  • #3433 - Valgrind: Conditional jump or move depends on uninitialised value(s)

Release 2.20.0

Release Date: 4 April 2019

API Changes

API changes from 2.19.x versions

New Features & Improvements

  • #3522 - Adding Pose&Image T265 example
  • #3541 - Implement T265 Fisheye camera intrinsics
  • #3563 - Implement T265 extrinsics
  • #3571 - Adding Roll-pitch-yaw T265 example
  • #3593 - Adding Basic Augmented Reality T265 example
  • #3600 - Updating Unity documentation
  • #3602 - C# development, adding cookbook.md and addressing #3418, #3419, #3557
  • #3634 - Adding pipeline callbacks API for python
  • #3643 - Simplified udev-rules installation script
  • #3669 - Integration of T265 firmware 0.0.18.5448, with better long-term stability and calibration APIs
  • #3673 - Adding documentation on update of Debian packages

Bug Fixes

  • #3610 - Fixing Raspbian documentation (contributed by RitwikSaikia)
  • #3564 - Fixing rs-convert crash (contributed by @YangJiao1996)
  • #3591 - Fixing #3435, multi-T265 display in the RealSense Viewer
  • #3641 - Fixing #3623, broken CUDA optimization of color conversion
  • #3646 - Fixes to wheel-odometry unit-test
  • #3666 - Release GIL in pipeline::wait_for_frames() (contributed by @landersson)

Known Issues

  • #2860 - Memory-leak in Pointcloud processing block
  • [MacOS] File-Open / File-Save dialogs are not available in the Viewer / DQT, preventing import of custom presets (DSO-9162)
  • Frame Drops when changing depth controls while depth streaming. (DSO-9065)
  • #2472 - Application hangs when trying to close file replay pipeline (DSO-10749)
  • #2693 - Error in reading rosbag files
  • #2809 - Advanced C# examples bug
  • #2850 / DSO-11696 - Linux Kernel 4.19 support
  • (Python) #2356 / DSO-10681 - missing python example of alignment with post-processing
  • [T265][Mac] - Start after stop is not working on Mac with the T265 camera
  • #3433 - Valgrind: Conditional jump or move depends on uninitialised value(s)

Release 2.19.2

Release Date: 27 March 2019

API Changes

No API changes in this release

New Features & Improvements

  • SDK Examples Enhancements #3548
  • [Android] Adding device query and firmware version checking #3547
  • Use CASE macro consistently #3539 contributed by @nussetorten
  • [T265] Separate wheel-odometry tests #3535
  • [T265] Enforce stream index for fisheye streams of the T265 #3521
  • [T265] Adding Trajectory example #3513
  • Improved comment on the post processing example #3509 contributed by @Heidelberger
  • Fix typo in raspbian installation #3484 contributed by yuta-imai
  • [T265] Get Motion Intrinsics #3482
  • #3478 Add arguments for python threshold filter, contributed by @codinglife001
  • [T265] Don't raise a hardware event for relocalizations #3477
  • #3471 rs-enumerate-devices enhancements
  • #3462 - Wheel odometry API: use translational velocity
  • #3459 - Adding CMake option to generate python documentation
  • [T265] Use T265 system timestamps #3453
  • [Linux] Adding minor version to the SONAME #3449 contributed by @morxa

Bug Fixes

  • [D435i][python] IMU FPS can't be changed in Python, tracked on DSO-12326, #3578
  • [Matlab] Aligning colour to depth #3577 addressing 3338
  • [Viewer] Fixing SegFault on pose stream info #3423
  • Fixing 3494 - backward compatibility break for older ROS-bag recordings
  • [T265] Fix query_devices issue with the tracking camera #3515, addressing #3488, #3465, #3361, also related to #3437, #3434, tracked on: TM2-4235
  • #3466 - Fixing USB2 being identified as USB3 in some cases
  • #3455 - Trimming HID timestamps to 32-bit, tracked on: DSO-12084

Known Issues

  • #2860 - Memory-leak in Pointcloud processing block
  • [MacOS] File-Open / File-Save dialogs are not available in the Viewer / DQT, preventing import of custom presets (DSO-9162)
  • Frame Drops when changing depth controls while depth streaming. (DSO-9065)
  • #2472 - Application hangs when trying to close file replay pipeline (DSO-10749)
  • #2693 - Error in reading rosbag files
  • #2809 - Advanced C# examples bug
  • #2850 / DSO-11696 - Linux Kernel 4.19 support
  • (Python) #2356 / DSO-10681 - missing python example of alignment with post-processing
  • [T265][Mac] - Start after stop is not working on Mac with the T265 camera
  • #3435 - multiple T265 cameras are not visualized correctly in the RealSense Viewer
  • #3433 - Valgrind: Conditional jump or move depends on uninitialised value(s)

Release 2.19.1

Release Date: 10 March 2019

API Changes

No API changes in this release

New Features & Improvements

  • Intel RealSense D430i support - #3415 and #3424 (requires firmware 5.11.6)
  • Adding pose-predict example for the T265 tracking camera
  • Preliminary Mac-OS support for the T265 (see known issues)
  • Adding support for 848x100 resolution at 100 FPS (requires firmware 5.11.6)
  • #3425 - improved Mac OS installation documentation (contributed by @yousseb)

Known Issues

  • #2860 - Memory-leak in Pointcloud processing block
  • [MacOS] File-Open / File-Save dialogs are not available in the Viewer / DQT, preventing import of custom presets (DSO-9162)
  • Frame Drops when changing depth controls while depth streaming. (DSO-9065)
  • #2472 - Application hangs when trying to close file replay pipeline (DSO-10749)
  • #2693 - Error in reading rosbag files
  • #2809 - Advanced C# examples bug
  • #2850 / DSO-11696 - Linux Kernel 4.19 support
  • (Python) #2356 / DSO-10681 - missing python example of alignment with post-processing
  • [T265][Mac] - Start after stop is not working on Mac with the T265 camera
  • #3435 - multiple T265 cameras are not visualized correctly in the RealSense Viewer
  • #3423 - possible SEGFAULT when switching into Pose Info view in the RealSense Viewer

Release 2.19.0

Release Date: 05 March 2019

API Changes

New Features & Improvements

T265 Tracking Camera

📌 The T265 tracking camera is not yet supported on Android and Mac-OS via librealsense. Support is planned to be added in a future release.

📌 Wheel-odometry is required to meet performance of <1% loop closure error on wheeled robots. Learn More...

📌 T265 map internal format will change in future releases

📌 Additional examples, white-papers and tutorials on advanced topics including wheel-odometry and relocalization map loading will be published in the future

  • Advanced T265 APIs - adding new sensors extensions allowing relocalization map load / store, static node set / get (coordinates transform between different maps) and wheel odometry input
  • Ability to unload tracking camera module - for better ROS and NCS compatibility
  • rs-pose - new example showing the basics of working with T265 tracking camera

Android

📌 The T265 tracking camera and the D435i depth camera are not yet supported on Android via librealsense. Support is planned to be added in a future release.

Other

Bug Fixes

Known Issues

  • #2860 - Memory-leak in Pointcloud processing block
  • [MacOS] File-Open / File-Save dialogs are not available in the Viewer / DQT, preventing import of custom presets (DSO-9162)
  • Frame Drops when changing depth controls while depth streaming. (DSO-9065)
  • #2472 - Application hangs when trying to close file replay pipeline (DSO-10749)
  • #2693 - Error in reading rosbag files
  • #2809 - Advanced C# examples bug
  • #2850 / DSO-11696 - Linux Kernel 4.19 support
  • (Python) #2356 / DSO-10681 - missing python example of alignment with post-processing

Release 2.18.1

Feb 07, 2019

API Changes

No C/C++ API changes in this release

New Features & Improvements

Bug Fixes

  • Fixing GLSL issue on Mac OS (#3195 contributed by @devernay)
  • #3177 - Depth quality tool issue, no point cloud visualization in 3D mode (#3130)
  • #3137, #3146, #3212, #3191 - Invalid Value in rs2_get_option error after upgrading to firmware 5.11.1.0 (#3127)
  • #2965 - D435i accelero not working on some platforms (#3200, DSO-11745)
  • #3113 / DSO-11799 - Fix bug with depth scale before starting device
  • (Python) #3111 / DSO-10988 - Add dims=3 option to get_vertices/get_texture for (h,w,n) output format

Known Issues

  • #2860 - Memory-leak in Pointcloud processing block
  • [MacOS] File-Open / File-Save dialogs are not available in the Viewer / DQT, preventing import of custom presets (DSO-9162)
  • Frame Drops when changing depth controls while depth streaming. (DSO-9065)
  • #2472 - Application hangs when trying to close file replay pipeline (DSO-10749)
  • #2693 - Error in reading rosbag files
  • #2809 - Advanced C# examples bug
  • (Python) DSO-10777 - LIBUSB_ERROR_IO on repeated sensor open/close
  • DSO-9820 - Cannot load RGB8 format in the JSON file for D415
  • (.NET) #2854 / DSO-11095 - c# D400 Series Visual Presets
  • #2924 / DSO-11705 - usbids conflicts with Movidius Neural Compute Stick
  • #2850 / DSO-11696 - Linux Kernel 4.19 support
  • (Python) #2356 / DSO-10681 - missing python example of alignment with post-processing
  • DSO-11755 - Realsense Viewer total crash when sliding Rsm controls to max value

Release 2.18.0

Jan 22, 2019

API Changes

API changes from 2.17.0 version

New Features & Improvements

  • Realsense-viewer enhancements:
    • Rendering 3D camera model in 3D view
    • Depth threshold [min/max] control
    • Adding Report Issue button
    • Adding configuration file to control and preserve UX settings
      • Control record file name and location (#2750)
      • Recording compression level (follow-up on #2687)
    • Enhancing support for POSE frame type (#3010)
  • D435i IMU intrinsic calibration (Learn More...) (#3023).
  • [Firmware 5.11+] Alternating emitter (on/off) flickering pattern (#3066 following-up on #482, #1299)
  • Upgrade to GLFW 3.3 (#3051)
  • Adding Code of Conduct (#3034)
  • Improved file structure in the C# wrapper (#3038)
  • Completing CI migration from Appveyor and consolidation all build types to Travis, including Windows. Enhancing parallel build (#2993)
  • Adding community-developed installation guide for raspbian platform (contributed by @koji)

Bug Fixed

  • #2997 - Fix IMU Start-up delay on Linux (DSO-11674)
  • #3080 - [Matlab] get_extrinsics fix
  • #3047 - Revert to a stable libusb release
  • #2540 - Using playback function in unity crash (DSO-10757)
  • #2356 - Python Decimation Filter with Aligning Frames (DSO-10681)

Known Issues

  • #2860 - Memory-leak in Pointcloud processing block
  • #2965 - D435i accel sensor fails to start on some Linux PC
  • [MacOS] File-Open / File-Save dialogs are not available in the Viewer / DQT, preventing import of custom presets (DSO-9162)
  • Frame Drops when changing depth controls while depth streaming. (DSO-9065)
  • #2472 - Application hangs when trying to close file replay pipeline (DSO-10749)
  • #2693 - Error in reading rosbag files
  • #2809 - Advanced C# examples bug

Release 2.17.0

Nov 28, 2018

API Changes

API changes from 2.16.x versions

New Features & Improvements

  • Adding rs-callback example for asynchronous (low-latency) processing with pipeline.
  • Adding new python and Matlab examples for point-cloud data visualization
  • D435i IMU is now supported on Windows 10 (#2788, DSO-10754)
  • rs-capture will now show IMU data when connected to D435i, and rest of the SDK demos will work properly.

Bug Fixes

  • #2763 - SDK can now be compiled with -Werror=shadow GCC flag
  • #2645 - fixing symbols collision with ROS libraries

Known Issues

  • #866 [Firmware] - Read device temperature
  • #774 [Firmware] RGB-Depth sync
  • #1086 [Firmware] Frames didn't arrive error - after improper shutdown
  • [MacOS] File-Open / File-Save dialogs are not available in the Viewer / DQT, preventing import of custom presets (DSO-9162)
  • #2241 Intel RealSence Viewer crash when add playback source
  • Frame Drops when changing depth controls while depth streaming. (DSO-9065)
  • #2356 Python Decimation Filter with Aligning Frames (DSO-10681)
  • #2376 cv::align not optimized (windows 10, C++) (DSO-10718)
  • #2540 Using playback function in unity crash (DSO-10757)
  • #2575 Automatic Firmware Downgrade: 5.9.2 to 5.8.15
  • #2472 Application hangs when trying to close file replay pipeline (DSO-10749)
  • #2479 USB2.1 infra-red exposure issue for short exposure times
  • #2693 - Error in reading rosbag files

Other Issues

Release 2.16.5

Nov 19, 2018

API Changes

No API changes in this release

New Features & Improvements

align_results

  • [Core] Disable platform cameras from being selected with pipeline (PR2600)
  • [Core] Refactoring of CMake configuration files - also addressing #745 issue (PR2716).
    Note that the following librealsense Cmake variables have been modified:
    realsense_INCLUDE_DIR -> realsense2_INCLUDE_DIR
    realsense_VERSION -> realsense2_VERSION
  • [Linux] Add D435i IMU patch for non-LTS kernel 4.16
  • [Matlab] Add Matlab build to CMake. Multiple fixes to wrapper 2644,
  • [Matlab] Replace toolbox' vec2mat with standard reshape in rosbag_example by @apoorva2398
  • [OpenCV] Fixing typo in Getting Started with OpenCV guide by @gideont
  • [OpenCV] Adding a key press to exit the image window by @vinaysannaiah
  • [PCL] Color example provided by @LinuxGogley
  • [OpenNI] Linux build fix by @Daichou
  • [Easylogging++] Update to v9.96.5 by @rschlaikjer
  • [Core] rs-convert documentation updated to address #2671

Bug fixes

  • #745 - CMake: fix find_package functionality
  • #2710 - Matlab wrapper: Correct error in align.m
  • #2539 - Matlab wrapper: error on context.query_devices
  • #2541 - Matlab wrapper: crash when trying to get intrinsics
  • #2487 - Matlab: wrapper typos
  • #1587 - [Libuvc] serializing json in adv mode (DSO-9702)
  • DSO-10889: IMU timestamp conversion patch with kernels 4.8/10 (PR2732).
  • DSO-10471: Remove zero-copy for YUYV (PR2653).
  • Update depth units when modified by user (PR2665).

Known Issues

  • #866 [Firmware] - Read device temperature
  • #774 [Firmware] RGB-Depth sync
  • #1086 [Firmware] Frames didn't arrive error - after improper shutdown
  • [MacOS] File-Open / File-Save dialogs are not available in the Viewer / DQT, preventing import of custom presets (DSO-9162)
  • #2241 Intel RealSence Viewer crash when add playback source
  • Frame Drops when changing depth controls while depth streaming. (DSO-9065)
  • #2321 and #2376 rs2::align optimization/performance (DSO-10718)
  • #2356 Python Decimation Filter with Aligning Frames (DSO-10681)
  • #2376 cv::align not optimized (windows 10, C++) (DSO-10718)
  • #2540 Using playback function in unity crash (DSO-10757)
  • #2575 Automatic Firmware Downgrade: 5.9.2 to 5.8.15
  • #2472 Application hangs when trying to close file replay pipeline (DSO-10749)
  • #2479 USB2.1 infra-red exposure issue for short exposure times
  • #2645[ROS] Librealsense collision with ROS API ros::Time::now()
  • #2693 - Error in reading rosbag files

Other Issues

Release 2.16.1

Sep 25, 2018

API Changes

No API changes in this release

New Features & Improvements

Bug fixes

  • #2420, #2306 - RGB decoding on non-Intel non-Android systems
  • #2430 - crash on some Android systems due to memory alignment
  • #2377 - fix for ROS file format, contributed by @shuntaraw
  • #2371 - fixing texture misalignment in the Viewer in last release
  • #1579, #1919, #2102, #2242, #2224, #2216, #2214, #2308, #2411 - Issues related to ROS-bag playback
  • Several issues related to Mac OS stability reported under #2057
  • #2354 - fixed OpenCV compilation, contributed by @neuralassembly
  • #2318 - Broken presets interface in the Intel RealSense Viewer
  • #2311 - USB 2.1 when plugging in slowly

Known Issues

  • [Firmware] Frames didn't arrive error - after improper shutdown (#1086)
  • Repeated read device temperature fail on Windows (#866)
  • [Firmware] RGB-Depth sync (#774)
  • [MacOS] File-Open / File-Save dialogs are not available in the Viewer / DQT, preventing import of custom presets (DSO-9162)
  • DSO-9702 #1587 Issue serializing json in adv mode: Value not found in map! value=8
  • DSO-9065 - Frame Drops when changing depth controls while depth streaming
  • [Firmware] - Read device temperature #866

Other Issues

Release 2.16.0

Aug 27, 2018

API Changes

API changes from 2.15.0 version

New Features & Improvements

  • #2154 - Adding Two Dimensional Data Protocols for python wrapper (by @baptiste-mnh)
  • DSO-10233 / #2265 - Adding function to project single color pixel to the depth image
  • DSO-7213 / #1038 - Matlab Wrapper
  • DSO-10202 / #2245 - making sure all SDK processing can be done consistently at frame-set level, allowing easier composition of processing

Bug fixes

  • DSO-9792 / #1899 - C# query device function doesn't release memory causing memory leak
  • #2299 - better handling of AVX compilation (by @kjkjava)
  • DSO-10262 / #2293 - D430+MM not moving to idle power state
  • #2008 / #2075 - merging general Android fixes
  • DSO-10227 / #2283 - pipeline stop & start not working on Android
  • DSO-10045 / #2002 - aligned intrinsics incorrect
  • DSO-10274 / #2187 - end of recording sometimes causes a crash
  • DSO-9160 / #1514 - Kernel 4.16 support (new metadata V4L2 API)
  • DSO-10101 / #2097 - Pre-built Intel.Realsense.dll has no version number
  • #2261 - RGBA with depth-to-color alignment
  • #2256 - avoid crash in case of illegal device ID (by @bentank)

Known Issues

  • Repeatedly changing exposure of d435 brings down a camera (#1687)
  • [Firmware] Frames didn't arrive error - after improper shutdown (#1086)
  • Repeated read device temperature fail on Windows (#866)
  • [Firmware] RGB-Depth sync (#774)
  • [MacOS] File-Open / File-Save dialogs are not available in the Viewer / DQT, preventing import of custom presets (DSO-9162)
  • Artifact generated in depth image/point cloud from SR300 (DSO-9383)
  • DSO-9702 #1587 Issue serializing json in adv mode: Value not found in map! value=8
  • DSO-9853 - #1919 problems (framedrop) in rs_convert
  • DSO-9065 - Frame Drops when changing depth controls while depth streaming

Other Issues

Release 2.15.0

Aug 10, 2018

API Changes

API changes from 2.14.0 version

New Features & Improvements

Bug fixes

  • DSO-10232 / #2202 - Depth alignment grid artifact for specific resolutions
  • [Android] Fix Android Studio build
  • DSO-9738 / #2208 - [Viewer] ROI control attached to non-ROI sensors.
  • DSO-9927- [Linux] Fix idle state management to reduce power consumption.
  • DSO-9942 / #1998 - Y16 "Save snapshot" Crashes RealSense Viewer
  • [DQT] Wrong message is presented with no camera connected (DSO-7994) / ( #1775, ( #1580 )

Known Issues

  • Frame drops when changing depth controls while streaming (DSO-9065)
  • Repeatedly changing exposure of d435 brings down a camera (#1687)
  • Potential alignment issue when using enable_device (#1504)
  • [Firmware] Frames didn't arrive error - after improper shutdown (#1086)
  • Repeated read device temperature fail on Windows (#866)
  • [Firmware] RGB-Depth sync (#774)
  • [MacOS] File-Open / File-Save dialogs are not available in the Viewer / DQT, preventing import of custom presets (DSO-9162)
  • Artifact generated in depth image/point cloud from SR300 (DSO-9383)
  • DSO-9792 - C# query device function doesn't release memory causing memory leak
  • DSO-9160 #1514 Inappropriate ioctl - Kernel 4.16 with the new metadata treenode
  • DSO-9702 #1587 Issue serializing json in adv mode: Value not found in map! value=8
  • DSO-9853 - #1919 problems (framedrop) in rs_convert
  • DSO-9802 - #1462, Invalid Depth Band in depth stream is not match to spec
  • DSO-9357 - D420 / D430 Cameras w/ FW 5.9.11 wont run LRS 2.11 align capture and pointcloud apps
  • DSO-9065 - Frame Drops when changing depth controls while depth streaming

Other Issues

  • Display alignment of the GUI of the Viewer and the DQT can be fixed with a graphics updated driver, please refer to: Intel® Graphics Driver for Windows* [15.60].
  • Linux Kernel 4.16 is currently not supported due to changes to the media sub-system and specifically metadata nodes. Patches are available for Ubuntu LTS kernel 4.15.(DSO-9160,#1514)

Release 2.14.0

July 17, 2018

API Changes

API changes from the previous 2.13.0 versions

New Features & Improvements

Bug fixes

  • DSO-9443 / #1727 - Post-processing filters removing Depth metadata
  • #1390 - Use long PGP ID for debian install instructions
  • DSO-9736 / #1946 - Setting Depth Units in realsense_viewer fails
  • DSO-9472 / #1543 - rs2::pipeline can't playback two IR streams from bag file
  • DSO-8086 - insufficient description of Depth Quality Tool distance calculation (#2030)
  • DSO-9386 / #1586 - Deadlock in libuvc backend (Mac OS / Android)
  • DSO-9835 / #2039 - incorrect multi-camera resolution using libuvc backend (Mac OS / Android)
  • [Realsense Viewer] Streaming interrupted when streaming multiple cameras and deactivating one (DSO-9680)

Known Issues

  • [DQT] Wrong message is presented with no camera connected (DSO-7994)
  • Frame drops when changing depth controls while streaming (DSO-9065)
  • Repeatedly changing exposure of d435 brings down a camera (#1687)
  • Potential alignment issue when using enable_device (#1504)
  • [Firmware] Frames didn't arrive error - after improper shutdown (#1086)
  • Repeated read device temperature fail on Windows (#866)
  • [Firmware] RGB-Depth sync (#774)
  • [MacOS] File-Open / File-Save dialogs are not available in the Viewer / DQT, preventing import of custom presets (DSO-9162)
  • Artifact generated in depth image/point cloud from SR300 (DSO-9383)
  • DSO-9792 - C# query device function doesn't release memory causing memory leak
  • DSO-9160 #1514 Inappropriate ioctl - Kernel 4.16 with the new metadata treenode
  • DSO-9702 #1587 Issue serializing json in adv mode: Value not found in map! value=8
  • DSO-9927 - camera not moving to Idle - Linux
  • DSO-9853 - #1919 problems (framedrop) in rs_convert
  • DSO-9802 - #1462, Invalid Depth Band in depth stream is not match to spec
  • DSO-9738 - Cannot set Autoexposure ROI on RGB Sensor (incorrect error displayed)
  • DSO-9357 - D420 / D430 Cameras w/ FW 5.9.11 wont run LRS 2.11 align capture and pointcloud apps
  • DSO-9942 - #1998 Y16 "Save snapshot" Crashes RealSense Viewer
  • DSO-9065 - Frame Drops when changing depth controls while depth streaming

Other Issues

  • Display alignment of the GUI of the Viewer and the DQT can be fixed with a graphics updated driver, please refer to: Intel® Graphics Driver for Windows* [15.60].
  • Linux Kernel 4.16 is currently not supported due to changes to the media sub-system and specifically metadata nodes. Patches are available for Ubuntu LTS kernel 4.15.(DSO-9160,#1514)

Release 2.13.0

June 22, 2018

Important:

  • The required CMake version to build librealsense project files was promoted to 3.8.

API Changes

API changes from the previous 2.11.1/2.12.0 versions

New Features & Improvements

  • Additional per-frame metadata attributes available for Depth and RGB sensors. (DSO-9517)
  • Inter-camera hw sync control for multi-cam setups (DSO-9602)
  • Adding CUDA-optimized implementation for Jetson-TX (arm) platform

Bug Fixes

  • Post-processing filters invalidate metadata (DSO-9443, #1727)
  • Enabling D430 in librealsense Demos (DSO-9397)
  • Update kernel patches according to the latest Ubuntu policies (DSO-9817, #1900)
  • Unity support for cameras without RGB sensor (DSO-8666)
  • [Realsense Viewer] Save setting fail (DSO-9543)
  • Multi-cam support is broken on some Mac OS systems (DSO-9231,#1506)

Known Issues

  • [DQT] Wrong message is presented with no camera connected (DSO-7994)
  • [Linux] Double-clicking C interferes with other applications (DSO-8896)
  • Frame drops when changing depth controls while streaming (DSO-9065)
  • [Linux] Unit-test failure (DSO-9110)
  • Multiple cameras in pyrealsense2 (DSO-9112/#1089)
  • Read device temperature (DSO-9125)
  • [MacOS] C Examples freeze (DSO-9386,#1586)
  • Streaming multiple IR feeds from bag file (DSO-9472)
  • [Realsense Viewer] Streaming interrupted when streaming multiple cameras and deactivating one (DSO-9680)
  • [Realsense Viewer] Setting Depth Units to 0 pops error-message (DSO-9736)
  • Repeatedly changing exposure of d435 brings down a camera (#1687)
  • playback fails to auto-resolve two IR streams (#1543)
  • Issue running on Android 7 Odroid XU4 board ((#1534)[https://github.com/IntelRealSense/librealsense/issues/1534])
  • Potential alignment issue when using enable_device (#1504)
  • [Firmware] Sporadic errors, only workaround is to physically reconnect camera (#1213)
  • [Firmware] Corrupted color image after pipeline restart (#1206)
  • [Firmware] Frames didn't arrive error - after improper shutdown (#1086)
  • Repeated read device temperature fail on Windows (#866)
  • [Firmware] RGB-Depth sync (#774)
  • [MacOS] File-Open / File-Save dialogs are not available in the Viewer / DQT, preventing import of custom presets (DSO-9162)
  • Artifact generated in depth image/point cloud from SR300 (DSO-9383)
  • In this release OpenMP compile flag is disabled by default, which can reduce the CPU utilization. Please refer to #744

Other Issues

  • Display alignment of the GUI of the Viewer and the DQT can be fixed with a graphics updated driver, please refer to: Intel® Graphics Driver for Windows* [15.60].
  • Linux Kernel 4.16 is currently not supported due to changes to the media sub-system and specifically metadata nodes. Patches are available for Ubuntu LTS kernel 4.15.(DSO-9160,#1514)

Release 2.12.0

June 5th, 2018

API Changes

N/A

New Features & Improvements

  • rs-convert usability tool that transform librealsense records in rosbag format into separate files. The supported outputs format for depth data: raw, binary, csv, png, ply.
  • Decimation filter added support for non-depth (IR/RGB) frames. (DSO-9164,DSO-8312)
  • Realsense Viewer UI Enhancements:
    • Keyboard binding to facilitate navigation in 3D view ("WASD" mapping)
    • Point-cloud rendering with Quads\Points to enhance visualization traits
    • Adding close button to notification pop-ups.
    • Point-cloud generation - Occlusion filter options extended (DSO-8513)
  • Documentation added:

Bug Fixes

  • [Linux] SR300 streaming with zero-copy is disabled to avoid running out of kernel-allocated memory.

  • [Win] Fix power management on stream interrupt event.(DSO-9310)

  • [CMake] Unit-test patterns download rules fix to prevent phony failure reports.

  • [Wrappers]Unity Demo with Point-Cloud is running out of memory (#1477, #1394)

  • Depth Gain control modifies AE mode (DSO-6853)

  • [Viewer] ROI method improperly reported (#1616)

  • High CPU utilization when running the Viewer, Windows and Linux (DSO-9381)

  • Laser Power control description update (#1793)

  • No camera control (#765) - Abandoned by user

  • [Viewer] Streaming does not resume after wake up from sleep on Windows RS3 (S3) (DSO-8094)

  • Relatively high CPU utilization on Linux when running without laser power (DSO-8040)

Known Issues

  • Read device temperature (DSO-9125)

  • [Linux] Double-clicking C interferes with other applications (DSO-8896)

  • [DQT] Wrong message is presented with no camera connected (DSO-7994)

  • [MacOS] C Examples freeze (DSO-9386,#1586)

  • [Realsense Viewer] Save setting fail (DSO-9543)

  • Streaming multiple IR feeds from bag file (DSO-9472)

  • Post-processing filters invalidate metadata (DSO-9443, #1727)

  • [Linux] Unit-test failure (DSO-9110)

  • Multiple cameras in pyrealsense2 (DSO-9112/#1089)

  • Repeatedly changing exposure of d435 brings down a camera (#1687)

  • playback fails to auto-resolve two IR streams (#1543)

  • Issue running on Android 7 Odroid XU4 board ((#1534)[https://github.com/IntelRealSense/librealsense/issues/1534])

  • Multi-cam support is broken on some Mac OS systems (DSO-9231/#1506)

  • Potential alignment issue when using enable_device (#1504)

  • [Firmware] Sporadic errors, only workaround is to physically reconnect camera (#1213)

  • [Firmware] Corrupted color image after pipeline restart (#1206)

  • [Firmware] Frames didn't arrive error - after improper shutdown (#1086)

  • Repeated read device temperature fail on Windows (#866)

  • [Firmware] RGB-Depth sync (#774)

  • Unity support for cameras without RGB (DSO-8666)

  • [MacOS] File-Open / File-Save dialogs are not available in the Viewer / DQT, preventing import of custom presets (DSO-9162)

  • In this release OpenMP compile flag is disabled by default, which can reduce the CPU utilization. Please refer to #744

Other Issues

  • Display alignment of the GUI of the Viewer and the DQT can be fixed with a graphics updated driver, please refer to: Intel® Graphics Driver for Windows* [15.60].
  • Linux Kernel 4.16 is currently not supported due to changes to the media sub-system and specifically metadata nodes. Patches are available for Ubuntu LTS kernel 4.15.(DSO-9160,#1514)

Release 2.11.1

May 17th, 2018

API Changes

API changes from the previous 2.11.0 version

New Features & Improvements

  • Support for Ubuntu 18/Bionic Beaver (kernel 4.15). DSO-8769 (#1700)
  • Realsense v2.11.0 wrapper for LabView
  • Documentation updates (DSO-9164, DSO-9123)
  • New presets to rectify IR pattern from Left IR imager (DSO-6868)

Bug Fixes

  • USB2/3 enumeration with RedStone3 (DSO-9161)
  • Playback failure on unload_device (DSO-9269).
  • Wrong height reported with distance demo. DSO-9111 ((#1516),(#1667)).
  • Support DMFT-introduced GUIDs on RedStone3 (DSO-9276).
  • Post-processing blocks to report error on failure ((#1658)).
  • Calibration formats are not available for D5U (DSO-9382)
  • [Depth Quality Tool] When the decimation filter is enabled the ROI window is offset, and the visualization changes to default when the ROI% is changed (DSO-8740)

Known Issues

  • SDK samples fail for D430 (DSO-9397)

  • High CPU utilization when running the Viewer, Windows and Linux (DSO-9381)

  • Repeatedly changing exposure of d435 brings down a camera (#1687)

  • playback fails to auto-resolve two IR streams (#1543)

  • Issue running on Android 7 Odroid XU4 board ((#1534)[https://github.com/IntelRealSense/librealsense/issues/1534])

  • Multi-cam support is broken on some Mac OS systems (#1506)

  • Potential alignment issue when using enable_device (#1504)

  • Unity Demo with Point-Cloud is running out of memory (#1477, #1394)

  • [Firmware] Sporadic errors, only workaround is to physically reconnect camera (#1213)

  • [Firmware] Corrupted color image after pipeline restart (#1206)

  • [Firmware] Frames didn't arrive error - after improper shutdown (#1086)

  • Repeated read device temperature fail on Windows (#866)

  • [Firmware] RGB-Depth sync (#774)

  • No camera control (#765)

  • Unity support for cameras without RGB (DSO-8666)

  • [Viewer] Streaming does not resume after wake up from sleep on Windows RS3 (S3) (DSO-8094)

  • Relatively high CPU utilization on Linux when running without laser power (DSO-8040)

  • [MacOS] File-Open / File-Save dialogs are not available in the Viewer / DQT, preventing import of custom presets (DSO-9162)

  • In this release OpenMP compile flag is disabled by default, which can reduce the CPU utilization. Please refer to #744

Other Issues

  • The API change introduced in this version is non backward-compatible with the previous v2.11.0. This may affect Linux users who rely on the Debian versioning compatibility policy - please remove the previous v2.11.0. when installing the current version.
  • Display alignment of the GUI of the Viewer and the DQT can be fixed with a graphics updated driver, please refer to: Intel® Graphics Driver for Windows* [15.60].
  • Linux Kernel 4.16 is currently not supported due to changes to the media sub-system and specifically metadata nodes. Patches are available for Ubuntu LTS kernel 4.15 .

Release 2.11.0

May 06th, 2018

API Changes

API changes from the previous 2.10.4 version

New Features & Improvements

  • Playback Repeat control (#1426)
  • Exposing Multipin UVC device via pybackend (#1614)
  • Post-Processing via Python API (#1502 and #1535)
  • SSE optimization of PointCloud processing block (#1633)
  • Adding a dedicated Hole-Filling processing block (DSO-9164, #1644)
  • Adding USB3.2 descriptor support (DSO-9306)
  • Notify user when new firmware is available (#1648)
  • Adding processing APIs to the .NET wrapper (DSO-9023)
  • New camera info attribute: RS2_CAMERA_INFO_RECOMMENDED_FIRMWARE_VERSION, tracking the firmware recommended for D400 devices

Bug Fixes

  • playback.seek not working in python (#1545)
  • [DQT] Fixing Z-accuracy metric calculation in the Depth Quality Tool (DSO-8939)
  • Compilation on ARM (#1593 and #1574)
  • Holes filling capabilities fix of the Spatial Filter (#1591)
  • Syncer crash when using two handles to the same device (#1600)
  • [Viewer] Auto-exposure was not being updated in UI after setting exposure value (DSO-8873, #1636)
  • [Viewer] Auto-exposure ROI was not correctly visualized with Decimation filter enabled (DSO-9096, #1638)
  • Y16 format is not presented for D435 (DSO-8913)

Known Issues

  • playback fails to auto-resolve two IR streams (#1543)

  • Issue running on Android 7 Odroid XU4 board ((#1534)[https://github.com/IntelRealSense/librealsense/issues/1534])

  • rs-measure gives incorrect distance (#1516)

  • Multi-cam support is broken on some Mac OS systems (#1506)

  • Potential alignment issue when using enable_device (#1504)

  • Unity Demo with Point-Cloud is running out of memory (#1477, #1394)

  • [Firmware] Sporadic errors, only workaround is to physically reconnect camera (#1213)

  • [Firmware] Corrupted color image after pipeline restart (#1206)

  • [Firmware] Frames didn't arrive error - after improper shutdown (#1086)

  • Repeated read device temperature fail on Windows (#866)

  • [Firmware] RGB-Depth sync (#774)

  • No camera control (#765)

  • Unity support for cameras without RGB (DSO-8666)

  • [Depth Quality Tool] When the decimation filter is enabled the ROI window is offset, and the visualization changes to default when the ROI% is changed (DSO-8740)

  • Detection of USB2 vs USB3 is not working correctly on Windows RS3 (DSO-9109)

  • [Viewer] Streaming does not resume after wake up from sleep on Windows RS3 (S3) (DSO-8094)

  • Relatively high CPU utilization on Linux when running without laser power (DSO-8040)

  • [MacOS] File-Open / File-Save dialogs are not available in the Viewer / DQT, preventing import of custom presets (DSO-9162)

  • Potential UV-mapping (align) error using pyrealsense (DSO-9206)

  • In this release OpenMP compile flag is disabled by default, which can reduce the CPU utilization. Please refer to #744

Other Issues

  • Display alignment of the GUI of the Viewer and the DQT can be fixed with a graphics updated driver, please refer to: Intel® Graphics Driver for Windows* [15.60]

  • Some of the Depth Quality Tool (DQT) metrics will be modified in the next coming releases

Release 2.10.4

April 18th, 2018

API Changes

API changes from the previous 2.10.3 version

New Features & Improvements

  • [Viewer] Add units to camera controls (DSO-8966)
  • Post-processing filters rework and testing automation (DSO-8884)
  • Playback and record demo (DSO-8656)
  • CTO fixes for D4M modules (#1520)
  • [Depth Quality Tool] "save report" to save consistent frames (DSO-8638)
  • [Viewer] Allowing to input accurate numbers in the advance mode controls (DSO-6867)

Bug Fixes

  • cpuid.h missing on Arm boards (#1501)
  • SegFault on Intel CPUs without AVX support (#1491)
  • [Depth Quality Tool] Cannot load presets (#1488, #1457, #1443, )
  • Load JSON crashing on Mac (#1392)
  • Compilation error for non-optimized builds (#1237)
  • Linux driver stalls if a signal is received (#1203)
  • Compilation error with -Wall in clang (#1292)
  • enable_stream selects right IR in USB2 (DSO-8733)

Known Issues

  • playback.seek not working in python (#1545)

  • playback fails to auto-resolve two IR streams (#1543)

  • Issue running on Android 7 Odroid XU4 board ((#1534)[https://github.com/IntelRealSense/librealsense/issues/1534])

  • rs-measure gives incorrect distance (#1516)

  • Multi-cam support is broken on some Mac OS systems (#1506)

  • Potential alignment issue when using enable_device (#1504)

  • Post-processing not available for python users (#1502)

  • Unity Demo with Point-Cloud is running out of memory (#1477, #1394)

  • App crashing when using Sensor.Start using C# (#1250)

  • [Firmware] Sporadic errors, only workaround is to physically reconnect camera (#1213)

  • [Firmware] Corrupted color image after pipeline restart (#1206)

  • [Firmware] Frames didn't arrive error - after improper shutdown (#1086)

  • Repeated read device temperature fail on Windows (#866)

  • [Firmware] RGB-Depth sync (#774)

  • No camera control (#765)

  • [Depth Quality Tool] Z-accuracy distance plot has a sinusoidal pattern mismatching IPDev (DSO-8939)

  • Unity support for cameras without RGB (DSO-8666)

  • [Depth Quality Tool] When the decimation filter is enabled the ROI window is offset, and the visualization changes to default when the ROI% is changed (DSO-8740)

  • Detection of USB2 vs USB3 is not working correctly on Windows RS3 (DSO-9109)

  • [Viewer] Streaming does not resume after wake up from sleep on Windows RS3 (S3) (DSO-8094)

  • Relatively high CPU utilization on Linux when running without laser power (DSO-8040)

  • [MacOS] File-Open / File-Save dialogs are not available in the Viewer / DQT, preventing import of custom presets (DSO-9162)

Other Issues

  • Display alignment of the GUI of the Viewer and the DQT can be fixed with a graphics updated driver, please refer to: Intel® Graphics Driver for Windows* [15.60]

  • Some of the Depth Quality Tool (DQT) metrics will be modified in the next coming releases

Release 2.10.3

April 4th, 2018

API Changes

API changes from the previous 2.10.2 version

New Features & Improvements

  • Integrated functionality changes in preparation for USB2 firmware support (DSO-8952)

Bug Fixes

  • [MacOS] Changing resolution after first start & stop fails. Reconnect might be required
  • Fixing ARM build (#1472)
  • Fixing compilation error with -Wall in clang (#1292)

Known Issues

  • Mismatch between post-processing implementation and the guiding requirements (DSO-8884)

  • CPU utilization increases with Projector switched off (DSO-8040).

  • Unity wrapper limited support for sensors (DSO-8666)

  • Memory leak in the Unity wrapper (#1477)

  • IR Right is selected as default stream (DSO-8733)

  • Snapshots stored by Depth Quality Tool are not aligned with Reports (DSO-8638)

  • Realsense Viewer is not streaming after wake up from sleep mode (DSO-8094)

  • Latency of 100ms (DSO-7745) - Will be fixed in a later FW release

  • The Viewer and the visual examples CPU utilization is high, when streaming depth or color (DSO-7888)

  • Changing the gain value while Auto Exposure (AE) is enabled disables AE, this requires manually enabling AE (DSO-6853)

  • DQT angle is sometime displayed wrong (DSO-8388)

  • Color correction parameters are not updated to the device when a setting file is loaded (DSO-8538)

  • DQT - When the decimation filter is enabled the ROI window is offset, and the visualization changes to default when the ROI% is changed (DSO-8740)

  • [Firmware] Hardware timestamp on AWGT modules is not consistent across streams (DSO-8880)

  • [MacOS] Setting controls is likely to return an exception, even when the control was applied successfully

  • [MacOS] File-Open / File-Save dialogs are not available in the Viewer / DQT, preventing import of custom presets

Other Issues

  • Display alignment of the GUI of the Viewer and the DQT can be fixed with a graphics updated driver, please refer to: Intel® Graphics Driver for Windows* [15.60]

  • Some of the Depth Quality Tool (DQT) metrics will be modified in the next coming releases

Release 2.10.2

March 22st, 2018

API Changes

API changes from the previous 2.10.1 version

New Features & Improvements

  • Improvements to the rs-terminal utility #1356
  • Enabling to apply post-processing after spatial alignment (#1278)
  • More comprehensive support for firmware error reporting (#1403)
  • [Python] Fixing dead-lock in certain callbacks (DSO-8782)
  • [Unity] Textured point-cloud implementation (#1293)
  • [C#] Depth-Disparity processing block added (#1307)

Bug Fixes

  • Occasional frame drops from the fisheye camera on the AWGT modules (DSO-8628)
  • Slow auto-exposure convergence rate on the AWGT modules (DSO-8853)
  • GetBPP returning incorrect value when using software device (#1377)
  • Better error message when no OpenGL driver is available (DSO-8545)

Known Issues

  • Mismatch between post-processing implementation and the guiding requirements (DSO-8884)

  • CPU utilization increases with Projector switched off (DSO-8040).

  • Unity wrapper limited support for sensors (DSO-8666)

  • IR Right is selected as default stream (DSO-8733)

  • Snapshots stored by Depth Quality Tool are not aligned with Reports (DSO-8638)

  • Realsense Viewer is not streaming after wake up from sleep mode (DSO-8094)

  • Latency of 100ms (DSO-7745) - Will be fixed in a later FW release

  • The Viewer and the visual examples CPU utilization is high, when streaming depth or color (DSO-7888)

  • Changing the gain value while Auto Exposure (AE) is enabled disables AE, this requires manually enabling AE (DSO-6853)

  • DQT angle is sometime displayed wrong (DSO-8388)

  • Color correction parameters are not updated to the device when a setting file is loaded (DSO-8424)

  • DQT - When the decimation filter is enabled the ROI window is offset, and the visualization changes to default when the ROI% is changed (DSO-8740)

  • [Firmware] Hardware timestamp on AWGT modules is not consistent across streams (DSO-8880)

  • [MacOS] Changing resolution after first start & stop fails. Reconnect might be required

  • [MacOS] Setting controls is likely to return an exception, even when the control was applied successfully

  • [MacOS] File-Open / File-Save dialogs are not available in the Viewer / DQT, preventing import of custom presets

Some of the issues has been address in #1452 but are still being tested at the time of this release

Other Issues

  • Display alignment of the GUI of the Viewer and the DQT can be fixed with a graphics updated driver, please refer to: Intel® Graphics Driver for Windows* [15.60]

  • Some of the Depth Quality Tool (DQT) metrics will be modified in the next coming releases

Release 2.10.1

March 1st, 2018

API Changes

API changes from the previous 2.10.0 version

New Features & Improvements

  • Adding SIMD AVX2 implementation for YUYV to RGB decoding
  • Kernel patches for Ubuntu LTS kernel 4.13 (DSO-8654)
  • Updated DKMS debian package :
    • Support for Ubuntu LTS kernels 4.4, 4.10 and 4.13.
    • Support for TM1 tracking device
    • Package name changed from **realsense-uvcvideo** to librealsense2-dkms
  • Adding repeat capability for playback
  • Allow to use JSON files with playback
  • A new metadata attribute is available - Actual FPS - in use by syncer.
Examples
Library Improvements
  • Installation guides update for Linux and MacOS
Node.js
  • Support npm installation on MacOs
  • Enhancements and minor API changes
  • Add sensor control example
Python
  • Changing realsence to librealsence in the python wrapper
C#
  • Add netstandard2.0 support to C# wrapper
Additional
  • Integration of a contribution by @SirDifferential, Jan Lukas Gernert and Sebastian Andraos.

Bug Fixes

  • [Viewer] Exposure control error raised when changing frame rate with 4 cameras connected (DSO-7775)
  • [Viewer] Memory leak in sensor's open/close flow (DSO-8362)
  • [Viewer] Color camera of D415 is reddish for face portrait(DS5U-1891)
  • [TM1] HID Custom Sensor fails on Cold Boot (DSO-8398)

Known Issues

  • CPU utilization increases with Projector switched off (DSO-8040).

  • Unity wrapper limited support for sensors (DSO-8666)

  • IR Right is selected as default stream (DSO-8733)

  • Snapshots stored by Depth Quality Tool are not aligned with Reports (DSO-8638)

  • Realsense Viewer is not streaming after wake up from sleep mode (DSO-8094)

  • Latency of 100ms (DSO-7745) - Will be fixed in a later FW release

  • The Viewer and the visual examples CPU utilization is high, when streaming depth or color (DSO-7888)

    • In this release OpenMP compile flag is disabled by default, which can reduce the CPU utilization. Please refer to #744
  • Changing the gain value while Auto Exposure (AE) is enabled disables AE, this requires manually enabling AE (DSO-6853)

  • DQT angle is sometime displayed wrong (DSO-8388)

  • Color correction parameters are not updated to the device when a setting file is loaded (DSO-8424)

  • DQT - When the decimation filter is enabled the ROI window is offset, and the visualization changes to default when the ROI% is changed (DSO-8740)

Known Issues on Mac OS

We are ramping-up our support for Mac OS but unfortunately there are still several known-issues:

  • Changing resolution after first start & stop fails. Reconnect might be required
  • Setting controls is likely to return an exception, even when the control was applied successfully
  • File-Open / File-Save dialogs are not available in the Viewer / DQT, preventing import of custom presets

In addition, many users are reporting the camera identifying as USB2 (device doesn't support depth streaming! error), most likely due to cables / dongles combinations.

Other Issues

Release 2.10.0

February 8, 2018

API Changes

API changes from the previous 2.9.1 version

New Features & Improvements

Examples
  • Addes Post Processing Example (Tracked on DSO-8318)
Library Improvements
  • Added support to backend-timestamp on windows (related to latency optimizations, Tracked on DSO-8289)
  • Removed redundant dependency of Threads package
  • Improvements to temporal filter/ holes filling mode (Tracked on DSO-8523)
  • Raw frame snapshot now use .raw extension instead of .bin
  • Occlusion filter for Pointcloud from RGB and Depth streams (Tracked on DSO-8513)
  • Added USE_SYSTEM_LIBUSB flag to CMake file
C++
  • Adding rs2::frameset::get_infrared_frame()
Node.js
  • Export to PLY
  • Missing enums
  • Tracking module support
Python
  • Renamed align.proccess to align.process

  • Binding for missing functions of stream_profile:

    • is_default
    • register_extrinsics_to

    Binding for rsutil.h projection related functions:

    • rs2_deproject_pixel_to_point
    • rs2_transform_point_to_point
    • rs2_project_point_to_pixel
    • rs2_fov
  • Allow extrinsics and intrinsics creation and modification

Unity
  • Initial integration with RealSense SDK 2.0
  • Providing streams as textures
Additional
  • D400 Series Visual Presets Wiki page (Tracked on DSO-7102)
  • Integration of community contributions by @BjarneHerland, @UnaNancyOwen, @OTL, @sh0

Bug Fixes

  • DSO-8308 : Undo 0.5 pixel offset when mapping pixel to texture coordinate
  • Issue #1087: Linkage error when using rs2_set_devices_changed_callback
  • Removed multiple gcc warnings.
  • "Apple Mach-O Linkter (ld) Error" happens when it builds the targets which links glfw.
  • Playback panel bug when no other device exists (did not show info icon)
  • Align in .NET bug fix - no frames after ~10 frames
  • Fixed an issue when device_id parameter wasn't actually selected the required device in rs-terminal tool.
  • Prevent access to invalid data in v4l backend when trying to read the metadata size of an empty frames.
  • Ignore duplicated advanced mode parameters
  • Fix compilation under Gentoo
  • Fixed memory leak issues
  • Issue #1087: Python free() bug
  • Fixed an issue with ColorCorrection parameters
  • TM1 calibration update
  • Enhancements and bug fixes in viewer
  • Fix stderr redirection in the patch script

Known Issues

  • Realsense Viewer is not streaming after wake up from sleep mode (DSO-8094)
  • Latency of 100ms (DSO-7745)
  • The Viewer and the visual examples CPU utilization is high, when streaming depth or color (DSO-7888)
    • Disabling the OpenMP using CMake, can reduce the CPU utilization. Please refer to #744
  • [Viewer] Exposure control error raised when changing frame rate with 4 cameras connected (DSO-7775)
  • Changing the gain value while Auto Exposure (AE) is enabled disables AE, this requires manually enabling AE (DSO-6853)
  • Memory leak when repeatedly closing and opening the device (DSO-8362)
  • DQT angle is sometime displayed wrong (DSO-8388)
  • Color correction parameters are not updated to the device when a setting file is loaded (DSO-8424)

Known Issues on Mac OS

We are ramping-up our support for Mac OS but unfortunately there are still several known-issues:

  • Changing resolution after first start & stop fails. Reconnect might be required
  • Setting controls is likely to return an exception, even when the control was applied successfully
  • File-Open / File-Save dialogs are not available in the Viewer / DQT, preventing import of custom presets

In addition, many users are reporting the camera identifying as USB2 (device doesn't support depth streaming! error), most likely due to cables / dongles combinations.

Other Issues

Release 2.9.1

January 25, 2018

API Changes

API changes from the previous 2.9.0 version

Prerequisites

  • A new dependency package libudev-dev was added in 2.9.0 to the installation for Linux OS due to a custom libusb library that was employed in this release.

Migration from previous versions requires sudo apt-get install libudev-dev

New Features and Improvements

  1. Updated Presets (both content and UX)
  2. Improved Record / Playback UX,
  3. Intel® RealSense™ Tracking Module support
  4. [Viewer] Depth legend (ruler)
  5. Added new example: measure
  6. Added functionality to preserve frames for longer processing
  7. Added Projection chapter to the Wiki

Bug Fixes

  • rs-fw-logger is not deployed with 'make install' (DSO-8087)
  • RGB-Depth texture mapping not aligned (DSO-8308)
  • The value of RGB camera "Exposure" is incorrect in Win10 (DSO-8291)

Known Issues

  • Realsense Viewer is not streaming after wake up from sleep mode (DSO-8094)
  • Latency of 100ms (DSO-7745)
  • The Viewer and the visual examples CPU utilization is high, when streaming depth or color (DSO-7888)
    • Disabling the OpenMP using CMake, can reduce the CPU utilization. Please refer to #744
  • [Viewer] Exposure control error raised when changing frame rate with 4 cameras connected (DSO-7775)
  • Changing the gain value while Auto Exposure (AE) is enabled disables AE, this requires manually enabling AE (DSO-6853)
  • Memory leak when repeatedly closing and opening the device (DSO-8362)
  • DQT angle is sometime displayed wrong (DSO-8388)
  • Color correction parameters are not updated to the device when a setting file is loaded (DSO-8424)

Known Issues on Mac OS

We are ramping-up our support for Mac OS but unfortunately there are still several known-issues:

  • Changing resolution after first start & stop fails. Reconnect might be required
  • Setting controls is likely to return an exception, even when the control was applied successfully
  • File-Open / File-Save dialogs are not available in the Viewer / DQT, preventing import of custom presets

In addition, many users are reporting the camera identifying as USB2 (device doesn't support depth streaming! error), most likely due to cables / dongles combinations.

Other Issues

Release 2.9.0

January 2, 2018

API Changes

API changes from the previous 2.8.3 version

Prerequisites

  • A new dependency package libudev-dev was added to the installation for Linux OS due to a custom libusb library that was employed in this release.
    Migration from previous versions requires sudo apt-get install libudev-dev

New Features and Improvements

  • Allow Depth Post-Processing filters to operate in disparity domain (DSO-8162)
    • Please note that the Post Processing is enabled by default and increases the CPU utilization
  • Rework on the output Panel in the Realsense Viewer (DSO-7197)
  • Mac OS: making playback and record functional (DSO-4836) 
  • Added API for point-cloud export to PLY #862
  • Publish documentation for building and running libralsense on Android

Bug Fixes

  • Applied fix reducing multi-cam latency #935.
  • Pointcloude misalignment in 4K display laptop (DSO-7891)

Known Issues

  • Realsense Viewer is not streaming after wake up from sleep mode (DSO-8094)
  • Realsense Viewer crash on switching Advanced mode - may be due to wrong installation/permission (DSO-8088)
  • rs-fw-logger is not deployed with 'make install' (DSO-8087)
  • Streaming two D415 devices on SKL system (DSO-7889)
  • Latency of 100ms (DSO-7745)
  • The Viewer and the visual examples CPU utilization is high, when streaming depth or color (DSO-7888)
    • Disabling the OpenMP in the makefile, can slightly reduce the CPU utilization. Please refer to #744
  • [Viewer] Exposure control error raised when changing frame rate with 4 cameras connected (DSO-7775)
  • Changing the gain value while Auto Exposure (AE) is enabled disables AE, this requires manually enabling AE (DSO-6853)

Other Issues

Release 2.8.3

8 Dec 2017

API Changes

API changes from the previous 2.8.2 version

New Features and Improvements

  • Adding Depth Post-Processing filters
    • Temporal Moving average Filter (DSO-7393)
    • Spatial Edge-preserving Domain Transform filter(DSO-7392)
    • Decimation filter (DSO-7394)
      The filters are integrated into realsense-viewer and depth-quality tools and appear under "Post-Processing" entry in the control panel.
  • Add support for d4m device (D405) : enumeration, depth/IR streaming and controls.
  • PCL wrapper
  • Additional OpenCV examples
    • Latency profiling tool.
    • Integrating Depth with Deep-Neural Network example
  • realsense-viewer:
    • Pointcloud visualization with colorized depth.
    • Depth post-processing controls: toggle on/off; control filter parameters.
  • Performance enhancements

Bug Fixes

  • Support for alignment of any stream to depth - #858
  • Removing work-around for #833 - D400 devices require FW v5.8.15 upgrade.
  • Saving depth capture (PNG) doesn't save the image - Windows only (DSO-7875)
  • [depth-quality] tool - Z-accuracy is shown when no GT is selected (DSO-7885)
  • Distance calculation is not accurate when there is no plain target in the DQT (DSO-7866)
  • Viewer doesn't automatically select the correct Depth stream (DSO-7764)

Other related fixes

The 2 issues below are fixed with a graphics updated driver, please refer to: Intel® Graphics Driver for Windows* [15.60]

  • UX menu alignment issues with some platforms (DSO-7739)
  • [Viewer] OpenGL tools and samples don't work with some types of Docking Stations(ThinkPad USB3.0 Pro) (DSO-6674)

Known Issues

  • Streaming two D415 devices on SKL system (DSO-7889)
  • Pointcloude misalignment in 4K display laptop (DSO-7891)
  • Latency of 100ms (DSO-7745)
  • The Viewer and the visual examples CPU utilization is high, when streaming depth or color (DSO-7888)
    • Disabling the OpenMP in the makefile, can slightly reduce the CPU utilization. Please refer to #744
  • [Viewer] Exposure control error raised when changing frame rate with 4 cameras connected (DSO-7775)
  • GUI - The Output Viewer window doesn't show the bottom notifications (DSO-7197)
  • Changing the gain value while Auto Exposure (AE) is enabled disables AE, this requires manually enabling AE (DSO-6853)

Prerequisites

  • [Firmware] D400 Firmware Version 5.8.15 is required as the software w/a for v5.8.14 has been removed.

Release 2.8.2

21 Nov 2017

API Changes

N/A

New Features and Improvements

  • Depth Quality Tool enhancements:
    Replace AVG metric with Plane fit RMS
    Refactor implementation of Z-Accuracy metric to use the rectified depth.

  • Adding USB2 support for selected D400 models (DSO-6814)

  • Python example for Depth2Color registration

  • Librealsense with Raspberry Pi platform tutorial

  • LabView wrapper was added

Bug Fixes

  • Windows OS Librealsense fails to recognize devices with DMFT installed (DSO-6345)
  • Linux FPS drops to 50% when streaming RGB formats (DSO-7183)
  • Fix left2right stereo imagers extrinsic calculation
  • Fixed realsense-viewer crash when running on a PC with no display attached
  • Improve frames synchronization flow in the viewer
  • Fixed an issue when rs-depth-quality tool crashing as a result of clicking on the window close button
  • Added an appropriate message on rs-depth-quality tool when a camera is used by another application.
  • Fixed an issue when loading a JSON file failed with unrecognized fields.
  • Fixed an issue when using LRS_LOG_LEVEL environment variable didn't enforce the creation of log file
  • Fixed an issue on rs-fw-logger tool when 'wait_for_device()' throws an exception
  • Python add missing initializer in pointcloud demo
  • Fixed Firmware issue (ver 5.8.14): Sometimes when RGB and Stereo resolutions are at FHD-HD, the RGB camera streaming stops and doesn't return even after turning the Depth Stereo to Off (DSO-6894)
  • Windows - device disconnect events are sometimes not reported (DSO-6813)
  • The Viewer and the visual examples CPU utilization is high, when no stream is activated (DSO-7224)
  • Depth Quality Tool gets stuck - FPS alert after a few min run (DSO-7859)

Known Issues

  • Saving depth capture doesn't save the image - Windows only (DSO-7875)
  • [DQT] - Z-accuracy is shown when no GT is selected (DSO-7885)
  • UX menu alignment issues with some platforms (DSO-7739)
  • Pointcloude misalignment in 4K display laptop (DSO-7891)
  • Latency of 100ms (DSO-7745)
  • Viewer doesn't automatically select the correct Depth stream (DSO-7764)
  • The Viewer and the visual examples CPU utilization is high, when streaming depth or color (DSO-7888)
  • Depth data snapshot issue on Windows (DSO-7875)
  • Windows - Soft stability issue: start-stop test hangs when RGB and Depth running together after hundreds of cycles (DSO-6930)
  • [Viewer] Exposure control error raised when changing frame rate with 4 cameras connected (DSO-7775)
  • [Viewer] OpenGL tools and samples don't work with some types of Docking Stations(ThinkPad USB3.0 Pro) (DSO-6674)
  • GUI - The Output Viewer window doesn't show the bottom notifications (DSO-7197)
  • Changing the gain value while Auto Exposure (AE) is enabled disables AE, this requires manually enabling AE (DSO-6853)
  • Distance calculation is not accurate when there is no plain target in the DQT (DSO-7866)

Limitations

  • [Firmware] Version 5.8.14 is required to run Advanced mode assignments (DSO-7649)

Release 2.8.1

1 Nov 2017

API changes from previous release

New Features and Improvements

  • Depth Quality Tools now includes Z-Accuracy metric based on ground-truth (DSO-6434)
  • librealsense CI now includes recorded test cases for the 4 major supported lines of devices - SR300, D415, D435 and other engineering models (DSO-7101)
  • New example added showcasing the Sensor API (DSO-7016)
  • Set of new examples added showcasing working with C API (DSO-6909)
  • Added Python example for working with D400 Advanced Mode (DSO-7287)
  • Added depth colorization options to the Viewer (and the API) (DSO-7150)

Bug Fixes

  • [Firmware] When Advance Mode is changed, the camera requires sometimes to disconnect/reconnect (DSO-7015)
  • Pipeline fails to choose the correct device when several devices are connected (DSO-7366)
  • When requesting 2 streams (such as color and depth) only one frameset is returned in the pipeline, instead of the 2 synchronized streams. (DSO-7202)

Known Issues

  • [Viewer] OpenGL tools and samples don't work with some types of Docking Stations(ThinkPad USB3.0 Pro) (DSO-6674)
  • Windows - device disconnect events are sometimes not reported (DSO-6813)
  • Windows - Soft stability issue: start-stop test hangs when RGB and Depth running together after hundreds of cycles (DSO-6930)
  • Changing the gain value while Auto Exposure (AE) is enabled disables AE, this requires manually enabling AE (DSO-6853)
  • GUI - The Output Viewer window doesn't show the bottom notifications (DSO-7197)
  • Linux - When using IR format that is different than UYVY, the FPS drops to half (DSO-7183)

Limitations

  • [Firmware] Sometimes when RGB and Stereo resolutions are at FHD-HD, the RGB camera streaming stops and doesn't return even after turning the Depth Stereo to Off (DSO-6894)

Release 2.8.0

11 Oct 2017

API changes from previous release

New Features and Improvements

Bug Fixes

  • rs-data-collect example fails to execute
  • [Viewer] - Some of the Advance Mode parameters are not updated properly

Known Issues

  • [Viewer] OpenGL tools and samples don't work with some types of Docking Stations(ThinkPad USB3.0 Pro) (DSO-6674)
  • Windows - device disconnect events are sometimes not reported (DSO-6813)
  • Windows - Soft stability issue: start-stop test hangs when RGB and Depth running together after hundreds of cycles (DSO-6930)
  • When requesting 2 streams (such as color and depth) only one frameset is returned in the pipeline, instead of the 2 synchronized streams (DSO-7202)
  • Changing the gain value while Auto Exposure (AE) is enabled disables AE, this requires manually enabling AE (DSO-6853)
  • Linux - When using IR format that is different than UYVY, the FPS drops to half (DSO-7183)
  • The Viewer CPU utilization is high, even when no stream is activated (DSO-7224)
  • GUI - The Output Viewer window doesn't show the bottom notifications (DSO-7197)

Limitations

  • [Firmware] When Advance Mode is changed, the camera requires sometimes to disconnect/reconnect (DSO-7015)
  • [Firmware] Sometimes when RGB and Stereo resolutions are at FHD-HD, the RGB camera streaming stops and doesn't return even after turning the Depth Stereo to Off (DSO-6894)

Release 2.7.9

17 Sep 2017

API changes from previous release

New Features And Improvements

  • Preliminary node.js integration
  • Preliminary ROS integration
  • Additional Presets for all resolutions

Bug Fixes

  • [API] Color Auto-Exposure Priority Control not available - RS2_OPTION_AUTO_EXPOSURE_PRIORITY was added (DSO-6971)
  • [Viewer] Support for older versions of serialized settings files (DSO-6677, 6785)
  • [Viewer] UI scaling on 4K displays (DSO-6817)
  • Disable auto-exposure when modifying exposure / gain manually (DSO-6237)
  • Save settings file includes the preset (DSO-6785)

Known Issues

  • [Viewer] OpenGL tools and samples don't work with some types of Docking Stations (DSO-6674)
  • On Windows, device disconnect events are sometimes not reported (DSO-6813)
  • rs-data-collect example fails to execute

Limitations

  • [Firmware] When Advance Mode is changed, the camera requires sometimes to disconnect/reconnect (DSO-7015)
  • [Firmware] Sometimes when RGB and Stereo resolutions are at FHD-HD, the RGB camera streaming stops and doesn't return even after turning the Depth Stereo to Off (DSO-6894)
Clone this wiki locally