- Fix for not working after upgrade to IOS 17 and Xcode 15 (#899)
- fix for Issue with Spaces and Parentheses in File Names (#904)
- Fix for file name not being saved (#894)
- Security update for iOS (#887)
- Support file store in any iOS directory (#829)
- Don't crash when
FlutterDownloader.registerCallback()
wasn't called (#879)
- Convert
DownloadTaskStatus
into anenum
(#835)
- Override
operator ==
andhashCode
forDownloadTask
(#875)
- Fix
delete()
not working when file isn't saved to public storage (#871) - Update CI workflows on GitHub Actions (#872)
- Bump native Android dependencies and Gradle (#873)
- Bump minimum Flutter version to 3.10 (#873)
- Make the project compile when the app not doesn't have dependency on Kotlin (#869)
- Fix Android build failing because of JVM and Kotlin target source compatibility (#862)
- Set upper Dart version constraint to
<4.0.0
(#863)
- Fix Android build failing when using Android Gradle Plugin v8 (#857)
- Correctly read the error/success codes (#766)
- Fix
allowCellular
error in iOS forloadTasksWithRawQuery()
(#803) - Fix example app crashing (#805)
- fix: apply tasks progress instead of computed progress on pause (#818)
- Fix create application support directory if it doesn't already exist (#815)
- Remove automatic call to
WidgetsFlutterBinding.ensureInitialized()
inFlutterDownloader.initialize()
(#816) - Fix send message by
int
on port (#817)
- Minor fix to
publish
GitHub Action (#801)
- Fix generation of link to release notes on GitHub Releases (#799)
- Fix crash when
allowCellular
is null on iOS (#774)
- Add
allowCellular
argument toloadTasksWithRawQuery()
(#765) - Fix database of download tasks being created in a public directory on iOS (#728)
- Add
allowCellular
argument toDownloadCallback
(#754)
- Fix last download progress being wrong on Android (#752)
- Make HTTP timeout configurable on Android (#741)
- Migrate the Android part to Kotlin from Java (#719)
- iOS: fix wrong progress and status after pausing download (#743)
- Add missing comma in the README (#744)
- Fix
FlutterDownloader.open()
always returning false (#726)
- Populate
issue_tracker
field in pubspec (#717)
- Minor updates to README (#715)
- Android: revert possibility to set custom notification title introduced in #437. This fixes #705
- Fix crashing on Flutter 3.3 (#700)
- Improve README (#692)
- Android: make it possible to set custom notification title (#437)
- Add optional
step
argument toFlutterDownloader.registerCallback()
(#435) - Add
initialized
getter toFlutterDownloader
(#436) - Slightly refactor example app (#678 #680)
- iOS: fix unable to cancel task after terminating the app while downloading (#658)
- iOS: fix NSRangeException being thrown when columns in the database don't match (#661)
- iOS: migrate off deprecated method
stringByReplacingPercentEscapesUsingEncoding
(#652) - Android: add SQLite migration from version 2 to 3 (#667)
- Improve README
- Fix broken images in README on pub.dev
-
Bump minimum Flutter version to 3.0
-
Bump minimum Dart version to 2.17
-
Improve documentation
-
Make it possible to disable logging using
FlutterDownloader.initialize(debug: false)
- fix bug #614
- fix bug on Android
- upgrade Android dependencies (WorkerManager 2.7.1)
- fix bug resume download on Android
- upgrade Android dependencies (WorkerManager 2.7.0-rc01)
- support Android 11 (ScopedStorage, PackageVisibility)
- fix bug on Android:
getContentLength
- upgrade Android dependencies (WorkerManager 2.5.0)
- Stable version of nullsafety
- Fix bugs
- Migrate to nullsafety
- Android: fix bug notification stuck in processing
- iOS: fix bug missing update download progress
- Update
pubspec
to new format - Upgrade
AndroidWorkManager
to v2.4.0
- add
debug
(optional) parameter ininitialize()
method that supports disable logging to console
- iOS: fix bug on
remove
method
- add
timeCreated
inDownloadTask
model - iOS: fix bug MissingPluginException
- Android: fix bug
ensureInitializationComplete must be called after startInitialization
- clarify integration documents
- migrate to Android v2 embedding.
- fix bug stuck in Flutter v12.13
- fix bug on casting int to long value
- update document
- assert and make sure FlutterDownloader initialized one time.
- correct document and example codes about communication with background isolate
- assert the initialization of FlutterDownloader
- BREAKING CHANGES: the plugin has been refactored to support update
download events with background isolate. In order to support background
execution in Dart, the
callback
, that receives events from platform codes, now must be a static or top-level function. There's also an additional native configuration required on both of iOS and Android. See README for detail. - Android: upgrade
WorkManager
to v2.2.0. - Fix bug
SecurityException
when saving image/videos to internal storage in Android - Fix bug cannot save videos in Android.
- Android: fix bugs
- Android: hot-fix unregister
BroadcastReceiver
in case usingFlutterFragmentActivity
- Android: support
FlutterFragmentActivity
, fix bug downloaded image/video files not shown in Gallery application, improved HTTP redirection implementation, fix bug cannot open apk file in some cases
- Android: support HTTP redirection
- iOS: correct getting file name from HTTP response
- Fix bug in iOS: from iOS 8, absolute path to app's sandbox changes every time
you relaunch the app, hence
savedDir
path is needed to truncate the changing part before saving it to DB and recreate the absolute path every time it loaded from DB. Currently, the plugin only supports save files inNSDocumentDirectory
. - Fix bug is iOS: setting wrong status of task in case that the application is terminated
- Android: upgrade dependencies
- Android: upgrade
WorkManager
to version 2.0.0 (AndroidX)
- Android: upgrade
WorkManager
to version 1.0.0-beta05 - Android: migrate to AndroidX
- Android: upgrade
WorkManager
to version 1.0.0-beta03 - fix bugs
- add
remove()
feature to delete task (in DB) and downloaded file as well (optional). - support clean up callback by setting callback as
null
inregisterCallback()
- Android: upgrade
WorkManager
to version 1.0.0-beta01
- Android: fix bug NullPointerException of
saveFilePath
- Android: fix typo error
- iOS: catch HTTP status code in case of error
- correct
README
instruction
- Android: upgrade
WorkManager
library to version v1.0.0-alpha11 - BREAKING CHANGE:
initialize()
is removed (to deal with the change of the initialization ofWorkManager
in v1.0.0-alpha11). The plugin initializes itself with default configurations. If you would like to change the default configuration, you can follows the instruction inREADME.md
- fix bug related to
filename
- Android: re-config dependencies
- Android: upgrade WorkManager to v1.0.0-alpha10
- Android: upgrade compile sdk version to 28
- Fixed Flutter Community badge.
- Moved package to Flutter Community
- NEW features: initialize, loadTasksWithRawQuery, pause, resume, retry, open
- IMPORTANT: the plugin must be initialized by
initialize()
at first - BREAKING CHANGE:
clickToOpenDownloadedFile
now renames toopenFileFromNotification
(to prevent confusing fromopen
feature). Static propertymaximumConcurrentTask
has been removed, this configuration now moves intoinitialize()
method. - full support SQLite on both Android and iOS side, the plugin now itself
manages its states persistently and exposes
loadTasksWithRawQuery
api that helps developers to load tasks from SQLite database with customized conditions - support localizing Android notification messages with
messages
parameter ofinitialize()
method - full support opening and previewing downloaded file with
open()
method - (iOS integration) no need to override
application:handleEventsForBackgroundURLSession:completionHandler:
manually anymore, the plugin now itself takes responsibility for handling it
- fix bugs: SQLite leak
- new feature: support configuration of the maximum of concurrent download tasks
- upgrade WorkManager to v1.0.0-alpha08
- add: handle click on notification to open downloaded file (for Android)
- re-config to support Dart2
- upgrade WorkManager to v1.0.0-alpha06
- fix bug: disable sound on notifications
- upgrade WorkManager to v1.0.0-alpha04
- upgrade WorkManager to v1.0.0-alpha03
- change default value of
showNotification
totrue
(it makes sense on Android 8.0 and above, it helps our tasks not to be killed by system when the app goes to background)
- update metadata
- fix bug: Worker finished with FAILURE on Android API 26 and above
- support HTTP headers
- correct README document
- initial release.