All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Library - New API
WaitForFileSystemClosedAsync
that wait async for the FileSystem to unmount. It requires Dokany 2.1.0
2.0.5.2 - 2023-09-28
- Library - Add
GenerateDocumentationFile
to project file to make it generate documentation XML file in the Nuget package.
- Library - Crash in
ReadFileProxy
when debug logging is enabled. - Mirror - Fixes a bug where certain pieces of software (Libre office/Free office) try to open a filestream with
FileMode.CreateNew
andFileShare.Read
which throws an IO exception.
2.0.5.1 - 2022-07-04
- Library - It is now again possible to return
NotImplemented
forFindFilesWithPattern
to forceFindFiles
usage instead. See here
2.0.4.1 - 2022-04-30
- Moved .net46 to .net 462 and added .net6.0-window in the TFM.
- Use fluent API to configure how dokan should behave and avoid blocking apis.
- Deduplicate code of
Mount
andCreateFileSystem
.
- Support pagingIo in mirror.net
- Unsafe mirror yields wrong file content using .net6
2.0.1.1 - 2022-02-20
- Library - Avoid GC of delegates in optimized builds
- RegistryFS - Skip empty name keys
2.0.1.0 - 2022-01-01
- Support dokany 2.1.0 and the new async mount API.
1.5.0.0 - 2021-05-30
- Add
ILogger.DebugEnabled
to reduce memory allocation produce by logs likeBufferPool
.
1.4.0.0 - 2020-06-02
- Replace
DokanOptions
of dokany 1.4.0OptimizeSingleNameSearch
toEnableFCBGC
. - Support for .NET Standard 2.0
1.3.0.0 - 2019-10-09
- Support dokany 1.3.0
DokanNotify
feature inDokan.Notify
class. - New
DokanOptions
of dokany 1.3.0DisableOplocks
andOptimizeSingleNameSearch
.
- Improve Buffer Handling to Reduce GC Pressure.
- Improve
ConsoleLogger
speed. DokanFileInfo
inherit fromIDokanFileInfo
IDokanFileInfo
is now the final parameter forIDokanOperations
for allowing self-forge ofDokanFileInfo
for testing purpose.
- Avoid
ConsoleLogger
to switch color and never go back to the original due to multi threading.
1.1.2.1 - 2018-12-20
- Improve Buffer Handling to Reduce GC Pressure.
1.1.2.0 - 2018-08-10
- Included a strongly typed error code in
DokanException
to better communicate the reason why mounting failed. NotADirectory
enum value toDokanResult
.
- Status error message is now dispatched by
DokanException
itself instead ofDokan
class. - Replaced usages of
NtStatus
withDokanResult
in DokanNetMirror.
- Leak of the token handle in
GetRequestor()
DokanFileInfo.Context
leaks GCHandle if not setnull
DokanMain
throw wrongly when success
1.1.1.1 - 2018-04-25
- Enum value
FileAccess.None
. - Handle unknown errors from Dokan.
- Make
MaximumComponentLength
param available forGetVolumeInformation
.
1.1.1.0 - 2017-12-01
- Support for .NET Standard 1.3
- Migrate to Visual Studio 2017
- Update the NuGet icon to the new icon
- Library - Adapt to API changes for dokany 1.1.0
- Library -Proper use of timeout when mounting (See #144)
- Mirror - Implementation of SetTime to work on open files
- Mirror - Only SetAttributes when attributes not 0
- Test - Appveyor is now Green !
1.1.0.3 - 2017-03-29
DokanHelper.DokanIsNameInExpression
to helpIDokanOperations.FindFilesWithPatter
filter the list of possible files.
1.1.0.1 - 2016-11-01
- Update documentation for Delete functions according to Dokany changes.
SetFileTimeProxy
could throw without return a proper error.
1.1.0.0 - 2016-09-21
- This CHANGELOG.md.
- Support for .NET Framework 4.6
- XML comments in code.
- A website with the documentation.
- Possibility to redirect log output using the new interface
ILogger
. - Localized error messages for German, French and Swedish.
- Support to specify UNC name used for network volume using Dokan.Mount.
- Support to specify allocation Unit Size of the volume Dokan.Mount.
- Support to specify sector Size of the volume Dokan.Mount.
- Support for
IDokanOperations.FindFilesWithPattern
. - Enum
DokanOptions
get following new values:WriteProtection
,MountManager
,CurrentSession
andUserModeLock
. - Enum
NtStatus
get following new value:NotADirectory
. - Enum
FileAccess
get following new values:DeleteChild
,AccessSystemSecurity
,MaximumAllowed
andGenericAll
.
DokanResult.AlreadyExists
should be returned instead of usingSetLastError(ERROR_ALREADY_EXISTS)
inCreateFile
.- Updated
FileInformation
to support for unknown creation, access and modification time by usingnull
.
- Enum value
FileAccess.Reserved
. UseFileAccess.AccessSystemSecurity
instead.
1.0.8 - 2015-12-09
- Support for timeout using
Dokan.Mount
. IDokanOperations.FindStreams
.IDokanOperations.Mounted
.DokanResult
that replaces enumDokanError
.- Enum value
FileAccess.Reserved
. - Support for
DokanMapKernelToUserCreateFileFlags
. - Enum
NtStatus
.
- Renamed
IDokanOperations.Unmount
toUnmounted
. IDokanOperations.CreateFile
get responsible for directories to.
- Removed enum
DokanError
that are replaced with classDokanResult
. - Removed
IDokanOperations.CreateDirectory
that are replaced withIDokanOperations.CreateFile
. - Removed
IDokanOperations.OpenDirectory
that are replaced withIDokanOperations.CreateFile
.
1.0.6 - 2011-01-12
Latest Dokan version from Hiroki Asakawa. See the release note and source code.
DokanOptions.Version
,DokanOptions.RemovableDrive
andDokanOptions.MountPoint
DokanRemoveMountPoint