Breaking Change: RAM-Only Event Queue
v3.0.0 removes all disk persistence from the event queue. Events are now held exclusively in memory (RAM) and are never written to the device.
This aligns the SDK behavior with Respectlytics privacy architecture: zero bytes written to the user device for analytics purposes.
What Changed
- Removed SharedPreferences persistence for queued events
- Removed
shared_preferencesdependency (13 transitive dependencies removed) - Events are held in an in-memory list
- Unsent events are lost on force-quit or crash — this is a deliberate trade-off
Why
Our privacy promise is zero device storage for analytics. The v2.x event queue wrote to SharedPreferences, contradicting this claim. v3.0.0 fixes the inconsistency.
The ~1-3% event loss from force-quits has no meaningful impact on session-based aggregate analytics.
Migration from v2.x
Update your dependency in pubspec.yaml:
# Before
respectlytics_flutter: ^2.2.0
# After
respectlytics_flutter: ^3.0.0No code changes required. The public API (configure, track, flush) is unchanged.
Privacy Architecture (unchanged)
- Session IDs: RAM-only, rotate every 2 hours
- Event queue: RAM-only (NEW in v3.0.0)
- No cookies, no fingerprinting, no device identifiers
- IP processed transiently for country lookup, never stored