Releases: winfsp/winfsp
Releases · winfsp/winfsp
WinFsp 2018.2 B4
THIS IS A PRE-RELEASE
- This pre-release contains FUSE 3.2 support. If you have a FUSE 3.2 file system I would love to hear your feedback.
- This pre-release includes signed drivers for Windows 7, 8, 10, but not Server 2016.
CHANGES SINCE 2018.1
- FUSE3 API (version 3.2) is now available. The FUSE2 API (version 2.8) also remains supported.
- New
Control
file system operation allows sending custom control codes to the file system using the WindowsDeviceIoControl
API. FUSEioctl
is also supported. - New
SetDelete
file system operation can optionally be used instead ofCanDelete
.SetDelete
orCanDelete
are used to handle the file "disposition" flag, which determines if a file is marked for deletion. See the relevant documentation for more details. FlushAndPurgeOnCleanup
has now been added to the .NET API. (GitHub PR #176; thanks @FrKaram.)- The Launcher now supports running file systems under the user account that started them. Use
RunAs="."
in the file system registry entry. - New sample file system "airfs" contributed by @JohnOberschelp. Airfs is an in-memory file system like Memfs on which it is based on; it has received substantial improvements in how the file name space is maintained and has been modified to use modern C++ techniques by John.
- New sample file system "passthrough-fuse3" passes all operations to an underlying file system. This file system is built using the FUSE3 API. It builds and runs on both Windows and Cygwin.
- The FUSE layer now supports multiple file systems within a single process. This is a long standing problem that has been fixed. (GitHub issue #135.)
- The FSD includes a fix for a Windows problem: that case-sensitive file systems do not work properly when mounted as directories. See FAQ entry 3.
- The FSD includes a fix for a rare but serious problem. (GitHub issue #177. Thanks @thinkport.)
- The FSD includes a fix for an incompatibility with DrWeb Antivirus. (GitHub issue #192)
- The DLL includes a fix for an errorenous
STATUS_ACCESS_DENIED
on read-only directories. (GitHub issue #190. Thanks @alfaunits.)
WinFsp 2018.2 B3
THIS IS A PRE-RELEASE
- This pre-release contains FUSE 3.2 support. If you have a FUSE 3.2 file system I would love to hear your feedback.
- This pre-release includes signed drivers for Windows 7, 8, 10, but not Server 2016.
CHANGES SINCE 2018.1
- FUSE3 API (version 3.2) is now available. The FUSE2 API (version 2.8) also remains supported.
- New
Control
file system operation allows sending custom control codes to the file system using the WindowsDeviceIoControl
API. FUSEioctl
is also supported. - New
SetDelete
file system operation can optionally be used instead ofCanDelete
.SetDelete
orCanDelete
are used to handle the file "disposition" flag, which determines if a file is marked for deletion. See the relevant documentation for more details. FlushAndPurgeOnCleanup
has now been added to the .NET API. (GitHub PR #176; thanks @FrKaram.)- New sample file system "airfs" contributed by @JohnOberschelp. Airfs is an in-memory file system like Memfs on which it is based on; it has received substantial improvements in how the file name space is maintained and has been modified to use modern C++ techniques by John.
- New sample file system "passthrough-fuse3" passes all operations to an underlying file system. This file system is built using the FUSE3 API. It builds and runs on both Windows and Cygwin.
- The FUSE layer now supports multiple file systems within a single process. This is a long standing problem that has been fixed. (GitHub issue #135.)
- The FSD includes an experimental fix for a Windows problem: that case-sensitive file systems do not work properly when mounted as directories. See the relevant FAQ entry.
- The FSD includes a fix for an incompatibility with DrWeb Antivirus. (GitHub issue #192.)
WinFsp 2018.2 B2
THIS IS A PRE-RELEASE
- This pre-release contains experimental FUSE 3.2 support. If you have a FUSE 3.2 file system I would love to hear your feedback.
- This pre-release contains fundamental changes in how FUSE loops (
fuse_loop
andfuse_loop_mt
) are run. If you are running a FUSE file system and you experience differences in behavior with prior versions of WinFsp, please open an issue to discuss.- NOTE: Turns out that the new FUSE loops broke
fuse_daemonize
. This problem has been fixed in commit bef5ba7, which will be included in the next beta.
- NOTE: Turns out that the new FUSE loops broke
- This pre-release includes signed drivers for Windows 7, 8, 10, but not Server 2016.
CHANGES SINCE 2018.1
- FUSE3 API (version 3.2) is now available. The FUSE2 API (version 2.8) also remains supported.
- New
Control
file system operation allows sending custom control codes to the file system using the WindowsDeviceIoControl
API. FUSEioctl
is also supported. FlushAndPurgeOnCleanup
has now been added to the .NET API. (GitHub PR #176; thanks @FrKaram.)- New sample file system "airfs" contributed by @JohnOberschelp. Airfs is an in-memory file system like Memfs on which it is based on; it has received substantial improvements in how the file name space is maintained and has been modified to use modern C++ techniques by John.
- New sample file system "passthrough-fuse3" passes all operations to an underlying file system. This file system is built using the FUSE3 API. It builds and runs on both Windows and Cygwin.
- The FUSE layer now supports multiple file systems within a single process. This is a long standing problem that has been fixed. (GitHub issue #135.)
WinFsp 2018.2 B1
WinFsp 2018.1
CHANGES SINCE 2017.2
- Multiple Launcher changes:
- New
FspLaunch
API. File systems can be started, stopped, queried and listed usingFspLaunchStart
,FspLaunchStop
,FspLaunchGetInfo
andFspLaunchGetNameList
. The API is available in<winfsp/launch.h>
. - New Launcher registry settings
RunAs
andWorkDirectory
.RunAs
allows the laucher to launch a file system process under the service accounts LocalService and NetworkService.WorkDirectory
can be used to specify the work directory for a newly launched file system process.
- New
FSP_FSCTL_VOLUME_PARAMS::FlushAndPurgeOnCleanup
limits the time that Windows keeps files open after an application has closed them. This purges the cache on the lastCloseHandle
, which is a performance drawback.- This is now the default behavior on FUSE. To revert to the previous behavior of keeping files open indefinitely use
-o KeepFileCache
.
- This is now the default behavior on FUSE. To revert to the previous behavior of keeping files open indefinitely use
FSP_FSCTL_VOLUME_PARAMS
has been extended with fine-grained timeouts:VolumeInfoTimeout
,DirInfoTimeout
,SecurityTimeout
,StreamInfoTimeout
. SetFSP_FSCTL_VOLUME_PARAMS::Version == sizeof(FSP_FSCTL_VOLUME_PARAMS)
to access the new fields.- New FUSE optons
VolumeInfoTimeout
,DirInfoTimeout
complement the existingFileInfoTimeout
.
- New FUSE optons
- The FSD (File System Driver) and its interaction with the Windows MUP (Multiple UNC Provider) has been changed. In practice this eliminates the delays experienced when right-clicking on a WinFsp-backed network drive in the Windows Explorer. (GitHub issue #87.)
- The WinFsp network provider is now added first in the provider order list. Previously it was added last. (GitHub PR #131; thanks @felfert.)
- The WinFsp installer now uses the Wix
Provides
dependency extension to provide aWinFsp
dependency key. (GitHub PR #129; thanks @felfert.) - New FUSE
create_umask
option. (GitHub issue #138.) - Fix C++ compilation error for WinFsp-FUSE. (GitHub PR #154; thanks @benrubson.)
WinFsp 2018.1 B3
THIS IS A PRE-RELEASE
- This pre-release should be the last beta release before 2018.1.
- This pre-release includes signed drivers for Windows 7, 8, 10, but not Server 2016.
CHANGES SINCE 2017.2
- Multiple Launcher changes:
- New
FspLaunch
API. File systems can be started, stopped, queried and listed usingFspLaunchStart
,FspLaunchStop
,FspLaunchGetInfo
andFspLaunchGetNameList
. The API is available in <winfsp/launch.h> - New Launcher registry settings
RunAs
andWorkDirectory
.RunAs
allows the laucher to launch a file system process under the service accounts LocalService and NetworkService.WorkDirectory
can be used to specify the work directory for a newly launched file system process.
- New
FSP_FSCTL_VOLUME_PARAMS::FlushAndPurgeOnCleanup
limits the time that Windows keeps files open after an application has closed them. This purges the cache on the lastCloseHandle
, which is a performance drawback.- This is now the default behavior on FUSE. To revert to the previous behavior of keeping files open indefinitely use
-o KeepFileCache
.
- This is now the default behavior on FUSE. To revert to the previous behavior of keeping files open indefinitely use
FSP_FSCTL_VOLUME_PARAMS
has been extended with fine-grained timeouts:VolumeInfoTimeout
,DirInfoTimeout
,SecurityTimeout
,StreamInfoTimeout
. SetFSP_FSCTL_VOLUME_PARAMS::Version == sizeof(FSP_FSCTL_VOLUME_PARAMS)
to access the new fields.- New FUSE optons
VolumeInfoTimeout
,DirInfoTimeout
complement the existingFileInfoTimeout
.
- New FUSE optons
- The FSD (File System Driver) and its interaction with the Windows MUP (Multiple UNC Provider) has been changed. In practice this eliminates the delays experienced when right-clicking on a WinFsp-backed network drive in the Windows Explorer. (GitHub issue #87.)
- The WinFsp network provider is now added first in the provider order list. Previously it was added last. (GitHub PR #131; thanks @felfert.)
- The WinFsp installer now uses the Wix
Provides
dependency extension to provide aWinFsp
dependency key. (GitHub PR #129; thanks @felfert.) - New FUSE
create_umask
option. (GitHub issue #138.) - Fix C++ compilation error for WinFsp-FUSE. (GitHub PR #154; thanks @benrubson.)
- NOTE: Prior 2018.1 betas run the MEMFS sample file systems under the LocalService account. This is no longer the case: going forward the MEMFS file systems will be running under the LocalSystem account (as in 2017.2).
WinFsp 2018.1 B2
THIS IS A PRE-RELEASE
- This pre-release contains kernel-mode changes. While every precaution has been taken to ensure stability, it is recommended that this pre-release is only installed by developers and/or power users.
- This pre-release includes signed drivers for Windows 7, 8, 10, but not Server 2016.
CHANGES SINCE 2017.2
- Multiple Launcher changes:
- New
FspLaunch
API. File systems can be started, stopped, queried and listed usingFspLaunchStart
,FspLaunchStop
,FspLaunchGetInfo
andFspLaunchGetNameList
. - New Launcher registry settings
RunAs
andWorkDirectory
.RunAs
allows the laucher to launch a file system process under the service accounts LocalService and NetworkService.WorkDirectory
can be used to specify the work directory for a newly launched file system process.
- New
- The MEMFS sample file systems are now launched under the LocalService account.
- The FSD (File System Driver) and its interaction with the Windows MUP (Multiple UNC Provider) has been changed. In practice this eliminates the delays experienced when right-clicking on a WinFsp-backed network drive in the Windows Explorer. (GitHub issue #87.)
- The WinFsp network provider is now added first in the provider order list. Previously it was added last. (GitHub PR #131; thanks @felfert.)
- The WinFsp installer now uses the Wix
Provides
dependency extension to provide aWinFsp
dependency key. (GitHub PR #129; thanks @felfert.)
WinFsp 2018.1 B1
THIS IS A PRE-RELEASE
- This pre-release includes signed drivers for Windows 7, 8, 10, but not Server 2016.
CHANGES SINCE 2017.2
- The WinFsp Launcher can now be controlled by the new
FspLaunch
API. File systems can be started, stopped, queried and listed usingFspLaunchStart
,FspLaunchStop
,FspLaunchGetInfo
andFspLaunchGetNameList
. - The WinFsp launcher now supports new registry settings
RunAs
andWorkDirectory
.RunAs
allows the laucher to launch a file system process under the service accounts LocalService and NetworkService.WorkDirectory
can be used to specify the work directory for a newly launched file system process. - The MEMFS sample file systems are now launched under the LocalService account.
- The WinFsp network provider is now added first in the provider order list. Previously it was added last. (GitHub PR #131; thanks @felfert.)
- The WinFsp installer now uses the Wix
Provides
dependency extension to provide aWinFsp
dependency key. (GitHub PR #129; thanks @felfert.)
WinFsp 2017.2
This is the latest WinFsp 2017.2 release that also fixes a problem on Windows 7 (issue #127).
CHANGES SINCE 2017.1
- WinFsp-FUSE now supports BSD flags (Windows file attributes) during
getattr
andfgetattr
. It also adds thechflags
operation. BSD flags support requires use of theFSP_FUSE_CAP_STAT_EX
capability and the newstruct fuse_stat_ex
which includes anst_flags
field. If the preprocessor macroFSP_FUSE_USE_STAT_EX
is defined before inclusion of<fuse.h>
thenstruct fuse_stat
will also be defined to include thest_flags
field. - WinFsp-FUSE also adds the following OSXFUSE operations:
setcrtime
,setchgtime
. These can be used to set the creation (birth) time and change (ctime) time of a file. - New
GetDirInfoByName
file system operation adds fast queries of directory info by file name rather than pattern [e.g.FindFirstFileW(L"foobar", FindData)
]. Tests with fsbench showed that such queries are sped up by an order of magnitude when usingGetDirInfoByName
in MEMFS. Case-sensitive FUSE file systems get this optimization for free. The .NET layer also addsGetDirInfoByName
. - New
FspFileSystemOperationProcessId
API adds support for getting the originating process ID (PID) duringCreate
,Open
andRename
calls. FUSE file systems can now accessfuse_context::pid
. The .NET layer also addsGetOperationProcessId
. - New command line tool
fsptool
allows command line access to some WinFsp features. - The WinFsp launcher now passes the name of the user who launched the file system as a special parameter %U. This is useful to file systems that use the launcher infrastructure, such as SSHFS-Win. [Please note that in earlier betas the user name was passed as parameter %3; the previous method was insecure and is no longer supported.]
- Important GitHub issues fixed: #96, #97, #103, #107, #127
WinFsp 2017.2
CHANGES SINCE 2017.1
- WinFsp-FUSE now supports BSD flags (Windows file attributes) during
getattr
andfgetattr
. It also adds thechflags
operation. BSD flags support requires use of theFSP_FUSE_CAP_STAT_EX
capability and the newstruct fuse_stat_ex
which includes anst_flags
field. If the preprocessor macroFSP_FUSE_USE_STAT_EX
is defined before inclusion of<fuse.h>
thenstruct fuse_stat
will also be defined to include thest_flags
field. - WinFsp-FUSE also adds the following OSXFUSE operations:
setcrtime
,setchgtime
. These can be used to set the creation (birth) time and change (ctime) time of a file. - New
GetDirInfoByName
file system operation adds fast queries of directory info by file name rather than pattern [e.g.FindFirstFileW(L"foobar", FindData)
]. Tests with fsbench showed that such queries are sped up by an order of magnitude when usingGetDirInfoByName
in MEMFS. Case-sensitive FUSE file systems get this optimization for free. The .NET layer also addsGetDirInfoByName
. - New
FspFileSystemOperationProcessId
API adds support for getting the originating process ID (PID) duringCreate
,Open
andRename
calls. FUSE file systems can now accessfuse_context::pid
. The .NET layer also addsGetOperationProcessId
. - New command line tool
fsptool
allows command line access to some WinFsp features. - The WinFsp launcher now passes the name of the user who launched the file system as a special parameter %U. This is useful to file systems that use the launcher infrastructure, such as SSHFS-Win. [Please note that in earlier betas the user name was passed as parameter %3; the previous method was insecure and is no longer supported.]
- Important GitHub issues fixed: #96, #97, #103, #107