Releases: Azure/azure-storage-php
Storage Client Library for Queue 1.0.0
2018.01 - version 1.0.0
- Created
QueueSharedAccessSignatureHelper
and moved methodSharedAccessSignatureHelper::generateQueueServiceSharedAccessSignatureToken()
intoQueueSharedAccessSignatureHelper
. - Added static builder methods
createQueueService
intoQueueRestProxy
. - Removed
dataSerializer
parameter fromQueueRextProxy
constructor. - Deprecated PHP 5.5 support.
Storage Client Library for File 1.0.0
2018.01 - version 1.0.0
- Created
FileSharedAccessSignatureHelper
and moved methodSharedAccessSignatureHelper::generateFileServiceSharedAccessSignatureToken()
intoFileSharedAccessSignatureHelper
. - Added static builder methods
createFileService
intoFileRestProxy
. - Removed
dataSerializer
parameter fromFileRextProxy
constructor. - Added
setUseTransactionalMD5
method for option ofFileRestProxy::CreateFileFromContent
. Default false, enabling transactional MD5 validation will take more cpu and memory resources. - Deprecated PHP 5.5 support.
Storage Client Library for Common 1.0.0
2018.01 - version 1.0.0
- 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
.- Fixed a bug that
Utilities::allZero()
will return true for non-zero data chunks. - Deprecated PHP 5.5 support.
Storage Client Library for Blob 1.0.0
2018.01 - version 1.0.0
- Created
BlobSharedAccessSignatureHelper
and moved methodSharedAccessSignatureHelper::generateBlobServiceSharedAccessSignatureToken()
intoBlobSharedAccessSignatureHelper
. - Added static builder methods
createBlobService
andcreateContainerAnonymousAccess
intoBlobRestProxy
. - Removed
dataSerializer
parameter fromBlobRextProxy
constructor. - Added
setUseTransactionalMD5
method for options ofBlobRestProxy::CreateBlockBlob
andBlobRestProxy::CreatePageBlobFromContent
. Default false, enabling transactional MD5 validation will take more cpu and memory resources. - Fixed a bug that CopyBlobFromURLOptions not found.
- Deprecated PHP 5.5 support.
Storage Client Library 0.19.1
2017.09 - version 0.19.1
ALL
- Fixed a syntax error for PHP 5.5 and 5.6 in
MicrosoftAzure\Storage\Common\Internal::Utilities:isoDate
.
Storage Client Library 0.19.0
2017.09 - version 0.19.0
ALL
- Fixed wrong
XmlSerializer
in ServiceException.php. - Fixed formatting of non-UTC dates when using instances of
DateTime
to generate shared access signatures. - Fixed class loading errors on case-sensitive file systems when testing.
Blob
- Added
CopyBlobFromURL
to support copy blob from a source URL including resources in other storage accounts. - Added support for Incremental Copy Page Blob. This allows efficient copying and backup of page blob snapshots.
- Fixed a bug that
BlobRestProxy::createPageBlobFromContent
cannot work. - 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.
- Renamed 2 methods inside
MicrosoftAzure\Storage\Blob\Models\GetBlobOptions
:getComputeRangeMD5()
->getRangeGetContentMD5()
setComputeRangeMD5()
->setRangeGetContentMD5()
- The public access level of a container is now returned from the List Containers and Get Container Properties APIs.
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()
Queue
- The
QueueRestProxy::createMessage
now returns information about the message that was just added, including the pop receipt.
File
- Fixed a bug that setting content MD5 cannot work when creating files.
- Option parameter
ListDirectoriesAndFilesOptions
ofFileRestProxy::listDirectoriesAndFiles
is now able to set a prefix which limits the listing to a specified prefix. - 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.
Storage Client Library 0.18.0
2017.08 - version 0.18.0
All
- Updated
SharedAccessSignatureHelper
to acceptDatetime
type assignedExpiry
orsignedStart
parameter when generating SAS tokens. - Added samples under samples foder to generate account level or service level SAS tokens with
SharedAccessSignatureHelper
. - Fixed wrong PHPUnit
@covers
tags in unit and functional test. - Removed unused imports declarations.
Blob
- Added
BlobRestProxy::listPageBlobRangesDiff
andBlobRestProxy::listPageBlobRangesDiffAsync
for getting page ranges difference. Refer to https://msdn.microsoft.com/en-us/library/azure/mt736912.aspx for more detailed information. - Following methods of
MicrosoftAzure\Storage\Blob\BlobRestProxy
now return the x-ms-request-server-encrypted response header. This header is set to true if the contents of the request have been successfully encrypted.createBlockBlob
,createPageBlob
,createAppendBlob
,createBlobPages
,createBlobBlock
,appendBlock
,commitBlobBlocks
andsetBlobMetadata
.
- Following methods of
MicrosoftAzure\Storage\Blob\BlobRestProxy
now return the x-ms-server-encrypted response header. This header is set to true if the blob data and application metadata are completely encrypted. If the blob is not encrypted, or if only parts of the blob/application metadata are encrypted, this header is set to false.getBlob
andgetBlobProperties
.
Storage Client Library 0.17.0
2017.07 - version 0.17.0
All
- REST API version upgraded to 2016-05-31.
- Added support for anonymous read access to containers. User can now call
MicrosoftAzure\Storage\Common\ServiceBuilder::createContainerAnonymousAccess
to create service proxy to access containers/blobs without credential. - 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. - Added
MicrosoftAzure\Storage\Tests\unit\Blob\BlobRestProxy::blockSize
for user to control block size.
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.
Storage Client Library 0.16.0
2017.06 - version 0.16.0
All
- Renamed and moved
MicrosoftAzure\Storage\Blob\Models\PageRange
toMicrosoftAzure\Storage\Common\Models\Range
. - Added support for Service Shared Access Signature.
- With File service feature parity to 2015-04-05 and Service Shared Access Signature support in this release, the SDK now have full parity for Blob, Table, Queue and File services to REST API version 2015-04-05.
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
File
- Added full support for File service, with parity to REST API 2015-04-05.
Storage Client Library 0.15.0
2017.04 - version 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. - By setting
$locationMode
inMicrosoftAzure\Storage\Common\Models\ServiceOptions
, user can perform read operations from secondary endpoint. - Added support for user to use proxies. If
HTTP_PROXY
is set as a system variable, the proxy specified with it will be used for HTTP connections. - 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
-
Access condition feature parity:
- Single
AccessCondition
has been changed to multipleAccessCondition
for the options which support access conditions. - Added
appendPosition
,maxBlobSize
,ifSequenceNumberLessThan
,ifSequenceNumberEqual
andifSequenceNumberLessThanOrEqual
toAccessCondition
class. - Added access conditions support for
getContainerProperties
,setContainerProperties
,getContainerMetadata
andsetContainerMetadata
.
- Single
-
Copy blob feature parity:
- Added new API
abortCopy
. - Added
setIncludeCopy
toListBlobsOptions
to support getting copy state information when listing blobs. - Added properties and getters/setters for
CopyId
andCopyStatus
toCopyBlobResult
class.
- Added new API
-
Lease feature parity
- Added lease support for
getContainerProperties
,setContainerProperties
,getContainerMetadata
,setContainerMetadata
anddeleteContainer
. - 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 the API
changeLease
to support changing lease. - Added new parameter
$breakPeriod
tobreakLease
API and removed the$leaseId
parameter. - Added properties and getters/setters for
LeaseStatus
,LeaseState
andLeaseDuration
toContainerProperties
class.
- Added lease support for
-
Container/Blob properties feature parity:
- Added properties and getters/setters for
ContentDisposition
,LeaseState
,LeaseDuration
andCopyState
toBlobProperties
class.
- Added properties and getters/setters for
-
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
-
Blob service properties feature parity:
- Added
getDefaultServiceVersion
,setDefaultServiceVersion
,getMinuteMetrics
andsetMinuteMetrics
toServiceProperties
class.
- Added
-
Changed the return type of API
commitBlobBlocks
fromvoid
toPutBlobResult
. -
Removed the useless API
ctrCrypt
fromUtilities
class. -
Added
getServiceStats
andgetServiceStatsAsync
for user to request service statistics from the server's secondary endpoint.
Table
- Removed
MicrosoftAzure\Storage\Table\Models\BatchError
. When batch operation fails, exception is thrown immediately instead. - Added
getServiceStats
andgetServiceStatsAsync
for user to request service statistics from the server's secondary endpoint.
Queue
- Added
getServiceStats
andgetServiceStatsAsync
for user to request service statistics from the server's secondary endpoint.