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
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
- Made
LocalFileMonitor
class 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
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
- Made
LocalFileMonitor
class 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()
returnserror
encountered 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 returnsVolumeObject
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)
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.Progress
returned 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.fetch
case. - 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
URLRequest
headers 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: