Azure SDK for .NET (November 2019)
The Azure SDK team is pleased to announce our November 2019 client library releases. This represents the first GA release of a ground-up rewrite of our client libraries to ensure consistency, idiomatic design, productivity, and an excellent developer experience.
This release includes the following:
GA
- Storage (Blobs, Queues)
- Key Vault (Secrets, Keys)
- Identity
Preview
- Storage (Files)
- Event Hubs
- Cosmos
- App Configuration
Installation Instructions
To install any of our packages, please search for them via Manage NuGet Packages...
in Visual Studio (with Include prerelease
checked) or copy these commands into your terminal:
$> dotnet add package Azure.Storage.Blobs
$> dotnet add package Azure.Storage.Blobs.Batch
$> dotnet add package Azure.Storage.Queues
$> dotnet add package Azure.Storage.Files.Shares --version 12.0.0-preview.5
$> dotnet add package Azure.Security.KeyVault.Secrets
$> dotnet add package Azure.Security.KeyVault.Key
$> dotnet add package Azure.Security.KeyVault.Certificates --version 4.0.0-preview.6
$> dotnet add package Azure.Messaging.EventHubs --version 5.0.0-preview.5
$> dotnet add package Azure.Identity
$> dotnet add package Azure.Data.AppConfiguration --version 1.0.0-preview.4
$> dotnet add package Azure.Cosmos --version 4.0.0-preview
Feedback
If you have a bug or feature request for one of the libraries, please file an issue in our repo.
Changelog
Detailed changelogs are linked from the Quick Links below. Here are some of the highlights:
- New client libraries were created using the Azure SDK Design Guidelines for .NET resulting in consistent API patterns and shared features like automatic retries, authentication, logging, configurable transport pipelines, exceptions, mocking, etc.
- Support for Azure Active Directory credentials using our new Identity library that embrace the future of authentication across Azure services.
- Parity across synchronous and asynchronous APIs offering a choice appropriate to your application.
- Updated dependencies on the latest (preview-7) version of
Azure.Core
library.
Storage
- Renamed
Azure.Storage.Blobs.Batching
toAzure.Storage.Blobs.Batch
for consistency with other platforms - Renamed
Azure.Storage.Files
toAzure.Storage.Files.Shares
to better align with the newly released Azure.Storage.Files.DataLake and provide a consistent set of APIs for working with files on Azure - Renamed a number of operations and models to better align with other client libraries and the .NET Framework Design Guidelines
- Bug fixes
Azure Identity
- Various types have been renamed. See the Identity changelog for details.
- Updated exception model across the Azure.Identity library.
TokenCredential
implementations in the Azure.Identity library now throw exceptions rather than returningdefault
(AccessToken
) when no token is obtained- Added the
CredentialUnavailableExcpetion
exception type to distinguish cases when failure to obtain anAccessToken
was expected
Event Hubs
- The early stages of a large refactoring of the Event Hub client type hierarchy are complete. For more details, please see the Event Hubs changelog.
- Cancellation tokens are now fully supported throughout the client hierarchy and across operations.
- The information about the last event enqueued to a partition is now presented as an immutable object, if the tracking option was enabled.
- Retry policies and timeouts have been made local to a specific client instance, making them easier to configure and reason about.
- Client types using Azure identity for authorization should now be working properly; a bug was fixed to allow the proper authorization scopes to be requested. (A community contribution, courtesy of albertodenatale)
Key Vault
Key
has been renamed toKeyVaultKey
to avoid ambiguity with other libraries and to yield better search results.KeyClient.GetKeys
andKeyClient.GetKeyVersions
have been renamed toKeyClient.GetPropertiesOfKeys
andKeyClient.GetPropertiesOfKeyVersions
respectively.KeyClient.DeleteKey
has been renamed toKeyClient.StartDeleteKey
and now returns aDeleteKeyOperation
to track this long-running operation.Secret
has been renamed toKeyVaultSecret
to avoid ambiguity with other libraries and to yield better search results.SecretClient.GetSecrets
andSecretClient.GetSecretVersions
have been renamed toSecretClient.GetPropertiesOfSecrets
andSecretClient.GetPropertiesOfSecretVersions
respectively.SecretClient.DeleteSecret
has been renamed toSecretClient.StartDeleteSecret
and now returns aDeleteSecretOperation
to track this long-running operation.- Various other types have been renamed. See the Key Vault Keys and Secrets changelogs for details.
- The Certificates client library has been updated to work with the 1.0.0 release versions of Azure.Core and Azure.Identity.
App Configuration
- Changed
ConfigurationClient
method names to align with client methods in other Azure SDK libraries. - Made terminology consistent around
IsReadOnly
. - Removed methods and properties exposing unnecessary complexity, including a
SetConfigurationSetting
overload and theConfigurationClientOptions.Version
property. - Fixed a bug causing incorrect request signing on retries.
- Made
ConfigurationSetting
serializable bySystem.Text.Json
serializers. - Additional API improvements; see App Configuration changelog for further details.
Cosmos
- Initial 4.0.0 preview release.