- [Breaking] The custom browser and retry policies that are specific to the Storage libraries have been
renamed to have the
Storage
prefix. PR 5862. Below are the entities that now have the Storage prefix- BrowserPolicy
- BrowserPolicyFactory
- RetryPolicy
- RetryPolicyType
- RetryOptions
- RetryPolicyFactory
- [Breaking] The interface
NewPipelineOptions
has been renamed toStoragePipelineOptions
and its properties have been updated as below:- The
proxy
property of typeProxySettings | string
has been renamed toproxyOptions
and will be of typeProxyOptions
. If you have been passing url directly, split the value intohost
andport
then pass it as a json object. - The
telemetry
property of typeTelemetryOptions
has been renamed touserAgentOptions
of typeUserAgentOptions
. - The
logger
is no longer a property available to configure. To enable logging, please see the Troubleshooting section of our readme.
- The
- [Breaking]
- The
UniqueRequestIdPolicy
andKeepAlivePolicy
are no longer exported from this library. The corresponding policies from the@azure/core-http
library are meant to be used instead.
- The
- [Breaking] Major API changes for the
@azure/storage-queue
package.- Flattened Client Hierarchy -
QueueClient
is flattened intoQueueServiceClient
,MesagesClient
is renamed toQueueClient
,MessageIdClient
is flattened into the newQueueClient
. PR #5579enqueueMessage
is renamed assendMessage
,dequeueMessages
is renamed toreceiveMessages
- The new
QueueServiceClient
hascreateQueue
anddeleteQueue
helper methods. - Names of
Options
andResponses
as per the new hierarchy of clients. PR #5617- Example -
MessagesClearOptions
is renamed toQueueClearMessagesOptions
,MessagesEnqueueResponse
is renamed toQueueSendMessageResponse
.
- Example -
DequeuedMessageItem
is renamed toReceivedMessageItem
PR #5661
- Flattened Client Hierarchy -
- Created new interface
CommonOptions
. This interface is for standard options that apply to all methods that invoke remote operations. This interface currently contains options that enable client-side tracing of the SDK. PR #5550 - [Breaking]
IPRange
is renamed toSasIPRange
. PR #5551 - [Breaking]
Models
is no longer exported in public API surface. Instead generated model types required by the public API are explicitly re-exported and aliased withModel
suffix. For example, after this change,Models.QueueItem
becomesQueueItemModel
. PR #5534 - [Breaking] Cancelling an operation now throws a standardized error with the name
AbortError
. PR #5633 - [Breaking]
queueName
onQueueClient
is renamed toname
. PR #5613 - [Breaking]
body
field fromRestError
Object in core-http Library is removed, theresponse
property on the error will now have theparsedBody
&headers
along with raw body & headers that are already present. PRs #5670, #5437- Errors from the storage service can be seen in an extra field
details
with the expected error code. #5688
- Errors from the storage service can be seen in an extra field
- [Breaking] Type of the
permissions
attribute in the options bagFileSASSignatureValues
to be passed intogenerateQueueSASQueryParameters
is changed toQueueSASPermissions
from typestring
. PR #5626- Similarly,
AccountSASPermissions
forgenerateAccountSASQueryParameters
instead of typestring
. - Example - permissions attribute in
generateQueueSASQueryParameters
permissions: QueueSASPermissions.parse("racwd").toString()
changes toQueueSASPermissions.parse("racwd")
- Similarly,
- [Breaking] Appropriate attribute renames in all the interfaces PR #5629
- Example -
nextMarker
->continuationToken
,HTTPClient
->HttpClient
,permission
->permissions
- Example -
- Bug fix - Name properties on clients now support the Emulator. PR #5557
- emulator url when the queueEndpoint is
http://127.0.0.1:10001/devstoreaccount1
supported - emulator connection string shorthands are supported
UseDevelopmentStorage=true
- (with proxyURI)
UseDevelopmentStorage=true;DevelopmentStorageProxyUri=proxyURI
- emulator url when the queueEndpoint is
- [Breaking] IE11 needs
Object.assign
polyfill loaded. PR #5727
- Library tries to load the proxy settings from the environment variables like HTTP_PROXY if the proxy settings are not provided when clients like
QueueServiceClient
orQueueClient
are instantiated. - Added development connection string support to connect to the storage emulator Azurite - Extension for VS Code
- Development Connection String
DefaultEndpointsProtocol=http;AccountName=devstoreaccount1;AccountKey=Eby8vdM02xNOcqFlqUwJPLlmEtlCDXJ1OUzFT50uSRZ6IFsuFq2UVErCz4I6tq/K1SZFPTOtr/KBHBeksoGMGw==; QueueEndpoint=http://127.0.0.1:10001/devstoreaccount1;
- Shorthand notation is also supported
UseDevelopmentStorage=true
(orUseDevelopmentStorage=true;DevelopmentStorageProxyUri=http://myProxyUri
)
- Development Connection String
- Added name properties on all the clients for convenience.
accountName
is added toMessageIdClient
,MessagesClient
,QueueClient
andQueueServiceClient
.queueName
is added toMessageIdClient
,MessagesClient
andQueueClient
.messageId
is added toMessageIdClient
.
- [Breaking]
Models.StorageServiceProperties
is renamed toModels.QueueServiceProperties
. - [Breaking]
Models.StorageServiceStats
is renamed toModels.QueueServiceStatistics
. - [Breaking] Replace string with boolean flag to specify dataset to include when listing queues.
Before this change the option is specified as
After this change:
queueServiceClient.listShares({ include: "metadata" });
queueServiceClient.listShares({ includeMetadata: true });
- [Breaking]
RawTokenCredential
is dropped. TokenCredential implementations can be found in the @azure/identity library for authentication. - Updated Azure Storage Service API version to 2019-02-02.
- Responses for all APIs now return x-ms-client-request-id through
clientRequestId
that was passed in on the request from client-side. - Fixed a bug that
Aborter
cannot work during retry interval. - Fixed a bug that "err.code.toUpperCase is not a function" when retries in browser.
- Export
RetryPolicyType
. Aborter
doesn't requiredom
as tsconfig lib requirement anymore forEvent
type.- Updated HTTP client from axios to node-fetch in Node.js runtime.
- A new option
keepAliveOptions
added to parameter ofnewPipeline()
which controls keep-alive configurations. Keep-alive is enabled by default. - Pass through
options.abortSignal
to the optionalabortSignal
attribute in option bags instead of usingAbortSignal.none
as the default value whenoptions.abortSignal
is not specified. - Basic HTTP proxy authentication support is added. Proxy settings can be passed in the options while creating a new client. Example - typescript/proxyAuth.ts
- Connection strings for explicit storage endpoints are supported. - Configure Azure Storage connection strings
- [Breaking] Aborter class is no longer exposed from the package. Use the package @azure/abort-controller to pass an abort signal to any of the async operations.
AbortController.timeout(<milliseconds>)
can be utitlized as an abort signal. - Generalized the credential parameter in client constructors to support
{SharedKeyCredential | AnonymousCredential | TokenCredential}
credentials as a union type. - Storage service allows SAS connection string with SAS string and endpoints along with the Account connection string(account name, key and endpoint).
In this preview, SAS connection string support is added to the existing connection string client constructors and static methods.
- Account connection string example -
DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=accountKey;EndpointSuffix=core.windows.net
- SAS connection string example -
BlobEndpoint=https://myaccount.blob.core.windows.net/;QueueEndpoint=https://myaccount.queue.core.windows.net/;FileEndpoint=https://myaccount.file.core.windows.net/;TableEndpoint=https://myaccount.table.core.windows.net/;SharedAccessSignature=sasString
- SAS connection string is supported in both NodeJS and browser runtimes unlike the Account Connection String which is supported only in the NodeJS runtime.
- Account connection string example -
- Fixed a bug where
MessageIdClient
constructor throws an errorURL is undefined
when the client is created with a valid connection string.
- [Breaking] Client types are renamed from *URL to *Client.
- QueueURL, MessagesURL, MessageIdURL, ServiceURL, StorageURL to QueueClient, MessagesClient, MessageIdClient, QueueServiceClient, StorageClient respectively.
- [Breaking] Aborter parameters are now moved into option bags.
abortSignal
attrubute(optional) in the option-bag of respective module has to be utitlized for theAborter.timeout(<milliseconds>)
functionality.Aborter.none
is the default value.
- [Breaking] I- prefixes are removed from interface names
- Example-
IQueueCreateOptions
is updated toQueueCreateOptions
, the new names must to be used.
- Example-
- [Breaking] The static methods to create client types are removed. The functionality is moved into new instance methods added to the parent clients.
- [Breaking] The telemetry strings have been updated.
Azure-Storage/${SDK_VERSION}
is updated toazsdk-js-storagequeue/${SDK_VERSION}
.
- [Breaking] withPipeline method is removed.
- Async iterators with pagination support are added for listing queues
listQueues()
- Please refer to the samples for async iterators in the
samples
folder.
- Please refer to the samples for async iterators in the
- [Breaking] Methods that list segments(
listQueuesSegment()
) is no longer exposed in public api. - [Breaking]
StorageClient
is no longer exposed.StorageClient.newPipeline()
static method is moved to the top level exported functionnewPipeline()
. - [Breaking]
TokenCredential
has been renamed toRawTokenCredential
to make way for the new@azure/identity
library'sTokenCredential
interface. - [Breaking] The type of the
include
field of bothServiceListQueuesOptions
andServiceListQueuesSegmentOptions
has changed fromListQueuesIncludeType
toListQueuesIncludeType[]
due to changes in the underlying OpenAPI specification. - [Breaking] Blob/Container member methods that manage leases are removed. A new type
LeaseClient
is added to manage leases. - Updated dependency
@azure/ms-rest-js
to@azure/core-http
. - Constructor overloads added into client types so they can be constructed from a url and a pipeline/credential and connection string.
- Constructors with overloads -
MessageIdClient
,MessagesClient
,QueueClient
andQueueServiceClient
. - Connection string method is supported only in Node.js (not browsers).
- Constructors with overloads -
- Creation/Deletion of child resources are duplicated to parent client type.
- HTTP proxy support is added (Node.js only).
- Please refer to the
proxyAuth.ts
sample in thesamples/typescript
folder.
- Please refer to the
- Request and response headers are now logged at INFO level, with sensitive data redacted.
For release notes and more information please visit https://aka.ms/azure-sdk-preview1-js
- Updated Azure Storage Service API version to 2019-02-02.
- Responses for all APIs now return x-ms-client-request-id through
clientRequestId
that was passed in on the request from client-side.
- Fixed a bug that
Aborter
cannot work during retry interval. - Fixed a bug that "err.code.toUpperCase is not a function" when retries in browser.
- Export
RetryPolicyType
. Aborter
doesn't requiredom
as tsconfig lib requirement anymore forEvent
type.- Updated API version to 2018-11-09.
- Updated HTTP client from axios to node-fetch in Node.js runtime.
- A new option
keepAliveOptions
added to parameter ofStorageURL.newPipeline()
which controls keep-alive configurations. Keep-alive is enabled by default. - Updated Azure Storage Service API version to 2018-11-09.
- [Breaking] Updated convenience layer methods enum type parameters into typescript union types, this will help to reduce bundle footprint.
- [Breaking]
SASQueryParameters
is not going to be exported in browser bundle, and will be exported in Node.js runtime. - [Breaking] IE11 needs
Array.prototype.includes
andObject.keys
polyfills loaded. - Updated dependency
ms-rest-js
to@azure/ms-rest-js
. - Updated server timeout value for retry options
tryTimeoutInMs
to 30 seconds. - Fixed
Aborter.timeout()
misleading scale description. - Fixed an issue that enqueue/dequeue/peek fail to work with some utf8 characters.
- Exported HttpRequestBody type for who wants to implement a customized HTTP client.
- Initial Release. API version 2018-03-28 supported. Please see the README for information on the new design.