PackageTrack
Sign in Get early access

workmanager

Flutter Workmanager. This plugin allows you to schedule background work on Android and iOS.

0.10.9 124K downloads/mo #1038 most downloaded on pub.dev fluttercommunity/flutter_workmanager

What this package is like to depend on

Last release 4 days ago

20 Aug 2026

Release timing varies

gaps range from 2 weeks to 1.7 years

Nearly every release is documented

notes for 57 of 60 stable releases

Nothing withdrawn

no release was ever pulled

7 years old

68 releases · first in 2019

21 releases in the last 12 months

see the full history below

Release timeline

68 releases · Jul 2019 to Aug 2026
2020 2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 60 of 68
  1. 0.10.9 20 Aug 2026
    Release notes

    chore(release): publish packages — workmanager 0.10.9 (#736)

    Open source →
    Release notes

    workmanager_android v0.10.8 — bounded Dart engine init, main-thread stops (#732, #735)

    • One-off work no longer stays RUNNING forever on Android 16 when the app is backgrounded mid-task: a new 30-second initialization watchdog fails the worker visibly instead of hanging silently.
    • Worker stops (and onTaskStopped callbacks) now run on the main thread — fixes the spurious @UiThread exception notification on every cancel and makes the #705 stop-reason feature actually fire on Android.
    • Engine teardown made idempotent across watchdog / task-result / stop paths.

    workmanager v0.10.9

    • Dependency bump: workmanager_android ^0.10.8.
    Open source →
    Release notes
    • FIX(android): one-off work no longer stays RUNNING forever on Android 16 when the app is backgrounded during task execution (#732).
    Open source →
  2. 0.10.8 19 Aug 2026
    Release notes

    chore(release): publish packages — workmanager 0.10.8 (#734)

    Open source →
    Release notes

    workmanager_android v0.10.7 — manifest-declaration check for FGS permissions (#731, #733)

    • Expedited work (and other foreground-service features) now validate against the merged manifest declaration instead of the runtime permission grant state.
    • On Android 16+ a foreground-service permission can be revoked or denied at runtime even when declared — the old check then false-positived and threw, killing valid expedited work. Declared permission now passes regardless of grant state; a genuinely missing declaration still fails loudly at registration.

    workmanager v0.10.8

    • Dependency bump: workmanager_android ^0.10.7.
    Open source →
    Release notes
    • FIX(android): one-off work no longer stays RUNNING forever on Android 16 when the app is backgrounded during task execution (#732).

    2026-08-19

    Changes


    Packages with breaking changes:

    • There are no breaking changes in this release.

    Packages with other changes:

    Packages with dependency updates only:

    Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.

    • workmanager - v0.10.8

    Open source →
  3. 0.10.7 04 Aug 2026
    Release notes
    • chore(release): publish packages
    • docs: fix work-info wording, document FGS opt-in + web messaging
    • work-info.mdx: replace 'the maintainer explicitly declined to surface
      it' with a neutral design statement (docs.page garbling).
    • troubleshooting.mdx: new section for the Play Console
      FOREGROUND_SERVICE_DATA_SYNC declaration/video requirement — what it
      means, when to opt in, and that a missed opt-in throws at registration.
    • web.mdx: document the page<->worker messaging API (sendMessageToWorker,
      workerMessages, sendToPage) and link the live demo.
    • workmanager_impl.dart: dartdoc note + docs.page link on
      registerOneOffTask's foregroundServiceConfig (dataSync opt-in).
    Open source →
    Release notes
    • FIX(android): expedited work no longer fails when Android 16 revokes a foreground-service permission at runtime (#731).

    2026-08-04

    Changes


    Packages with breaking changes:

    • There are no breaking changes in this release.

    Packages with other changes:

    Packages with dependency updates only:

    Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.

    • workmanager - v0.10.7

    Open source →
  4. 0.10.6 04 Aug 2026
    Release notes Open source →
    Release notes
    • FIX(android): make FOREGROUND_SERVICE_DATA_SYNC opt-in (#725).
    • FEAT(android): fail loudly when a foreground service permission is missing from the merged manifest.
    Open source →
  5. 0.10.5 03 Aug 2026
    Release notes
    • FIX(android): build with AGP 9 and android.builtInKotlin=false (#722).

    2026-08-03

    Changes


    Packages with breaking changes:

    • There are no breaking changes in this release.

    Packages with other changes:

    Packages with dependency updates only:

    Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.

    • workmanager_linux - v0.1.1+1
    • workmanager_web - v0.1.3+1

    Open source →
  6. 0.10.4 03 Aug 2026
    Release notes
    • FEAT(android): progress updates for long-running tasks (#720).
    Open source →
  7. 0.10.3 03 Aug 2026
    Release notes
    • FEAT: work status observation — getWorkInfo across platforms (fixes #194) (#719).
    Open source →
  8. 0.10.2 03 Aug 2026
    Release notes
    • FEAT(android): expedited work support (#715).
    Open source →
  9. 0.10.1 02 Aug 2026
    Release notes
    • FEAT(android): add ContentUriTrigger constraints (fixes #413) (#709).
    Open source →
  10. 0.10.1+1 03 Aug 2026

    Nothing published for this version

  11. 0.10.1+2 03 Aug 2026

    Nothing published for this version

  12. 0.10.0 02 Aug 2026
    Release notes
    • BREAKING FEAT: align minimum Flutter version to 3.38 across packages (prep for 0.10.0) (#701).
    Open source →
  13. 0.10.0+1 02 Aug 2026
    Release notes
    • FIX(android): notify running callbacks when work is cancelled (fixes #432) (#705).
    Open source →
  14. 0.9.3 02 Aug 2026
    Release notes
    • FIX(ios): run one-off tasks on the main engine to avoid release crash (fixes #653) (#697).
    • FEAT(ios): add BGContinuedProcessingTask support (fixes #638) (#700).
    • FEAT(android): long-running workers via foreground service (#698).
    Open source →
  15. 0.9.2 02 Aug 2026
    Release notes
    • FEAT(ios): add BGHealthResearchTaskRequest support (fixes #532) (#693).
    Open source →
  16. 0.9.2+1 02 Aug 2026

    Nothing published for this version

  17. 0.9.1 01 Aug 2026
    Release notes
    • FEAT: support typed Lists/Maps in inputData (fixes #426) (#690).
    • FEAT: macOS support via NSBackgroundActivityScheduler (fixes #424) (#689).
    Open source →
  18. 0.9.1+1 01 Aug 2026
    Release notes
    • FIX(ios): auto-register BGTask launch handlers for scheduled tasks (#692).
    Open source →
  19. 0.9.1+2 02 Aug 2026
    Release notes
    • FIX: Android initialization bug and iOS 14 availability annotations (#647).
    Open source →
  20. 0.9.0 31 Jul 2025
    Release notes
    • REFACTOR: replace debug mode with extensible hook-based system (#630).
    • REFACTOR: Migrate internal interfaces to pigeon (#613).
    • FIX: resolve critical null handling crashes from contributor reports (#626).
    • FEAT: Migrate to federated plugin architecture (#611).
    • BREAKING FIX: resolve issue #622 - periodic tasks running at incorrect frequencies (#628).
    Open source →
  21. 0.9.0+2 06 Aug 2025
    Release notes
    • FIX: Android initialization bug and iOS 14 availability annotations (#647).
    Open source →
  22. 0.9.0+3 31 Aug 2025
    Release notes
    • FIX: remove kotlin-android since AGP 9 supports it https://github.com/fluttercommunity/flutter_workmanager/issues/667 (#682).
    • FIX: Failed host lookup, by bumping androidx.work:work-runtime to 2.11.2 and Android minSdkVersion to 23 (#679).
    • FIX: NullPointerException by replacing companion FlutterLoader with FlutterInjector singleton (#678).
    Open source →
  23. 0.9.0+4 01 Aug 2026
    Release notes
    • FIX(ios): pass taskName to callback and honor initialDelay for one-off tasks (#687).
    Open source →
  24. 0.8.0 01 Jul 2025
    Release notes

    Major Architecture Changes

    • BREAKING: Migrate to federated plugin architecture for better platform extensibility
    • BREAKING: Platform-specific implementations moved to separate packages
    • Create workmanager_platform_interface for shared platform interface
    • Create workmanager_android package with Android WorkManager implementation
    • Create workmanager_apple package with iOS BGTaskScheduler implementation
    • Foundation for future macOS support using NSBackgroundActivityScheduler

    Breaking Changes

    • BREAKING: Enum values changed from snake_case to camelCase:
      • NetworkType values: not_requirednotRequired, not_roamingnotRoaming, meteredmetered (unchanged)
      • OutOfQuotaPolicy values: run_as_non_expedited_work_requestrunAsNonExpeditedWorkRequest, drop_work_requestdropWorkRequest
    • BREAKING: Removed JSON serialization for inputData - now uses native Map transfer for better performance and type safety

    New Features

    • Android: Added isScheduledByUniqueName method to check if a periodic task is scheduled by its unique name (Android only)
    • Added comprehensive integration tests for better reliability

    Bug Fixes

    • iOS: Fixed initialDelaySeconds parameter handling - was previously ignored
    • Android: Fixed NullPointerException when isInDebugMode was not properly initialized
    • Fixed inputData type handling across platforms - now properly supports all primitive types and lists
    • iOS: Fixed compilation errors with Map handling
    • iOS: Fixed swapped constraints bug for requiresNetworkConnectivity and requiresExternalPower by @thegriffen (from PR #562)
    • Android: Fixed v2 embedding import in BackgroundWorker by @jogapps (from PR #595)

    Improvements

    • Updated to Flutter 3.32 and flutter_lints 6.0.0
    • Android: Updated target SDK to 35
    • Improved CI/CD with Android emulator caching for faster builds
    • Better error handling and type safety throughout the codebase
    • iOS: Add Privacy Manifest for App Store compliance by @navaronbracke (from PR #555)
    • iOS: Replace print statements with proper os_log for better logging
    • iOS: printScheduledTasks now returns String instead of void by @yarith28 (from PR #585)
    • Android: Fix documentation formatting and typo in BackgroundWorker by @jogapps (from PR #595)
    Open source →
  25. 0.7.0 24 Jun 2025
    Release notes
    • BREAKING: Minimum Dart SDK bumped to 3.2.0
    • BREAKING: Minimum Flutter SDK bumped to 3.16.0
    • BREAKING: Minimum iOS deployment target bumped to 13.0
    • Android: Update to Android Gradle Plugin 8.10.1
    • Android: Update to Gradle 8.11.1
    • Android: Update Kotlin to 2.1.0
    • Android: Update compile SDK to 35
    • Android: Update target SDK to 35
    • Android: Update NDK to 27.0.12077973
    • Android: Update Java compatibility to version 17
    • iOS: Update Swift version to 5.0
    • Dev dependencies: Update to latest versions (flutter_lints 5.0.0, mockito 5.4.4, etc.)
    • CI: Modernize GitHub Actions workflows with latest action versions
    • CI: Add Flutter caching for faster builds
    • CI: Update test environments (iPhone 15, Android API 34)
    • Fix win32 dependency compatibility issues for Dart 3.8+
    Open source →
  26. 0.6.0 29 May 2025
    Release notes
    • Android: Removed jetifier
    • Android: Removed V1 plugin APIs - this is now a Android V2 plugin only
    Open source →
  27. 0.5.2 28 Sep 2023
    Release notes
    • Android: Bump to workmanager 2.8.1
    • Android: Move to Android Gradle Plugin 8.x
    • Android: Migrate away from ResolvableFuture (#399).
    Open source →
  28. 0.5.1 20 Oct 2022
    Release notes
    • Call DartPluginRegistrant.ensureInitialized when isolate is starting
    • Documentation and example update to fix (#374) WorkManager not working when App is obfuscated or using Flutter 3.1+
    Open source →
  29. 0.5.0 15 May 2022
    Release notes
    • Android: Remove jetifier from example
    • Restore compatibility with Flutter 3.0.0, thank you @Cwiesen and @sunalwaysknows
    • Replaces pedantic checks with flutter_lints
    • Ability to specify custom tasks (and custom background work) for iOS was added. Thank you @tuyen-vuduc
    Open source →
  30. 0.5.0-dev.8 30 Jan 2022 pre-release
    Release notes
    • iOS: Add implementations for cancelCall and cancelByUniqueName
    • Android: Bump to workmanager 2.7.1 to support Android 12
    • Android: Add support for expedited background work (a OutOfQuotaPolicy needs to be specified)
    Open source →
  31. 0.5.0-dev.7 08 Sep 2021 pre-release
    Release notes
    • Android: Use Number type for specifying the callback handler key & convert to Long
    • Android: Bump WorkManager dependency to 2.6.0
    • iOS: Restore correct NetworkType parser which did not set requiresNetworkConnectivity correctly.
    Open source →
  32. 0.5.0-dev.6 23 Jul 2021 pre-release
    Release notes
    • Resolves issues on iOS which prevented native calls from being parsed correctly.
    Open source →
  33. 0.5.0-dev.5 22 Jul 2021 pre-release
    Release notes
    • Resolve a null pointer error in BackgroundWorker
    Open source →
  34. 0.5.0-dev.4 20 Jun 2021 pre-release
    Release notes
    • Replace _noDuration variable with Duration.zero directly (#283)
    Open source →
  35. 0.5.0-dev.3 16 Jun 2021 pre-release
    Release notes
    • Documentation for BGTaskScheduler added
    • Throw standard errors when scheduling a task on iOS failed
    Open source →
  36. 0.5.0-dev.2 10 Jun 2021 pre-release
    Release notes
    • iOS: Modern-style task processing using BGTaskScheduler is now supported. Please see the updated instructions in IOS_SETUP.md.
    Open source →
  37. 0.5.0-dev.1 08 Jun 2021 pre-release
    Release notes
    • Android: Load Flutter environment asynchronously in the Worker task
    Open source →
  38. 0.4.1 07 Jun 2021
    Release notes
    • Bumps Android dependencies (Kotlin, AGP, workmanager 2.5.0)
    • Android: Remove jcenter reference
    • Android: Build using compile/target SDK 30.
    Open source →
  39. 0.4.0 18 Apr 2021
    Release notes
    • The package now supports null-safety
    Open source →
  40. 0.3.0 17 Apr 2021
    Release notes
    • BREAKING CHANGE: The Dart side is now instantiated using the factory pattern for easier mocking & testing.
    Open source →
  41. 0.2.4 12 Apr 2021
    Release notes
    • Restore iOS compatibility for Flutter 1.20
    • Migrate the iOS project using Xcode 12
    Open source →
  42. 0.2.3 03 Jul 2020
    Release notes
    • Define iOS module so that host apps without use_frameworks! setting can consume the iOS module
    • wrap engine.destroy() call in isInitialized #182
    Open source →
  43. 0.2.2 05 Mar 2020
    Release notes
    • Android:
      • Fix crash when FlutterEngine would be destroyed twice
    Open source →
  44. 0.2.1 26 Feb 2020
    Release notes
    • Android:
      • Fix example building
      • Cleanup FlutterEngine when job is stopped or cancelled #140,
    Open source →
  45. 0.2.0 06 Jan 2020
    Release notes
    • FEAT(web): bidirectional message channel between page and background worker (#708).

    2026-08-04

    Changes


    Packages with breaking changes:

    • There are no breaking changes in this release.

    Packages with other changes:

    Packages with dependency updates only:

    Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.

    • workmanager - v0.10.6

    Open source →
    Release notes
    • Android:
      • Adding support for the Android v2 embedding.
        See more details in the Android setup guide.
    Open source →
  46. 0.1.5 24 Nov 2019
    Release notes
    • Android:
      • The result was not correctly mapped to a RETRY when returning false from a background task
    Open source →
  47. 0.1.4 28 Oct 2019
    Release notes
    • Android:
      • Using Backoff Policy in conjunction with device idle constraint is an illegal action.
        Backoff policy is now nullable in the Android code. See issue #107.
    Open source →
  48. 0.1.3 15 Oct 2019
    Release notes
    • FEAT: work status observation — getWorkInfo across platforms (fixes #194) (#719).

    2026-08-03

    Changes


    Packages with breaking changes:

    • There are no breaking changes in this release.

    Packages with other changes:


    Open source →
    Release notes
    • iOS & Android:
      • Result of BackgroundTaskHandler now correctly returns to background method channel
    • iOS:
      • Invoking iOSPerformFetch method now no longer crashes
      • The iOS example app now implements setPluginRegistrantCallback as described in our docs, making it possible to access other plugins during a backround fetch
      • Dart debug logging is now visible again in Xcode's console
    Open source →
  49. 0.1.2 04 Oct 2019
    Release notes
    • FEAT(android): expedited work support (#715).

    2026-08-03

    Changes


    Packages with breaking changes:

    • There are no breaking changes in this release.

    Packages with other changes:

    Packages with dependency updates only:

    Packages listed below depend on other packages in this workspace that have had changes. Their versions have been incremented to bump the minimum dependency versions of the packages they depend upon in this project.

    • workmanager - v0.10.1+2
    • workmanager_web - v0.1.1+1

    Open source →
    Release notes
    • Android:
      • Added support for inputData
    Open source →
  50. 0.1.1 11 Sep 2019
    Release notes
    • FEAT(linux): workmanager_linux — systemd-based background execution (fixes #324) (#716).

    2026-08-03

    Changes


    Packages with breaking changes:

    • There are no breaking changes in this release.

    Packages with other changes:


    Open source →
    Release notes
    • iOS:
      • Added support for Flutter 1.9.1
    Open source →
  51. 0.1.0 06 Sep 2019
    Release notes
    • First API stable release
    • Android:
      • Improved debug notification with result message first
      • Updated Installation README
    • iOS:
      • 🐞 Improved debug notification delivery when the app is in the background.
      • Updated Installation README
    Open source →
  52. 0.0.15 20 Aug 2019
    Release notes
    • iOS: 🐞 Make sure all the implementers plugins are available in the background isolate by registering them first.
      This requires the user to provide us with the generated registry in the AppDelegate
    • iOS: 📝 specified minimum deployment target of iOS 10 (with Swift 4.2)
    Open source →
  53. 0.0.14 14 Aug 2019
    Release notes
    • iOS performBackgroundFetch now actually works.
    Open source →
  54. 0.0.13 14 Aug 2019
    Release notes
    • [‼️ BREAKING change] You will need to clear the preferences or re-install the App if you had registered jobs already on Android.
    • Android:
      • Thanks to @vanlooverenkoen
        • 🐞 cancelling all task would have failed before this version
        • 📝 Update documentation to be a bit more clear about the minimum frequency a periodic can be scheduled
      • Better debug notification support:
        • Emoji's to quickly see if a task ran successful
        • Elapsed time
        • Collapsing notifications
      • General Internal API renames to improve readability
    • iOS
      • ⬆️ Separate UserDefaults for the plugin
      • 🐞 Memory leak resources cleanup
      • 🐞 Result mapping Dart -> Swift was wrong
      • Better debug notification support:
        • Emoji's to quickly see if a task ran successful
        • Elapsed time
        • Collapsing notifications
    Open source →
  55. 0.0.12 08 Aug 2019
    Release notes
    • 🐞 expose setPluginRegistrantCallback to the old rusty Java people
    Open source →
  56. 0.0.11 03 Aug 2019
    Release notes
    • Better README and docs
      • Everything now refers to the top level callback as the callbackDispatcher
      • Some typo's
      • Link to Medium blog post
    • Adds unit tests to the project since the many issues with enum parsing
      • Fixes an issue with the parsing of the NetworkType
    • Project restructure to a src folder
    Open source →
  57. 0.0.10 02 Aug 2019
    Release notes
    • I should test a little better before publishing to pub.dev.
      • Fixes all enum parsing issues with ExistingWorkPolicy and BackoffPolicy
    Open source →
  58. 0.0.9 02 Aug 2019
    Release notes
    • A bugfix were parsing the BackOffPolicy was still wrong.
    Open source →
  59. 0.0.8 02 Aug 2019
    Release notes
    • A bugfix were parsing of the ExistingWorkPolicy and BackoffPolicy went rogue. Addresses #9
    Open source →
  60. 0.0.7 01 Aug 2019
    Release notes
    • This version is the first version to support iOS with the help of the Background Fetch API.
      • Only recurring tasks can be scheduled by iOS.
      • If you want to respond to iOS background triggers you should add the extra case Workmanager.iOSBackgroundTask to your switch case.
    • [‼️ BREAKING change]
      • Workmanager.defaultCallbackDispatcher becomes Workmanager.executeTask
    • This version was used as referenced in the Medium blogpost
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive