mirror of
https://github.com/winfsp/winfsp.git
synced 2025-04-22 08:23:05 -05:00
129 lines
9.3 KiB
Plaintext
129 lines
9.3 KiB
Plaintext
= Changelog
|
|
|
|
|
|
v1.1 (2017.1)::
|
|
|
|
This release brings some major new components and improvements.
|
|
|
|
- A .NET layer that allows the creation of file systems in managed mode. This is contained in the new `winfsp-msil.dll`. The new .NET layer is being tested with the WinFsp test suites and Microsoft's ifstest.
|
|
- FUSE for Cygwin is now included with the installer.
|
|
- FUSE now has a `-ovolname=VOLNAME` parameter that allows setting the volume label. Thanks @samkelly.
|
|
- A number of other FUSE improvements have been made (see issue #85).
|
|
|
|
NOTE: The C++ layer included in the v1.1 beta releases is not part of this release as it is still work in progress. It can be found in `inc/winfsp/winfsp.hpp` in the WinFsp source repository.
|
|
|
|
|
|
v1.1B3 (2017.1 B3)::
|
|
|
|
v1.1B2 (2017.1 B2)::
|
|
|
|
v1.1B1 (2017.1 BETA)::
|
|
|
|
This release brings some major new components and improvements.
|
|
|
|
- A .NET layer that allows the creation of file systems in managed mode. This is contained in the new `winfsp-msil.dll`. The new .NET layer is being tested with the WinFsp test suites and Microsoft's ifstest.
|
|
- A simple C++ layer can be found in `inc/winfsp/winfsp.hpp`.
|
|
- FUSE for Cygwin is now included with the installer.
|
|
- FUSE now has a `-ovolname=VOLNAME` parameter that allows setting the volume label. Thanks @samkelly.
|
|
|
|
|
|
v1.0::
|
|
|
|
This is the WinFsp 2017 release! :tada:
|
|
|
|
- The API is now *FROZEN*. Breaking API changes will receive a major version update (`2.0`). Incremental API changes will receive a minor version update (`1.x`).
|
|
- Adds chocolatey package. Try `choco install winfsp` (note: pending approval from chocolatey.org).
|
|
- FUSE `-d` output now always goes to stderr. There is also a new `-oDebugLog=FILE` switch to specify a debug output file.
|
|
- FUSE now provides a default `statfs` implementation if a file system does not provide one.
|
|
- The WinFsp DLL now exports `fuse_*` symbols in addition to the `fsp_fuse_*` symbols. These symbols are for use with programs that use FFI technology such as jnr-fuse and fusepy *ONLY*. They are not supposed to be used by native C/C++ programs. Such programs are supposed to include the `<fuse.h>` headers.
|
|
|
|
|
|
v1.0RC3::
|
|
|
|
This is the WinFsp 2017 Release Candidate 3, which should be the last Release Candidate according to the current plan. This release fixes a major issue with some file systems and includes a few smaller changes:
|
|
|
|
- Fixes GitHub issue #55. Prior to this fix it was possible for a rogue process (or faulty file system) to crash Windows using WinFsp. For full details read http://www.osronline.com/showthread.cfm?link=282037[this thread].
|
|
- Introduces the `FspFileSystemSetMountPointEx` API, which allows the specification of a security descriptor when mounting over a directory.
|
|
- Introduces the `FspVersion` API, which allows the retrieval of the WinFsp DLL version. Currently this reports `0x00010000` (version `1.0`).
|
|
- Introduces the `FSP_FUSE_CAP_CASE_INSENSITIVE` and `FSP_FUSE_CAP_READDIR_PLUS` WinFsp-FUSE flags. The `FSP_FUSE_CAP_CASE_INSENSITIVE` flag allows a file system to mark itself as case-insensitive. The `FSP_FUSE_CAP_READDIR_PLUS` flag allows a file system to include full `stat` details when responding to the `readdir` operation (thus avoiding extraneous `getattr` calls).
|
|
- When using WinFsp-FUSE over Cygwin, POSIX paths can be used as mountpoints.
|
|
- Fixes GitHub issue #45. Prior to this fix, file systems that do not properly implement `Cleanup` (including FUSE file systems) would at times disallow renaming of directories.
|
|
|
|
|
|
v1.0RC2::
|
|
|
|
This is the WinFsp 2017 Release Candidate 2. Some important changes included below:
|
|
|
|
- WinFsp is now available under the GPLv3 with a special exception for Free/Libre and Open Source Software.
|
|
- The location of the WinFsp launcher registry entries is now `HKEY_LOCAL_MACHINE\Software\WinFsp\Services`. [On Win64 the actual location is `HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\WinFsp\Services`.] This change was necessary to avoid loss of third party file system registry entries during WinFsp uninstallation. [See GitHub issue #31.]
|
|
- Despite stating in the previous release that the API has been finalized the `ReadDirectory` `FSP_FILE_SYSTEM_INTERFACE` operation has been changed. Extensive testing with multiple file systems has shown that `ReadDirectory` was hard to implement correctly. The new definition should make implementation easier for most file systems. [See GitHub issue #34.]
|
|
- Some API's to facilitate `ReadDirectory` implementation have been added. Look for `FspFileSystem*DirectoryBuffer` symbols.
|
|
- The installer now (optionally) installs a sample file system called "passthrough". This is a simple file system that passes all operations to an underlying file system. There is also a tutorial for this file system (in the doc directory).
|
|
- The installer now (optionally) installs a sample file system called "passthrough-fuse". This file system performs the same function as the "passthrough" file system, but uses the FUSE compatibility layer. It builds and runs on both Windows and Cygwin.
|
|
|
|
|
|
v1.0RC1::
|
|
|
|
This is the WinFsp 2017 Release Candidate 1. It has been tested extensively in a variety of scenarios for stability and correct file system semantics. Some of the more important changes:
|
|
|
|
- API has been polished and finalized.
|
|
- Extensively tested against multiple test suites including Microsoft's IfsTest.
|
|
- WinFsp I/O Queues (the fundamental WinFsp IPC mechanism) have been improved to work similar to I/O Completion Ports.
|
|
- Opportunistic locks have been implemented.
|
|
- File system statistics have been implemented.
|
|
- Sharing a (disk) file system over the network is supported.
|
|
- Case insensitive file systems are supported.
|
|
- Directories are supported as mount points.
|
|
- Access checks are performed correctly in the absense of the traverse privilege.
|
|
- Access checks are performed correctly in the presence of the backup and restore privileges.
|
|
|
|
|
|
v0.17::
|
|
|
|
This release brings support for named streams.
|
|
|
|
- Named streams (or alternate data streams) are additional streams of data within a file. When a file gets opened the main (default, unnamed) data stream of a file gets accessed. However NTFS (and now WinFsp) supports multiple data streams per file accessible using the `filename:streamname` syntax.
|
|
- WinFsp handles a lot of the hairy details regarding named streams, including sharing checks, pending delete checks, conflicts between the main and named streams, etc.
|
|
- User mode file systems that wish to support named streams must set the `FSP_FSCTL_VOLUME_PARAMS::NamedStreams` flag and must also be prepared to handle named streams on `Create`, `Cleanup`, etc. They must also implement the new `FSP_FILE_SYSTEM_INTERFACE::GetStreamInfo` operation. For more information on how to correctly handle named streams refer to the MEMFS sample.
|
|
|
|
|
|
v0.16::
|
|
|
|
This release brings support for reparse points and symbolic links as well as other minor changes.
|
|
|
|
- Reparse points are a general mechanism for attaching special behavior to files. Symbolic links in Windows are implemented as reparse points. WinFsp supports any kind of reparse point including symbolic links.
|
|
- The WinFsp FUSE implementation supports symbolic links. It also supports POSIX special files (FIFO, SOCK, CHR, BLK) as NFS reparse points (see https://msdn.microsoft.com/en-us/library/dn617178.aspx).
|
|
- User mode file systems that wish to support reparse points will have to set the `FSP_FSCTL_VOLUME_PARAMS::ReparsePoints` flag and implement the `FSP_FILE_SYSTEM_INTERFACE` methods `ResolveReparsePoints`, `GetReparsePoint`, `SetReparsePoint`, `DeleteReparsePoint`. More information in this blog article: http://www.secfs.net/winfsp/blog/files/reparse-points-symlinks-api-changes.html
|
|
- The installation now includes public symbol files for all WinFsp components shipped.
|
|
|
|
|
|
v0.15::
|
|
|
|
This is a minor release that brings support for Windows 7 and 32-bit OS'es.
|
|
|
|
- Fixes a number of issues for Windows 7. Windows 7 is now officially supported.
|
|
- Fixes a number of issues with the 32-bit FSD and user mode components. 32-bit versions of Windows are now officially supported.
|
|
|
|
|
|
v0.14::
|
|
|
|
This release includes support for file systems protected by credentials.
|
|
|
|
- WinFsp now supports file systems that require username/password to be unlocked (e.g. sshfs/secfs). Such file systems must add a DWORD registry value with name "Credentials" and value 1 under their WinFsp.Launcher service entry. The WinFsp network provider will then prompt for credentials using the `CredUIPromptForWindowsCredentials` API. Credentials can optionally be saved with the Windows Credential Manager.
|
|
- WinFsp-FUSE now uses the S-1-0-65534 <--> 65534 mapping for unmapped SID/UID's. The Anonymous SID mapping from the previous release had security issues.
|
|
|
|
|
|
v0.13::
|
|
|
|
This release includes a Cygwin package, an API change and some other minor changes:
|
|
|
|
- New Cygwin package includes `cygfuse-2.8.dll` and `libfuse-2.8.dll.a` for easy use in the Cygwin environment. This is currently offered as a separate download.
|
|
- Minor but breaking API change: `SetFileSize`/`SetAllocationSize` have been consolidated. Please refer to the documentation for a description of the changes.
|
|
- File system drive symbolic links (`DefineDosDeviceW`) now automatically cleaned up even if user mode file system crashes or is terminated forcefully.
|
|
- WinFsp-FUSE now maps unmapped UID's to the Anonymous SID (S-1-5-7). See: https://cygwin.com/ml/cygwin/2016-06/msg00359.html
|
|
|
|
|
|
v0.12::
|
|
|
|
Prior changes are not recorded in this Changelog.
|