Releases: amosavian/FileProvider
Swift 5 support
Fixed Cocoapods error
- Fixed Cocoapods error
Changes in version 0.25.0:
-
General
- Updated Podspec Swift version to 4.1 and fixed warnings.
- Introduced
FileProviderReadWriteProgressiveto allow FTP and HTTP-based providers to fetch file content progressively, suitable for streaming. - Fixed encoding error using NSCoding.
- Fixed
FileObjectequality and hashing methods - Known Issue: Progress for thumbnail and properties does not work yet.
-
Local
- Made
LocalFileMonitorclass public to monitor folder/file changes directly without using provider'sregisterNotification - More items for image metadata in ExtendedLocalFileProvider, including GPS info and White-balance.
- Made
-
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.
-
General
- Updated Podspec Swift version to 4.1 and fixed warnings.
- Introduced
FileProviderReadWriteProgressiveto allow FTP and HTTP-based providers to fetch file content progressively, suitable for streaming. - Fixed encoding error using NSCoding.
- Fixed
FileObjectequality and hashing methods - Known Issue: Progress for thumbnail and properties does not work yet.
-
Local
- Made
LocalFileMonitorclass public to monitor folder/file changes directly without using provider'sregisterNotification - More items for image metadata in ExtendedLocalFileProvider, including GPS info and White-balance.
- Made
-
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
-
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
-
General
- Source breaking change:
isReachable()returnserrorencountered in addition tosuccess. - 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.
- Source breaking change:
-
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
-
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)
- Problems with iOS 11 and
-
Dropbox
attributesOfItem()returned error instead of result.
OneDrive provider updated, Swift 4 compatibility
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 returnsVolumeObjectinstance in completion handler, which contains volume size and other informations.- Added progressive downloading method
contents(path:, progressHandler:)for HTTP-based providers - Removed
currentPathproperty. - Code is Swift 4 compatible now.
copy(path:toLocalURL)andcopy(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.Progressreturned didn't parented correctly.- Improved compilation speed.
Deprecated currentPath, return error in delegate and bug fixes
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.fetchcase. - moved to v2 api in Dropbox for copy, move and delete files.
- Using
URL.checkResourceIsReachable()to check file exists instead ifFileManager.fileExists()for iCloud and promised urls. - Added convenience methods for
URLRequestheaders forContent-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
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
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: