Skip to content

v0.2.0 - Reliability Improvements

Choose a tag to compare

@andersonkxiass andersonkxiass released this 24 Jan 22:02

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