- Circuit breaker: opt-in ETS-backed per-provider failure tracking
- PushX.health_check/0: config + circuit breaker status
- Per-request timeout overrides (:receive_timeout, :pool_timeout)
- Token cleanup callback (on_invalid_token MFA config)
- FCM send_data now has full parity: circuit breaker, telemetry,
per-request timeouts, debug logging, exception handling
- APNS payload injection protection (Map.delete "aps" key)
- Reconnect error logging in retry logic
- Device tokens redacted in debug logs
- 23 doctests across 7 modules, 241 tests, 0 failures
- README TOC + new feature documentation