NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
pub.dev · #749 most downloaded on pub.dev
Flutter Workmanager. This plugin allows you to schedule background work on Android and iOS.
Last release 1 months ago
07 Sep 2026
Release timing varies
gaps range from 2 weeks to 1.7 years
Nearly every release is documented
notes for 57 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
7 years old
69 releases · first in 2019
chore(release): publish packages — workmanager 0.10.10
chore(release): publish packages — workmanager 0.10.10 (#740)
notifyBackgroundChannelInitialized), which only then invokes the task. Race eliminated by construction; the 30s watchdog stays as a dead-engine guard.notifyBackgroundChannelInitialized backing the handshake fix.One column per quarter.
chore(release): publish packages — workmanager 0.10.9
chore(release): publish packages — workmanager 0.10.9 (#736)
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.workmanager_android ^0.10.8.chore(release): publish packages — workmanager 0.10.8
chore(release): publish packages — workmanager 0.10.8 (#734)
workmanager_android ^0.10.7.Packages with breaking changes:
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.8chore(release): publish packages
Packages with breaking changes:
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.7workmanager@0.10.6 workmanager_android@0.10.5
Packages with breaking changes:
notifyBackgroundChannelInitialized host signal backing the Android handshake fix (#738).Packages with breaking changes:
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.9FEAT(android): progress updates for long-running tasks (#720).
FEAT: work status observation — getWorkInfo across platforms (fixes #194) (#719).
FEAT(android): expedited work support (#715).
FEAT(android): add ContentUriTrigger constraints (fixes #413) (#709).
Nothing published for this version
Nothing published for this version
BREAKING FEAT: align minimum Flutter version to 3.38 across packages (prep for 0.10.0) (#701).
FIX(android): notify running callbacks when work is cancelled (fixes #432) (#705).
FIX(ios): run one-off tasks on the main engine to avoid release crash (fixes #653) (#697).
FEAT(ios): add BGHealthResearchTaskRequest support (fixes #532) (#693).
Nothing published for this version
FEAT: support typed Lists/Maps in inputData (fixes #426) (#690).
FIX(ios): auto-register BGTask launch handlers for scheduled tasks (#692).
FIX: Android initialization bug and iOS 14 availability annotations (#647).
REFACTOR: replace debug mode with extensible hook-based system (#630).
FIX: Android initialization bug and iOS 14 availability annotations (#647).
FIX: remove kotlin-android since AGP 9 supports it https://github.com/fluttercommunity/flutter_workmanager/issues/667 (#682).
FIX(ios): pass taskName to callback and honor initialDelay for one-off tasks (#687).
BREAKING: Migrate to federated plugin architecture for better platform extensibility
workmanager_platform_interface for shared platform interfaceworkmanager_android package with Android WorkManager implementationworkmanager_apple package with iOS BGTaskScheduler implementationNetworkType values: not_required → notRequired, not_roaming → notRoaming, metered → metered (unchanged)OutOfQuotaPolicy values: run_as_non_expedited_work_request → runAsNonExpeditedWorkRequest, drop_work_request → dropWorkRequestisScheduledByUniqueName method to check if a periodic task is scheduled by its unique name (Android only)initialDelaySeconds parameter handling - was previously ignoredisInDebugMode was not properly initializedBREAKING: Minimum Dart SDK bumped to 3.2.0
Android: Removed V1 plugin APIs - this is now a Android V2 plugin only
Android: Bump to workmanager 2.8.1
Call DartPluginRegistrant.ensureInitialized when isolate is starting
Android: Remove jetifier from example
pedantic checks with flutter_lintsiOS: Add implementations for cancelCall and cancelByUniqueName
OutOfQuotaPolicy needs to be specified)Android: Use Number type for specifying the callback handler key & convert to Long
Number type for specifying the callback handler key & convert to LongrequiresNetworkConnectivity correctly.Resolves issues on iOS which prevented native calls from being parsed correctly.
Resolve a null pointer error in BackgroundWorker
Replace _noDuration variable with Duration.zero directly
Duration.zero directly (#283)Documentation for BGTaskScheduler added
iOS: Modern-style task processing using BGTaskScheduler is now supported. Please see the updated instructions in IOS_SETUP.md.
Android: Load Flutter environment asynchronously in the Worker task
Bumps Android dependencies (Kotlin, AGP, workmanager 2.5.0)
The package now supports null-safety
BREAKING CHANGE: The Dart side is now instantiated using the factory pattern for easier mocking & testing.
Restore iOS compatibility for Flutter 1.20
Define iOS module so that host apps without use_frameworks! setting can consume the iOS module
Fix crash when FlutterEngine would be destroyed twice
Cleanup FlutterEngine when job is stopped or cancelled #140,
Packages with breaking changes:
Packages with breaking changes:
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.6Android v2 embedding.The result was not correctly mapped to a RETRY when returning false from a background task
Using Backoff Policy in conjunction with device idle constraint is an illegal action. Backoff policy is now nullable in the Android code. See issue #1
Packages with breaking changes:
Packages with breaking changes:
Packages with other changes:
workmanager - v0.10.2workmanager_android - v0.10.2workmanager_apple - v0.9.8workmanager_platform_interface - v0.10.2workmanager_web - v0.1.2BackgroundTaskHandler now correctly returns to background method channeliOSPerformFetch method now no longer crashessetPluginRegistrantCallback as described in our docs, making it possible to access other plugins during a backround fetchPackages with breaking changes:
Packages with breaking changes:
Packages with other changes:
workmanager_android - v0.10.1workmanager_apple - v0.9.7workmanager_platform_interface - v0.10.1workmanager - v0.10.1+2workmanager_web - v0.1.1+1Packages 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+2workmanager_web - v0.1.1+1Packages with breaking changes:
Packages with breaking changes:
Packages with other changes:
workmanager - v0.10.3workmanager_android - v0.10.3workmanager_apple - v0.9.9workmanager_platform_interface - v0.10.3workmanager_web - v0.1.3Improved debug notification with result message first
iOS: 🐞 Make sure all the implementers plugins are available in the background isolate by registering them first. This requires the user to provide us
AppDelegateiOS performBackgroundFetch now actually works.
[‼️ BREAKING change] You will need to clear the preferences or re-install the App if you had registered jobs already on Android.
🐞 expose setPluginRegistrantCallback to the old rusty Java people
setPluginRegistrantCallback to the old rusty Java peopleEverything now refers to the top level callback as the *callbackDispatcher*
NetworkTypesrc folderI should test a little better before publishing to pub.dev.
ExistingWorkPolicy and BackoffPolicyA bugfix were parsing the BackOffPolicy was still wrong.
BackOffPolicy was still wrong.A bugfix were parsing of the ExistingWorkPolicy and BackoffPolicy went rogue. Addresses #9
ExistingWorkPolicy and BackoffPolicy went rogue. Addresses #9Your coding agent can read these notes before it upgrades. Set up the MCP server →