resumable_downloader 0.1.2
resumable_downloader: ^0.1.2 copied to clipboard
Reliable Flutter downloads with multipart ranges, durable resume, scheduling, integrity checks, and authenticated restoration.
Changelog #
0.1.2 #
Added #
- Add rolling per-task and operation aggregate transfer-speed metrics in bytes per second.
0.1.0 #
The first stable V2 release for reliable foreground Flutter downloads.
Added #
- Promote the tested V2 API and developer transfer lab from prerelease to
stable
0.1.0. - Retain the older API through the separate
resumable_downloader_legacy.dartentrypoint.
Stable Scope #
- Multipart and single-stream downloads with bounded scheduling.
- Durable resume, pause, cancellation, deletion, and existing-file policies.
- SHA-256 and custom validation, including retained-output validation.
- Authenticated restoration through app-owned credential resolvers.
- Operation-scoped updates, ordered results, active-task sharing, and foreground promotion.
Deferred #
- Background transfers after operating-system termination remain outside this package's foreground Flutter scope.
- Application-specific catalog delta selection and trusted-media caching remain the responsibility of the consuming application.
0.1.0-dev.5 #
Added #
- Add hot operation-scoped task updates and ordered results.
- Add foreground scheduling with in-place promotion of equivalent active or pending tasks.
Fixed #
- Start a fresh lifecycle when a request arrives during a terminal update or immediately after task result completion.
- Preserve request-order snapshots when live operation updates arrive during listener attachment.
0.1.0-dev.4 #
Added #
- Emit
DownloadStatus.validatingwhile configured SHA-256 and custom content checks run for staged or retained outputs.
Changed #
- Preserve completed byte and range progress in validation failures and cancellations.
- Defer pause and cancellation requested during validation until the callback settles, without finalizing a cancelled task.
0.1.0-dev.3 #
Added #
- Add optional V2 custom download validation before finalization and when
returning retained
resumeorkeepExistingoutputs.
0.1.0-dev.2 #
Fixed #
- Require Dio 5.10.0 and handle
transformTimeoutso analysis succeeds with the newest compatible Dio release. - Raise the Dart and Flutter minimums to match the latest
path_providerdependency floor.
0.1.0-dev.1 V2 pre-release #
Added #
- V2 task-oriented download API through
resumable_downloader.dart. - Bounded multi-file scheduling and multipart HTTP range downloads.
- Durable partial-file manifests, pause/resume, artifact deletion, and output policies.
- HTTP response validation, transient retry policy, SHA-256 verification, and secure restoration callbacks.
- Developer transfer-lab example with runtime configuration and transfer inspection.
Changed #
- The default package entrypoint now exposes V2.
- The former API remains available through
resumable_downloader_legacy.dartfor maintenance compatibility. - V2 does not promise background execution after application termination.
0.0.38 - 2026-01-04 #
- Fixed
_getFilenameFromQueueItemto return the user-providedfileNameexactly as is, without automatic extension guessing.
0.0.37 - 2025-10-10 #
- Added network check before download.
0.0.36 - 2025-10-09 #
- Added
allowAutoDeleteto the [DownloadManager] to allow auto delete the file if the download fails. Defaults totrue.
0.0.35 - 2025-08-20 #
- Exposed [processQueue] public method to handle manual triggering queue process when stuck.
0.0.34 - 2025-08-18 #
- Fixed [subDir] not working on custom
0.0.33 - 2025-08-06 #
- Refactor code.
0.0.32 - 2025-08-06 #
- Added optional headers to the [DownloadManager] and the [QueueItem]
0.0.31 - 2025-08-05 #
- Added method to get the download path for the [QueueItem].
0.0.30 - 2025-07-29 #
- Updated sub directory logic to handle individual values assigned to [QueueItem].
0.0.29 - 2025-07-28 #
- Removed redundent last progress update logic.
0.0.28 - 2025-07-27 #
- Fixed using [subDirectory] to get local path properly
0.0.27 - 2025-07-27 #
- Fixed passing [subDirectory] in [QueueItem]
0.0.26 - 2025-07-25 #
- Add a method to delete directory from the [baseDirectory]
0.0.25 - 2025-07-21 #
- Fixed file download progress stream closure.
0.0.24 - 2025-07-17 #
- Update file path handling check.
0.0.23 - 2025-07-17 #
- Add [getFile] item to the front of the queue.
0.0.22 - 2025-07-16 #
- Fixed [subDir] local path formating issue.
0.0.21 - 2025-07-16 #
- Fixed [onComplete] null check error
0.0.20 - 2025-07-16 #
- Added [subDir] and [onComplete] callback to queue item.
0.0.19 - 2025-07-07 #
- Fixed queue not processing on the lastest update
0.0.18 - 2025-06-30 #
- Enable deleteOnError based on fileExistsStrategy: Sets the deleteOnError parameter to true unless the fileExistsStrategy is set to resume, ensuring partial files are deleted on errors except when resuming downloads.
0.0.17 - 2025-06-01 #
- fixed file rename issue
0.0.16 - 2025-05-28 #
- fixed [FileStorageStetragy.resume] resume behavior when a custom name is provided.
0.0.15 - 2025-05-21 #
- optimized [QueueItem]'s progress callback to return [DownloadProgress] directly instead of a [Stream]. It was sending full stream on each callback instead of sending it at the first once. This was done to simplify callback to only return [DownloadProgress] and handle the stream internally.
0.0.14 - 2025-05-21 #
- add initial file [DownloadProgress] status to progress stream before download
0.0.13 - 2025-05-21 #
- fix [FileStorageStetragy.resume] not working as expected
0.0.12 - 2025-05-19 #
- fix [tempFile] name to match with custom name in [QueueItem]
0.0.11 - 2025-05-19 #
- fix [DownloadProgress] last receive bytes data
0.0.10 - 2025-05-18 #
- add more info on [DownloadProgress], receivedBytes and totalBytes along with progress
0.0.9 - 2025-05-16 #
- add optional [fileName] added to [QueueItem]
0.0.8 - 2025-05-02 #
- updated readme to reflect latest changes
0.0.7 - 2025-05-02 #
- Replaced dart records with class implementation
- Added proper file bytes validation if the file already exists.
0.0.6 - 2025-04-30 #
- Update README and example: add dispose()
0.0.5 - 2025-04-30 #
- Refactor formating
0.0.4 - 2025-04-30 #
- Update homepage
0.0.3 - 2025-04-30 #
- New feature: added support for delay before attempting retry
0.0.1 - 2025-04-30 #
Added #
- Initial release of the
resumable_downloaderpackage. - Support for resumable downloads using HTTP
Rangeheaders. - Concurrent and queued download handling.
- File existence strategies (
keepExisting,resume,replace,fail). - Download progress updates and cancelation support.
- Full control over downloads using
Dio, custom directory setup, and retry handling. - Full control over downloads using
Dio, custom directory setup, and retry handling.