v0.9.0 - Hook-Based Debug System
🎉 Major Release - Hook-Based Debug System
This release introduces a major upgrade to the debugging experience with an extensible hook-based system, eliminating the risk of debug notifications appearing in production apps while providing better task lifecycle visibility.
🚨 Breaking Changes
Debug System Changes
isInDebugModeparameter is deprecated inWorkmanager().initialize()- Parameter still accepted but will be removed in future version
- Replace with hook-based debug system using
WorkmanagerDebug.setCurrent()
- iOS minimum deployment target increased to 14.0
- Update your iOS project's deployment target to 14.0+
- Required for notification debug handlers (iOS 14+ notification permissions)
registerPeriodicTasknow usesExistingPeriodicWorkPolicy- Replace
ExistingWorkPolicyparameter withExistingPeriodicWorkPolicy
- Replace
✨ New Features
Hook-Based Debug System
NotificationDebugHandler- Shows task status as notifications with configurable channelsLoggingDebugHandler- Writes task events to system log- Eliminates production risks - Debug notifications only appear when explicitly enabled by developers
- Configurable notification channels and grouping for better organization on Android
Enhanced Task Lifecycle Tracking
TaskStatus.SCHEDULED- Tasks are now tracked when first scheduledTaskStatus.RESCHEDULED- Better visibility into task retry behavior- Improved notification flow: Started → Rescheduled → Retrying → Success
🐛 Bug Fixes
- Fixed periodic tasks running at wrong frequency when re-registered (#622)
- Changed default policy from
KEEPtoUPDATE UPDATEensures new task configurations replace existing ones
- Changed default policy from
- Fixed crash when inputData contains null values (thanks @Dr-wgy)
- Fixed Android retry detection using
runAttemptCountto properly identify retrying tasks - Fixed crash when background task callback is null (thanks @jonathanduke, @Muneeza-PT)
📈 Improvements
- Updated androidx.work from 2.9.0 to 2.10.2 for better stability
- Cleaner notification icons using modern symbols (
▶️ ✅ ❌ 🔄 ⏹️ 📅) - Better error handling - Removed duplicate exception notifications for normal task failures
- Example app improvements with proper package naming and AndroidManifest structure
🙏 Contributors
Special thanks to @Dr-wgy, @jonathanduke, @Muneeza-PT, and all contributors who helped identify and resolve critical issues!