IT Hit WebDAV Client API .NET Release History

v7.1.4970

March 12, 2024
  • The supported-report-set now indicates that sync-collection is supported.
  • If the list of properties passed to GetItemAsync() is null, the IHierarchyItem.Properties array of the resulting item throwed NullReferenceException. Now this bug is fixed.
  • WebDAV Drive sample updated.

v7.1.4811

December 19, 2023
  • Quota is now supported. IFolder interface now provide AvailableBytes and UsedBytes properties.
  • WebDAV Drive sample updated.

v7.0.4672

August 18, 2023
  • Performance improved when listing large folders.
  • ISession.GetFileAsync(), ISession.GetFolderAsync(), ISession.GetVersionAsync() methods now accept properties list as optional parameter.
  • WebDAV Drive samples for Windows and macOS updated.

v7.0.4627 Beta

May 16, 2023
  • All methods now return IResponse and derived interfaces. Response headers and response status are now available in all methods.
  • WebDAV Drive sample updated.

v6.0.4076

February 28, 2023
  • IHierarchyItem.OpenAsync() and GetItemAsync() overloaded methods are provided. These methods now except list of property names to be requested from the server.
  • WebDAV Drive for macOS sample updated.

v6.0.4047 Beta

January 16, 2023
  • Added new constructor to WebDavSession class that accepts HttpMessageHandler which can be used in MacOS file provider extension.

v6.0.4032 Beta

December 5, 2022
  • Changes synchronization implemented. Changes can now be obtained from server using ISynchronizationCollection.GetChangesAsync() method call.
  • Custom headers can be now passed to each method.
  • WebDAV Drive sample updated.

v5.3.3908

October 3, 2022
  • HttpMethod property added to WebDavHttpException.
  • WebDAV Drive sample updated to use the latest User File System Engine.

v5.3.3668

July 20, 2022
  • If the server URL had non-default port the call to WebDavSession.ExistsAsync() method failed with “ITHit.WebDAV.Client.Exceptions.WebDavException: No connection could be made because the target machine actively refused it.” Port was missing from the PROPFIND request URL in this case. This bug is now fixed.
  • WebDAV Drive sample refactored and updated.

v5.3.3490

May 13, 2022
  • IFolder.GetChildrenAsync(), ISession.GetFileAsync(). ISession.GetFolderAsync(), ISession.GetItemAsync(), ISession.GetVersionAsync() methods now provide a cancellation token parameter.
  • WebDAV Drive sample updated to use the latest User File System version and cancellation token.
  • WebDavSession.ExistsAsync() overloded method provided that accepts Uri parameter.

v5.2.2901

February 22, 2022
  • WebDAVSession.DownloadAsync() method return type changed. Now DownloadAsync() returns IWebResponse instead of Stream.

v5.1.2712

February 2, 2022
  • DASL search is now supported.

v5.0.2602

December 8, 2021
  • The hydration policy is set to Full in WebDAV Drive sample. Opening mp4 files by Windows Movies & TV app is now supported.
  • Throwing any exception in IFile.ReadAsync() in WebDAV Drive resulted in file download hanging. Now the download is cancelled if any exception is thrown in IFile.ReadAsync() method implementation.
  • ITransferDataResultContext.ReportStatus() call in WebDAV Drive sample throwed NotImplemntedException. Now the ReportStatus() is implemented.

v5.0.2539

November 29, 2021
  • ExistsAsync() method is added to WebDAVSession class.
  • WebDAV Drive Sample now supports thumbnails mode.
  • Common.Windows.Core sources were missing in WebDAV Drive sample. Now this bug is fixed.
  • The NullReferenceException may be thrown in context menu shell extension in WebDAV Drive sample when context menu is called on empty space or when no items are selected in Windows Explorer. Now this bug is fixed.

v5.0.2450

November 23, 2021
  • Packaging project is added in WebDAV Drive sample.
  • Lock/Unlock menu in Windows Explorer is added in WebDAV Drive sample.
  • The item did not delete in remote storage when moved outside of the user file system. Now the item is deleted.
  • Remote storage to user file system sync service in WebDAV Drive sample failed with DirectoryNotFoundEcxception 'Could not find part of the path' exception in case a regular folder (typically new folder) was found in folders hierarchy in user file system. Now this bug is fixed.
  • User file system to remote storage sync service in WebDAV Drive sample did not sync new folders to remote storage. Now this bug is fixed.
  • User file system to remote storage sync service in WebDAV Drive sample did not mark folders as in-sync after rename. Now folders are marked as in-sync after successful call to Folder.WriteAsync().
  • UnauthorizedAcessException "Access to the path '' is denied" was thrown by the Engine in WebDAV Drive sample during folder move/rename operation. ILock.UnlockAsync() was not called on folder if it implemented ILock. Now this bug is fixed.
  • Crating and than moving/renaming a folder in user file system in WebDAV Drive sample left the folder in the not-in sync state after rename. The folder was not marked as not new after the creation. Now this bug is fixed.

v5.0.2391

November 12, 2021
  • WebDavSession.GetFileAsync(), WebDavSession.GetFolderAsync() was sending than one PROPFIND request during first call. This bug is now fixed.
  • WebDAV Drive sample updated.
  • Class reference documentation updated.

v5.0.2310 Beta

October 5, 2021
  • Methods renamed: WebDavSession.FileReadAsync() -> WebDavSession.DownloadAsync(), WebDavSession.FileWriteAsync() -> WebDavSession.UploadAsync().
  • IItemContent.UploadAsync(), IFolder.CreateFileAsync(), IFolder.CreateFolderAsync() methods now support list of lock tokens.

v5.0.2261 Beta

September 24, 2021
  • Interfaces renamed: IHierarchyItemAsync -> IHierarchyItem, IVersionAsync -> IVersion, IMultistatusAsync -> IMultistatus, IMultistatusResponseAsync -> IMultistatusResponse, IPropertyMultistatusResponseAsync -> IPropertyMultistatusResponse. ISession.OpenVersionAsync() -> ISession.GetVersionAsync()
  •  WebDavSession.WebDavError event provided. Request can now be replayed from inside this event by setting WebDavErrorEventArgs.Result = WebDavErrorEventResult.Repeat.

v5.0.2243 Alpha

September 17, 2021
  • The HttpWebRequest stack is replaced with the HttpClient stack.
  • .NET Core 5 is now supported.
  • Only the asynchronous WebDav session version is now supported, all synchronous interfaces and methods are deleted. IFileAsyc, IFolderAsync, IHierarchyItemAsync, WebDavSessionAsync are renamed to IFile, IFolder, IHierarchyItem, WebDavSession.
  • WebDavSession now inherits an IDisposable interface. 
  • WebDavSession.FileReadAsync() and WebDavSession.FileWriteAsync(), WebDavSession.LockAsync(), WebDavSession.UnlockAsync() methods are provided.
  • Updated WebDAV Drive Sample is provided. 

v4.0.1476

April 23, 2021
  • CreateFolderAsync() method throws "Keep-Alive and Close may not be set using this property. Parameter name: value” with some WebDAV servers. Now, this bug is fixed.

v4.0.1398 Beta

January 25, 2021
  • .NET Standard 2.0 is now supported.
  • WebDAV Drive sample added. The sample can synchronise documents from and to the WebDAV server, automatically locks/unlocks Microsoft Office documents when opened for editing, supports on-demand loading and selective offline availability. IT Hit User File System is used to mount the file system.
  • iOS Sample and Windows WebDAV Browser Sample are removed.

v4.0.1381.0 Beta

January 15, 2021
  • New methods added to WebDavSessionAsync class: GetChildrenAsync(), CreateFolderAsync(), MoveToAsync(), DeleteAsync(), GetFileWriteRequestAsync(), LockAsync() and UnlockAsync().
  • The library can now attach "If" header with multiple lock-tokens and Etags, for example: If: (<opaquelocktoken:locktoken1> ["Etag1"]) (<opaquelocktoken:locktoken2> ["Etag2"]).
  • The library can now attach "If-Match" header with ETag(s), for example: If-Match: "tK2iPWHR6", "5R67T", "sd73549".

v3.1.1248

October 18, 2019
  • Module build date validation failed on machines with custom system date template settings. This bug is now fixed.

v3.1.1109

June 25, 2019
  • Folder listing is broken on iPad in iOS sample client application. This bug is now fixed.
  • Error message displayed twice in server connection dialog if URL is empty in iOS sample client application. This bug is now fixed.

v3.1.1072

June 5, 2019
  • iOS sample application connection fields validation did not work. Now WebDAV server URL field is validated.

v3.1.1057

May 28, 2019
  • iOS sample application now supports iPad.
  • Rename in iOS sample application resulted in duplicate files. This bug is now fixed.
  • Directory creation failed in iOS sample application. This bug is now fixed.
  • iOS sample application incorrectly displays items state for items that don't exists on the server. This bug is now fixed.
  • Server connection dialog layout and messages fixed in iOS sample application.

v3.0.1032 Beta

April 26, 2019
  • A new iOS sample client is provided implementing iOS virtual file system. The sample installs iOS extension with iOS File Provider. Any iOS application, such as MS Office Word Mobile can open documents using standard iOS 11+ Browse dialog, edit and save back to server.

v2.0.477.0 Beta

October 26, 2016
  • License issue date validation failed for some licenses. This bug is now fixed.

v2.0.421.0 Beta

May 17, 2016
  • Asynchronous interfaces and implementation provided based on Task-based Asynchronous Pattern.
  • DLL build for for Xamarin iOS provided.
  • DLL build for for Mono Android provided.
  • IResource renamed to IFile. All methods with 'Resource' in it's names replaced with 'File'.

v1.3.0.361

November 23, 2012
  • ITHit.WebDAV.Client.dll compiled for .Net 4.0 is now provided.

v1.2.0.304

August 14, 2012
  • ETags are now supported. Etag property added to IItemContent interface.
  • System proxy is now used by the library by default. Fiddler and other debugging proxies can capture traffic by default. WebDavSession.Proxy property now set to WebRequest.GetSystemWebProxy().
  • Timeout parameter in IHierarchyItem.RefreshLock is now nullable. 
  • 14 new tests added to source codes version to test lock refresh without Timeout header, If-Range, If-Match, If-Modified-Since and If-None-Match headers.
  • 2 overloaded GetReadStream methods provided. Now file last modified date or ETag can be passed to GetReadStream to ensure the file is not modified between GetReadStream calls.

v1.2.0.284

June 27, 2012
  • IHierarchyItem.Lock timeout parameter is now nullable. Unit tests added to test cases when Timeout header is not provided or when infinite timeout is specified.
  • IItemContent.Download did not truncate the content of the file if the file exists, that caused file corruption. Now the content is being truncated.
  • In Sample browser, if the file is modified by another user after the file size was requested from the server, the downloaded file was corrupted. Now this bug is fixed.
  • WebDAVSession.CookieContainer property added to the session object to allow cookies manipulation.

v1.2.0.223

February 25, 2011
  • Parsing of HTTP status returned in XML improved. Now status can have any description or missing description or contain only numeric status code.
  • Parsing of Depth header improved. Now this header can contain white space.
  • Parsing of 'timeout' XML element improved. Now this element can contain white space.
  • 'Obsolete' warning removed in WebDAV Browser sample.

v1.2.0.214

August 10, 2010
  • IIS 6 build-in WebDAV returns HTTP instead of HTTPS in PROPFIND responses if SSL is used. WebDavSession.IIS6SSLSupport properеy is provided as a workaround for this issue.
  • Custom properties content did not unescape. Now this bug is now fixed.
  • Thread safety improved. Each HierarchyItem now stores its own connection settings, copied from the parent object. Connection settings now copied when IHierarchyItem.OpenFolder, IHierarchyItem.OpenResource, IHierarchyItem.OpenItem, IFolder.CreateFolder and IFolder.CreateResource are called.
  • If the server did not provide namespace for WebDAV property the client library throw exception. This bug is now fixed.
  • Visual Studio 2010 project now provided.

v1.2.0.197

March 2, 2010
  • If the server did not return Content-Type header or if Content-Type header does not contain charset the encoding is considered to be UTF-8.
  • Lock token now returned in the format that it was returned from the server, 'opaquelocktoken' is not truncated. Now client library supports Jackrabbit WebDAV server.

v1.2.0.191

November 26, 2009
  • Locks did not save in WebDAV Browser Example - fixed.

v1.2.0.189

November 17, 2009
  • Unbuffered uploads for NTLM and Kerberos authentication now supported.
  • Some servers may set very big timeout in seconds leading to exceptions in Client library. Now this bug is fixed.
  • Exceptions made serializable to cross application domains.

v1.2.0.162

March 26, 2009
  • Now Content-Encoding header is used to determine encoding when parsing XML.
  • Output Content-Encoding header now contains the charset for XML. The encoding is specified by new WebDavSession.ContentEncoding property.
  • ClientCerificates property added to WebDavSession class. Now it is possible to set client certificates.
  • Performance improved if logging is turned off.
  • '#' character now supported in file and folder names.
  • Integration tests for chunked mode and UTF-16 encoding added in source codes version.
  • WebDAV Browser Example:
    • If shared locks are not supported by server exclusive locks are used. Usually important for MOSS.
    • If folder and files are selected for lock it was not possible to lock. Now this bug is fixed.
    • If the server is inaccessible after incorrect certificate warning the sample crushed. Now this bug is fixed.
    • Exception was thrown if the server did not return lock token. Now this bug is fixed.
    • VS 2008 projects and solutions added. Reference to ITHit.WebDAV.Client.dll fixed.
       

v1.2.0.135

November 21, 2008
  • Custom properties now wrapped to CDATA.
  • Sample Browser build output (.exe) now added to the archive.
  • WebDAV Browser Example:
    • If the server returned miltistatus response client displayed error. Copy / move response status parsing fixed.
    • When updating file content Continue command caused the file to start from the beginning. Now this bug is fixed.
    • Locks lost sometimes after closing application. Now this bug is fixed.
    • Move of locked file failed. Now locked passed to move method.
    • Update properties on a locked file failed. Now locks passed to UpdateProperties.
    • Progress bars show 0% on Windows Vista after browser reopened. Now this bug is fixed.
    • Locks lost for files with special characters in path. Now this bug is fixed.
    • 'Select All' button added to Manage Locks.
    • Broken file downloaded if file was modified by another user. Incorrect content length was read. Now this bug is fixed.
    • Locks and paused uploads lost if application twice opened / closed.

v1.2.0.99

October 27, 2008
  • Resumable upload feature provided. PUT now can attach Content-Range header to upload file segments.
  • Sample WebDAV Browser provided.
  • With a new overloaded IFolder.GetChildren method you can request custom properties of all child items with a single request.
  • IResource.IsCheckedOut, IResource.IsVersionControlled, IHierarchyItem.GetActiveLocks and IHierarchyItem.GetSupportedLock methods are now obsolete and replaced with IResource.CheckedOut, IResource.VersionControlled, IHierarchyItem.ActiveLocks, IHierarchyItem.SupportedLock properties.
  • ResourceType enumeration renamed to ItemType.
  • WebDavSession.GetAuthenticationScheme method added.

v1.1.0.29

September 9, 2008
  • System.Argument exception "Illegal characters in path" in IFolder.GetChildren fixed.
  • WebDAVSession.CustomHeaders property added. This property can be used to add custom user headers which will be attached to all requests.

v1.1.0.22

April 18, 2008
  • DeltaV Support added. Put files under version control, check-out/check-in files, list versions via PERORT verb or via version-history / version-set properties, download file version content and set auto-versioning mode.
  • .NET Compact Framework support added.
  • Timeout chunked transfer and client buffering now can be set for each item separately.
  • Unit tests and integration tests for .NET Compact Framework now provided with source codes version.
  • Exception raised when API is used with Apache mod_dav (mod_dav does not return DAV:displayname property).

v1.0.1.8

November 25, 2007
  • File upload buffering now managed via WebDavSession.AllowWriteStreamBuffering property.
  • License check code changed.
  • Quick Start updated. 

v1.0.1.2

October 11, 2007
  • Responce close when uploading files fixed.
  • Preauthentication added.
  • WebDavSession.PreAuthenticate property added.
  • WebDavSession.SendChunked property added.
  • WebDavSession.AllowWriteStreamBuffering property added.

v1.0.1.1 Final release

September 21, 2007
  • Integration tests provided with source codes.
  • IHierarchyItem.UpdateProperties now does not allow changing properties in DAV namespace.
  • IHierarchyItem.SupportedFeatures method now submits OPTIONS request instead of PROPFIND getsupportedlock.
  • IHierarchyItem.GetActiveLocks implementation fixed.
  • IHierarchyItem.GetSource implementation fixed.
  • WebDavSession.OpenItem method added.
  • IFolder.GetItem method added.
  • IResource.Upload and IResource.Download methods added.
  • System.Net.Mime.ContentType class reference removed.
  • References to System.Data.dll removed.

v1.0.0.0 Beta 1

July 4, 2007
  • WebDAV Client library for .Net and reference documentation provided.