Release Notes
This project uses Semantic Versioning. The format of the release notes follows Keep a Changelog.
v0.2.1 - 2025-08-23
Changed
- Documentation updates and fixes (improved installation instructions, removed all references to URI type piracy; #24)
v0.2.0 - 2025-08-22
Changed
- Added Enum
ErrorCodefor revised error handling with updated error codes (#21) - Invalid paths give an
Base.IOErrorduring instatiation of anSFTP.Client pwd(::SFTP.Client): no validity checks of uri path. This should be done during instantiation of theSFTP.Client(#22)
Removed
pwd(::URI),splitdir(uri::URI, path::AbstractString="."), andbasename(uri::URI, path::AbstractString="."): only methods withSFTP.Clientallowed to avoid type piracy (#22)
Fixed
- Link targets are displayed as absolute paths again. This bug was introduced after switching internally from split to URIs.splitpath, which does not consider root folders (#18).
v0.1.2 - 2025-05-31
Deprecated
- Path checks in
pwd(::SFTP.Client)are deprecated (#13). This should be done during the instantiation of theSFTP.Client.
Fixed
- Add fallback solution to determine a
filemodeinanalyse_pathwith restricted access to the parent folder (#14).
v0.1.1 - 2025-05-24
Added
- Overload Julia's
dirnamewith a method forSFTP(#9).
Deprecated
- The following methods have been deprecated to avoid type piracy (#8):
pwd(::URI)splitdir(::URI)basename(::URI)
- For
joinpath, the provided method by theURIspackage is used, an internalcwdfunction replacespwd,splitdirandbasenamewill be removed without replacement.
Removed
- The
joinpath(::URI, paths::AbstractString...)method is directly removed as it seems, previously URIs'joinpathmethod was used anyway (#8).
Fixed
- Ensure all
AbstractStringpaths are converted toStringin functionreaddirfor correct processing of the paths (#10).
v0.1.0 - 2025-05-18
The initial release is based on SFTPClient (v0.4.4). All changes for this released are documented in respect to this version.
Added
- Initial release with new project name SFTP.jl and new initial version v0.1.0
- Prefer
Loggingover simple print commands - Overload
statwith simplifiedstatmethod for a single path object (in contrast tostatscanthat scans the whole folder) and return anSFTP.StatStruct - Overlaod Base functions for the file system; new methods added for:
ispathpwdmkdir(previousmkdirwas renamed tomkpath)joinpathsplitdirbasename
- Add labels for docs, CI status and Codecov in Readme
- Add workflow for compat helper
- Add changelog and automate with Changelog.jl
Changed
- Update API
- exported:
upload,statscan,URI - public:
Client,StatStruct,download,stat,filemode,ispath,isdir,isfile,islink,pwd,cd,mv,rm,mkdir,mkpath,readdir,walkdir,joinpath,splitdir,basename
- exported:
- Completely refactor code base, use concise variable names, format source code
- Rename
SFTPStatStructtoStatStruct(unexported) and refactor constructors - Rename
SFTPtoClient(unexported) and refactor constructors - Rename
sftpstattostatscan - Rename
mkdirtomkpath(as it has the functionality ofmkpath, add new method formkdir) - Update functionality of file system functions to more close resemble Julia's Base functions
- Combine
rm/rmdirinrmwith aforceflag - Sort results in
readdir,stat,statscan, andwalkdir(can be switched off withsortflag) - Introduce more checks and restrictions based on Julia's file system function/Unix functions
- Check validity of a path
- Add methods to pass a path as
Stringtofilemodeand related functions instead of aStatStructobject - Allow recursive methods, where appropriate
- Combine
- Allow upload/download of directories
- Add
force/mergeflag - Allow filtering of hidden files
- Update and unify how paths are defined on the remote and local system
- Add
- Refactor and extent tests
- Update documentation
Removed
- Remove
CSVas dependecy and usereadlinesinstead - Remove
FileWatching,ArgTools, andNetworkOptionsas dependency
Fixed
- Overload
walkdiranddownloadinstead of defining new functions - Ensure Windows paths are processed correctly
- Several fixes concerning the representation of paths (especially under Windows)
- Symlinks are now recognised by
stat/statscan walkdircorrectly follows symlinks