Commit Graph

366 Commits (4d7e630c21d0279d0a28df8b5ca4f49fa3afcb8b)
 

Author SHA1 Message Date
Jeff Culverhouse 4d7e630c21 chore: reduce log noise for cameras without SD card
Change storage stats CommError from error to debug level since 400 Bad
Request just means the camera has no SD card - not an actual error.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
7 days ago
github-actions[bot] 3847c75945 chore: update VERSION to v2.6.4 7 days ago
semantic-release-bot 91c0acb402 chore(release): 2.6.4 [skip ci]
## [2.6.4](https://github.com/weirdtangent/amcrest2mqtt/compare/v2.6.3...v2.6.4) (2026-01-27)

### Bug Fixes

* handle cameras without SD card storage ([af666c1](af666c119b))
7 days ago
Jeff Culverhouse de3b0deaa7
Merge pull request #11 from weirdtangent/fix/no-sdcard-crash
fix: handle cameras without SD card storage
7 days ago
Jeff Culverhouse af666c119b fix: handle cameras without SD card storage
Return default values (0) for storage stats when a camera has no SD card
instead of an empty dict. This prevents KeyError when build_device_states
tries to access storage["used"].

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
7 days ago
github-actions[bot] 8cd2ca0b1b chore: update VERSION to v2.6.3 7 days ago
semantic-release-bot c9d3a21ab5 chore(release): 2.6.3 [skip ci]
## [2.6.3](https://github.com/weirdtangent/amcrest2mqtt/compare/v2.6.2...v2.6.3) (2026-01-27)

### Bug Fixes

* prevent crash when unsupported device model is configured ([a1a41f3](a1a41f3276))
7 days ago
Jeff Culverhouse c583432d06
Merge pull request #10 from weirdtangent/fix/unsupported-device-crash
fix: prevent crash when unsupported device model is configured
7 days ago
Jeff Culverhouse a1a41f3276 fix: prevent crash when unsupported device model is configured
Iterate over self.devices (successfully built devices) instead of
self.amcrest_devices (all API devices) in event and snapshot collection
loops. This prevents KeyError when calling is_rebooting() or
get_device_name() for devices that failed model validation.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
7 days ago
github-actions[bot] 2088bd66f0 chore: update VERSION to v2.6.2 7 days ago
semantic-release-bot 56f41e7251 chore(release): 2.6.2 [skip ci]
## [2.6.2](https://github.com/weirdtangent/amcrest2mqtt/compare/v2.6.1...v2.6.2) (2026-01-27)

### Bug Fixes

* use pattern matching for camera model validation ([83f48c2](83f48c281e))
7 days ago
Jeff Culverhouse 15b2c64db0
Merge pull request #9 from weirdtangent/fix/model-pattern-matching
fix: use pattern matching for camera model validation
7 days ago
Jeff Culverhouse 83f48c281e fix: use pattern matching for camera model validation
Accept any suffix variant (B/W/E/EB/EW etc.) for supported camera models
instead of requiring exact model strings. This allows cameras like
IP4M-1041W (white) to match the IP4M-1041 base model pattern.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
7 days ago
Jeff Culverhouse bbf91b82d6
Merge pull request #8 from weirdtangent/dependabot/npm_and_yarn/npm_and_yarn-f3562b46b9
chore(deps): bump lodash from 4.17.21 to 4.17.23 in the npm_and_yarn group across 1 directory
2 weeks ago
dependabot[bot] 555a1dcfec
chore(deps): bump lodash in the npm_and_yarn group across 1 directory
Bumps the npm_and_yarn group with 1 update in the / directory: [lodash](https://github.com/lodash/lodash).


Updates `lodash` from 4.17.21 to 4.17.23
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23)

---
updated-dependencies:
- dependency-name: lodash
  dependency-version: 4.17.23
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2 weeks ago
Jeff Culverhouse e54a734b22
Merge pull request #7 from weirdtangent/docs/improve-config-documentation
docs: improve configuration documentation and separate environment variables
2 weeks ago
Jeff Culverhouse deeb4544ee
Merge pull request #6 from weirdtangent/dependabot/npm_and_yarn/npm_and_yarn-608be4dd71
chore(deps): bump the npm_and_yarn group across 1 directory with 2 updates
2 weeks ago
Jeff Culverhouse 5117cbd14a docs: improve configuration documentation and separate environment variables
Reorganize README to focus on config.yaml as the recommended approach:
- Add dedicated Configuration section with examples for MQTT, Amcrest, and media settings
- Clearly document max_size and retention_days settings for recordings
- Move all environment variables to separate ENVIRONMENT_VARIABLES.md file
- Improve overall documentation clarity and structure

Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
2 weeks ago
dependabot[bot] 45e63fff4f
chore(deps): bump the npm_and_yarn group across 1 directory with 2 updates
Bumps the npm_and_yarn group with 2 updates in the / directory: [lodash-es](https://github.com/lodash/lodash) and [tar](https://github.com/isaacs/node-tar).


Updates `lodash-es` from 4.17.21 to 4.17.23
- [Release notes](https://github.com/lodash/lodash/releases)
- [Commits](https://github.com/lodash/lodash/compare/4.17.21...4.17.23)

Removes `tar`

---
updated-dependencies:
- dependency-name: lodash-es
  dependency-version: 4.17.23
  dependency-type: indirect
  dependency-group: npm_and_yarn
- dependency-name: tar
  dependency-version: 
  dependency-type: indirect
  dependency-group: npm_and_yarn
...

Signed-off-by: dependabot[bot] <support@github.com>
2 weeks ago
github-actions[bot] fb7f50fc22 chore: update VERSION to v2.6.1 2 weeks ago
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