chore: v0.4.0 — cleanup, changelog, version bump
This commit is contained in:
parent
cc972835b0
commit
fbb40f4e26
2 changed files with 42 additions and 38 deletions
78
CHANGELOG.md
78
CHANGELOG.md
|
|
@ -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.201–209, 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
|
||||
|
|
|
|||
2
VERSION
2
VERSION
|
|
@ -1 +1 @@
|
|||
0.2.2
|
||||
0.4.0
|
||||
|
|
|
|||
Loading…
Reference in a new issue