Lifetime PRO billing & the road to beta
In this release, we officially retired recurring subscriptions in favor of a straightforward $19.99 Lifetime PRO license ("Pay once, own forever").
Under the hood, we hardened the purchase verification and entitlement pipeline. On both initial in-app
purchase and restore flows via Google Play, SubscriptionServiceImpl now extracts and
parses the store transaction timestamp (purchaseDetails.transactionDate) into
purchasedAt. This timestamp is HMAC-SHA256 cryptographically signed using a device-bound
secret key and persisted securely in FlutterSecureStorage (Android Keystore). Capturing
purchase timestamps from day one guarantees historical provenance and preserves future architectural
flexibility for time-boxed update models.
With everything now finalized, v0.8.0 marks our final foundational release before Beta. Our engineering focus now pivots entirely to shipping the closed and open Beta tracks on Google Play: polishing first-run onboarding, finalizing crash telemetry with strict privacy guardrails, and rolling out access to our early waitlist community.
-
Replaced recurring subscription model with a single $19.99 one-time Lifetime PRO purchase
-
Day-one store transaction timestamp (
purchasedAt) capture across purchase and restore flows -
HMAC-SHA256 cryptographic signing for tamper-proof local license verification in Android Keystore
-
Streamlined
ProUpgradeSheetwith clear one-tap lifetime purchase button and value propositions -
Settings screen updated with "Lifetime License Active" status badge and one-tap restore
-
Finalized core milestone checklist and initiated Google Play Beta release preparation