forked from Azure/azure-storage-net
-
Notifications
You must be signed in to change notification settings - Fork 0
/
BreakingChanges.txt
67 lines (44 loc) · 5.39 KB
/
BreakingChanges.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
Tracking Breaking Changes since 4.0
- Tables: Removed Serialized attribute and ISerializable implementation from TableEntity. Implement ITabeEntity for your custom entities if you need either.
Tracking Breaking Changes since 3.0
- Removed the generic query filter generation helper methods from TableQueryGeneric.Common.cs. The Correct usage is to leverage the methods exposed on the non-generic TableQuery class.
- Renamed CloudBlobDirectory.GetSubdirectoryReference to CloudBlobDirectory.GetDirectoryReference.
- Get{BlockBlob|PageBlob|Directory|Container|Queue|Table}Reference always treat the string parameter as a relative address. Specifically for containers, queues and tables, the names should not be preceded or followed by any ‘/’ characters and should follow the naming guidelines on MSDN.
- ServerTimeout is set to null by default. Therefore, "timeout" query parameter will not be sent to the server if ServerTimeout is not set by the user.
- CloudBlobDirectory.GetDirectoryReference throws an ArgumentException if the directory name is empty.
- Renamed DoesServiceRequest to DoesServiceRequestAttribute.
- Deprecated the WCF DataServices Table implementation namespace via the Obsolete attribute.
- No longer shipping the WindowsAzure.Storage.Table-Preview package or the WindowsAzure.Storage-Preview package; everything is included in the WindowsAzure.Storage package.
- Windows RT classes "TableBatchOperationExtensions", "TableQueryExtensions", and "CloudTableExtensions" no longer exist; functionality has been moved to the "TableBatchOperation", "TableQuery", and "CloudTable" classes. If the methods were being used as extention methods, this should require no code change, but it will require a recompile of dependant code.
- Windows RT class "TableOperationFactory" no longer exists; functionality has been moved to the "TableOperation" class.
- All Windows RT code is in a single DLL (no longer creating the winmd).
- Deprecated service client request options properties via the Obsolete attribute.
- Previously non-nullable deprecated Service Client configuration properties (i.e. Blob: ParallelOperationThreadCount, SingleBlobUploadThresholdInBytes, LocationMode; Queue: LocationMode; Table: PayloadFormat, LocationMode) are nullable. MaximumExecutionTime and ServerTimeout are able to be set to zero.
- Removed the CloudQueueClient(Uri) and CloudTableClient(Uri) constructors from CloudQueueClient.Common.cs and CloudTableClient.Common.cs respectively. Queues and Tables don't support anonymous access. Therefore the correct usage is to use the CloudQueueClient(Uri, StorageCredentials) and CloudTableClient(Uri, StorageCredentials) constructors instead.
- Whitespace only metadata values are no longer accepted.
- Deprecated SharedKeyLiteAuthenticationHandler via the Obsolete attribute as it was just an empty wrapper on SharedKeyAuthenticationHandler.
Tracking Breaking Changes since 2.1 RTM
- When DataServiceContext is used to execute table operations, response received event on OperationContext is no longer fired.
- Inserts in table operations no longer echo content. This will cause the resulting HTTP status code on the TableResult for successful inserts to be 204 (no-content) rather than 201 (Created). Echo content can be re-enabled by using the insert(TableEntity, boolean) method and specifying true.
- QueueContinuationToken is moved to Queue namespace(Microsoft.WindowsAzure.Storage.Queue).
- ContinuationTokens are written with an additional <ContinuationToken> element enclosing them if WriteXml() method is used - ReadXml() parser is updated to handle this.
- Only the ServiceProperties that are provided are changed. In previous REST versions ommitting a properties section such as Metrics would result in those settings being removed by the service.
- Please refer to the blog post about Breaking Changes on the server side in the new storage protocol version(2013-08-15) here:
http://blogs.msdn.com/b/windowsazurestorage/archive/2013/11/23/windows-azure-storage-breaking-changes-for-windows-azure-tables-november-2013.aspx.
Additionally, the following error messages have changed in the Table Service:
Entity over 1MB –
Error message previously - The entity is larger than allowed by the Table Service.
Error message now - The entity is larger than the maximum allowed size (1MB).
Batch over 4MB -
Error message previously - The content length for the requested operation has exceeded the limit.
Error message now - The content length for the requested operation has exceeded the limit (4MB).
Property name over 255 chars –
Error message previously – The property name exceeds the maximum allowed length.
Error message now - The property name exceeds the maximum allowed length (255).
Tracking Breaking Changes since 2.0
- maxResults while listing queues in nullable now.
- The BlobTypeMismatch and ExtendedErrorUnavailable error strings have changed in SR.cs.
- OperationContext.RequestResults does not expose a setter anymore.
- Renamed CloudQueue.EndBeginClear(IAsyncResult) to CloudQueue.EndClear(IAsyncResult).
- Sync and Async blob upload methods (BeginPutBlock, PutBlock, BeginUploadFromStream, UploadFromStream, BeginWritePages and WritePages) now throw InvalidOperationException(SR.StreamLengthError) instead of ArgumentOutOfRangeException("stream") when the length of the stream exceeds the permitted length.
- The StorageException thrown when an operation is cancelled now includes an OperationCanceledException as its inner exception.