github opensensor/lightNVR 0.33.2
Release 0.33.2

7 hours ago

🤖 AI-Generated Changelog

Added

  • Bidirectional cross-stream motion propagation for dual-lens cameras, allowing motion detected on one lens to trigger recording on the paired lens
  • Dedicated ONVIF detection thread per stream with motion-storm protection and sticky-flag hysteresis to prevent false triggers and rapid on/off cycling

Changed

  • ONVIF motion hold duration constant moved to file scope for better organization alongside related constants
  • go2rtc log output path now derived from config_dir instead of a hardcoded path
  • Pre-buffer replay logging rate-limited to keyframes only to reduce log noise
  • ONVIF username removed from startup log (replaced with auth enabled/disabled indicator) to avoid leaking credentials in logs

Removed

  • Removed motion_recording functionality

Fixed

  • Fixed build errors when compiling with ENABLE_GO2RTC=OFF by adding missing go2rtc API stubs
  • Fixed ONVIF detection thread crash when UDT pthread_create fails — thread is now stopped before context is freed
  • Fixed double pthread_join race condition in ONVIF thread teardown using atomic compare-exchange
  • Fixed pre-buffer PTS-based replay detection by only setting first_video_pts when PTS is valid
  • Fixed audio buffering during go2rtc replay by gating audio on stream_is_live
  • Fixed go2rtc false stuck-detection alerts on startup with a warmup guard
  • Fixed pre-buffer being incorrectly reset on stream reconnect
  • Fixed metrics reporting for stream UDT (unified detection thread)
  • Fixed process_motion_event signature to include is_propagated parameter, resolving a dead-code guard issue
  • Removed YAML log.output setting from go2rtc config — stdout/stderr redirection is sufficient and avoids conflicts

🔗 Full Changelog: 0.33.1...0.33.2

Don't miss a new lightNVR release

NewReleases is sending notifications on new releases.