Note: This changelog is deprecated starting with version 1.0.0, please refer to the ChangeLog.md in each package for future change logs.
Tracking Breaking changes in 1.0.0
All
- Split azure-storage composer package into azure-storage-blob, azure-storage-table, azure-storage-queue, azure-storage-file and azure-storage-common packages.
- Removed
ServiceBuilder.php, moved static builder methods intoBlobRestProxy,TableRestProxy,QueueRestProxyandFileRestProxy. - Moved method
SharedAccessSignatureHelper::generateBlobServiceSharedAccessSignatureToken()intoBlobSharedAccessSignatureHelper. - Moved method
SharedAccessSignatureHelper::generateTableServiceSharedAccessSignatureToken()intoTableSharedAccessSignatureHelper. - Moved method
SharedAccessSignatureHelper::generateQueueServiceSharedAccessSignatureToken()intoQueueSharedAccessSignatureHelper. - Moved method
SharedAccessSignatureHelper::generateFileServiceSharedAccessSignatureToken()intoFileSharedAccessSignatureHelper. CommonMiddleWareconstructor requires storage service version as parameter now.AccessPolicyclass is now an abstract class, added children classesBlobAccessPolicy,ContainerAccessPolicy,TableAccessPolicy,QueueAccessPolicy,FileAccessPolicyandShareAccessPolicy.- Deprecated PHP 5.5 support.
Blob
- Removed
dataSerializerparameter fromBlobRextProxyconstructor. - Option parameter type of
BlobRestProxy::CreateBlockBlobandBlobRestProxy::CreatePageBlobFromContentchanged and addedsetUseTransactionalMD5method.
Table
- Removed
dataSerializerparameter fromTableRextProxyconstructor. - Will change variable type according to EdmType specified when serializing table entity values.
Queue
- Removed
dataSerializerparameter fromQueueRextProxyconstructor.
File
- Removed
dataSerializerparameter fromFileRextProxyconstructor. - Option parameter type of
FileRestProxy::CreateFileFromContentchanged and addedsetUseTransactionalMD5method.
Tracking Breaking changes in 0.19.0
Blob
- Populate content MD5 for range gets on Blobs.
MicrosoftAzure\Storage\Blob\Models\BlobProperties::getContentMD5()will always return the value of the whole blob’s MD5 value.- Added
MicrosoftAzure\Storage\Blob\Models\BlobProperties::getRangeContentMD5()to get MD5 of a blob range.
MicrosoftAzure\Storage\Blob\Models\GetBlobOptionsandMicrosoftAzure\Storage\Blob\Models\ListPageBlobRangesOptionsnow providesetRange()andgetRange()to accept aMicrosoftAzure\Storage\Common\Models\Rangeobject. Following methods are removed:setRangeStart()getRangeStart()setRangeEnd()getRangeEnd()
- Renamed 2 methods inside
MicrosoftAzure\Storage\Blob\Models\GetBlobOptions:getComputeRangeMD5()->getRangeGetContentMD5()setComputeRangeMD5()->setRangeGetContentMD5()
File
- Populate content MD5 for range gets on Files.
MicrosoftAzure\Storage\File\Models\FileProperties::getContentMD5()will always return the value of the whole file’s MD5 value.- Added
MicrosoftAzure\Storage\File\Models\FileProperties::getRangeContentMD5()to get MD5 of a file range.
Tracking Breaking changes in 0.17.0
All
- Refined code logic for continuation token. Now continuation token will be null if there are no more instance to be queried/listed.
Blob
- Removed
MicrosoftAzure\Storage\Tests\unit\Blob\Models\BlobContinuationToken, now useMicrosoftAzure\Storage\Common\MarkerContinuationTokeninstead for better code structure and reuse.
Table
- Deprecated ATOM support for Table service.
Queue
- Removed
MicrosoftAzure\Storage\Tests\unit\Queue\Models\QueueContinuationToken, now useMicrosoftAzure\Storage\Common\MarkerContinuationTokeninstead for better code structure and reuse.
File
- Removed
MicrosoftAzure\Storage\Tests\unit\File\Models\FileContinuationToken, now useMicrosoftAzure\Storage\Common\MarkerContinuationTokeninstead for better code structure and reuse.
Tracking Breaking changes in 0.16.0
All
- Renamed and moved
MicrosoftAzure\Storage\Blob\Models\PageRangetoMicrosoftAzure\Storage\Common\Models\Range.
Table
- Created new types for the following APIs to support specifying accepted content type of response payload. Payload is now by default
application/json;odata=minimalmetadata.MicrosoftAzure\Storage\Table\TableRestProxy::createTable&MicrosoftAzure\Storage\Table\TableRestProxy::createTableAsyncnow usesMicrosoftAzure\Storage\Table\Models\TableServiceCreateOptions.MicrosoftAzure\Storage\Table\TableRestProxy::insertEntity&MicrosoftAzure\Storage\Table\TableRestProxy::insertEntityAsyncnow usesMicrosoftAzure\Storage\Table\Models\TableServiceCreateOptions.MicrosoftAzure\Storage\Table\TableRestProxy::getTable&MicrosoftAzure\Storage\Table\TableRestProxy::getTableAsyncnow usesMicrosoftAzure\Storage\Table\Models\GetTableOptions.MicrosoftAzure\Storage\Table\TableRestProxy::getEntity&MicrosoftAzure\Storage\Table\TableRestProxy::getEntityAsyncnow usesMicrosoftAzure\Storage\Table\Models\GetEntityOptions.
- E-Tag can now be null value since when user specified to return minimal/no metadata, E-Tag will not be returned with response.
- When specifying
NO_METADATAfor querying entities, some Edm type, including Edm.Binary, Edm.DateTime and Edm.Guid could not be determined through the type detection heuristics. For more information, please see Payload Format for Table Service Operations.
Queue
- Renamed
MicrosoftAzure\Storage\Queue\Models\MicrosoftAzureQueueMessagetoMicrosoftAzure\Storage\Queue\Models\QueueMessage
Tracking Breaking changes in 0.15.0
All
- Removed
setRequestOptionsfor service options, instead, addedmiddlewares,middlewareStack,numberOfConcurrency,isStreaming,locationModeanddecodeContentfor user to specify the corresponding options. - Added
MicrosoftAzure\Storage\Common\Middlewares\RetryMiddlewareto support retry from secondary endpoint. Advice to use this instead of Guzzle's retry middleware for secondary endpoint retry support. - Removed
MicrosoftAzure\Storage\Common\Models\ServiceProperties::getMetricsandMicrosoftAzure\Storage\Common\Models\ServiceProperties::setMetrics. Added following methods to access hour metrics and minute metrics.
MicrosoftAzure\Storage\Common\Models\ServiceProperties::getHourMetrics
MicrosoftAzure\Storage\Common\Models\ServiceProperties::setHourMetrics
MicrosoftAzure\Storage\Common\Models\ServiceProperties::getMinuteMetrics
MicrosoftAzure\Storage\Common\Models\ServiceProperties::setMinuteMetrics
Blob
-
Lease feature parity
- Renamed
LeaseBlobResulttoLeaseResultto support container and blob lease. - Added container lease support - passing
nullto$blobparameter of the lease related APIs. - Added new parameters
$proposedLeaseIdand$leaseDurationtoacquireLeaseAPI and changed the$optionsparameter fromAcquireLeaseOptionstoBlobServiceOptions. - Added new parameter
$breakPeriodtobreakLeaseAPI and removed the$leaseIdparameter.
- Renamed
-
Refactored Options class:
- Exracted
getLeaseId,setLeaseId,getAccessConditionsandsetAccessConditionsto the base options classBlobServiceOptions. - Refactored the
CreateBlobOptions,CommitBlobBlocksOptionsclass to remove duplicate options and standardize the content settings related properties likeContentType,ContentMD5,ContentEncoding,ContentLanguage,CacheControlandContentDisposition.
- Exracted
-
Removed the useless API
ctrCryptfromUtilitiesclass.
Table
- Removed
MicrosoftAzure\Storage\Table\Models\BatchError. When batch operation fails, exception is thrown immediately instead.
Tracking Breaking changes in 0.14.0
- Restructured the classes based on their intended functionality and visiblity. The changes includes:
MicrosoftAzure\Storage\Common\Internal\InvalidArgumentTypeExceptionwas moved toMicrosoftAzure\Storage\Common\Exceptions\InvalidArgumentTypeExceptionMicrosoftAzure\Storage\Common\ServiceExceptionwas moved toMicrosoftAzure\Storage\Exceptions\ServiceExceptionMicrosoftAzure\Storage\Common\Internal\HttpFormatterwas moved toMicrosoftAzure\Storage\Common\Internal\Http\HttpFormatterMicrosoftAzure\Storage\Common\ServiceOptionsBasewas moved toMicrosoftAzure\Storage\Common\Internal\ServiceOptionsBaseMicrosoftAzure\Storage\Common\Internal\Loggerwas moved toMicrosoftAzure\Storage\Common\LoggerMicrosoftAzure\Storage\Common\Internal\Middlewares\HistoryMiddlewarewas moved toMicrosoftAzure\Storage\Common\Middlewares\HistoryMiddlewareMicrosoftAzure\Storage\Common\Internal\IMiddlewarewas moved toMicrosoftAzure\Storage\Common\Middlewares\IMiddlewareMicrosoftAzure\Storage\Common\Internal\Middlewares\MiddlewareBasewas moved toMicrosoftAzure\Storage\Common\Middlewares\MiddlewareBaseMicrosoftAzure\Storage\Common\Internal\RetryMiddlewareFactorywas moved toMicrosoftAzure\Storage\Common\Middlewares\RetryMiddlewareFactory
Tracking Breaking changes in 0.13.0
- Modified the setters of most classes that represent API call result from
publictoprotectedto avoid unwanted corruption of SDK constructed data. If the user is using the setters prior to the release there could be a breaking change.
Tracking Breaking changes in 0.12.0
- Moved
getMetadataArrayandvalidateMetadatafrom ServiceRestProxy.php to Utilities.php - Refined return type of the following API calls, to be more reasonable.
createPageBlob createBlockBlob createBlobBlock renewLease acquireLease - Applied strong type for the project. This may break some cases where user use to mis-use the type of some input parameters.
Tracking Breaking Changes in 0.10.0 ALL
- Remove all pear dependencies: HTTP_Request2, Mail_mime, and Mail_mimeDecode. Use Guzzle as underlying http client library.
- Change root namespace from "WindowsAzure" to "MicrosoftAzure/Storage".
- When set metadata operations contains invalid characters, it throws a ServiceException with 400 bad request error instead of Http_Request2_LogicException.
BLOB
- MicrosoftAzure\Storage\Blob\Models\Blocks.setBlockId now requires a base64 encoded string.