[0.2.1] — 2026-06-05
Added
- Support for Elixir 1.20.0 and OTP 29
- CI: quality checks (format, credo, dialyzer) now run inside the test matrix on every OTP/Elixir combination
Fixed
- Elixir 1.20 compatibility: verified clean compilation, tests, credo, and dialyzer on OTP 29
Changed
- Updated
ex_doc0.40.2 → 0.40.3 (dev-only) - Test coverage: 61.63% → 81.98% with new tests for
Url,Cert, andHttpClientmodules
[0.2.0] — 2026-05-16
Added
ExAwsSnsVerifier.Plug— a Plug behaviour module for verifying SNS messages in Plug/Phoenix pipelines{:plug, "~> 1.0"}runtime dependency
[0.1.0] — 2026-05-13
Initial release.
Added
- RSA-SHA256 signature verification for
Notification,SubscriptionConfirmation, andUnsubscribeConfirmationmessages - Canonical string construction per AWS SNS specification
- URL hardening: HTTPS enforcement, host whitelist (
sns.<region>.amazonaws.com), no credentials in URL,.pemextension for certs - Certificate fetching via
:httpcwith automatic caching in:persistent_term(24h TTL) - Configurable timestamp window for replay protection
- Topic ARN allowlist for origin restriction
- Pluggable HTTP client via
ExAwsSnsVerifier.Cert.HttpClientBehaviour ExAwsSnsVerifier.Plugfor Phoenix/Plug integration (module stub)- Comprehensive test suite with locally generated RSA keypairs
- CI workflow with OTP 26–29 × Elixir 1.16–1.20 matrix
- Full credo and dialyzer compliance