Commit Graph

346 Commits (d586b89fdad9901c5e515aaccf8c2871ab517a13)
 

Author SHA1 Message Date
semantic-release-bot d586b89fda chore(release): 2.6.1 [skip ci]
## [2.6.1](https://github.com/weirdtangent/amcrest2mqtt/compare/v2.6.0...v2.6.1) (2026-01-20)

### Bug Fixes

* prevent UnboundLocalError when large recordings are skipped ([5973fe2](5973fe2444))
2 weeks ago
Jeff Culverhouse 5c0588bdd4
Merge pull request #5 from weirdtangent/fix/unbound-local-error-file-name
fix: prevent UnboundLocalError when large recordings are skipped
2 weeks ago
Jeff Culverhouse 5973fe2444 fix: prevent UnboundLocalError when large recordings are skipped
Fixed a crash that occurred when recordings >100MB were encountered.
The store_recording_in_media function was attempting to return file_name
outside the scope where it was defined, causing an UnboundLocalError when
get_recorded_file returned None for oversized recordings.

This fix moves the return statement inside the if recording: block and
adds an explicit return None for the case when recording is skipped.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2 weeks ago
Jeff Culverhouse 6d0a0d007d
Merge pull request #4 from weirdtangent/security/update-trivy-config
chore: enhance Trivy security scanning configuration
2 weeks ago
Jeff Culverhouse 21925c5688 chore: enhance Trivy security scanning configuration
- Add ignore-unfixed: true to Trivy workflow to focus on actionable vulnerabilities
- Expand .trivyignore from 1 to 10 CVEs with detailed categorization
- Document why each CVE is ignored (system libraries, unused features)
- Ignore glibc/libtasn1 system library CVEs pending upstream fixes
- Ignore curl CVEs for SSH/OAuth2/LDAP features not used by application
- Ignore OpenLDAP CVE as library is not used by amcrest2mqtt

This aligns with govee2mqtt security configuration and reduces noise
from unfixable or non-applicable security alerts while maintaining
focus on CRITICAL and HIGH severity issues that can be addressed.

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2 weeks ago
Jeff Culverhouse d66d3aebbc chore: add apt-get upgrade to Dockerfile for security updates 2 weeks ago
Jeff Culverhouse be9b3b384d chore: upgrade packages 4 weeks ago
github-actions[bot] 570279a570 chore: update VERSION to v2.6.0 4 weeks ago
semantic-release-bot 108fb86def chore(release): 2.6.0 [skip ci]
# [2.6.0](https://github.com/weirdtangent/amcrest2mqtt/compare/v2.5.1...v2.6.0) (2026-01-06)

### Bug Fixes

* use consistent fallback pattern and clarify documentation ([b027579](b02757938a)), closes [#3](https://github.com/weirdtangent/amcrest2mqtt/issues/3)

### Features

* add support for MQTT v3.1.1 protocol version ([58a0954](58a09548dd))
4 weeks ago
Jeff Culverhouse 407f0aa8fc
Merge pull request #3 from weirdtangent/feature/mqtt-protocol-version-support
feat: add support for MQTT v3.1.1 protocol version
4 weeks ago
Jeff Culverhouse b02757938a fix: use consistent fallback pattern and clarify documentation
- Change protocol_version to use 'or' fallback pattern like other config values
- Update config.yaml.sample comment to clarify both quoted and unquoted values work
- Addresses Copilot feedback on PR #3

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
4 weeks ago
Jeff Culverhouse 58a09548dd feat: add support for MQTT v3.1.1 protocol version
Add configurable MQTT protocol version support to allow users to choose
between MQTT v5 (default) and v3.1.1 for broker compatibility.

Changes:
- Add protocol_version option to MQTT configuration in config.yaml.sample
- Add MQTT_PROTOCOL environment variable support in helpers.py
- Update README.md with MQTT_PROTOCOL documentation
- Update mqtt-helper-graystorm package to latest version with protocol support

The protocol_version accepts "3.1.1" or "5" (default: "5") and can be
configured via config.yaml or the MQTT_PROTOCOL environment variable.

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

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
4 weeks ago
Jeff Culverhouse 76a62a424a Replace docker version badge with release tag 1 month ago
Jeff Culverhouse ed294a99e0 Add explicit permissions to Docker Hub workflow 1 month ago
Jeff Culverhouse 3314622c12 Pin GitHub Actions to SHAs 1 month ago
Jeff Culverhouse e0deb4755f Revert to python 3.14-slim base 1 month ago
Jeff Culverhouse 08acb7e162 Use python 3.13-slim-bookworm base 1 month ago
github-actions[bot] 1309f8bfad chore: update VERSION to v2.5.1 1 month ago
semantic-release-bot aa73f556fd chore(release): 2.5.1 [skip ci]
## [2.5.1](https://github.com/weirdtangent/amcrest2mqtt/compare/v2.5.0...v2.5.1) (2025-12-24)

### Bug Fixes

* skip release and docker jobs on pull requests ([e7852b0](e7852b0c36))
1 month ago
Jeff Culverhouse e7852b0c36 fix: skip release and docker jobs on pull requests
Dependabot PRs were incorrectly triggering the docker build job.
Now release and docker jobs only run on pushes to main, scheduled
runs, and manual triggers.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 month ago
Jeff Culverhouse 2de3fd16f6
Merge pull request #2 from weirdtangent/dependabot/npm_and_yarn/js-yaml-4.1.1
chore(deps-dev): bump js-yaml from 4.1.0 to 4.1.1
1 month ago
Jeff Culverhouse fe5de862fa
Merge pull request #1 from weirdtangent/dependabot/npm_and_yarn/multi-289c097fca
chore(deps): bump glob and semantic-release
1 month ago
dependabot[bot] d3088dff18
chore(deps-dev): bump js-yaml from 4.1.0 to 4.1.1
Bumps [js-yaml](https://github.com/nodeca/js-yaml) from 4.1.0 to 4.1.1.
- [Changelog](https://github.com/nodeca/js-yaml/blob/master/CHANGELOG.md)
- [Commits](https://github.com/nodeca/js-yaml/compare/4.1.0...4.1.1)

---
updated-dependencies:
- dependency-name: js-yaml
  dependency-version: 4.1.1
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
1 month ago
dependabot[bot] 44eeebf776
chore(deps): bump glob and semantic-release
Removes [glob](https://github.com/isaacs/node-glob). It's no longer used after updating ancestor dependency [semantic-release](https://github.com/semantic-release/semantic-release). These dependencies need to be updated together.


Removes `glob`

Updates `semantic-release` from 24.2.9 to 25.0.2
- [Release notes](https://github.com/semantic-release/semantic-release/releases)
- [Commits](https://github.com/semantic-release/semantic-release/compare/v24.2.9...v25.0.2)

---
updated-dependencies:
- dependency-name: glob
  dependency-version: 
  dependency-type: indirect
- dependency-name: semantic-release
  dependency-version: 25.0.2
  dependency-type: direct:development
...

Signed-off-by: dependabot[bot] <support@github.com>
1 month ago
Jeff Culverhouse 2bae8fa28c Add CODEOWNERS 1 month ago
Jeff Culverhouse 50659de3ef docs: add security badges to README
Added badges for SBOM, provenance attestation, cosign signing, and Trivy scanning.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 month ago
Jeff Culverhouse ff852aff3f chore: update codeql-action to v4
Addresses deprecation warning for v3.

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

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
1 month ago
Jeff Culverhouse 3420a976dd chore: trigger CI to test new security workflow
🤖 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] bfc7a57b32 chore: update VERSION to v2.5.0 1 month ago
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