Releases: JohnSundell/Files
Files 4.3.0
Copying a folder now has the same behavior on macOS 15 as it did on earlier OS versions, in that it performs a deep copy of the folder and its contents (thanks to @markbattistella for fixing this issue).
Files 4.2.0
- You can now easily check if a
Folderis empty using theisEmpty()method. Folder.documentsandFolder.libraryare now both available on iOS and tvOS, as well as macOS.- There's a new API,
Folder.matching(), which enables you to return a system folder that matches a given search path.
View build details and download artifacts on buddybuild:
Files (iOS, Files-iOS)
Files 4.1.1
This release restores Files' compatibility with Mac Catalyst.
View build details and download artifacts on buddybuild:
Files (iOS, Files-iOS)
Files 4.1.0
- On macOS, files can now be opened within the OS by calling
open()on them (by @Amzd). - Fixed a bug that could cause
nameExcludingExtensionto return an empty string.
View build details and download artifacts on buddybuild:
Files (iOS, Files-iOS)
Files 4.0.2
This release contains patches for two bugs:
- When calling the
createFileIfNeededset of APIs, thecontentpassed as any newly created file's content was previously ignored. That has now been fixed. - When accessing the
parentof any folder contained within the file system's root folder, the actual root folder is now correctly returned. Thanks to @MaximeLM for implementing that fix.
View build details and download artifacts on buddybuild:
Files (iOS, Files-iOS)
Files 4.0.1
This patch restores the copy API to again return the new file/folder that was copied.
View build details and download artifacts on buddybuild:
Files (iOS, Files-iOS)
Files 4.0
Files 4.0 brings a brand new, streamlined implementation, improved error handling, more thorough documentation, and a more modern API. Since it's a new major release, some breaking API changes have been made. Here's everything that's new:
- The
FileSystemclass has been removed. To perform operations relative to the root of the file system, use the newFolder.rootAPI instead. To use a customFileManager, callmanagedBy()on anyFileorFolder. FileSystem.Itemhas been replaced by theLocationprotocol, andFileSystem.Item.Kindhas been replaced byLocationKind.- You can now consistently use either a
nameorpathwhen using any API for creating or referring to files and subfolders within a folder. - Methods accepting a
pathnow use the simplifiedat:label, rather thanatPath:. - External argument labels have been removed for APIs that write new contents to a file. So
write(string:)andwrite(data:)are now two overloads of the same method:write(_:). - All of the APIs for creating files now only accept
Dataas a file's initial contents. To write strings to a file, first create the file and then callfile.write(string)on it. Filenow has acreationDateproperty.Foldernow has static properties for accessing the current user's Library and Documents folders.- Error handling has been improved to now use a unified
FilesErrortype, that always contains thepathat which the error occurred, as well as aReason- which can either be for locations, writes, or reads. See theLocationError,WriteErrorandReadErrortype aliases for the three types of errors that Files can throw. - Computed properties that don't have
O(1)time complexity have now been changed into methods instead. That includesname(),count(), andlast()on file/folder sequences, since computing those requires enumerating the sequence. The time complexity of each sequence operation is now also documented. FileSystemSequenceis nowFolder.ChildSequence, and each sequence can now easily be turned into a recursive one by accessing therecursiveproperty. The same is also true for including hidden files, which is now done by accessing theincludingHiddenproperty on a sequence. ThemakeFileSequence(...)andmakeSubfolderSequence(...)APIs have been removed in favor of constructing customized sequences using those new computed properties.
View build details and download artifacts on buddybuild:
Files (iOS, Files-iOS)
Files 3.1.0
- Both
FileandFoldernow have apath(relativeTo:)API, which makes it easy to calculate a given item's path relative to one of its parent folders. FileSystem.documentFolderandFileSystem.libraryFolderare now only available on macOS.
View build details and download artifacts on buddybuild:
Files (iOS, Files-iOS)
Files 3.0.0
Files now uses Swift 5.0, which makes it incompatible with toolchains with versions lower than 4.2.
View build details and download artifacts on buddybuild:
Files (iOS, Files-iOS)
Files 2.3.0
- New APIs have been added to check whether a given folder contains either another folder or a file (thanks @clayellis!)
- The old, long since deprecated
creatingSubfolderFailederror has now been fully removed.
View build details and download artifacts on buddybuild:
Files (iOS, Files-iOS)