Breaking Changes
#861 Changes the shape of the Search class
The existing SearchText property has been dropped, and Query has been added. The Query property is assigned the SearchQuery object that was passed to the client when the search was created. Instead of Search.SearchText, use Search.Query.SearchText. Additionally a Scope property has been added and is assigned the original SearchScope passed into the client. This shouldn't break anything.
#862 Default TransferOptions DisposeInput/OutputStreamOnCompletion options to true instead of false
This change defaults these two parameters for the TransferOptions constructor to true instead of false. This will cause any existing code that's disposing input or output streams either explicitly or within a using block to throw due to the streams already having been disposed. To fix this, either stop disposing streams in application logic, or explicitly set these options to false to force the old behavior.
Applications that were not previously disposing streams and had not explicitly set the options to true will enjoy a resource leak fix.
#870 Remove AddUserAsync()
This was deprecated some time last year in favor of WatchUserAsync(). Fix any broken code by moving to that.
#866/#872 Refactor UploadAsync() and DownloadAsync()
This refactoring is almost entirely internal, with the only functional change being that the final Progress event for the transfer is no longer sent with the state Completed | Succeeded, but rather InProgress. This change was made because the Transfer was being advertised as having completed without having raised the StateChanged event/calling the delegate, and the previous behavior was unexpected.
Applications that relied on the transfer state from the final progress event to terminate transfers will need to begin also handling state events to capture the same data.
Breaking Changes
#861 Changes the shape of the
SearchclassThe existing
SearchTextproperty has been dropped, andQueryhas been added. TheQueryproperty is assigned theSearchQueryobject that was passed to the client when the search was created. Instead ofSearch.SearchText, useSearch.Query.SearchText. Additionally aScopeproperty has been added and is assigned the originalSearchScopepassed into the client. This shouldn't break anything.#862 Default TransferOptions DisposeInput/OutputStreamOnCompletion options to true instead of false
This change defaults these two parameters for the
TransferOptionsconstructor totrueinstead offalse. This will cause any existing code that's disposing input or output streams either explicitly or within ausingblock to throw due to the streams already having been disposed. To fix this, either stop disposing streams in application logic, or explicitly set these options tofalseto force the old behavior.Applications that were not previously disposing streams and had not explicitly set the options to
truewill enjoy a resource leak fix.#870 Remove
AddUserAsync()This was deprecated some time last year in favor of
WatchUserAsync(). Fix any broken code by moving to that.#866/#872 Refactor
UploadAsync()andDownloadAsync()This refactoring is almost entirely internal, with the only functional change being that the final
Progressevent for the transfer is no longer sent with the stateCompleted | Succeeded, but ratherInProgress. This change was made because theTransferwas being advertised as having completed without having raised theStateChangedevent/calling the delegate, and the previous behavior was unexpected.Applications that relied on the transfer state from the final progress event to terminate transfers will need to begin also handling state events to capture the same data.