What's Changed
π± Android App - Rewritten in Jetpack Compose
- Complete UI overhaul with a brand-new Jetpack Compose interface and full Java β Kotlin migration
- Redesigned 5-step onboarding flow with clear guides
- Improved dashboard: permission warning card, inline device ID copy, SIM subscription info, and subscription usage bars
- Reduced permission footprint β removed unnecessary SMS permissions and cleartext traffic allowance
π Webhooks
- Support for multiple webhook subscriptions per account
- Smarter auto-disable logic β re-enabled webhooks now get a grace period instead of being instantly disabled by historical failures
- Improved webhooks UI with better date formatting and device labels
π¨ SMS Reliability
- More robust SMS queue processing with better error handling and a fallback for SMS document insertion
- Batched FCM message processing and automatic invalidation of stale FCM tokens
- Clearer error details in message history and the SMS details dialog
π₯οΈ Dashboard & Billing
- Devices can now be deleted from the dashboard
- Improved API key management and retrieval
- Past-due billing alert with a direct link to the Polar customer portal
- Polar customer portal is now prefilled with your account email
- "Update app version" prompt when a newer Android app is available
π οΈ Misc
- Infra: pinned pnpm v9 in Dockerfiles, updated Node version in CI workflows, Polar SDK upgrade
- Various bug fixes and logging improvements
Full Changelog: v2.7.1...v2.8.0