Skip to content

v0.3.6

Choose a tag to compare

@rosscooney rosscooney released this 11 Sep 15:53
· 23 commits to main since this release

Changed

  • Alert dispatch is now rate-limited by default. New alerts.rate_limit_seconds (default 900 - 15 minutes) is a per-MAC cooldown on external alert channels: once a device has triggered a dispatch, further alerts about it are suppressed until the cooldown elapses, unless a new finding's severity is higher than what was last alerted. This is a behavior change for anyone upgrading - previously every qualifying finding was dispatched every time. Only the external channels are throttled - the CLI table, JSON output, and the database's event history remain complete. Set rate_limit_seconds: 0 to restore the old "alert every time" behavior.

Added

  • Five new alert channels: Slack, Discord, Microsoft Teams, ntfy, and Twilio SMS (authenticated via HTTP Basic Auth, one message per recipient, body capped at ~480 characters since SMS is billed per segment). All disabled by default, gated by alerts.min_severity.

Internal

  • Added a CI workflow running pytest on every push/PR across Python 3.11/3.12/3.13.
  • Fixed a test flake and stale vendor-table documentation.

Full changelog: https://github.com/rosscooney/LanFence/blob/main/CHANGELOG.md