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_settingsno 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 detectionAbility 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
PUTendpoint for sensor IMU poseAdded 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.