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
,QueueRestProxy
andFileRestProxy
. - Moved method
SharedAccessSignatureHelper::generateBlobServiceSharedAccessSignatureToken()
intoBlobSharedAccessSignatureHelper
. - Moved method
SharedAccessSignatureHelper::generateTableServiceSharedAccessSignatureToken()
intoTableSharedAccessSignatureHelper
. - Moved method
SharedAccessSignatureHelper::generateQueueServiceSharedAccessSignatureToken()
intoQueueSharedAccessSignatureHelper
. - Moved method
SharedAccessSignatureHelper::generateFileServiceSharedAccessSignatureToken()
intoFileSharedAccessSignatureHelper
. CommonMiddleWare
constructor requires storage service version as parameter now.AccessPolicy
class is now an abstract class, added children classesBlobAccessPolicy
,ContainerAccessPolicy
,TableAccessPolicy
,QueueAccessPolicy
,FileAccessPolicy
andShareAccessPolicy
.- Deprecated PHP 5.5 support.
Blob
- Removed
dataSerializer
parameter fromBlobRextProxy
constructor. - Option parameter type of
BlobRestProxy::CreateBlockBlob
andBlobRestProxy::CreatePageBlobFromContent
changed and addedsetUseTransactionalMD5
method.
Table
- Removed
dataSerializer
parameter fromTableRextProxy
constructor. - Will change variable type according to EdmType specified when serializing table entity values.
Queue
- Removed
dataSerializer
parameter fromQueueRextProxy
constructor.
File
- Removed
dataSerializer
parameter fromFileRextProxy
constructor. - Option parameter type of
FileRestProxy::CreateFileFromContent
changed and addedsetUseTransactionalMD5
method.
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\GetBlobOptions
andMicrosoftAzure\Storage\Blob\Models\ListPageBlobRangesOptions
now providesetRange()
andgetRange()
to accept aMicrosoftAzure\Storage\Common\Models\Range
object. 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\MarkerContinuationToken
instead 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\MarkerContinuationToken
instead for better code structure and reuse.
File
- Removed
MicrosoftAzure\Storage\Tests\unit\File\Models\FileContinuationToken
, now useMicrosoftAzure\Storage\Common\MarkerContinuationToken
instead for better code structure and reuse.
Tracking Breaking changes in 0.16.0
All
- Renamed and moved
MicrosoftAzure\Storage\Blob\Models\PageRange
toMicrosoftAzure\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::createTableAsync
now usesMicrosoftAzure\Storage\Table\Models\TableServiceCreateOptions
.MicrosoftAzure\Storage\Table\TableRestProxy::insertEntity
&MicrosoftAzure\Storage\Table\TableRestProxy::insertEntityAsync
now usesMicrosoftAzure\Storage\Table\Models\TableServiceCreateOptions
.MicrosoftAzure\Storage\Table\TableRestProxy::getTable
&MicrosoftAzure\Storage\Table\TableRestProxy::getTableAsync
now usesMicrosoftAzure\Storage\Table\Models\GetTableOptions
.MicrosoftAzure\Storage\Table\TableRestProxy::getEntity
&MicrosoftAzure\Storage\Table\TableRestProxy::getEntityAsync
now 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_METADATA
for 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\MicrosoftAzureQueueMessage
toMicrosoftAzure\Storage\Queue\Models\QueueMessage
Tracking Breaking changes in 0.15.0
All
- Removed
setRequestOptions
for service options, instead, addedmiddlewares
,middlewareStack
,numberOfConcurrency
,isStreaming
,locationMode
anddecodeContent
for user to specify the corresponding options. - Added
MicrosoftAzure\Storage\Common\Middlewares\RetryMiddleware
to 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::getMetrics
andMicrosoftAzure\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
LeaseBlobResult
toLeaseResult
to support container and blob lease. - Added container lease support - passing
null
to$blob
parameter of the lease related APIs. - Added new parameters
$proposedLeaseId
and$leaseDuration
toacquireLease
API and changed the$options
parameter fromAcquireLeaseOptions
toBlobServiceOptions
. - Added new parameter
$breakPeriod
tobreakLease
API and removed the$leaseId
parameter.
- Renamed
-
Refactored Options class:
- Exracted
getLeaseId
,setLeaseId
,getAccessConditions
andsetAccessConditions
to the base options classBlobServiceOptions
. - Refactored the
CreateBlobOptions
,CommitBlobBlocksOptions
class to remove duplicate options and standardize the content settings related properties likeContentType
,ContentMD5
,ContentEncoding
,ContentLanguage
,CacheControl
andContentDisposition
.
- Exracted
-
Removed the useless API
ctrCrypt
fromUtilities
class.
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\InvalidArgumentTypeException
was moved toMicrosoftAzure\Storage\Common\Exceptions\InvalidArgumentTypeException
MicrosoftAzure\Storage\Common\ServiceException
was moved toMicrosoftAzure\Storage\Exceptions\ServiceException
MicrosoftAzure\Storage\Common\Internal\HttpFormatter
was moved toMicrosoftAzure\Storage\Common\Internal\Http\HttpFormatter
MicrosoftAzure\Storage\Common\ServiceOptionsBase
was moved toMicrosoftAzure\Storage\Common\Internal\ServiceOptionsBase
MicrosoftAzure\Storage\Common\Internal\Logger
was moved toMicrosoftAzure\Storage\Common\Logger
MicrosoftAzure\Storage\Common\Internal\Middlewares\HistoryMiddleware
was moved toMicrosoftAzure\Storage\Common\Middlewares\HistoryMiddleware
MicrosoftAzure\Storage\Common\Internal\IMiddleware
was moved toMicrosoftAzure\Storage\Common\Middlewares\IMiddleware
MicrosoftAzure\Storage\Common\Internal\Middlewares\MiddlewareBase
was moved toMicrosoftAzure\Storage\Common\Middlewares\MiddlewareBase
MicrosoftAzure\Storage\Common\Internal\RetryMiddlewareFactory
was 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
public
toprotected
to 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
getMetadataArray
andvalidateMetadata
from 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.