Skip to content

v0.9.0 - Hook-Based Debug System

Latest
Compare
Choose a tag to compare
@ened ened released this 31 Jul 19:45
· 2 commits to main since this release

🎉 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

  • isInDebugMode parameter is deprecated in Workmanager().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)
  • registerPeriodicTask now uses ExistingPeriodicWorkPolicy
    • Replace ExistingWorkPolicy parameter with ExistingPeriodicWorkPolicy

✨ New Features

Hook-Based Debug System

  • NotificationDebugHandler - Shows task status as notifications with configurable channels
  • LoggingDebugHandler - 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 scheduled
  • TaskStatus.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 KEEP to UPDATE
    • UPDATE ensures new task configurations replace existing ones
  • Fixed crash when inputData contains null values (thanks @Dr-wgy)
  • Fixed Android retry detection using runAttemptCount to 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!

📦 Published Packages