Releases: winfsp/winfsp
WinFsp 2024 Beta2
CHANGES SINCE WINFSP 2023
-
[FIX] Fixes a rare BSOD on recent versions of Windows. See commit a482183 for details.
-
[FIX] Fixes a rare problem when using
NtCreateFile
to perform relative opens on a network drive (see GitHub issue #561). -
[FIX] Fixes a racing issue with two processes competing to start the FSD discovered during testing.
BUILD HASHES (SHA256)
winfsp-2.1.24255.msi
: 5F05856A75E89C244A9D845E9A8B426052A33D26E65874277CE8871FEC7073D6winfsp-tests-2.1.24255.zip
: 370EED8129CD6854C6278575F04C3B91D248E1CFA362DD795152EE10F005978C
WinFsp 2024 Beta1
CHANGES SINCE WINFSP 2023
-
[FIX] Fixes a rare BSOD on recent versions of Windows. See commit a482183 for details.
-
[FIX] Fixes a racing issue with two processes competing to start the FSD discovered during testing.
BUILD HASHES (SHA256)
winfsp-2.1.24051.msi
: 1A9C5122C53EE376CDCF9A69F9B0C5D3B297A499105ACC39A50C704F8E80268Ewinfsp-tests-2.1.24051.zip
: 6438C4A7C14AEC2C010EB1EA52C84C4232DD12A9B68763E3EBE6D1134147E903
WinFsp 2023
CHANGES SINCE WINFSP 2022.2
This release is a major version change for WinFsp (from 1.x to 2.x). There are no backwards incompatible API changes in this release, but nevertheless enough things change that warrant a version change.
The major new feature of this release is that it allows uninstallation and reinstallation of WinFsp without reboot. Going forward installers named winfsp-2.x.y.msi
can be uninstalled and reinstalled without reboot. Furthermore a later version winfsp-2.x.y.msi
installer can be used to upgrade over an earlier version winfsp-2.x.y.msi
installer. However note that a winfsp-2.x.y.msi
installer cannot be used to upgrade over a legacy winfsp-1.x.y.msi
installer; you will still need to uninstall the old winfsp-1.x.y.msi
installer, potentially reboot and then install the new winfsp-2.x.y.msi
installer.
Changes visible to file system developers are listed below:
-
WinFsp executable files are now installed by default in the directory
C:\Program Files (x86)\WinFsp\SxS\sxs.<InstanceID>\bin
. The previous directoryC:\Program Files (x86)\WinFsp\bin
is now a junction that points to the above directory. -
The WinFsp driver name is no longer
winfsp
, but rather a name such aswinfsp+<InstanceID>
. This means that managing the driver using thesc.exe
utility is no longer as easy. -
The
fsptool
utility has been updated with new commandslsdrv
,load
,unload
andver
. Thelsdrv
,load
andunload
commands can be used to manage the driver from the command line. This is rarely necessary, but may be useful for troubleshooting purposes. -
Prior to this release the WinFsp driver would never unmount a file system volume unless the user mode file system requested the unmount. From this release onward it is possible for the WinFsp driver to unmount a file system volume, without a user mode file system request. This is to allow for the driver to be unloaded.
A new operation
DispatcherStopped
has been added toFSP_FILE_SYSTEM_INTERFACE
, which is sent after the file system volume has been unmounted and the file system dispatcher has been stopped. This can happen because of a user mode file system request viaFspFileSystemStopDispatcher
or because of driver unload. TheDispatcherStopped
operation includes aNormally
parameter, which isTRUE
for normal file system shutdown viaFspFileSystemStopDispatcher
andFALSE
otherwise.Native file systems that use the
FspService
infrastructure can use theFspFileSystemStopServiceIfNecessary
API to handle theDispatcherStopped
operation (see the MEMFS and NTPTFS samples). FUSE file systems get this functionality for free. .NET file systems that use theService
class infrastructure also get this functionality for free. -
WinFsp now offers a .NET library that targets .NET Framework 3.5 (as before) and one that targets .NET Standard 2.0. This is due to work by @Noire001 in PR #451.
- There is now a winfsp.net nuget package at https://www.nuget.org/packages/winfsp.net
-
FUSE now supports path components up to 255 characters long (previously it was 255 bytes). This is due to work by @zeho11 in PR #474.
- The FUSE passthrough file systems have been updated to support long paths. This is also due to work by @zeho11.
-
In some rare circumstances WinFsp file systems could report duplicate directory entries. This problem has been fixed. (GitHub issue #475.)
-
The WinFsp symbols directory has been removed. If you are looking for WinFsp symbols you can find them at https://github.com/winfsp/winfsp.sym
BUILD HASHES (SHA256)
winfsp-2.0.23075.msi
: 6324DC81194A6A08F97B6AECA303CF5C2325C53EDE153BAE9FC4378F0838C101winfsp-tests-2.0.23075.zip
: AEECDAC2BE9684C4FF9D977C41853B0DE9E065C230DBA755E86C3F8130BBC816
WinFsp 2023 RC1
CHANGES SINCE WINFSP 2022.2
This release is a major version change for WinFsp (from 1.x to 2.x). There are no backwards incompatible API changes in this release, but nevertheless enough things change that warrant a version change.
The major new feature of this release is that it allows uninstallation and reinstallation of WinFsp without reboot. Going forward installers named winfsp-2.x.y.msi
can be uninstalled and reinstalled without reboot. Furthermore a later version winfsp-2.x.y.msi
installer can be used to upgrade over an earlier version winfsp-2.x.y.msi
installer. However note that a winfsp-2.x.y.msi
installer cannot be used to upgrade over a legacy winfsp-1.x.y.msi
installer; you will still need to uninstall the old winfsp-1.x.y.msi
installer, potentially reboot and then install the new winfsp-2.x.y.msi
installer.
Changes visible to file system developers are listed below:
-
WinFsp executable files are now installed by default in the directory
C:\Program Files (x86)\WinFsp\SxS\sxs.<InstanceID>\bin
. The previous directoryC:\Program Files (x86)\WinFsp\bin
is now a junction that points to the above directory. -
The WinFsp driver name is no longer
winfsp
, but rather a name such aswinfsp+<InstanceID>
. This means that managing the driver using thesc.exe
utility is no longer as easy. -
The
fsptool
utility has been updated with new commandslsdrv
,load
,unload
andver
. Thelsdrv
,load
andunload
commands can be used to manage the driver from the command line. This is rarely necessary, but may be useful for troubleshooting purposes. -
Prior to this release the WinFsp driver would never unmount a file system volume unless the user mode file system requested the unmount. From this release onward it is possible for the WinFsp driver to unmount a file system volume, without a user mode file system request. This is to allow for the driver to be unloaded.
A new operation
DispatcherStopped
has been added toFSP_FILE_SYSTEM_INTERFACE
, which is sent after the file system volume has been unmounted and the file system dispatcher has been stopped. This can happen because of a user mode file system request viaFspFileSystemStopDispatcher
or because of driver unload. TheDispatcherStopped
operation includes aNormally
parameter, which isTRUE
for normal file system shutdown viaFspFileSystemStopDispatcher
andFALSE
otherwise.Native file systems that use the
FspService
infrastructure can use theFspFileSystemStopServiceIfNecessary
API to handle theDispatcherStopped
operation (see the MEMFS and NTPTFS samples). FUSE file systems get this functionality for free. .NET file systems that use theService
class infrastructure also get this functionality for free. -
WinFsp now offers a .NET library that targets .NET Framework 3.5 (as before) and one that targets .NET Standard 2.0. This is due to work by @Noire001 in PR #451.
- There is now a winfsp.net nuget package at https://www.nuget.org/packages/winfsp.net
-
FUSE now supports path components up to 255 characters long (previously it was 255 bytes). This is due to work by @zeho11 in PR #474.
- The FUSE passthrough file systems have been updated to support long paths. This is also due to work by @zeho11.
-
In some rare circumstances WinFsp file systems could report duplicate directory entries. This problem has been fixed. (GitHub issue #475.)
-
The WinFsp symbols directory has been removed. If you are looking for WinFsp symbols you can find them at https://github.com/winfsp/winfsp.sym
BUILD HASHES (SHA256)
winfsp-2.0.23055.msi
: 7AB21329F49B4C057FC7C66876D2B502734E37C9BB0AD360DE9E8B3B9170971Fwinfsp-tests-2.0.23055.zip
: 74B39EF9B2BA8D96D69CB99AB786904EB83EB7DB38F245CDAED0E92755A42EBE
WinFsp 2023 Beta2
CHANGES SINCE WINFSP 2022.2
This release is a major version change for WinFsp (from 1.x to 2.x). There are no backwards incompatible API changes in this release, but nevertheless enough things change that warrant a version change.
The major new feature of this release is that it allows uninstallation and reinstallation of WinFsp without reboot. Going forward installers named winfsp-2.x.y.msi
can be uninstalled and reinstalled without reboot. Furthermore a later version winfsp-2.x.y.msi
installer can be used to upgrade over an earlier version winfsp-2.x.y.msi
installer. However note that a winfsp-2.x.y.msi
installer cannot be used to upgrade over a legacy winfsp-1.x.y.msi
installer; you will still need to uninstall the old winfsp-1.x.y.msi
installer, potentially reboot and then install the new winfsp-2.x.y.msi
installer.
Changes visible to file system developers are listed below:
-
WinFsp executable files are now installed by default in the directory
C:\Program Files (x86)\WinFsp\SxS\sxs.<InstanceID>\bin
. The previous directoryC:\Program Files (x86)\WinFsp\bin
is now a junction that points to the above directory. -
The WinFsp driver name is no longer
winfsp
, but rather a name such aswinfsp+<InstanceID>
. This means that managing the driver using thesc.exe
utility is no longer as easy. -
The
fsptool
utility has been updated with new commandslsdrv
,load
,unload
andver
. Thelsdrv
,load
andunload
commands can be used to manage the driver from the command line. This is rarely necessary, but may be useful for troubleshooting purposes. -
Prior to this release the WinFsp driver would never unmount a file system volume unless the user mode file system requested the unmount. From this release onward it is possible for the WinFsp driver to unmount a file system volume, without a user mode file system request. This is to allow for the driver to be unloaded.
A new operation
DispatcherStopped
has been added toFSP_FILE_SYSTEM_INTERFACE
, which is sent after the file system volume has been unmounted and the file system dispatcher has been stopped. This can happen because of a user mode file system request viaFspFileSystemStopDispatcher
or because of driver unload. TheDispatcherStopped
operation includes aNormally
parameter, which isTRUE
for normal file system shutdown viaFspFileSystemStopDispatcher
andFALSE
otherwise.Native file systems that use the
FspService
infrastructure can use theFspFileSystemStopServiceIfNecessary
API to handle theDispatcherStopped
operation (see the MEMFS and NTPTFS samples). FUSE file systems get this functionality for free. .NET file systems that use theService
class infrastructure also get this functionality for free. -
WinFsp now offers a .NET library that targets .NET Framework 3.5 (as before) and one that targets .NET Standard 2.0. This is due to work by @Noire001 in PR #451.
- There is now a winfsp.net nuget package at https://www.nuget.org/packages/winfsp.net
-
FUSE now supports path components up to 255 characters long (previously it was 255 bytes). This is due to work by @zeho11 in PR #474.
- The FUSE passthrough file systems have been updated to support long paths. This is also due to work by @zeho11.
-
The WinFsp symbols directory has been removed. If you are looking for WinFsp symbols you can find them at https://github.com/winfsp/winfsp.sym
BUILD HASHES (SHA256)
winfsp-2.0.23033.msi
: BF3595765FF179B6664600B0065CD77C89823A3803C55CBD35EE4E014141F16Cwinfsp-tests-2.0.23033.zip
: 4A5B1B4F7AC93C91C6A0ADF08DF3CB1BF60AC88DE7EB23470DF89670AAF79BF1
WinFsp 2022.2 Update1
CHANGES SINCE WINFSP 2022+ARM64
Note: This release (2022.2 Update1) is the same as the previous release (2022.2) except that: (1) the kernel-mode drivers are now digitally signed only with the Microsoft Attestation signature, and that: (2) no release assets are digitally signed with SHA-1. (This change was necessary to fix a problem in older versions of Windows such as Windows 7.)
-
[NEW] WinFsp now supports mounting as directory using the Mount Manager. Use the syntax
\\.\C:\Path\To\Mount\Directory
. -
[NEW] A new registry setting
MountUseMountmgrFromFSD
has been added. See WinFsp Registry Settings for details. -
[FIX] A problem with Windows containers has been fixed. (GitHub issue #438.)
-
[FIX] File systems can now be mounted as directories on ARM64. (GitHub issue #448.)
-
[FIX] The passthrough file system now reports correct
IndexNumber
. (GitHub issue #325.) -
[BUILD] Product configuration for the relative paths to the File System Driver, Network Provider and EventLog is now possible via the file
build.version.props
located inbuild\VStudio
.
WinFsp 2023 Beta1
CHANGES SINCE WINFSP 2022.2
This release is a major version change for WinFsp (from 1.x to 2.x). There are no backwards incompatible API changes in this release, but nevertheless enough things change that warrant a version change.
The major new feature of this release is that it allows uninstallation and reinstallation of WinFsp without reboot. Going forward installers named winfsp-2.x.y.msi
can be uninstalled and reinstalled without reboot. Furthermore a later version winfsp-2.x.y.msi
installer can be used to upgrade over an earlier version winfsp-2.x.y.msi
installer. However note that a winfsp-2.x.y.msi
installer cannot be used to upgrade over a legacy winfsp-1.x.y.msi
installer; you will still need to uninstall the old winfsp-1.x.y.msi
installer, potentially reboot and then install the new winfsp-2.x.y.msi
installer.
Some changes that may be visible to file system developers are listed below:
-
WinFsp executable files are now installed by default in the directory
C:\Program Files (x86)\WinFsp\SxS\sxs.<InstanceID>\bin
. The previous directoryC:\Program Files (x86)\WinFsp\bin
is now a junction that points to the above directory. -
The WinFsp driver name is no longer
winfsp
, but rather a name such aswinfsp+<InstanceID>
. This means that managing the driver using thesc.exe
utility is no longer as easy. -
The
fsptool
utility has been updated with new commandslsdrv
,load
,unload
andver
. Thelsdrv
,load
andunload
commands can be used to manage the driver from the command line. This is rarely necessary, but may be useful for troubleshooting purposes. -
The WinFsp symbols directory has been removed. If you are looking for WinFsp symbols you can find them at https://github.com/winfsp/winfsp.sym
This release introduces significant internal changes, including kernel mode changes to enable the driver to be unloaded. Although there are no known crashes or other problems of such severity, please do not use in production environments.
WinFsp 2022.2
CHANGES SINCE WINFSP 2022+ARM64
-
[NEW] WinFsp now supports mounting as directory using the Mount Manager. Use the syntax
\\.\C:\Path\To\Mount\Directory
. -
[NEW] A new registry setting
MountUseMountmgrFromFSD
has been added. See WinFsp Registry Settings for details. -
[FIX] A problem with Windows containers has been fixed. (GitHub issue #438.)
-
[FIX] File systems can now be mounted as directories on ARM64. (GitHub issue #448.)
-
[FIX] The passthrough file system now reports correct
IndexNumber
. (GitHub issue #325.) -
[BUILD] Product configuration for the relative paths to the File System Driver, Network Provider and EventLog is now possible via the file
build.version.props
located inbuild\VStudio
.
WinFsp 2022.2 Beta2
CHANGES SINCE WINFSP 2022+ARM64
-
[NEW] WinFsp now supports mounting as directory using the Mount Manager. Use the syntax
\\.\C:\Path\To\Mount\Directory
. -
[NEW] A new registry setting
MountUseMountmgrFromFSD
has been added. See WinFsp Registry Settings for details. -
[FIX] A problem with Windows containers has been fixed. (GitHub issue #438.)
-
[FIX] File systems can now be mounted as directories on ARM64. (GitHub issue #448.)
-
[FIX] The passthrough file system now reports correct
IndexNumber
. (GitHub issue #325.) -
[BUILD] Product configuration for the relative paths to the File System Driver, Network Provider and EventLog is now possible via the file
build.version.props
located inbuild\VStudio
.
WinFsp 2022.2 Beta1
CHANGES SINCE WINFSP 2022+ARM64
-
[NEW] A new registry setting
MountUseMountmgrFromFSD
has been added. See WinFsp Registry Settings for details. -
[BUILD] Product configuration for the relative paths to the File System Driver, Network Provider and EventLog is now possible via the file
build.version.props
located inbuild\VStudio
.