-
Notifications
You must be signed in to change notification settings - Fork 0
Releases: respectlytics/respectlytics-flutter
Respectlytics Flutter SDK v3.0.0
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.0
No 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
Assets 2
v2.1.0 - Simplified 4-Field API
🚀 What's New
This release simplifies the SDK to send only 4 fields for maximum privacy:
event_name- What happenedtimestamp- When it happenedsession_id- RAM-only, 2-hour rotationplatform- iOS, Android, macOS, Linux, Windows
⚠️ Breaking Changes
screen parameter removed from track()
- await Respectlytics.track('purchase', screen: 'CheckoutScreen'); + await Respectlytics.track('purchase');
If you need screen context, include it in your event name:
await Respectlytics.track('checkout_screen_purchase');
📦 Installation
dependencies: respectlytics_flutter: ^2.1.0
✅ Test Coverage
- 26 unit tests
- 7 integration tests
- All tests passing
📖 Full Documentation
Assets 2
v2.0.0 - Session-Based Analytics
⚠️ Breaking Changes
- REMOVED:
identify()method - REMOVED:
reset()method - REMOVED: SharedPreferences storage for user IDs
What's New
Session IDs are now managed automatically:
- 🔄 New session on every app launch
- ⏱️ Automatic 2-hour rotation
- 💾 RAM-only storage (no disk persistence)
- ✅ Designed for GDPR/ePrivacy compliance - potentially consent-free
Migration from v1.x
Simply remove any calls to identify() and reset(). That's it!
Why This Change?
Storing identifiers on device (SharedPreferences) requires user consent under ePrivacy Directive Article 5(3). In-memory sessions require no consent, making Respectlytics truly consent-free.