Software Changelog

Version:

v2.8.0

Date:

TBD

Added

  • PCAP Recorder module to the Event Server that triggers PCAP recordings based on Event Server Modules

  • Setting for pcap_start_buffer_duration_s to control the duration of time added to the beginning of PCAP recordings when buffer is enabled

  • Option to disable publishing object points

  • Ability to disable background filter affect for people and vehicle classifications separately

  • Enhanced telemetry endpoint with new pcap_recordings object containing detailed recording state information including recording state, start timestamp, duration, and filename for all active recordings

  • Variable object drop time calculation to improve identity switches

  • New default data association thresholds based on classification

  • Numeric control for DL AOI ground height on AOD setup tab

  • Sensor info label on hover when using selection tool in setup tab

  • Hold ‘S’ key to toggle sensor selection tool with info label toggle support

  • Switch to selected sensor’s image if available in setup tab

  • Preview source in Viewer mode when hovering over 2D viewer

  • Ability to resize left and right panes in Detect Viewer

  • Expose additional information during sensor select: port numbers, hostname, IP, MAC Address, Sensor Model Name and Part Number available on sensor hover in Setup tab

  • Expose ‘User-Defined-Classification’ Tracked Object Label

  • Expose ‘total_chained_object_length’ Traced Object Label

  • Show segment length when drawing zones

  • Ability to resize near IR image via dragging bottom bar

  • Add zone occupancy count visibility icon and default to false

  • All background clouds appear at once when loading Detect Viewer

  • Add search bar for processed cloud list, source list, zone, and diagnostics tab

  • Add field convert_to_geo_coordinates to the default publishers settings

Changed

  • Changed timestamps on diagnostics page to reflect uptime instead of last message time

  • buffer_length_s query parameter for /perception/api/v1/recording/start_buffer endpoint is now optional

  • Event zone occupancy multithreaded to improve performance with large number of zones

  • Cluster downsampling now downsamples to exactly the requested max points

  • On startup the system will keep trying to connect to sensors indefinitely

  • Enable ahead-id, behind-id, and sub-classification labels by default

  • Persist zone label visibility, defaults to not visible

  • Persist selected tab across page refreshes

  • Hide transform axis-translate gizmos when angle with associated axis is too small

  • Only show DL AOD of enabled multi sensor inference AODs unless they are selected

  • Cylinder scale from dynamic to fixed for Person classification

  • Visibility for Object UUID on highlight to false on default and move tracked object labels, sensor info label out of developer mode. Only show 5 digit of the UUID, click to expand and copy full UUID

  • Move cylinder bounding box control to leftmost and restricted its availability to Person classification only

  • Unsuccessful addition of sensors, have been promoted to Critical Alert status

  • More vibrant Error Color, increased unsuccessful messages to 10secs, uppercase ERROR word in feedback messages

  • Changed the debian and RPM packages to not attempt to pull docker images during installation or upgrade if the images already exist on the system

  • To associate ahead and behind IDs for trucks and trailers, a gap between the truck and trailer is now allowed if both vehicles are moving above a certain velocity

  • Separated object NMS settings from cluster NMS settings

  • Modified object NMS stage to not allow people objects to suppress vehicle objects

  • Add DL AOD’s to event recordings

Fixed

  • Reduced the logging spam from when a receive error occurs when listening for a message on a channel in Event Server

  • Invalid classifications were allowed in the configuration which defaulted to unknown objects. This has been fixed and invalid classifications will now cause a configuration error in Event Server.

  • Cluster merge would result in incorrect number of foreground points very rarely resulting in cluster filtering not respecting setting

  • Fixed issue where sensors could not be added or removed during a PCAP recording

  • Fixed occupation server blocking updating statistic on one sensor at a time which could result in slow update_occupations

  • Fixed any settings changed was causing all DL models to re-init even if it was unrelated

  • Fixed issue where saving of the background at the end of a PCAP recording would result in dropped data

  • Background points of range 0 were sometimes getting sent even though they are not useful

  • Clear failed lidar connection alert whenever we connect to a lidar

  • Distance constraint toggle on DL tab only applied after tab changed

  • Fixed incorrect “invalid zone” error that occasionally appears during zone creation

  • Clean up interactions with Network Tab and fixed an issue where routing priority would not be set

  • Hide ‘View’ and ‘Download Logs’ buttons in the Cloud Viewer since they require direct edge access

  • Remove double copyright in header

  • Fix Cloud Viewer auth error when stopping event recordings

  • Cloud Viewer keep alive timer not decreasing

  • Fix GUI to not show recording status for background recordings

  • Fix frontend stop wrong recording when there are multiple recordings

  • Fix recording timer resetting when refreshing the browser

  • Fix point cloud height exclusion/filtering in Viewer tab

  • Fix cannot collapse the subsection in diagnostic tab

  • Not requesting the UDID and Serial Number when not on BlueCity

  • Change style of the measurement label and show measure unit based on preferences

  • Fix trace of old object issues

  • Fix a bug that caused the pasted zone to briefly disappear and reappear. This change improves the stability of the copy-and-paste functionality

  • Fixed the uninstallation and purge process for the Ouster package. Previously, a cache directory located at /opt/ouster would remain after uninstalling the package, requiring manual removal. Now, this directory is automatically removed, ensuring a cleaner and more complete uninstallation

  • Fixed hostname resolution endpoint to prefer non link-local addresses when multiple addresses are available

  • VisitAggregator was using the object’s last_update timestamp instead of the frame_timestamp from the occupations. This meant that objects that have not elapsed the debounce time were still considered for events

  • The point counts were sometimes zero for a zone even though there were points in the zone. This was due to a race condition. Now if the processing is not finished, it will use the previous point counts

  • Object Ahead and Behind IDs could associate with a non-vehicle object in specific cases

  • Object NMS now clears the ahead and behind ids if the associated object is removed

  • Ahead and behind IDs could be de-synchronized between the two associated objects in some cases

  • Ahead and behind IDs could be swapped in some cases, resulting in the front object being labeled as a trailer and the rear object being labeled as a truck

  • Ahead object could be an UNKNOWN classification if its subclassification was truck

  • Block the use of link-local IP addresses for sensors as they are not supported

  • Event Recorder Timestamp Buffer performance improvements in attempts to eliminate empty recordings and recordings missing data

  • End Timestamp is not set when a User Event Recording is stopped without a Stop Trail Seconds

  • Get MAC address for Interface no longer case-sensitive

  • Fixed an issue where the installation scripts would hang if the user had 2.16.0 Docker Compose or 23.0.0 Docker installed

  • Disable start update button during Unpacking of software update

  • File validation for software update selection

  • East/west inversion in compass component

Removed

  • Removed multiple Event Recorder settings options typically not used

  • Removed Front/Back AOD option

  • Removed constraint for ML AOD’s to be within 20m of sensor

Known Issues

  • Enrichments can appear out of sync with live data

  • Routing priority on Network tab is not reported properly when interface is disconnected

  • Velocity of stationary vehicles may show up to 4m/s

  • Walls detected as Large Vehicles

  • Nodes cannot be the first source added to a system in distributed perception - a sensor must be added first

  • Nodes added at the same time as a sensor will not show up in the sources list on the Setup tab. Refreshing the browser tab is required to show the sensor and node

  • Agent API can be slow to respond requiring at least 1 second timeout

  • Setting image_publish_period to 0 prevents enabling image publishing again. Work around is to restart the perception container

  • Discovered sensor list never removes unplugged/un-powered sensors

  • Adding sensors to a node and aggregator at any point during a distributed perception setup can cause unexpected behavior due to conflicting extrinsic parameters

Version:

v2.7.1

Date:

2025-06-24

Fixed

  • Issue where specific orientations of objects could result in an NaN value for those bounding boxes

Version:

v2.7.0

Date:

2025-06-17

Added

  • GoogleMaps integration allowing users to choose lat/long coordinates and perform alignment directly on map underlay

  • Gemini Events triggering for the following situations:

    • Health monitoring for the system reporting lidar, software and system metrics

    • Intrusion module flagging when objects traverse from one zone to another

    • Location presence which can monitor and flag events based on object counts as well as report metrics about queue lengths

    • Visit fanout module which can distinctly identify when objects enters a zone, when an object is in a zone, and when an object exits a zone

    • Speed filter for identifying objects travelling below or above user-defined speed thresholds

    • Object proximity monitor identifying when objects of one class are nearby objects of another

    • Location occupied check which can report presence based on point count zones

    • Object queue monitor colorizing objects in event recordings based on zone presence and whether they’re stationary as well as emphasize certain zones in the scene for context based on colorization

    • MOXA sender supporting OR’ing events from multiple upstream modules to single moxa channels

  • Alert when the DL model fails to initialize and when DL inference fails

  • Tractor trailers now have ahead and behind ids to associate the parts

  • Downsample points sent to inference for an 12% average speedup in DL modes

  • Timed_out state in the get_sensor REST call for sensors that have timed out

  • Ability to run different ML models with different sensors. Useful for deployments with a mixture of indoor and outdoor areas

  • DELETE /network/lan/ endpoint to remove a network interface’s custom configuration (will return to factory defaults)

  • Add button to reset the camera position

  • Ability to download all logs with 1-click

  • Support for easily swapping sensors between lidar ports and auto-connecting to added sensors

  • MQTTS support for lidarhub

  • Support for live 2D view in Portal through lidarhub

Changed

  • Change event recordings to use 8-bit serialization for reduce upload bandwidth and playback load-time

  • Stop sending reflectivity data with object and cluster clouds to save bandwidth since they weren’t being used. Bandwidth reduced by 50%

  • Filter number of occupations shown based on object visibility for the classification

  • Hide transmission delay under a toggle in Preferences

  • Service reachability debounce and reset times

  • Fixed missing password policy enforcement in reset_user_password script

  • /host_address endpoint will now check the mDNS records if the system resolver fails to resolve the hostname

  • Reduced false positives with tilt warning alert by increasing the angle threshold for the tilt warning to 10 degrees and default debounce time to 30 seconds

  • Changed default zoom level when loading a new scene. GUI will cache the zoom/angle/position of the camera for the next time the user loads the viewer

Fixed

  • Clear sensor destination changed alerts if we receive data because the destination must now be correct

  • Distributed perception background clouds are now deserialized and published correctly

  • Fixed issue with background clouds so they’re always using the latest transform

  • No longer send stale images or backgrounds for sensors that have timed out

  • Window sometimes becomes scrollable when the window height is too small

  • Multiple issues with the world tool

  • Sensor IP resolution issues on power-up

  • Memory growth issues found in ouster-solutions-agent and perception

  • More robust logic for resolving sensor IP addresses on power-up

Version:

v2.5.0

Date:

2025-02-07

Changed

  • Improved tracking of fast-moving, turning objects

  • Improved truck/trailer turn tracking

  • Improved reflectivity image scaling in Detect Viewer

  • Improved tracking in z-direction with model update

  • Computation Optimization for large number of sensors and clusters

  • Ability to select “front-only” for ML AOD

  • Changed transmission delay units to seconds

  • Navigation between images with left/right arrow keys

  • Script to reset RBAC password

  • Reduced downtime on software updates to less than a minute (must be running 2.5+ already)

  • Computation optimizations

  • Fine-grained, per service access control roles. Reduced to view-detect and manage-detect applying to the entire Edge Detect solution.

  • The Event zone server container was removed and merged into the ouster perception container. The API paths were left unchanged.

  • [LidarHub] Add Network Interface as an Option for Setting the LidarHub Hardware ID

  • [LidarHub] Add Enrichments REST API

  • [LidarHub] Add Web Socket relay server w/default Enrichments source

  • [LidarHub] Add Web Socket Echo web application

  • [LidarHub] Changed aggregation_publishing_enabled default value to true on new and existing installs

Fixed

  • Near IR channel values on displayed point cloud were incorrect.

  • Fixed precision of publishing at desired interval rate

  • Fixed objects showing up as background clouds

  • Fix crash on auto-highlight feature

  • Fixed issue where powered off sensor could not be removed

  • Fixed issue where feedback area was clipped in Detect Viewer

  • Fixed issue to properly colorize the point cloud in the Detect Viewer by Near-IR

  • Fixed issue where sensors were not being listed during event playback

  • Fixed 2d Image view not showing in playback mode

  • Fixed issue with offline sensors continuing to show in the Source Mangement pane. This list is now refreshed every 5 minutes to remove any sensors which are no longer discoverable.

  • [LidarHub] Report removed/deleted Sensors and Event Zones to Portal for immediate update

  • [LidarHub] Prevent invalid world settings via the REST API interface and the /map web application

  • [LidarHub] Align Event Recording play bar banner with event start and end timestamps

  • [LidarHub] Properly indicate Event Recording failure to Portal when retrieval of background point clouds fails

Removed

  • object_filters in event zone metadata

Version:

v2.4.1

Date:

2024-11-12

Changes
  • New ML model trained on a wider variety of datasets which runs approximately 16% faster than the 2.4.0 model

Fixed
  • Fixed dropped messages on heavily loaded GPU systems causing GUI object flickering and reduced accuracy.

Version:

v2.4.0

Date:

2024-10-29

Added

  • Multi sensor inference option, default to running on parking settings

  • Option to select lidar return to use for all sensors (in perception settings). Defaults to farthest in outdoor profiles, nearest in indoor profiles.

  • Zone statistics (min, max, median, upper percentile, and lower percentile) for X, Y and Z axes

  • “Download Benchmarks” button.

  • Ability to configure DNS through Network tab

  • Added Left/Right arrow buttons to cycle through 2D images

  • [LidarHub] Settings RPC Integration with Analytic Server

  • [LidarHub] Telemetry Integration with Analytic Server

  • [LidarHub] Add parameter stop_trail_second to REST API /user_recording/stop

  • [LidarHub] Pass user-defined Event Recording Event ID to Portal for display

  • [LidarHub] Real-Time and Time Series Aggregation of sub-classifications by zone

  • [LidarHub] Trigger Event Recordings on object sub-classification

  • [LidarHub] Record Event Recordings in the Past (anytime within the recording buffer)

Changed
  • Faster at removing incorrect objects. Objects that are no longer detected and overlap with other objects are removed immediately

  • Include_classifications now applies to limit what comes out of the occupations stream

  • Default to not allow any overlap between bike detections on fast ml profiles

  • Setting max_number_settings no longer required and is ignored if set from old installs

Fixed
  • If occupations and tracked object get out of sync due to slow gui the occupations count will now stay correct

  • Refind module will no longer match pedestrian/bikes to vehicles in ML modes

  • Zero-Length recording now longer occasionaly fail

Version:

v2.3.3

Date:

2024-09-19

Added
  • Defaulted to allowing 50 sensors and increasing the number only requires docker-compose changes and making sure the firewall allows the ports. Lidar and IMU port ranges are now 9000-9049 and 9500-9549 respectively (previously 9000-9007 and 9500-9507).

Fixed
  • Fixed a bug where large TCP messages were clipped

Version:

v2.3.2

Date:

2024-09-08

Fixed
  • Fixed a bug where large TCP messages were clipped

Version:

v2.3.1

Date:

2024-08-08

Fixed
  • Fixed settings migration issue when migrating settings from custom profiles

Version:

v2.3

Date:

2024-07-15

Added (Lidar Perception)
  • New security profile optimized for crawling and running people detection

  • Ability to manually start Event Recording from Viewer

  • Alert in Viewer when no backend services are reachable

  • classification_ts, sub-classification_ts and sub_clasification_ts TCP json stream

  • JPEG web streaming when on full frame-rate

  • Support for configuring host DNS settings through the Agent REST API

Updated (Lidar Perception)
  • Disabled Zone Occupation Type and Point Count visibilities by default

  • Disabled publishing of cluster points by default to save bandwidth. Cluster points will need to be enabled manually for Distributed Perception use cases

  • Reduced extra decimal places in json output

  • Allow users to override 20m constraint when setting the ML AOD

Fixed (Lidar Perception)
  • System won’t try to reconnect to a sensor that has a UDP destination different from the current system. Instead, an Alert issued

  • Corner cases where heuristic classifier wouldn’t change large objects back to unknown

  • Fixed velocity output if frames are dropped

  • Issue during offline .tar installations where local .deb packages were ignored

Added (LidarHub)
  • New Perception fields: largest_arrival_delta: float, lowest_frame_rate: float, mean_frame_rate: float

  • New lidar fields: percentage_incomplete_frames: float, tilt_since_reset: float

  • Ability to trigger zone-based User Recordings (‘zone_id’ or ‘zone_name’)

  • Ability to add an offender to a User Recording (‘offender_id’ == object.id or ‘offender_id’ == object.uuid)

  • Optional ‘player_enrichment’ field added to User Recordings

  • New object_list fields: num_failed_returns: int, classification_ts: int, sub_classification: str, sub_classification_confidence: float, sub_classification_ts: int

Updated (LidarHub)
  • Default to no TLS and removed configuration options where applicable

  • Removed use of wait_for_it (waiting for sensor discovery)

Version:

v2.2

Date:

2024-05-03

Added (Lidar Perception)
  • Performance improvements (increased range)

  • EULA in the product UI

  • Added support for OTA updates

  • Add REST endpoints to update agent from ouster.registry.com

Fixed (Lidar Perception)
  • get-detect.sh script now confirms proper docker and docker compose version as well as presence of NVIDIA container run-time if Deep-Learning profile is set

  • Fix post installation steps for RHEL package

Version:

v2.1

Date:

2024-02-29

Added (Lidar Perception)
  • Added a zone height filter setting, to help reduce false positives

  • Detect will re-initialize lidars found in an error state for a robust detection performance

  • Added ability to visualize and edit each ML AOI (Area of Interest) through Detect Viewer

  • The initial ML AOI for sensors defaults to sensor origin

Updated (Lidar Perception)
  • Added a new Alert to detect incomplete lidar data (frames) indicating a network congestion issue

  • Alert settings can now be changed without restarting Detect

  • Optimized multi-sensor scenes for Deep Learning inferencing

Added (LidarHub)
  • Added an ability to control the resolution of the background point cloud being displayed on the event recorder files

  • Diagnostic stream now has host name, for easy management/identification

  • Added Event Recording triggers based on zone point counts

  • Automatic metadata is added to the event recorder files for better context

  • Added support for having multiple Event Recording Configurations per zone

  • Added more configuration options to keep the event recording length to manageable levels, especially on long events

  • Zone point count information is reported in the Zone Aggregation data stream

Updated (LidarHub)
  • Settings iteration bumped to versioning revision number (i.e. 2.1.0.X)

Fixed (LidarHub)
  • Added timers to avoid any race conditions when various processes are getting rebooted ahead of the Ouster Solutions Agent

  • A success response code of 200 is returned when manual event recording is stopped

  • Added retries to the purging of MQTT publisher pending messages exceeding a set threshold

  • mqtt_echo connection is left open on “Disconnect” to address any intermittent network issues

  • Resolved a bug where the Event Recorder skips collecting JSON data when there is no flatbuf data

  • Crash in Event Recorder Vacuum when compressed file incomplete

  • Added corrupted settings file detection and graceful handling

Version:

v2.0

Date:

2024-01-03

Added (Lidar Perception)
  • Added deep-learning inference models for detection and classification on supported NVIDIA GPU hardware

  • Added support for parking lot occupancy detection application which doesn’t rely on background fade time

  • Added support for Redhat, Fedora, and Amazon Linux 2 operating systems

  • Added support for ARM-V8 based Compute hardware in addition to the already supported Intel/AMD compute chipset

  • Added role-based access control (RBAC) allowing fine-grained control of user access by customer admins

  • Introduced support for activating software licenses in offline deployments

  • Exposed lidar angle, voltage, current consumption and temperature in source list on the Detect Viewer (Diagnostics tab). Angle is also on the Setup page

  • Support for new settings profiles: its_settings, people_settings, dl_its_settings, dl_people_settings, and dl_parking_settings. Default profile is now people_settings. Profiles with dl_ prefix utilize deep-learning inference for detection

  • Ability to read sub-classification in Detect Viewer

  • Added ability to retrieve logs from the Detect Viewer when on 3rd party hardware

Removed (Lidar Perception)
  • Removed endpoint for changing the password in Detect with introduction of RBAC

Updated (Lidar Perception)
  • Disable refind module in people_settings and its_settings

  • Changed default lidar and IMU port ranges to 9000-9007 and 9500-9507, respectively. When updating from earlier versions, existing lidar and IMU port ranges will not be updated

  • Support for “include_classifications” field in event zone metadata to specify the classes that should trigger occupations

  • Ability to toggle points count and occupation labels for event zones in Detect Viewer

  • Changed default fade time in background filter from 3.3 to 10 minutes

  • Changed empty object and occupations lists from TCP server to empty arrays

  • Changed layout of the Settings page to be more intuitive. Moved the “Restart” button to be under “Services” panel on the Diagnostics page

  • Exposed agent logs through Detect Viewer

  • Ability to configure network interfaces through the Detect Viewer

  • Ability to view firewall rules and perform ping tests from edge device through the Detect Viewer

  • Ability to update all Gemini Edge software through the Detect Viewer

Fixed (Lidar Perception)
  • Fixed issue where licensing alerts would remain active after successfully activating a license

  • Fixed a bug that resets the underlay position when the opacity is changed

Added (LidarHub)
  • Added Extrinsics to Perception Server Diagnostics for transmission over TCP sockets or MQTT protocol

  • Support of Zone.has_point_count field in the zone definition

  • Added Swagger tag descriptions for lidarhub APIs

  • Lidarhub will collect and report Compute architecture (arm vs amd)

  • Lidarhub will collect and report GPU stats via GPUtil/tegrastats for transmission over the diagnostics data stream

  • Added support for Gemini ITS Edge module

  • Added “world” long/lat settings to the diagnostics stream

  • Added RPC on MQTT diagnostics stream (/[topic]/rpc)

  • Added an alert when Event Recordings are not uploaded due to minimum available disk space exceeded

Updated (LidarHub)
  • Made the suppression of empty object_lists and occupations optional

  • Revised how outbound data rates are collected, calculated and reported in diagnostic data stream

  • Change “world” API resource to use a payload vs query parameters

  • Updated flatbuf schema to Detect 2.0.0

  • Event Recording upload to Gemini Portal is made optional, after it is written to the local disk.

  • Event Recording purge from the local disk after upload to Gemini Portal, is made optional

  • Collecting and reporting CPU temp for Tegra-based devices via tegrastats, on the diagnostics data stream

  • Allowed spaces in the list of TCP/MQTT sources

Version:

v1.3

Date:

2023-08-11

Added (Lidar Perception)
  • Added a new diagnostic to detect sensor blockages

  • Added 2D underlay such as a building layout or google maps screenshot in the Detect viewer tab, for better situational understanding of detections

  • Added programmatic setup for single sensor install

  • Feature to reset the sensor pose during initial install or to account for physical movement or the sensor

  • Added PUT endpoint for sensor IMU pose

  • Added Point Count Event Zones to understand zone occupancy for unknown object types for parking lot occupancy detection use cases.

  • Added newer algorithms to improve multi-sensor alignment quality

Updated (Lidar Perception)
  • Improved tracking performance to address objects getting temporarily occluded by obstructions in the scene

  • Improved performance when the sensor experiences windy conditions

  • Improved detection sensitivity

Fixed (Lidar Perception)
  • Fixed the bug that crashed in background filter when changing settings that require a reset

Removed (Lidar Perception)
  • Removed the websocket on port 3006 (“/node_stream”). We now publish raw node (align) clouds on port 3005, along with the sensor align node clouds.