Commit Graph

367 Commits (a925ca5598145d83a066fb2028849bb6e4dbbcd9)
 

Author SHA1 Message Date
semantic-release-bot c3399f208e chore(release): 2.5.0 [skip ci]
# [2.5.0](https://github.com/weirdtangent/amcrest2mqtt/compare/v2.4.0...v2.5.0) (2025-12-23)

### Features

* add image signing, vulnerability scanning, and security policy ([291bf7d](291bf7d765))
1 month ago
Jeff Culverhouse 291bf7d765 feat: add image signing, vulnerability scanning, and security policy
- Add Cosign image signing using Sigstore keyless signing
- Add Trivy vulnerability scanning with SARIF output to GitHub Security tab
- Add SECURITY.md with vulnerability reporting instructions
- Add required permissions for security-events and id-token

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 month ago
github-actions[bot] 0a25ef9016 chore: update VERSION to v2.4.0 1 month ago
semantic-release-bot 0e8b24e3bc chore(release): 2.4.0 [skip ci]
# [2.4.0](https://github.com/weirdtangent/amcrest2mqtt/compare/v2.3.3...v2.4.0) (2025-12-23)

### Bug Fixes

* add cleanup methods to protocol interface ([8c195f1](8c195f1eb1))

### Features

* add automatic cleanup of old media recordings ([ebe8d04](ebe8d04332))
1 month ago
Jeff Culverhouse 8c195f1eb1 fix: add cleanup methods to protocol interface
Fixes mypy errors by adding cleanup_old_recordings and
cleanup_recordings_loop to AmcrestServiceProtocol.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 month ago
Jeff Culverhouse ebe8d04332 feat: add automatic cleanup of old media recordings
Add configurable retention period for saved clips (default: 7 days).
Recordings older than the retention period are automatically deleted
once per day. Dangling symlinks are also cleaned up when their target
files are removed.

Configure via `media.retention_days` in config.yaml or
`MEDIA_RETENTION_DAYS` environment variable. Set to 0 to disable.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 month ago
Jeff Culverhouse c8bd5a193b refactor: upgrade packages 2 months ago
Jeff Culverhouse dbc412f18a chore: package upgrades 2 months ago
github-actions[bot] a585379c69 chore: update VERSION to v2.3.3 2 months ago
semantic-release-bot 7f7cbad574 chore(release): 2.3.3 [skip ci]
## [2.3.3](https://github.com/weirdtangent/amcrest2mqtt/compare/v2.3.2...v2.3.3) (2025-11-24)

### Bug Fixes

* always try to log device_name in preference to device_id ([41ec32a](41ec32af47))
* formatting ([cd4e1aa](cd4e1aa628))
* make sure all device_names logged are in quotes ([b0100f0](b0100f0931))
2 months ago
Jeff Culverhouse cd4e1aa628 fix: formatting 2 months ago
Jeff Culverhouse b0100f0931 fix: make sure all device_names logged are in quotes 2 months ago
Jeff Culverhouse 41ec32af47 fix: always try to log device_name in preference to device_id 2 months ago
Jeff Culverhouse 510a24af55 chore: update README.md 3 months ago
github-actions[bot] c85383dead chore: update VERSION to v2.3.2 3 months ago
semantic-release-bot 78faf3f76a chore(release): 2.3.2 [skip ci]
## [2.3.2](https://github.com/weirdtangent/amcrest2mqtt/compare/v2.3.1...v2.3.2) (2025-11-18)

### Bug Fixes

* README.md doc on webrtc ([2531e42](2531e42f25))
3 months ago
Jeff Culverhouse 2531e42f25 fix: README.md doc on webrtc 3 months ago
Jeff Culverhouse 459a7f023a feat!: move recording_url and motion_region to attributes
these are no longer sensors themselves but attributes of the
motion sensor and they update when a change to motion happens

also, store_recording_in_media now returns the file name
instead of the full path
3 months ago
Jeff Culverhouse c16680bd04 chore: add clear.sh tool for clearing retained messages in MQTT broker 3 months ago
Jeff Culverhouse 3d412f20f7 refactor: simplify device discovery and state publication 3 months ago
github-actions[bot] 516e2b5638 chore: update VERSION to v2.3.1 3 months ago
semantic-release-bot 4127b1c5c0 chore(release): 2.3.1 [skip ci]
## [2.3.1](https://github.com/weirdtangent/amcrest2mqtt/compare/v2.3.0...v2.3.1) (2025-11-18)

### Bug Fixes

* handle permission errors when saving recordings ([bf54589](bf54589328))
3 months ago
Jeff Culverhouse 336065e340 chore: formatting problem 3 months ago
Jeff Culverhouse bf54589328 fix: handle permission errors when saving recordings 3 months ago
github-actions[bot] 2060e87750 chore: update VERSION to v2.3.0 3 months ago
semantic-release-bot 277c79038f chore(release): 2.3.0 [skip ci]
# [2.3.0](https://github.com/weirdtangent/amcrest2mqtt/compare/v2.2.2...v2.3.0) (2025-11-17)

### Bug Fixes

* minor linting issues ([e709760](e709760971))

### Features

* better error handling and logging ([2d48726](2d48726917))
3 months ago
Jeff Culverhouse e709760971 fix: minor linting issues 3 months ago
Jeff Culverhouse 2d48726917 feat: better error handling and logging
* better snapshot and recording handling
* better event handling
* better device discovery
* better device state handling
* better device command handling
* better device command response handling
* better device command error handling
* better device command timeout handling
* better device command retry handling
3 months ago
Jeff Culverhouse b3fe517158 refactor: Dockerfile updates 3 months ago
Jeff Culverhouse bb6acf4074 chore: sync to lowercase logged messages 3 months ago
Jeff Culverhouse 693eb1c542 refactor: use new BaseMqttMixin from mqtt_helper 3 months ago
Jeff Culverhouse 8a9602af3b refactor: pass default quos and retain 3 months ago
Jeff Culverhouse 9b064b2ec8 chore: upgrade packages 3 months ago
Jeff Culverhouse 366ef61544 refactor: simplify device setup; just use cmps instead of modes 3 months ago
Jeff Culverhouse 07b81abecf feature: add 'version' to logged messages; upgrade packages 3 months ago
github-actions[bot] ae7c8d3245 chore: update VERSION to v2.2.2 3 months ago
semantic-release-bot 724e30d41e chore(release): 2.2.2 [skip ci]
## [2.2.2](https://github.com/weirdtangent/amcrest2mqtt/compare/v2.2.1...v2.2.2) (2025-11-10)

### Bug Fixes

* save recording path as a string not Pathlib path; upgrade packages ([1231871](1231871ba7))
3 months ago
Jeff Culverhouse 1231871ba7 fix: save recording path as a string not Pathlib path; upgrade packages 3 months ago
Jeff Culverhouse de3022b920 chore: fix type, upgrade packages 3 months ago
Jeff Culverhouse fac83349da
Add build and quality status section to README
Updated the README to include build and quality status badges.
3 months ago
Jeff Culverhouse 396e8b131e chore: more python support; build tests 3 months ago
Jeff Culverhouse 1315c70805 chore: log changes to intervals 3 months ago
github-actions[bot] 26c83ff55f chore: update VERSION to v2.2.1 3 months ago
semantic-release-bot 2dec9d2849 chore(release): 2.2.1 [skip ci]
## [2.2.1](https://github.com/weirdtangent/amcrest2mqtt/compare/v2.2.0...v2.2.1) (2025-11-09)

### Bug Fixes

* fix interval setting ([165d0c7](165d0c723f))
3 months ago
Jeff Culverhouse 165d0c723f fix: fix interval setting 3 months ago
Jeff Culverhouse 259d2d2475 chore: upgrade deps 3 months ago
Jeff Culverhouse 8e1cdb313d chore: minor fixes 3 months ago
github-actions[bot] 3ff272ebe8 chore: update VERSION to v2.2.0 3 months ago
semantic-release-bot 1efc3c0255 chore(release): 2.2.0 [skip ci]
# [2.2.0](https://github.com/weirdtangent/amcrest2mqtt/compare/v2.1.0...v2.2.0) (2025-11-08)

### Features

* **discovery:** unify service and camera discovery to new HA device schema ([8c7bfd2](8c7bfd2b9e))
3 months ago
Jeff Culverhouse 8c7bfd2b9e feat(discovery): unify service and camera discovery to new HA device schema
* Reworked publish.py and amcrest.py to emit single-payload MQTT device discovery blocks using "platform": "mqtt" and nested "cmps" for entities

* Simplified service entity publication (publish_service_discovery) into unified "device" payload

* Replaced component_type with platform throughout topics and interface definitions

* Refactored build_camera() to generate full per-camera device definition including all sensors, switches, and media links

* Updated publish_device_state() to support targeted subject/sub publishing

* Increased snapshot timeout and backoff (20s, 8s) for better camera stability

* Updated type handling in amcrest_api for network config parsing (cast from tuple or str)

* Bumped coverage dependency → 7.11.2 and refreshed json-logging-graystorm SHA
3 months ago