EldoS Solid File System Driver Edition SDK - Version 1.5.55 - Released October 31, 2008 What's new: [ Legend: ] [ ! Important change ] [ + Added feature ] [ * Improved/changed feature ] [ - Bug fixed ] ^^^^^^^^^^^^^^^^^^^ ^^^ Version 1.5 ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ --- October 31, 2008 v.1.5.55 Maintenance update * Now if the request is made to mount the disk to the drive letter which is already taken - Call to Compact didn't work without a prior request for a number of free pages --- September 19, 2008 v.1.5.54 Internal build --- September 4, 2008 v.1.5.53 Maintenance update * Added a workaround for the problem with Path Too Long error (or similar error) in C++Builder. --- September 2, 2008 v.1.5.52 Maintenance update - Fixed the error with File Not Found error when listing - Fixed the error that happened during Compact operation and could cause StorageCorrupted error. --- August 22, 2008 v.1.5.51 Maintenance update - Fixed the issue with opening a password-protected storage in read-only mode - Fixed "Parameter is incorrect" error when compiling the Lib file with C++Builder --- June 24, 2008 v.1.5.50 Maintenance update * If the user didn't reboot the system after UninstallDriver returned RebootNeeded parameter set to TRUE, and installed the new driver immediately, the driver stopped working. The workaround for the issue have been added. --- June 10, 2008 v.1.5.49 Maintenance update * During compact operation the storage is flushed after every page operation. This slows down theoperation significantly, however, if the computer or the application crashes during Compact operation, the storage doesn't become corrupted. - Fixed the possible BSOD that happened when the OS accessed secondary streams in the storage. --- May 12, 2008 v.1.5.48 Minor update - [.NET] Root data could not be written to. Fixed. - Fixed the problem with renaming the file into the file, which existed at the moment of renaming --- April 30, 2008 v.1.5.47 Internal build --- April 23, 2008 v.1.5.46 Internal build --- April 18, 2008 v.1.5.45 Internal build --- April 16, 2008 v.1.5.44 Maintenance update * Internal memory consumption on a large number of files significantly reduced. - When custom encryption was used, it was not possible to change the password. Fixed. --- April 8, 2008 v.1.5.43 Maintenance update --- April 1, 2008 v.1.5.39 Minor update - Fixed a problem with Excel 2007 writing the data to SolFS storage - Fixed the bug with 0-byte-long file appearing when the file is copied from one SolFS storage to another --- March 27, 2008 v.1.5.38 Minor update - If file write failed with "Storage Full" error, the file got truncated to 0 bytes. Fixed. - Renaming of file by changing only case of the letters in Explorer (without changing the actual name) could cause problems (crash, locking). Fixed. --- March 25, 2008 v.1.5.37 Minor update - Fixed the bug in SetEndOfFile() implementation which could cause storage corruption and data loss in some cases. - [.NET] DiskSize property setter was missing. Fixed. - [.NET] Fixed installation of the assembly on systems with .NET 3.5 only (no .NET 2.0 SDK installed) --- February 26, 2008 v.1.5.30 Maintenance update - Fixed BSOD in some rare cases which happened during Compact operation (both autocompact and explicit Compact invocation). --- February 19, 2008 v.1.5.29 Maintenance update * Added a workaround for Windows Explorer "feature" which crashes if the driver supports more than MAX_PATH symbols in file name --- February 18, 2008 v.1.5.28 Maintenance update - Fixed a couple of possible deadlocks --- January 11, 2008 v.1.5.27 Maintenance update * Added a workaround for a very specific problem with Unison software which expected a specific error code returned upon a specific incorrectly formatted request. --- January 9, 2008 v.1.5.26 Major update + Added the installer DLL which you can use in your installations to install and uninstall the drivers. - Fixed the incompatibility problem with Acrobat Professional, which attempted to open the file named "????????.???" and expected certain error code. --- December 29, 2007 v.1.5.25 Release Candidate 2 ! New license keys are required to use this build --- December 5, 2007 v.1.5.24 Internal build --- December 3, 2007 v.1.5.23 Internal build --- November 19, 2007 v.1.5.22 Internal build - GetDriverStatus didn't work in some cases. Fixed. --- November 15, 2007 v.1.5.21 Internal build - Fixed some BSOD bugs --- November 12, 2007 v.1.5.20 Release Candidate 1 - Fixed the bug with memory corruption in the memory manager. The bug could lead to various unpredictable BSOD --- October 19, 2007 v.1.5.19 Beta version - Fixed various bugs --- October 18, 2007 v.1.5.18 Beta version + Added a memory manager which should increase speed dramatically - Fixed a crash when the underlying storage (which can be located on a flash drive) is removed from the system forcefully - Fixed journalling on almost full storages - Fixed some crashes, which could happen when the encrypted storage was not yet unlocked and some operation on such storage was invoked - Fixed the bug that happened when the storage was both read-only and with journalling enabled --- September 10, 2007 v.1.5.17 Beta version - Fixed a recently (build 15) introduced bug with handling directory enumeration requests --- September 7, 2007 v.1.5.16 Beta version + Now the storages (both fixed-sized and resizeable) can be resized "by hand" by adjusting DiskSize property - Fixed some problems with named file streams - Fixed the problem of sharing the root directory --- August 8, 2007 v.1.5.15 Beta version * Improved compatibility with SMB (shared drives) when the virtual disk was shared - [VCL] Fixed the problem with GetDriversStatus function --- July 27, 2007 v.1.5.14 Beta version - Fixed the issue with Windows 2000 shutdown when SolFS driver is installed - Fixed the issue with BSOD when sharing a virtual disk --- July 20, 2007 v.1.5.13 Beta version ! InstallDrivers and UninstallDrivers functions have been changed to include GUID parameter + Journalling is now enabled + GetDriverStatus function has been added ^^^^^^^^^^^^^^^^^^^ ^^^ Version 1.0 ^^^ ^^^ ^^^ ^^^^^^^^^^^^^^^^^^^ --- May 16, 2007 v.1.0.12 Maintenance update - Fixed the problem with character case - Improved error handling in certain functions --- April 17, 2007 v.1.0.11 Minor update. + Added DestroyOnProcessTerminated property and Reopen method - Fixed the problems with the storages located on CD-ROM - Fixed several bugs with callbacks - Fixed the issue with setting a read-only attribute to the file and opening the file for writing after that --- March 23, 2007 v.1.0.10 Maintenance update. - Fixed the problems which happened after closing a storage, which worked in callback mode --- March 17, 2007 v.1.0.9 Maintenance update. - [VCL] Mounting of the disk failed when using the pre-compiled DCUs. --- March 15, 2007 v.1.0.8 Minor update. Based on SolFS Engine ver.3.0.74 - The bug in callback library could lead to handle leaks. Fixed. - Problems with closing the storage if it had open handles have been fixed. - GetMountingPoint was not always working correctly. Fixed. --- March 9, 2007 v.1.0.7 Minor update. Based on SolFS Engine ver.3.0.73 - More than one storage at a time could not be opened. Fixed --- March 8, 2007 v.1.0.6 Minor update. Based on SolFS Engine ver.3.0.73 * Various minor improvements - Fixed Vista multithreading issue --- February 9, 2007 v.1.0.5 Minor update. Based on SolFS Engine ver.3.0.71 - Fixed installation on Vista - Fixed IsCorrupted function. --- January 31, 2007 v.1.0.4 Minor update. Based on SolFS Engine ver.3.0.69 - the function "GetCorrupted" always causes the EOSError exception "System Error. Code 120. This function is not supported on this system". Fixed. - when you try to open a video file that is in the storage with anything besides "Windows Media Player" the system will reboot itself. Fixed. --- January 26, 2007 v.1.0.3 Minor update. Based on SolFS Engine ver.3.0.68 * More understandable behaviour with compressed files * Now the driver takes MaxPageCount property into account when returning the free size on the volume - [VCL] Storage could be only opened once. Fixed. --- January 19, 2007 v.1.0.2 Minor update. Based on SolFS Engine ver.3.0.67 * Now the storage file can be located on a network drive - Fixed the issue with Compact function --- December 26, 2006 v.1.0.1 Minor update - Fixed the issue with OpenRootData --- December 12, 2006 v.1.0.0 RELEASE! --- December 6, 2006 v.0.4.33 Pre-release. Based on SolFS Engine ver.3.0.63 + Added release version of the drivers - Fixed various driver problems --- November 24, 2006 v.0.4.32 Pre-release. Based on SolFS Engine ver.3.0.63 - Fixed various driver problems --- November 17, 2006 v.0.4.31 Pre-release. Based on SolFS Engine ver.3.0.62 + Added samples for C++ and .NET * Improved documentation - Fixed various driver problems --- November 14, 2006 v.0.3.30 Pre-release. Based on SolFS Engine ver.3.0.62 + Added RLE compression - Fixed various problems --- October 30, 2006 v.0.3.28 Private build. --- October 27, 2006 v.0.3.27 Private build. --- October 21, 2006 v.0.3.26 Pre-release. Based on SolFS Engine ver.3.0.61 - Fixed an AV in StorageToFiles function --- October 19, 2006 v.0.3.25 Pre-release. Based on SolFS Engine ver.3.0.61 - Fixed a BSOD on disk unmount --- October 17, 2006 v.0.3.24 Pre-release. Based on SolFS Engine ver.3.0.61 - Fixed various issues --- October 14, 2006 v.0.3.23 Pre-release. Based on SolFS Engine ver.3.0.61 * Internal asserts now lead to BSOD instead of putting a debug trace. This makes error discovery and debugging easier - Compression didn't work as it should. Fixed. - The system hung when accessing the encrypted storage without the password. Fixed. --- October 8, 2006 v.0.2.22 Pre-release. Based on SolFS Engine ver.3.0.60 * If access control is off, GetAccessGrantedProcessCount returns 0 now. - Fixed the bug with creating a compressed file in a compressed folder. - Writing the data using WriteFile WinAPI method caused the file size to be set to multiple of 4096 bytes. Fixed. --- September 29, 2006 v.0.1.21 Pre-release. Based on SolFS Engine ver.3.0.60 + Added ForceUnmount() method, which unmounts the storage file. - Fixed the problem with driver installation --- September 23, 2006 v.0.1.20 Pre-release. Based on SolFS Engine ver.3.0.59 - Fixed various issues. --- September 19, 2006 v.0.1.19 Pre-release. Based on SolFS Engine ver.3.0.57 - Open method didn't work for encrypted storage. Fixed. - Logo could not be set for existing storage. Fixed. - The recycle bin didn't work with the SolFS storages. Fixed. --- September 13, 2006 v.0.1.18 Pre-release. Based on SolFS Engine ver.3.0.57 --- September 4, 2006 v.0.1.17 Pre-release. Based on SolFS Engine ver.3.0.57 --- August 22, 2006 v.0.1.15 Release Candidate 2. Based on SolFS Engine ver.3.0.57 - Fixed various minor issues --- August 5, 2006 v.0.0.14 Release Candidate + Added samples + Added .NET interface - Fixed various minor issues ! Current version doesn't include documentation for callback interface. --- July 5, 2006 v.0.0.13 Minor update - Fixed various problems --- June 27, 2006 v.0.0.12 Minor update. Based on SolFS Engine ver.3.0.54 - Fixed error 87 which appeared in a call to Create method - Finally fixed trial keys ;) --- June 26, 2006 v.0.0.11 Minor update. Based on SolFS Engine ver.3.0.54 * Completed callback mechanism - Fixed errors, related to use of trial keys --- June 22, 2006 v.0.0.10 Minor update. Based on SolFS Engine ver.3.0.54 - Fixed External Exception error --- June 20, 2006 v.0.0.9 Minor update. Based on SolFS Engine ver.3.0.54 * Completed process restriction support * Added CheckAndRepair - [VCL] BPL files for Delphi 2005 and BDS 2006 were missing. Fixed. Missing/incomplete features (not working, not implemented etc.): ! Encyrption/compression callbacks (not implemented yet) ! .NET interface (not implemented yet) --- June 3, 2006 v.0.0.8 First public beta. Based on SolFS Engine ver.3.0.53 Missing/incomplete features (not working, not implemented etc.): ! Encyrption/compression callbacks (not implemented yet) ! .NET interface (not implemented yet) ! Journalling (not tested, so disabled) ! CheckAndRepair (not tested, so disabled) ! Process Restrictions don't work in all cases yet (functionality not yet complete) ===================== SolFS Engine history: ===================== --- April 17, 2007 v.3.1.0.76 Maintenance update - Fixed the issue with password length in ecAES256_SHA256 encryption mode - Fixed the issue with root data which occupies more than 16 pages in encrypted storage --- March 20, 2007 v.3.1.0.75 Maintenance update - Fixed storage corruption problem, which could happen, when multiple files having additional streams were deleted. --- March 7, 2007 v.3.1.0.73 Minor update * [.NET] Garbage collection issues have been solved * [.NET] Thread synchronization has been reworked --- February 20, 2007 v.3.1.0.72 Minor update * ZLib has been updated to version 1.2.3 * [LIB] SolFS Engine functions are no longer marked as exported. The fix in build 68 mysteriously disappeared, so new fix was required. --- February 9, 2007 v.3.1.0.71 Maintenance update - Fixed handling of a rare situation where the object information was not internally synchronized. --- January 31, 2007 v.3.1.0.69 Bugfix - Some deadlocks happened, when journalling was enabled. Fixed. - When the storage with journalling was opened, Storage Corrupted error could be reported. Fixed. --- January 26, 2007 v.3.1.0.68 Bugfix - [.NET] .NET 2.0 assemblies were not installed to GAC. Fixed. * [LIB] SolFS Engine functions are no longer marked as exported --- January 19, 2007 v.3.1.0.67 Minor update * [.NET] Added MaxPageCount property. - Fixed an ocassional bug with compressed files with additional tags. - Fixed a bug in the Linux version of StoreCreateCriticalSection(PHandleCriticalSection). Without this fix, mutexes under Linux fail randomly. Thanks to Kevin Sorensen. - [VCL] Fixed work of IsCorrupted function --- January 10, 2007 v.3.1.0.66 Minor update - Fixed the memory corruption issue, introduced in recent builds. The issue happened when performing Compact operation on the storage with journalling enabled. --- December 25, 2006 v.3.1.0.65 Minor update - [.NET] Fixed SolFSStream.Read() method, broken in build 64 --- December 12, 2006 v.3.1.0.64 Minor update + Added ActiveX control - Fixed a problem when closing the storage in read-only mode --- November 24, 2006 v.3.0.0.63 Minor update * Various improvements for better compatibility with Driver Edition --- November 17, 2006 v.3.0.0.62 Minor update + Added RLE compression support - Fixed naming issues between .NET assembly and C++.NET --- November 17, 2006 v.3.0.0.61 + Added RLE compression support - Fixed naming issues between .NET assembly and C++.NET --- October 14, 2006 v.3.0.0.61 Minor update - Fixed the AV, which could happen when accessing the invalid data in compressed file. --- September 29, 2006 v.3.0.0.60 Minor update - Fixed the AV which could happen when the file was deleted from the damaged storage - Fixed the issue in CheckAndRepair function, when index pages were processed --- September 23, 2006 v.3.0.0.59 Minor update - [.NET] StorageSearch was made a __gc type (previously was a __value type, making it impossible to create a references to StorageSearch objects). - Fixed the nag screen problem --- August 25, 2006 v.3.0.0.58 Minor update - [.NET] some recent changes were not included into regular assembly. Fixed. --- August 18, 2006 v.3.0.0.57 Minor update - Fixed various minor issues --- July 19, 2006 v.3.0.0.56 Bugfix [.NET] license code verification for .NET didn't work. Fixed. --- July 5, 2006 v.3.0.0.55 Minor update - Fixed a problem with SetSize equal to PageSize - 32 and writing less one byte. Extremely rare error. --- June 20, 2006 v.3.0.0.54 Minor update - DeleteFile could give an error when the file had multiple streams. Fixed. --- May 31, 2006 v.3.0.0.53 Official Release --- May 17, 2006 v.3.0.0.52 Release Candidate * significantly improved speed of file deletion * improved error handling when working with corrupted storages --- April 30, 2006 v.3.0.0.51 Beta version + Added support for Windows/x64 (AMD-based 64-bit versions of Windows XP and Windows 2003) for .NET 2.0 and Visual C++ 8 (VS 2005) ! Now .NET version is shipped with 2 assemblies - one with SolFS engine included and one with SolFS engine linked from SolFS.dll ! Changed FormatFixedSize declaration in .NET --- April 26, 2006 v.3.0.0.50 Beta version + Added GetStorage*Time functions to retrieve last activity time - Fixed various minor bugs --- April 14, 2006 v.3.0.0.49 Beta version ! File table was added to improve speed of certain operation. --- April 5, 2006 v.3.0.0.48 Beta version - Some bugs fixed --- March 9, 2006 v.3.0.0.47 Beta version - Some bugs fixed --- March 9, 2006 v.3.0.0.46 Beta version - Some bugs fixed * Improved speed of CheckAndRepair function --- Feb 12, 2006 v.3.0.0.45 Beta version - Linux compatibility fixed --- Feb 6, 2006 v.3.0.0.44 Beta version ! Redesigned journal file. Now it is stored inside the main storage. * Page indexing improved. * CheckAndRepair() now checks for invalid file names. - Fixed various bugs when working with fixed-sized storage. =============================================================================================================== --- Dec 24, 2005 v.2.2.43 Minor update + (.NET) added SetEncryption and SetPassword methods to provide whole-storage encryption. --- Dec 5, 2005 v.2.2.42 Minor update + Added Delphi 2006 support --- Nov 29, 2005 v.2.2.41 Minor update * Improved speed of reading of the storage with transactions enabled --- Nov 25, 2005 v.2.2.40 Minor update ! Certain problems found with fixed-sized storages with journalling enabled. This will be fixed in next builds. - Fixed a bug in GetFileTag if the tag is not present. - Fixed a bug with fixed-sized storages. - Fixed a problem with SolFSAPP sample application. --- Oct 21, 2005 v.2.2.39 Minor update + Added GetFileTagInfo function - Fixed a bug with repairing the fixed-sized storage from journal --- Sep 14, 2005 v.2.2.38 Minor update - Small bugs fixed --- Sep 6, 2005 v.2.2.37 Minor update + Improved handling of symbolic links - now symbolic links can also refer directories --- Aug 12, 2005 v.2.2.36 Minor update - Fixed an issue with encryption in source-code version --- July 30, 2005 v.2.2.35 Minor update - Fixed an issue with storage encryption after Format operation --- July 21, 2005 v.2.2.34 Minor update - Fixed minor problem with Flush operation - Fixed the problem with Abstract Class Declaration in VCL wrapper (introduced in the last update) --- Jun 25, 2005 v.2.2.33 Minor update - Fixed various minor problems in Delphi and .NET wrappers --- Apr 18, 2005 v.2.2.32 Minor update - Fixed various minor problems --- Mar 3, 2005 v.2.2.31 Minor update - Fixed a problem with CheckAndRepair, corrupting the metadata for compressed files. - Fixed a problem with AV when calling FlushFile. --- Mar 3, 2005 v.2.2.30 Minor update - Various bugs fixed. --- Feb 15, 2005 v.2.2.29 Minor update - Case-insensitive search by mask with FindFirst/FindNext didn't work. Fixed. - CheckAndRepair method didn't handle the problem of invalid page size marker. Fixed. --- Jan 29, 2005 v.2.2.28 Minor update + Now SetRegistrationKey method returns error if the key is invalid - Fixed a design-time bug of Delphi package (AV every 10 seconds) --- Jan 15, 2005 v.2.2.27 Minor update + Added case insensitivity support - Fixed a bug with moving of file to other folder without changing it's name - Fixed a bug with searching for a file in a folder with many files inside --- Dec 8, 2004 v.2.2.26 Minor update - Fixed a bug with filenames longer than 22 chars * Now file name may contain semicolon (;) --- Nov 30, 2004 v.2.2.25 Minor update - Fixed a problem with Get*Time methods --- Nov 23, 2004 v.2.2.24 Minor update - Fixed notification mechanism and some small bugs --- Nov 17, 2004 v.2.2.23 Minor update ! Improved memory management - Fixed re-encryption problems --- Oct 15, 2004 v.2.2.22 Major update ! Added support for files and streams of over 2Gb (in fact, now size is limited by˙2147483647 * PageSize bytes) ! Added callbacks/events for custom compression functionality - Fixed an issue with determining free space in storage --- Sep 21, 2004 v.2.1.21 Major update ! Added support for date/time conversion to/from local time. Now all date/time operations return and accept local time which is automatically converted from/to UTC. SolFS Engine (DLL/Lib) operates with UTC time. + Added support for file tags (SetTag/GetTag/DeleteTag functions). + (VCL) Added Asynchronous Pluggable Protocol classes - Fixed an issue with OpenRootData called after setting storage password - (VCL) Fixed minor issue with one of Create() constructors which has flags as parameter --- Aug 19, 2004 v.2.0.20 Minor update - Fixed problem with Open method in .NET and C++ classes - Fixed problem with performing operations on read-only storage - Fixed problem with fmOpenRead flag in TSolFSStream.Create - Fixed problem with fixed-size storage, where amount of free space was reported as 0 --- July 25, 2004 v.2.0.19 Minor update - Fixed minor problem with SetFileEncryption - Fixed possible problem with compiled version of SolFS Explorer --- July 24, 2004 v.2.0.18 Official Release + Added SolFS Manager (console) and SolFS Explorer (GUI) applications for storage management - Fixed certain C++ wrapper class errors --- July 16, 2004 v.2.0.17 Release Candidate + Added C++ wrapper class for easier use of SolFS + Added sample for .NET - Fixed various problems in .NET wrapper - Fixed problems with file names with length of 22 bytes. --- July 8, 2004 Beta version v.2.0.16 + Added storage encryption (the one that encrypts the whole storage instead of individual files) + Added unnamed root data repository. This repository is accessible via OpenRootData() method and is not encrypted. - Fixed a problem in FormatFixedSize method. - Fixed problems that happened when fixed-sized storage was full. - CheckFilePassword crashed on non-encrypted files. Fixed. - SolFS could create files with relative names, and those files could not be read after creation. Fixed. --- June 30, 2004 Beta version v.2.0.15 - VCL units didn't accept registration key. Fixed. --- June 28, 2004 Beta version v.2.0.14 - VCL units didn't include static version of the code (i.e. DLL was required). Fixed. --- June 15, 2004 Beta version v.2.0.13 + Added compression support + Added some caching of pages + Added support for custom tags for files + Added IsSolFSStorage, CheckAndRepair methods + Now SolFSStorage is a component that can be placed to the form in design-time ! The library has been rewritten in ANSI C * Now the library can be statically linked to Delphi * Improved speed --- Mar 21, 2004 v.1.6.12 - Final edition of the hotfix ;) --- Mar 15, 2004 v.1.6.11 - Hot-fix for 1.6.10 --- Mar 12, 2004 v.1.6.10 - Fixed possible problem with encrypted streams. --- Jan 22, 2004 v.1.6.9 - Fixed a bug with Sharing Violation error happening in journalling mode. - Fixed a bug with MoveFile method when moving non-existing file --- Jan 21, 2004 v.1.6.8 - Fixed a bug in SetRegistrationKey that caused Stack Overflow. --- Jan 18, 2004 v.1.6.7 + Added support for symbolic links * Added custom encryption callbacks (undocumented yet) - Fixed problems with encryption. - DeleteFileW function used in the library prevented it from loading on Win9x. Fixed. --- Jan 2, 2004 v.1.5.6 + Added StorageOpenReadOnly function to force opening the storage in read-only mode + Added callback support ! Changed registration scheme. Now the same DLL is used for evaluation and registered versions - Fixed problems with Compact function when files with names longer than 22 characters were used --- Dec 23, 2003 v.1.3.5 - Fixed an issue with files larger than one page and exactly equal to page size * X - Fixed an issue with re-opening the file, which was not gracefully closed when used not in journalling mode. --- Dec 5, 2003 v.1.3.4 + Added MoveFile method to SolFSStorage - Fixed FindFirst/FindNext/FindClose .NET edition ! Now it is not necessary to call FindClose unless last call to FindFirstFindNext returned true * Improved documentation a bit --- Oct 9, 2003 v.1.2.3 + Added Flush method to SolFSStream + Added Close method to SolFSStream class in .NET edition - Fixed broken documentation - Fixed .NET problems with abstract SolFSStream class --- Sep 15, 2003 v.1.1.2 .NET and DLL/Library versions released ! Encryption format changed. If you use encrypted files, you will need to decrypt them using version 1.0 of SolFS and then encrypt using version 1.1. The change has been done to conform to AES standard. --- Aug 15, 2003 v.1.0.1 First public release