Releases: tonyofrancis/Fetch
2.1.0-RC6
Version 2.1.0-RC6
- Added new method onServerResponse(request: ServerRequest, response: Response) on Downloader class
- Added new property responseHeaders on Downloader.Response class
2.1.0-RC5
Version 2.1.0-RC5
- Removed enableListenerNotifyOnAttached on FetchConfiguration listener. Added new method on Fetch class
called addListener(fetchListener, notify) instead.
This option allows Fetch to notify the newly attached listener instantly of the download status
of all downloads managed by the namespace. Default is false. - Added new Fetch and RxFetch method getDownloadsByRequestIdentifier(identifier: Long). Use request.identifier field.
- Added new convenience method on FetchConfiguration class called getNewFetchInstanceFromConfiguration which
returns a newly created instance of Fetch. - Updated Kotlin plugin version to 1.2.50
- Updated other library dependencies.
- Bug Fixes
2.1.0-RC4
Version 2.1.0-RC4
- Added new method enableListenerNotifyOnAttached(enabled) to FetchConfiguration.Builder class.
This option allows Fetch to notify the newly attached listeners of the download status
of all downloads managed by the namespace. Default is false.
2.1.0-RC3
Version 2.1.0-RC3
- Removed used AppCompat Dependency on library modules.
2.1.0-RC2
Version 2.1.0-RC2
- Added missing identifier field on Downloader.Request class.
2.1.0-RC1
Version 2.1.0-RC1
This version of Fetch contains many fixes and breaking changes.
Note: Uses will not lose downloads migrating to this version one the same namespace is set.
There are no behavioral changes in the way requests are downloaded.
Changes include method renaming and moving classes into a different package name. New in this
version of Fetch is the release of the Fetch File Server. See demo in sample app. The wiki for this repo will be updated
over the coming days.
Changes:
- Logger, Downloader, Func, Func2 and FetchLogger classes moved to com.tonyodev.fetch2core
- OkHttpDownloader class moved to com.tonyodev.fetch2okhttp. See readme on how to include this module into your project.
- Fetch.Builder and RxFetch.Builder classes has been removed and is replaced with FetchConfiguration.Builder.
- To get an instance of Fetch call Fetch.Impl.getInstance(fetchConfiguration)
or RxFetch.Impl.getInstance(fetchConfiguration) to get a new instance. - You can now get a default instance of Fetch by calling Fetch.Impl.getDefaultInstance(). Be sure to set
the default FetchConfiguration before calling the getDefaultInstance() method. To set the default configuration
call Fetch.Impl.setDefaultInstanceConfiguration(fetchConfiguration) - To set a custom Http Downloader for Fetch, call setHttpDownloader(downloader) on the FetchConfiguration.Builder.
- To set the namespace of a Fetch instance, call setNamespace(namespace) on the FetchConfiguration.Builder.
- New method enableMd5Check(enabled) on the FetchConfiguration.Builder. If supported by the server, Fetch will check
the md5 checksum after a download completes and will report errors if the md5 checksum does not match. - You can now have multiple instance with the same namespace. All Fetch instances with the same namespace will
be updated automatically. - Closing an instance of Fetch no longer causes crashes and releases all resources when appropriate.
- Fetch Listeners are now held as weak references to reduce memory leaks.
- Fetch Listener onQueued method has been updated to onQueued(Download download, boolean waitingOnNetwork)
- New Kotlin friendly methods added to Fetch for queuing requests and querying download information.
- Request class now has an enqueueAction field which replaces RequestOptions.
- RequestOptions enum were removed and replaced with EnqueueAction enum. There are two EnqueueAction types available.
REPLACE_EXISTING and INCREMENT_FILE_NAME. Each new Request has a default enqueue action of REPLACE_EXISTING
which will replace any existing request that Fetch is managing with the same File. If INCREMENT_FILE_NAME
is set on the request, Fetch will auto increment the file name for the request and return the updated
request in the first callback of the enqueue method. Be sure to update your external request references
with the updated request. - Request class no longer allows you to set the id field of a request. Request class has new field identifier.
Use the identifier(Long) field to set your own unique id to identify a request or download. - New enqueueAction and identifier fields added on Download and Request class.
- Logging is now enabled by default in Fetch
- Fetch Error 12 and 14 removed. No longer needed because of EnqueueAction simplicity.
FetchFileServer
- Introducing the FetchFileServer. The FetchFileServer is a lightweight TCP File Server that acts like
an HTTP file server designed specifically to share files between Android devices. You can host file resources
with the FetchFileServer on one device and have Fetch download Files from the server
on another device. See sample app for more information. Wiki on Fetch File Server will be
added in the coming days. - To download files from a FetchFileServer using Fetch, set a custom file server downloader on the
FetchConfiguration.Builder class by calling the setFileServerDownloader(fileServerDownloader) method.
The com.tonyodev.fetch2downloads package already contains a custom downloader called
FetchFileServerDownloader that you can use and extend. - You can also use the FetchFileServer without having to use Fetch to download files hosted by the
file server. See the FetchFileResourceDownloadTask class inside the com.tonyodev.fetch2downloads
package for more details.
2.0.0-RC22
Version 2.0.0-RC22
- Bug fix for progress reporting on Parallel downloads
2.0.0-RC21
Version 2.0.0-RC21
- Bug fix for status reporting on Parallel downloads
2.0.0-RC20
Version 2.0.0-RC20
-
Added New FileDownloader types. Parallel and Sequential Downloaders.
a)Parallel downloader slices a download in multiple parts allowing for faster download.
This downloader processes the download over several background threads. Use the parallel downloader when system resources are not constrained.
b)Sequential downloader is the default downloader, and processes a download request Sequentially.
The download is processed on a single background thread. The Downloader is Generally Fast.
See the Downloader.kt java docs for more information. -
Bug fixes
2.0.0-RC19
Version 2.0.0-RC19
- Added new RequestOptions for Fetch. Fixed RequestOptions from RC18. See the Java documents and sample app for more information.
- Bug fixes
- Updated the sample app to reflect RequestOption changes