Skip to content

Releases: amosavian/FileProvider

Swift 5 support

04 Apr 08:13
Compare
Choose a tag to compare

Swift 5 support

Fixed Cocoapods error

03 May 20:44
Compare
Choose a tag to compare
  • Fixed Cocoapods error

Changes in version 0.25.0:

  • General

    • Updated Podspec Swift version to 4.1 and fixed warnings.
    • Introduced FileProviderReadWriteProgressive to allow FTP and HTTP-based providers to fetch file content progressively, suitable for streaming.
    • Fixed encoding error using NSCoding.
    • Fixed FileObject equality and hashing methods
    • Known Issue: Progress for thumbnail and properties does not work yet.
  • Local

    • MadeLocalFileMonitor class public to monitor folder/file changes directly without using provider's registerNotification
    • More items for image metadata in ExtendedLocalFileProvider, including GPS info and White-balance.
  • iCloud

    • Fixed iCloud download/upload progress report, Fixed #93 crash.
  • FTP

    • Fixed race conditions, Possible fix for #79.
    • Returning real error instead of timeout.

Added progressive read. Fixed iCloud, FTP and NSCoding issue.

03 May 20:23
Compare
Choose a tag to compare
  • General

    • Updated Podspec Swift version to 4.1 and fixed warnings.
    • Introduced FileProviderReadWriteProgressive to allow FTP and HTTP-based providers to fetch file content progressively, suitable for streaming.
    • Fixed encoding error using NSCoding.
    • Fixed FileObject equality and hashing methods
    • Known Issue: Progress for thumbnail and properties does not work yet.
  • Local

    • MadeLocalFileMonitor class public to monitor folder/file changes directly without using provider's registerNotification
    • More items for image metadata in ExtendedLocalFileProvider, including GPS info and White-balance.
  • iCloud

    • Fixed iCloud download/upload progress report, Fixed #93 crash.
  • FTP

    • Fixed race conditions, Possible fix for #79.
    • Returning real error instead of timeout.

FTP Extended Passive, bug fixes

27 Mar 21:19
Compare
Choose a tag to compare
  • General

    • Fixed podspec Swift 4.0 setting (#90)
    • Known Issue: Progress for thumbnail and properties does not work yet.
  • FTP

    • Added Extended Passive (EPSV) data connection mode
    • Added support for Windows/DOS style directory list
    • Fixed FTP on TLS data connection failure
  • OneDrive

    • Fixed operation fall on files with non-ASCII names

Updated and OneDrive provider, isReachable() with error

06 Mar 16:00
Compare
Choose a tag to compare
  • General

    • Source breaking change: isReachable() returns error encountered in addition to success.
    • Optimizations and refactorings
    • Added Concepts and design document.
    • Fixed error description for file provider errors.
    • Known Issue: Progress for thumbnail and properties does not work yet.
  • OneDrive

    • OneDrive provider now works with new Microsoft Graph API perfectly
    • Unlimited uploading
  • iCloud

    • iCloud overwrite parameter ignored when uploading file (#82)
  • WebDAV

    • searchFiles() "including" param was being ignored.

Fixed WebDAV and FTP providers, updated to Swift 4.0

30 Dec 09:09
Compare
Choose a tag to compare
  • General

    • Added test cases for Local, Dropbox, WebDAV and FTP.
    • Remove monitoring notification on deinit.
    • Updated Swift Package Manager to version 4.0.
  • WebDAV

    • Directory are parsed as regular files.
    • Handling space and illegal characters in urls inside response.
  • FTP

    • Problems with iOS 11 and NSURLSessionStreamTask.
    • Crash on downloading and uploading.
    • Removed dependency on Apples FTP implementation for downloading.
    • Faster uploading (Single stream instead of muliple)
  • Dropbox

    • attributesOfItem() returned error instead of result.

OneDrive provider updated, Swift 4 compatibility

27 Oct 06:29
Compare
Choose a tag to compare

This is the last pod which will work with Swift 3. If you are using Swift 3 in your project, please use swift-3 (will be created soon) branch directly using other installation methods. I will maintain code for Swift 3 as far as possible.

OneDrive provider is updated to latest version according to Microsoft documentations. You can use OneDriveProvider.Route enum to determine which root should be used to access files, use .me to access your own files or other options to access enterprise and shared files.

-Important: storageProperties() method signature has been changed and you have to rectify it manually.

contents(path:, progressHandler:) method added to allow fetch data of remote file progressively. This allows buffering and showing files while downloading.

Other improvements:

  • storageProperties() method now returns VolumeObject instance in completion handler, which contains volume size and other informations.
  • Added progressive downloading method contents(path:, progressHandler:) for HTTP-based providers
  • Removed currentPath property.
  • Code is Swift 4 compatible now.
  • copy(path:toLocalURL) and copy(localURL:to:) reading and writing to local url are coordinated now.
  • refactored paginated listing. (Dropbox, OneDrive and GoogleDrive in future)
  • Added HEIF thumbnail and properties generators. (iOS 11.0, macOS 10.13)

Bugs fixed:

  • Cloud provider misbehaves in subdirectories.
  • OneDrive download progress was not available due to Transfer-Encoding: chunked.
  • Overwrite flag didn't work in HTTP-based providers.
  • url(of:) crash when path is empty.
  • Progress returned didn't parented correctly.
  • Improved compilation speed.

Deprecated currentPath, return error in delegate and bug fixes

29 Aug 08:41
Compare
Choose a tag to compare

currentPath property is now deprecated and out of use. It will be marked as obsoleted soon. Use local var in case you want to track it. Also fileproviderFailed() delegate method signature has changed to send Error object to user.

Changes:

  • Making more method implementations overridable for user.
  • Consistency to delegate call in all contents(of:) methods, with .fetch case.
  • moved to v2 api in Dropbox for copy, move and delete files.
  • Using URL.checkResourceIsReachable() to check file exists instead if FileManager.fileExists() for iCloud and promised urls.
  • Added convenience methods for URLRequest headers for Content-Type, Accept-Encoding, Range, etc.

Bugs fixed:

  • Downloading/Uploading files with colon in name would be failed due to percent encoding
  • Recursive search in FTP, OneDrive, WebDAV
  • FTP crash on rucursive remove due to Progress exception

Huge refactoring of HTTP-based providers

19 Aug 01:27
Compare
Choose a tag to compare

Dropbox, WebDAV & OneDrive all are refactored to HTTPFileProvider base class, decreases bugs and adds more consistency.

Because FileOperationType.source is not optional anymore, I had to increase version.

Also:

  • Added fileURL to Progress
  • critical bugfix: KVO exception crash on task completion

Replacing OperationHandle with (NS)Progress

15 Aug 10:50
Compare
Choose a tag to compare

Important: Deprecating OperationHandle class in favor of Foundation's Progress class is a source breaking change. You may have to update your current code to use new feature.

Other improvements:

  • Fixed broken OneDrive API & redundant percent encoding of path (#57 , #59)
  • Fixed Dropbox issue with file path in HTTP header (#58)