Releases: lingochamp/FileDownloader
Releases · lingochamp/FileDownloader
v1.5.5
v1.5.4
Version 1.5.4
2017-06-11
New Interfaces
- Support customizing the download task identify generator through
IdGenerator
. Closes #224
Enhancement
- Improve Practicability: Decoupling the
FileDownloadDatabase
withFileDownloadModel
, letFileDownloadDatabase
only care about database operation. - Improve Practicability: Decoupling the database initial-maintain from the
FileDownloadDatabase
default implementation to let the customized database can be maintained.
v1.5.3
Version 1.5.3
2017-06-08
Fix
v1.5.2
Version 1.5.2
2017-06-07
Fix
- Fix(crash): Fix raising NPE crash or ConcurrentModificationException when the Task is paused or error with the connection is completing at the same time. Closes #598
- Fix(crash): Fix raising NPE crash when pausing the
FetchDataTask
and it still without any time to sync data to database or file-system. Refs #598 - Fix(crash): Fix raising NPE crash when using the multiple connections to download and connect failed or create
FetchDataTast
failed. Refs #598 - Fix(speed-calculate): Fix the speed result is
0
when ignoring all processing callbacks and just usingFinishListener
. - Fix(finish-listener): Fix there isn't
over
callback for theFinishListener
when the file has already been downloaded in the past.
Enhancement
- Improve Performance: Enable the WAL for the default SQLite to speed up SQL operation because the most of our case is concurrently accessed and modified by multiple threads at the same time.
v1.5.1
Version 1.5.1
2017-06-05
Fix
- Fix(crash): Fix the NPE crash when don't provide the
InitCustomMaker
onFileDownloader#init
. Closes #592 - Fix(callback): Fix on the
pending
callback you can't get the rightsofarBytes
when there are several connections served for the task and the task is resuming from the breakpoint. - Fix(speed-monitor): Correct the result of the total average speed when the task resume from a breakpoint on
IDownloadSpeed.Monitor
.
Enhancement
- Improve Robust: Sync all process on fetch task manually when it is paused to make the process can be persisted.
- Improve Robust: Raise
IllegalArgumentException
when providecontext
is null onFileDownloader.init
to expose the problem earlier.
v1.5.0
Version 1.5.0
2017-06-05
New Interfaces
- Improve Practicability: Support multiple-connection(multiple threads) for one downloading task. Closes #102
- Improve Practicability: Support
ConnectionCountAdapter
to customize connection count for each task(you can set it throughFileDownloader#init
). - Improve Performance: Refactor whole download logic and origin callback logic and remove 1000 line class
FileDownloadRunnable
.
The default connection count strategy for each task, you can customize it through ConnectionCountAdapter
:
- one connection: file length [0, 1MB)
- two connections: file length [1MB, 5MB)
- three connections: file length [5MB, 50MB)
- four connections: file length [50MB, 100MB)
- five connections: file length [100MB, -]
v1.4.3
v1.4.2
Fix
- Fix(Same File Path): Avoid two tasks writing to the same file simultaneously, Once there is an another running task with the same target path to the current task's, the current task will receive the
PathConflictException
to refused start downloading. Closes #471
New Interfaces
- Add
FileDownloadSerialQueue#getWaitingTaskCount
: Get the count of tasks which is waiting on the serial-queue instance. Refs #345
v1.4.1
Fix
- Fix(High concurrency): Fix occurring the NPE crash because of it still receiving message-snapshot in the messenger but the host task has been assigned to null since it has been received over-status message-snapshot. Closes #462
- Fix(
FileDownloadHttpException
): Fix occurring theIllegalStateException
because of cannot access request header fields after connection is set when occurring http-exception. Closes #458
v1.4.0
Enhancement
- Improve Performance: Optimize the logic in
FileDownloader#init
, let it lighter(just do some action like assigncontext
andmaker
)
Fix
- Fix(pause): fix can't stop the task when occurring the high concurrency event about pausing task after starting it in very close time. Closes #402
- Fix(init FileDownloader): fix the very low frequent crash when init FileDownloader on the process the
FileDownloadService
settled on. Closes #420 - Fix(FileDownloadHttpException): fix params can't match the
formatter
when occurFileDownloadHttpException
Closes #438