forked from Azure/azure-storage-java
-
Notifications
You must be signed in to change notification settings - Fork 0
/
BreakingChanges.txt
43 lines (39 loc) · 3.83 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
Tracking Breaking Changes since 0.4.6
BLOB
* Removed setCopyState property from CloudBlob (was marked RESERVED FOR INTERNAL USE, but this was still accessible.)
* Modified the CloudBlobContainer exists, delete, uploadMetadata, downloadAttributes APIs to take AccessCondition in order to specify LeaseIDs for these operations.
* Added throws StorageException to listBlobs and listContainers.
* Added throws XMLStreamException to commitBlockList.
* Container and Blob ChangeLease now returns the new lease ID.
* Blob downloadRange now takes a Long for length instead of int.
* Blob downloadRange now downloads to a Stream(newly added). The previous downloadRange has been renamed to downloadRangeToByteArray. Added downloadToByteArray.
* getAttributes in ContainerResponse was made protected (the class was marked RESERVED FOR INTERNAL USE, but this was still accessible.)
* Removed sparse page blob feature.
* Moved LeaseAction enum from core package to blob package (was marked RESERVED FOR INTERNAL USE, but this was still accessible.)
* CloudBlobContainer.createIfNotExist was renamed to CloudBlobContainer.createIfNotExists.
* CloudBlobClient.streamMinimumReadSizeInBytes has been removed. This functionality is now CloudBlob.streamMinimumReadSizeInBytes (settable per-blob, not per-client.)
* CloudBlobClient.pageBlobStreamWriteSizeInBytes and CloudBlobClient.writeBlockSizeInBytes have been removed. This functionality is now CloudBlob.streamWriteSizeInBytes, settable per-blob, and now using only one variable.
* copyFromBlob has been renamed to startCopyFromBlob. This API requests the service to start copying a blob's contents, properties, and metadata to a new blob and returns the copy ID associated with the copy operation.
* CloudBlob.tryBreakLease() was removed, as this method didn't do anything useful (BreakLease is already idempotent.)
* Removed all getDirectoryReference, getPageBlobReference, getBlockBlobReference methods from CloudBlobClient.
* CloudContainer(String name, CloudBlobClient client) assert that client is not null.
QUEUE
* CloudQueue.createIfNotExist was renamed to CloudQueue.createIfNotExists.
* CloudQueue(String name, CloudQueueClient client) assert that client is not null.
TABLE
* Removed id field (along with getId, setId) from TableResult.
* CloudTable.createIfNotExist was renamed to CloudTable.createIfNotExists.
* CloudTable(String name, CloudTableClient client) assert that client is not null.
* inserts in TableOperation and TableBatchOperation do not echo content any more. 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.
* Added throws StorageException to executeQuery methods for tables.
OTHER
* The packaging structure has changed to
1. com.microsoft.windowsazure.storage – RetryPolicies, LocationMode, StorageException, Storage Credentials etc. Basically all public classes that are common across services.
2. com.microsoft.windowsazure.storage.core – These classes are reserved for internal use and users never have to include this namespace in their projects.
3. com.microsoft.windowsazure.storage.blob
4. com.microsoft.windowsazure.storage.queue
5. com.microsoft.windowsazure.storage.table
* StorageErrorConstants: INVALID_XML_NODE_VALUE, UNSUPPORTED_XML_NODE has been removed.
* RetryResult class has been replaced by the RetryInfo class. Custom retry policies should implement RetryPolicyFactory and extend RetryPolicy.
* Event operations (including event firing) that occur during a request are no longer synchronized, thread safety is now guaranteed by a CopyOnWriteArrayList of the event listeners.
* Many project dependencies were removed from the pom. Current dependencies are junit, hamcrest, commons-lang3, jackson, and slf4j.