Skip to content

Releases: dokan-dev/dokany

2.0.0.2000

01 Jan 20:51
Compare
Choose a tag to compare

This is a major version.

We have finally moved to version 2!

Introduce Thread & Memory pool to process and pull events by batch.

This is highly based on #307 but without the async logic. The reason is to avoid using the kernel NotificationLoop that was dispatching requests to workers (userland thread) sequentially since wake up workers have a high cost of thread context switch.
The previous logic is nice when you want workers to be async (like #307) but as we have threads (and now even a thread poll) dedicated to pull and process events, there is no issue to make them synchronously wait in kernel for new events and directly take them from the pending request list.

The library will start with a single main thread that pulls events by batch and dispatches them to the thread pool but keeps the last one to be executed (or the only one) to be executed on the same thread. Each thread waken will do the same and pull new events at the same time. If none is returned, the thread goes back to sleep and otherwise does the same as the main thread (dispatch and process...etc).
Only the main thread waits indefinitely for new events while others wait 100ms in the kernel before returning back to userland.Batching events, thread and memory pool offers a great flexibility of resources especially on heavy load. Thousands of lines of code were changed in the library (thanks again to @Corillian contribution of full rewrite) but the public API hasn't changed much.

After running multiple benchmarks against memfs, sequential requests are about +10-35% faster but in the real world with the thread pool the perf are way above. @Corillian full rewrite of FindFiles actually improved an astonishing +100-250%...crazy 😱

Much more was added, please see changelog
See here how to migrate an existing > 1.1.0 filesystem to 2.0.0.

Thanks to all the contributors as always (@ATRiiX) !!! and big thanks again to @Corillian who has waited years to get his work merged!

2.0.0.1000

31 Dec 17:26
Compare
Choose a tag to compare

1.5.1.1000

26 Nov 19:19
47d2b30
Compare
Choose a tag to compare

This is a minor version.

The version focus on Kernel stability and add a new option to the mirror sample.
More details here: changelog

Thanks to all the contributors as always!!!

1.5.0.3000

31 May 13:29
Compare
Choose a tag to compare

This is a minor version.

This version focuses on Kernel changes:

  • Messages between Kernel and Library can now be sent by batch. We are looking for help to implement it in the library..
  • All the kernel logs have been rewritten!!! There is even an option to send them to userland DOKAN_EVENT_DISPATCH_DRIVER_LOGS (needs the batching option to properly work)!
  • IOCTL was changed to FSCTL to reduce conflict with apps and antivirus.

There is much more here: changelog

Important note here: Microsoft has made some changes regarding driver signature for old Windows version (7 & 8.1) see here. This version no longer has the driver signed by Microsoft and us, it only has the Microsoft one as suggested by the article. Please report any issue that you might face. The installer now has the KB4474419 dependency on Windows 7.

Thanks to all the contributors as always!!!

1.5.0.2000

26 May 16:13
Compare
Choose a tag to compare

This version was overtaken by 1.5.0.3000

1.5.0.1000

25 May 14:42
Compare
Choose a tag to compare
v1.5.0.1000

Updated signature script to support new Microsoft requirements

1.4.1.1000

14 Jan 12:51
Compare
Choose a tag to compare

This is a patch version.

It mostly includes fixes (one that reduce antivirus incompatibility) from the community and the addition of two new mount flags: DOKAN_OPTION_CASE_SENSITIVE and DOKAN_OPTION_ENABLE_UNMOUNT_NETWORK_DRIVE.
See the changelog

Thanks to all the contributors as always!!!

1.4.0.1000

01 Jun 18:32
Compare
Choose a tag to compare

This is a minor version.

This version includes a lots of changes without breaking any compatibility with previous version. It mainly includes:

  • A new filesystem sample: MemFS. It is a better example to debug and know the dokan driver/library feature supported and NTFS compliant. The FS pass most of WinFSTest and IFSTest. It looks to be stable enough to be included in the installer. It hasn't been test with real usage but it is expected to run without issue. MemFS is written in c++ and is under MIT license.
  • Possibility to use the Mount Manager with directory mount point.
  • Better IRP Buffer management to fix kernel security fixes reported by Ilja Van Sprundel - Thanks!
  • Replace DOKAN_OPTION_OPTIMIZE_SINGLE_NAME_SEARCH by DOKAN_OPTION_ENABLE_FCB_GARBAGE_COLLECTION. The advantage of the GC approach is that it prevents filter drivers from exponentially slowing down procedures like zip file extraction due to repeatedly rebuilding state that they attach to the FCB header.
  • You can now find two installers with binaries built with and without VC redistributable. If no issue is reported, the next release will only have without the VC redistributable.
  • Lots of refactoring and Kernel fix.

and much more see the changelog

Thanks to all the contributors ! @ravenpride, @hefengliang and all other who have made this version as it is !!!

1.3.1.1000

16 Dec 16:43
e40cdeb
Compare
Choose a tag to compare

This is a patch version.

Mainly this version includes only patches of the 1.3.0.1000.
But the Kernel driver has also been changed to remove all codes for XP / VISTA and is now built to a single binary for all windows versions.
See more here changelog

Thanks to all the contributors ! @Ratio2, @Lukas0610, @wind Li and all other who have made this version as it is !!!

Dokany was started on Dec 7, 2014 and now celebrate his 5th year anniversary 🏆 💘 🎂 🍺
Thanks to all the community behind the project and the help of the one that helped to get the EV certificate needed by the project for the next 3 years !

2.0.0-BETA2

01 Dec 09:47
Compare
Choose a tag to compare
2.0.0-BETA2 Pre-release
Pre-release

It focus on Dokan speed 🚀 . A LOT has been rewritten, especially all the library 😄 and write operations for the kernel <->library communication to speed up the process.
This version is again, a BETA, it needs your support to make it happen (bug report, patch, contribution and ...)
There is still a lot of work to do. The v2 is following kernel and update change from master branch.
The FUSE wrapper is included but has not been tested and there is still warning on the build if some people can help !

This BETA is signed with the new Dokan certificates !
Thanks to the community for providing the resources to acquire them !

See changelog

Real big thanks to @corilian and all other who have made this version as it is !!!