🤖 AI-Generated Changelog
Added
- Validate fleet reads and scope catalog counts via new API contracts
- Add permission-aware API contracts with engineering hardening
- Generate fail-fast contract validators with qualification evidence
- Validate password and MFA browser workflows through identity auth contracts
- Add fleet read contracts with full-page integration response fixtures
Changed
- Pin go2rtc API and RTSP listeners to loopback addresses only
- Pin go2rtc with patched networking and crypto modules (x/net CVE-062 fix)
- Pin affected minimatch dependencies to patched version 11.0.5
- Refactor ONVIF operation metadata to distinguish from transport URLs
- Reuse UUID validation and test tag visibility under mixed authority
- Encapsulate bounded hexadecimal character encoding
Fixed
- Retain and serialize health worker ownership across bounded shutdown
- Return reliable go2rtc override read errors and distinguish failed diagnostics
- Harden atomic override publication and private child process logs
- Preserve recovery state before database publication
- Report private backup staging failures and verify retry behavior
- Protect credential transport probes and private storage writes
- Harden password and TOTP credential transitions
- Reject off-origin ONVIF subscriptions without a fallback request
- Keep correct socket inode parsing and remove obsolete shared config alias
- Handle interrupted fixture I/O and exercise partial ONVIF responses
- Protect recording file ownership and fail incomplete ZIP exports
Security
- Reject path syntax in generated recording identifiers to prevent path traversal
- Restrict recording permissions and constrain UUID path components
- Separate pending MFA challenges from authenticated sessions
- Authorize tag assignment reads before writes with scoped sessions
- Harden personal credential revocation with validated lifecycle contracts
🔗 Full Changelog: 0.46.3...v0.47.0