Skip to content

Releases: ITHit/UserFileSystemSamples

v7.0.22362.0-Beta

08 Jun 22:06
Compare
Choose a tag to compare
  • On Windows platform long file names or long remote storage item ID could cause the ERROR_CLOUD_FILE_METADATA_CORRUPT "The cloud file metadata is corrupt and unreadable." error in some scenarios. This bug is now fixed.
  • On Windows platform the Engine passes null to GetFileSystemItemAsync() for rootRemoteStorageItemId parameter instead of actual remote storage ID. This bug is now fixed.
  • Engine.Path was readonly. Now this property is read-write.

v7.0.22286.0-Beta

05 Jun 15:59
Compare
Choose a tag to compare
  • Long file name name and long remote storage ID combination may cause the ERROR_CLOUD_FILE_METADATA_CORRUPT "The cloud file metadata is corrupt and unreadable." error. This bus is now fixed.
  • Default constructor for EngineWindows class is provided.

v7.0.22272.0-Beta

01 Jun 16:58
Compare
Choose a tag to compare
  • In WebDAV Drive sample on Windows every notification from remote storage generated GetChangesAsync() call. Now the request to the remote storage is sent only if the item exists in the user file system.
  • In WebDAV Drive sample on Windows, if item was deleted when saving properties in ProcessChangesAsync() exception was thrown. Now if item is not found the properties save call is ignored.
  • savePropertiesAction parameter in ProcessChangesAsync() is now optional.
  • Remote storage ID was not passed during initial call to IEngine.GetFileSystemItemAsync(). Virtual File System sample throw ArgumentNullException "Value can not be null". Now Remote storage ID is properly passed to IEngine.GetFileSystemItemAsync().
  • Sync-token initial call was done after connecting transfer callbacks. This could cause listing folder content to be done before initialization of sync-token. Now sync-token is initiated before connecting callbacks.
  • Developer certificate supplied with Windows samples updated .

v7.0.22158.0-Beta

25 May 15:20
Compare
Choose a tag to compare
  • On Windows platform sync-token is now initialized on Engine start if the root folder implements ISynchronizationCollection interface. The Engine calls GetChangesAsync() on first start.
  • On Windows platform items were set into conflict state during initial synchronization on WebDAV Drive sample start. Item creation during incoming sync may interfere with same item creation by other threads, such as folder listing. Now if item already exists, the item is not set into a conflict state. The conflict state is determined using eTag during outgoing synchronization.
  • On Windows platform IServerCollectionNotifications.ProcessChangesAsync() and IServerNotifications.DeleteAsync() methods deleted not in-sync items (new, moved and updated items). Now if such items are set to conflict state in case of the ProcessChangesAsync() call.
  • On Windows platform if item is blocked during deletion by a concurrent thread, the incoming sync did not display conflict icon. Now this bug is fixed.
  • On Windows platform, in case item already exists, the incoming sync did not display conflict icon. Now this bug is fixed.
  • On Windows platform setting conflict state during move may cause exceptions in IServerCollectionNotifications.ProcessChangesAsync() call if source did not exit. Now this bug is fixed.
  • EngineWindows.UninstallCleanupAsync() method is replaced with a path to data storage to be deleted on uninstall, The data storage path is provided in EngineWindows.DataPath property.
  • Remote storage monitor in WebDAV Drive sample on Windows did not dispose WebSockets if server is disconnected. Now WebSockets are properly disposedovided sync toke.
  • CancellationToken parameter now added to IServerCollectionNotifications.ProcessChangesAsync() and ISynchronizationCollection.GetChangesAsync() methods.
  • Logging refactored. IEngine interface does not inherit ILogger any more. ILogger is now available via IEngine.Logger property.

v7.0.22106.0-Beta

18 May 20:41
Compare
Choose a tag to compare
  • High-performance synchronization based on sync-token algorithm is now implemented in WebDAV Drive sample. Full synchronization (IncomngFullSync class) removed removed from WebDAV Drive sample.
  • Class reference provided for ITHit.FileSystem.Mac namespace.

v7.0.22091.0-Beta

16 May 19:18
Compare
Choose a tag to compare
  • The Engine for macOS (ITHit.FileSystem.Mac) now supports .NET 7.
  • Samples for macOS now run on .NET 7.
  • Engine.SetRemoteStorageRootItemId() method is now available in both on macOS and Windows platforms.
  • Synchronization from remote storage to user file system is now unified between Windows and macOS platforms. Synchronization performance improved.
  • Search in the User Files System by Remote Storage ID provided on Windows platform.
  • If synchronization from remote storage to user file system failed on Windows platform, the conflict icon is now displayed in Windows Explorer.
  • ServerNotifications class is provided on macOS platform. Synchronization on macOS can now be started by calling ServerNotifications.ProcessChangesAsync() method call.

v6.4.21218.0

01 Apr 21:11
Compare
Choose a tag to compare
  • COM shell extensions registration sample code refactored.
  • Class reference documentation updated.

v6.4.21210.0

27 Mar 19:16
Compare
Choose a tag to compare
  • IStorageProviderCopyHook interface is now supported. You can now limit copy, move, delete, hydrate and dehydrate operations on Windows platform by implementing IFolderWindows.GetFolderOperationsAsync().

v6.3.20496.0

28 Feb 20:33
Compare
Choose a tag to compare
  • Synchronization based on sync token is now supported on macOS. ISynchronizationCollection interface provided on macOS.
  • RemoteStorageParentItemId property is added to IFileSystemItemMetadata interface. Now each item parent on macOS can be properly identified.
  • WebDAV Drive sample for macOS displayed an error when a file or folder were moved. The move operation is now fully supported.

v6.2.20461.0

18 Jan 20:03
Compare
Choose a tag to compare
  • WebDAV Drive sample for MacOS added.
  • Added static methods Hydrate(), Dehydrate(), TryHydrate(), TryDehydrate() to PlaceholderFile class.
  • Updated Newtonsoft.Json to version 13.0.2 for tests projects in source code version.