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.
- MAJOR version to binary name
- Resource information to library with full dokan version
- Installer - Move to WiX toolset
- Library - DokanOption to mount the drive on current session only
- FUSE - Export utils fonctions
- FUSE -
daemon_timeout=<milisec>, background and network option parameter as options. - Library - Notify drive arrival/removal
- Driver -
dokan.infto solution -.cabfile is now build and embedded with installer - FUSE Cygwin / Msys2 binaries in installer (optional)
- FUSE Cygwin mirror as example
- Driver - log for unknown
IOCTL_STORAGE_QUERY_PROPERTY - Mirror - Use control handler function to gracefully close on Ctrl+C
- FUSE - handle
SetAllocationSize - Installer - Environement variable to dokan path:
DokanLibrary1/DokanLibrary1_LibraryPath_x64/DokanLibrary1_LibraryPath_x86 - Dokan NP - Totally new Dokan network provider
- Driver - Oplock implementation
- Logo Dokan in VSIX
- Library - Parameters on
DokanGetMountPointListto only retrieve instances with UNC - Mirror -
MirrorDokanGetDiskFreeSpaceas example - Driver - Handle
FileFsLabelInformation(Rename label device name) - Library - Handle
GetFileSecuritycallbacks for directories. - Library - Default
QueryVolumeInformationfile system name - Use WinFSTest as test suits
- Library - Auto add current and parent folder in
FindFilesrequest when missing - Installer -
Install development filesoption at installations time - Installer - NET 4.0 in bundles
- Library -
DokanNtStatusFromWin32helper - Library -
FileDispositionInformationcheck attributeFILE_ATTRIBUTE_READONLY - Driver -
SL_OPEN_TARGET_DIRECTORYis now handle directly by the driver - A website with the documentation.
- Support PagingIO
- Installer - Update redistributable link to VS Update 2
- Installer - Add
dokan.dllto install folder - Installer - Move
dokanfuse.dllto install folder - Installer - Destination folder have now the dokan version in the name
- Sign binary and installer with SHA1 & SHA2
- Library - Call FindFiles if FindFilesWithPattern returns
STATUS_NOT_IMPLEMENTED - Library - Disable network device when mount point folder is specified.
- Dokanctl - Register
dokannp dllfrom Dokan Library install instead of sys32. - FUSE - use
_WIN32in FUSE wrapper instead ofWIN32define - Driver -
WriteFiledirectly returnSTATUS_SUCCESSwhen there is nothing to write - Library - When a delete fail, we now request parent folder if we can delete child
- Library -
DokanRemoveMountPointExhas now a Safe option (force during remove if safe) - Dokanctl - No longer need admin permission for listing mount point, show usage and print version
- Mirror - Update show usage
- Driver - Use LookasideLists for DokanCCB and DokanFCB
- FUSE - Improve and fix debug logs
- Driver - Support hibernation mode
- Driver- BSOD during unmounts -> Restore
DokanStopCheckThread - Mirror - Use
NTFSas default file system name - Driver - Application using
SocketConnectionin dokan device - Library -
QueryServiceStatusreturn value check - FUSE - Fix directory deleting if opendir is not hooked
- Driver - Start failure on Win7 x86
- Mirror - Fix all issues reported by WinFSTest
- Driver - BSOD: network drive fileObject has no Vpb
- Library - Null-terminate string in unmount
- Library - Capitalization of
windows.hinclude &CMakeListsfile name - FUSE - mount that was calling destroy ops
- Driver -
DokanGetFCBwas not case sensitive - FUSE - Force getattr since Windows use readdir information compared to libfuse behavior
- FUSE - Call statfs with the root directory /
- FUSE - Wrong opt default value
- Driver - Save
DOKAN_DELETE_ON_CLOSEin CCB and restore CCB flag during cleanup - Mirror - Replace main return -1 by
EXIT_FAILURE - Mirror - Low and high param inversions for Un/LockFile
- Installer - Correctly check KB3033929 is installed on Win7
- Dokanctl - unused /f option during unmount
- Library -
SetLastError(ERROR_ALREADY_EXISTS);in CreateFile logic by directly returnSTATUS_OBJECT_NAME_COLLISION
0.8.0 - 2015-12-10
- Installer - Embed VC++ redistributable in DokanInstall_X.X.X_redist.exe
- Alternative Streams enumeration support #48
IOCTL_DISK_GET_DRIVE_GEOMETRY_EXandIOCTL_STORAGE_GET_MEDIA_TYPES_EXdisk deviceIOCTLhttps://github.com/dokan-dev/dokany/commit/08b09a3910dbac0e902a81ad9e9ae1a06d4a6d90- The timeout per device has been implemented. The DokanOptions has a new property Timeout (Milliseconds) #55
- Installer - include PDB files
- Coverity
- FUSE - readonly flag dokan-dev#90
- Write protect device option dokan-dev#105
- Mounted DokanOperation is now called when device is mounted
- Library - Logs in DispatchQueryInformation and DokanPrintNTStatus
- Installer - Move dokan include and lib files
- Driver - Central error handling #56
- Library - Return type Dokan API to NTSTATUS #65
- Installer - Move install-pdb to the main installer as an option
- Move to WDK 10 & Visual Studio 2015
- Move to clang-format code style LLVM
CreateFileis moved to CreateFileW dokan-dev#91- Library -
CreateDirectory&OpenDirectoryhave been merged with CreateFileW - FUSE - Use struct stat from cygwin as struct
FUSE_STATfor better compatibility dokan-dev#88 - Dokanctl - Driver path is now resolved from %SystemRoot% dokan-dev#104
- FUSE - Library is now a dynamic library (was static)
- Dokanctl - update showusage
- Library - Unmount has been renamed as Unmounted and are now called when device is unmounted #117
- Mirror - Ensure to have
SE_SECURITY_NAMEprivilege and fixGetFileSecurity - FUSE - get_disk_free_space() return error changed #114
- Library - Use _malloca() for debug strings to avoid buffer overflows dokan-dev#84
- Driver -
CreateFilewith empty FileName - Driver - BSOD in security #55
- Prevent thread termination if not enough resources #55
- Mirror - cannot delete empty directory #54
- Installer - Clean the register after uninstall
- Installer - Remove the driver after reboot
- Installer - Move dokan include and lib files 1f94c875bc90c339b1f7bb2e57dcbac514e0a6bc
- Library -
DokanMainDeadlock with Network device #81 - Library -
DokanUnmountfailing to unmount a drive dokan-dev#79 - Driver - Remove potential memory leak in
DokanCreateDiskDeviceon allocation failure dokan-dev#108 - Miror - Wrong success when
CreateFilewas called to open directory for delete - Library -
CreateFilenow correctly set last-error code toERROR_ALREADY_EXISTSwhen open success withCREATE_ALWAYSandOPEN_ALWAYS(see mirror)
- Library - Keep Alive option - Enabled as default
- Driver - Deadcode in
IRP_MJ_SHUTDOWN
0.7.4 - 2015-08-21
- Fuse include to installer #37
- Doc updated #41 & Fix grammar #38
- #26
- MoveFileEx #39
0.7.2 - 2015-05-12
- AppVeyor CI build
- Code style standardization
DokanUnmountdriver letter name (#14)- Bad Pool BSOD on DokanGetFCB function (#11 / https://code.google.com/p/dokan/issues/detail?id=229)
- DbgPrint message on
CreateDispositionfunction (#13)
0.7.1 - 2015-02-04
- Dokan.lib exported functions name
- Missing
KeEnterCriticalRegionfunction call in sys/fileinfo.c
- Japan readme
0.7.0 - 2015-01-30
- Extended drive letters usage range from D - Z to B - Z (BenjaminKim/dokanx#13)
- Moved to WDK8.1 with Visual Studio 2013 support
- Improved DotNet wrapper with nullable datetime
- Fixed dokan_mirror offset processing on large files (BenjaminKim/dokanx#18)
- Build warnings
- Dokan installer
- PAGED_CODE declarations
0.6.0 - 2014-12-10
Latest Dokan version from Hiroki Asakawa. http://dokan-dev.net/en