Skip to content

Releases: tonyofrancis/Fetch

2.1.0-RC4

13 Jun 18:57
Compare
Choose a tag to compare

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

11 Jun 11:21
Compare
Choose a tag to compare

Version 2.1.0-RC3

  • Removed used AppCompat Dependency on library modules.

2.1.0-RC2

08 Jun 19:35
Compare
Choose a tag to compare

Version 2.1.0-RC2

  • Added missing identifier field on Downloader.Request class.

2.1.0-RC1

07 Jun 20:16
Compare
Choose a tag to compare

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

26 May 14:55
Compare
Choose a tag to compare

Version 2.0.0-RC22

  • Bug fix for progress reporting on Parallel downloads

2.0.0-RC21

12 May 12:27
Compare
Choose a tag to compare

Version 2.0.0-RC21

  • Bug fix for status reporting on Parallel downloads

2.0.0-RC20

06 May 00:14
Compare
Choose a tag to compare

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

30 Apr 19:25
Compare
Choose a tag to compare

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

2.0.0-RC18

29 Apr 11:38
Compare
Choose a tag to compare

Version 2.0.0-RC18

  • Added new RequestOptions for Fetch. See the Java documents and sample app for more information.
  • Bug fixes
  • Updated the sample app

2.0.0-RC17

25 Apr 02:09
Compare
Choose a tag to compare

Version 2.0.0-RC17

  • Added new method getRequestOutputStream(request: Request, filePointerOffset: Long): OutputStream? on Downloader interface.
    You can now provide Fetch a custom downloader that provides an OutputStream per Download. See Downloader.kt documentation for more information.
    Also see sample app for more information on custom downloader.

Breaking Changes

  • Added new method getRequestOutputStream(request: Request, filePointerOffset: Long): OutputStream? on Downloader interface.
  • Added new fields id, file, and tag on Downloader.Request class.
  • Added new field request on Downloader.Response class.