Releases: winfsp/cgofuse
v1.6.0
-
Rename import path to
github.com/winfsp/cgofuse. -
Convert package to module.
-
Support FUSE3 on Linux and FreeBSD. By default, cgofuse will link with FUSE2. To link with FUSE3 add
-tags=fuse3to yourgo buildflags. (PR #87; thanks @jfantinhardesty) -
Preliminary support for Windows on ARM64.
-
Support Linux distributions that place
fusermountin/usr/bin. -
Add
FileSystemChmod3interface.Chmod3is similar toChmodexcept that it includes a file handle that is available only under FUSE3. -
Add
FileSystemChown3interface.Chown3is similar toChownexcept that it includes a file handle that is available only under FUSE3. -
Add
FileSystemUtimens3interface.Utimens3is similar toUtimensexcept that it includes a file handle that is available only under FUSE3. -
Add
FileSystemRename3interface.Rename3is similar toRenameexcept that it includes flags that are available only under FUSE3. These flags includeRENAME_NOREPLACEandRENAME_EXCHANGE. -
Add
FileSystemGetpathinterface. A case-insensitive file system can useGetpathto report the correct case of a file path on Windows. -
Add
FileSystemHost.SetCapDeleteAccess. A file system can use this capability to deny delete access on Windows. Such a file system must:- Implement the
Accessfile system operation and handle the newfuse.DELETE_OKmask to return-fuse.EPERMfor files that should not be deleted. An example implementation might look like:func (fs *filesystem) Access(path string, mask uint32) int { if "windows" == runtime.GOOS { if 0 != mask&fuse.DELETE_OK { if "/nounlink" == path { return -fuse.EPERM } } return 0 } else { return -fuse.ENOSYS } }
- Return
-fuse.EPERMfromUnlink/Rmdirfor files that should not be deleted.
- Implement the
-
Add
FileSystemHost.SetCapOpenTrunc. A file system can use this capability to inform the host that it can handle theO_TRUNCflag. -
Add
FileSystemHost.SetDirectIO. A file system can use this capability to disable page caching on FUSE3. -
Add
FileSystemHost.SetUseIno. A file system can use this capability when it wants the host to use theinovalues reported byGetattrand other operations on FUSE3.
v1.5.0
- Add
FileSystemHost.NotifyAPI which allows file change notification to be issued from the user mode file system [Windows only]. - Add
notifyfsfile system to showcase the new API functionality [Windows only].
v1.4.0
- The FUSE library is demand-loaded on all platforms.
- Prior to this version only the Windows FUSE library (WinFsp) was demand loaded.
- This introduces a behavior change for programs that use FUSE when FUSE is not present. Prior to this version such programs would not start at all. In this new version such programs will start, but will fail with a
panicinFileSystemHost.Mountif FUSE is not present.
v1.3.0
- Add FileSystemOpenEx interface.
- Miscellaneous other fixes and improvements.
v1.2.0
- Cgo and !cgo variants for Windows port.
- FreeBSD, NetBSD and OpenBSD ports.
v1.1.0
OptParsefunction parses FUSE options.fmt.Stringerandfmt.GoStringerimplementation forfuse.Error.
v1.0.4
- Implement BSD
flags,chflags,setcrtime,setchgtime. - Improve documentation.
v1.0.3
- Windows XP compatibility (eliminate
RegGetValueW).
v1.0.2
- Windows XP compatibility (eliminate slim R/W lock).
v1.0.1
- Cross-compilation
Dockerfile. - CircleCI integration.
- Do not catch
SIGHUP. - Improve documentation.