-
0.2.0 Stable
released this
2026-05-29 21:28:45 +00:00 | 317 commits to main since this release[0.2.0] - 2026-05-29
First release. This now has most functionality in place.
At this point only Dahua cameras are supported.Bug Fixes
- 🐛 Accept Path in load_config, update tests
- 🐛 Create output dir, log ffmpeg to file, kill on cancel
- 🐛 Safe mp4 filenames and fix video URL in day template
- 🐛 Pipeline: copy snapshot to output dir on transcode completion; fixes broken thumbnails when source is deleted
- 🐛 Lifespan: use middle snapshot as thumbnail instead of first
- 🐛 Config: add scan_interval to ServerConfig (default 300 s)
- 🐛 Pipeline: periodic re-scan fallback for inotify race condition
- 🐛 Dahua: remove serial directory level; cam.root is now the serial dir
CI
- 👷 add noxfile.py with ruff and tryke sessions
- 👷 add .woodpecker/ci.yml lint and test pipeline
- 👷 add .pre-commit-config.yaml with prek hooks
- 👷 add ty type-checking session to noxfile.py
- 👷 address review: drop push trigger, add complexipy/pysentry/deptry/zaojun
- 👷 Only run CI on pull_request events, not push
- 👷 CI: expand ci.yml to release/tag events; add gitleaks and validate_release_notes
- 👷 CI: add publish-pypi.yml pipeline
- 👷 CI: add fediverse.yml announcement pipeline
- 👷 CI: add weekly-checks.yml cron pipeline
- 👷 CI: add publish-docs.yml pipeline
Documentation
- 📝 mark Roadmap M0 complete in ROADMAP.md
- 📝 add Woodpecker CI badge to README.md
- 📝 mark Roadmap M1 complete in ROADMAP.md
- 📝 Mark M4 complete in ROADMAP.md
- 📝 Add docs/config.md and mark M3 complete in ROADMAP.md
- 📝 Mark M6 done in ROADMAP.md
- 📝 Add startup scan item to M7 in ROADMAP.md
- 📝 Web UI and install docs; update config ref and ROADMAP
- 📝 Document output dir layout, filename format, and ffmpeg.log
- 📝 Document flags, thumbnail poster, and responsive layout
- 📝 Docs: config reference — delete_after_transcode
- 📝 Docs: document completed-only day view and processing banner
- 📝 Docs: document scan_interval config key
- 📝 Add Release-Notes.md stub
- 📝 Add mkdocs.yml, docs_hooks.py, and docs/index.md
- 📝 Update README; fix docs; remove concept.md and dahua-folders-files.txt
- 📝 README: correct copyright holder to Marvin8
Features
- ✨ add src/cang/init.py with importlib.metadata version
- ✨ Implement DahuaAdapter — folder parsing and snapshot matching
- ✨ Implement transcode coroutine and Pipeline queue worker
- ✨ Implement config.py loader and validation
- ✨ Implement db module
- ✨ Integrate watchdog FileWatcher into pipeline
- ✨ Extend config with WebConfig and [web] section
- ✨ Add list_days, list_clips_for_day, get_clip to db
- ✨ Add make_adapter() factory
- ✨ FastAPI app, lifespan, startup scan, auth, routes, templates
- ✨ Add CLI entry point
- ✨ Serve clip thumbnails via /clips/{id}/thumbnail
- ✨ Show trigger flags and snapshot poster on day page
- ✨ Responsive clip grid — auto-fill columns, no fixed-width cap
- ✨ DB + route + template: per-day statistics on /days
- ✨ Config: add delete_after_transcode per-camera option
- ✨ Pipeline: delete source files after successful transcode
- ✨ Web: camera badge + hour sidebar on day page
- ✨ DB: add status column with v2 migration; new helpers set_clip_done, get_clip_by_camera_filename, count_pending_for_day
- ✨ Pipeline: on_done callback on TranscodeJob; Pipeline.watch takes async callback
- ✨ Lifespan: re-enqueue pending clips on restart; mark done after transcode; wire file-watcher DB insert
- ✨ Web: day page filters to completed clips; shows pending-count banner
Refactoring
- ♻️ docs_hooks.py: remove llms-full.txt generation
Security Fixes
- 🔒 Constrain starlette>=1.0.1 to fix CVEs (GHSA-7f5h, GHSA-2c2j, PYSC-2026-161)
Testing
- ✅ add tests/test_smoke.py smoke test
- ✅ Add failing tests for DahuaAdapter
- ✅ Add failing tests for pipeline transcode and queue flow
- ✅ Add failing tests for config loader
- ✅ Add failing db tests
- ✅ Add FileWatcher tests
- ✅ Add failing tests for WebConfig parsing
- ✅ Add failing tests for list_days, list_clips_for_day, get_clip
- ✅ Add failing web route tests
- ✅ Tests: list_days_with_stats DB query
- ✅ Tests: delete_after_transcode config and pipeline cleanup
- ✅ Tests: transcode-status DB queries and on_done pipeline callback
- ✅ Tests: snapshot copy to output dir and thumbnail DB update
Downloads
-
Source code (ZIP)
0 downloads
-
Source code (TAR.GZ)
0 downloads