chore: v0.4.0 — cleanup, changelog, version bump

This commit is contained in:
Claus Lohmar 2026-08-06 18:30:49 +01:00
parent cc972835b0
commit fbb40f4e26
2 changed files with 42 additions and 38 deletions

View file

@ -2,49 +2,53 @@
All notable changes to NextNVR will be documented in this file.
## [0.2.2] — 2026-08-05
## [0.4.0] — 2026-08-06
### Added
- User-friendly README.md with one-line install command
- Auto-install dependencies in setup.sh (ffmpeg, git, Go 1.24.5)
- Colored terminal output during deployment
- Preserves existing config.yaml on re-deployment
## [0.2.1] — 2026-08-05
- Two-port auth system: `:8080` with optional master login, `:8090` always-open viewer
- Auth management card in Settings UI
- Add / remove cameras in Settings
- Collapsible advanced camera settings
- `remove.sh` for clean uninstall
### Changed
- **Flat recording directory**: `/mnt/recordings/{cam-name}/{YYYY-MM-DD-HH-MM}.mp4`
- **Per-segment FFmpeg**: replaced segment muxer with `-t 300` per-segment approach
- **Atomic file naming**: in-progress recordings use `.part.mp4` suffix, renamed on completion
- **Crash recovery**: `.part` files older than 1 hour auto-cleaned by retention loop
- Cleaner skips `.part.mp4` files (active recordings)
- Cleaner prunes empty camera directories after purge
- **Pivot to JSON config** — zero external Go dependencies
- Deploy script: greenfield vs update detection, no interactive prompts
- Camera names auto-sanitized (spaces → underscores)
- Storage path in config only, deploy script no longer asks
### Fixed
- First-run wizard auto-loads Settings when no cameras configured
- Snapshot path resolution for clip thumbnails
- Timezone-aware playback presets (BST)
- XSS in clip cards (DOM-based rendering)
- Interval leak in live grid
- Credentials file permissions (0600)
- Data race on recorder process manager
## [0.3.0] — 2026-08-05
### Added
- Playback presets: Today, Yesterday, Last 7 Days, Custom date range
- `/recordings/` static file server for video playback
- Recordings API filters by preset or custom date range
- 🔴 live badge for in-progress `.part` files in playback UI
### Removed
- Nested date subdirectories (replaced by flat per-camera structure)
- Complex FFmpeg segment muxer flags (`-f segment`, `-segment_time`, `-strftime`)
- go2rtc integration for live streaming
- Snapshots via go2rtc (1s interval, disk-based)
- Focus overlay with go2rtc WebRTC player
- ONVIF hybrid probe (TCP + SOAP)
- Playback presets: Today, Yesterday, Last 7 Days, Custom
- Per-minute archival snapshots for thumbnail browsing
### Changed
- Flat recording directory: `{cam-name}/rec_*.mp4` + `snap_*.jpg`
- Per-segment FFmpeg with `.part.mp4` atomic rename
- go2rtc proxied through NextNVR to avoid mixed-content blocking
- 7-day retention default
## [0.2.0] — 2026-08-05
### Added
- FFmpeg stream recorder with zero-transcoding (`-c copy`) stream-copy mode
- 5-minute MP4 segment output to `/mnt/recordings/{cam_id}/{YYYY-MM-DD}/`
- Per-camera goroutines with auto-reconnect on stream failure (5s delay)
- Staggered camera startup (500ms between launches)
- Storage retention cleaner with configurable `retention_days`
- Hourly background purge of expired recordings
- Empty directory pruning after cleanup runs
- FFmpeg stream recorder with zero transcoding
- Retention cleaner with hourly purge
- Deployment script (now `deploy_nvr.sh`)
## [0.1.0] — 2026-08-05
### Added
- Initial project scaffold and Go module
- YAML configuration (`config.yaml`) with 8 camera stubs
- Embedded single-binary distribution using Go `embed`
- HTTP API endpoints: `/api/cameras`, `/api/config`, `/api/scan`, `/api/status`, `/api/recordings`
- Responsive SPA with three tabs: Live Wall, Playback, Settings
- 4x2 CSS grid for live camera monitoring
- Focus/overlay mode with prev/next navigation and thumbnail strip
- ONVIF scan stub (IP range 192.168.1.201209, skip 204)
- go2rtc child process manager with auto-restart
- Deployment script (`setup.sh`) with systemd service generation
- Initial project scaffold
- YAML configuration with camera stubs
- Embedded single-binary SPA
- HTTP API endpoints
- Live Wall 4x2 grid with focus overlay
- Playback browser
- ONVIF scan stub

View file

@ -1 +1 @@
0.2.2
0.4.0