Skip to content

Releases: R91g/Alexa-Notify-Bridge

Release v1.2.1

Choose a tag to compare

@R91g R91g released this 14 Oct 22:16
  • Rollback debounce cache on delivery failure: if Amazon API or network fails, the message is unblocked so subsequent retries succeed immediately.
  • Prevent startup crash (ValueError) when optional numeric environment variables are left empty in .env (DEFAULT_EXPIRY_HOURS="", DEBOUNCE_SECONDS="").
  • Concurrency protection: thread-safe asyncio.Lock in TokenCache to prevent duplicate OAuth2 token requests during concurrent notifications.
  • Validation hardening: reject NaN and Infinity values in Pydantic models (allow_inf_nan=False).
  • Memory bound in DebounceFilter: enforce _max_entries limit by pruning oldest entry when the cache is full.
  • Home Assistant Watchdog: enable native HA supervisor watchdog monitoring on /health endpoint.
  • Add-on schema alignment: adjust minimum default_expiry_hours to 0.1 (6 min) to prevent out-of-bounds warnings on startup.
  • Robust Bashio parsing: use bashio::config.has_value in run.sh to prevent empty fields exporting literal "null" strings.
  • Pure Python Uvicorn: switch to uvicorn (without [standard] C-extensions) to ensure reliable multi-arch builds on Alpine Linux (armv7/armhf).
  • CI/CD synchronization check: automated CI check ensuring standalone and add-on files remain strictly identical.

Release v1.2.0

Choose a tag to compare

@R91g R91g released this 14 Oct 22:16
  • Automatic message truncation: messages exceeding Amazon's 256-character limit are automatically truncated to 253 characters + ... with warning logs, ensuring notifications are never dropped.
  • In-memory anti-duplicate debounce filter: ignore identical consecutive notifications within a configurable time window (debounce_seconds, default: 0 / disabled) to prevent repeating alerts from bouncing sensors.
  • Fix validation error handling: strip non-serializable exception objects from Pydantic error contexts to ensure validation failures return HTTP 422 instead of 500.
  • Automated test suite: 20 unit tests with mocked Amazon APIs for fast and isolated verification.
  • CI/CD workflow: GitHub Actions pipeline running test suite and validating Docker builds for both standalone and add-on images on every push and PR.

Release v1.1.1

Choose a tag to compare

@R91g R91g released this 14 Oct 22:16
  • Automatically clamp notification expiry between 5 minutes and 24 hours (Amazon's allowed limits) with clear warning logs when adjusted.
  • Auto-recovery: refresh expired access tokens automatically on 401 errors and retry.
  • Enhanced /notify response: now includes reference_id and effective expiry_hours.
  • Enhanced /history: added optional ?limit=N query parameter.
  • Home Assistant integration: updated rest_command and UI script examples to support expiry_hours.

Release v1.1.0

Choose a tag to compare

@R91g R91g released this 14 Oct 22:16
  • Configurable notification expiry: default 24h (was 1h), adjustable globally or per request via expiry_hours.
  • Automatic retry on transient Amazon API errors (1 retry after 2s delay).
  • New /history endpoint: returns the last 50 sent notifications (in-memory).

Release v1.0.2

Choose a tag to compare

@R91g R91g released this 14 Oct 22:16
  • Add custom AppArmor profile to elevate security rating to 6.

Release v1.0.1

Choose a tag to compare

@R91g R91g released this 14 Oct 22:16
  • Fix s6-overlay-suexec PID 1 error by setting init: false in add-on configuration.
  • Enforce LF line endings for shell scripts.

Release v1.0.0

Choose a tag to compare

@R91g R91g released this 14 Oct 22:16
  • Initial release as Home Assistant add-on
  • Configuration via Home Assistant UI (credentials, region, API key, log level)
  • Support for NA, EU and FE Amazon regions
  • Optional API key protection for the /notify endpoint
  • Configurable log level
  • Rate limiting (10 requests per 10-second window)