v0.2.0 - Reliability Improvements
What's New
ποΈ Command Persistence (Room Database)
- Commands survive app crashes and device restarts
- Track command status (PENDING, IN_PROGRESS, COMPLETED, FAILED)
- Automatic retry with attempt tracking
β‘ WorkManager Integration
- Heartbeats survive process death (minimum 15-min interval)
- Reliable background execution with exponential backoff
- Workers: HeartbeatWorker, CommandWorker, PushTokenWorker, SyncPendingCommandsWorker
π Network Resilience
- RetryInterceptor with exponential backoff (1s, 2s, 4s)
- Automatic retry on IOException and 5xx server errors
- No retry on 4xx client errors
π± Kiosk Mode Improvements
- Auto-restore kiosk mode on device boot
- Auto-launch kiosk app after installation (PackageInstalledReceiver)
- Smart app variant fallback (staging/dev builds)
π Secure Updates
- SHA-256 hash verification for APK updates
- Downgrade protection
- State backup for agent self-updates
- Version constraint checking
π Library Updates
PolicyMapper.fromJson()for JSON parsing
β Test Coverage
- 121 unit tests passing
- WorkScheduler, CommandWorker, HeartbeatWorker tests
- MDMRepository and integration tests
Usage (JitPack)
Add to your build.gradle:
```gradle
dependencies {
implementation 'com.github.azoila:openmdm-android:v0.2.0'
}
```
Full Changelog: v0.1.0...v0.2.0