Azure SDK for C++ (March 2021)
The Azure SDK team is pleased to make available the March 2021 client library release.
Beta
- Azure Core
- Azure Identity
Installation Instructions
To install any of our packages, copy and paste the following commands into a terminal:
# From Source
git clone https://github.com/Azure/azure-sdk-for-cpp
# git checkout <tag_name>
# For example:
git checkout azure-core_1.0.0-beta.7
Feedback
If you have a bug or feature request for one of the libraries, please post an issue to GitHub.
Release highlights
azure-core Changelog
New Features
- Added
HttpPolicyOrderfor adding custom Http policies to SDK clients. - Added
Azure::Core::Operation<T>::GetRawResponse(). - Added
Azure::Core::PackageVersion. - Added support for logging to console when
AZURE_LOG_LEVELenvironment variable is set.
Breaking Changes
- Changes to
Azure::Corenamespace:- Removed
Response<void>,ValueBase, andContextValue. - Removed
Context::operator[],Get()introduced instead. - Renamed
Uuid::GetUuidString()toToString(). - Changed return type of
Operation<T>::Poll()fromstd::unique_ptr<RawResponse>toRawResponse const&. - Moved
GetApplicationContext()toContext::GetApplicationContext() - Moved the
Base64Encode()andBase64Decode()functions to be static members of aConvertclass. - Moved
Loggingnamespace entities toDiagnostics::Loggerclass. - Moved
AccessToken,TokenCredential, andAuthenticationExceptiontoCredentialsnamespace. - Moved
Contextto be the last parameter for consistency, instead of first in various azure-core types. For example:BodyStream::Read(uint8_t* buffer, int64_t count, Context const& context)BodyStream::ReadToEnd(BodyStream& body, Context const& context)HttpPolicy::Send(Request& request, NextHttpPolicy policy, Context const& context)Operation<T>::PollUntilDone(std::chrono::milliseconds period, Context& context)TokenCredential::GetToken(Http::TokenRequestOptions const& tokenRequestOptions, Context const& context)
- Moved from
Azure::CoretoAzurenamespace:Response<T>,ETag, andNullable<T>.- Split
RequestConditionsintoMatchConditionsandModifiedConditions. - Renamed
DateTime::GetString()toToString(), and removedDateTime::GetRfc3339String().
- Removed
- Changes to
Azure::Core::Httpnamespace:- Removed
HttpPipeline,TransportKind,NullBodyStream, andLimitBodyStream. - Removed
Request::StartTry(). - Removed
InvalidHeaderExceptionand throwstd::invalid_argumentif the user provides invalid header arguments. - Renamed
CurlTransportSSLOptions::NoRevoketoEnableCertificateRevocationListCheck. - Renamed
RangetoHttpRange. - Renamed
TokenRequestOptionstoTokenRequestContext, and moved it toAzure::Core::Credentialsnamespace. - Moved
UrltoAzure::Corenamespace. RequestandRawResponse:- Renamed
AddHeader()toSetHeader(). - Introduced
Azure::Core::CaseInsensitiveMapwhich is now used to store headers.
- Renamed
BodyStreamand the types that derive from it:- Moved to
Azure::Core::IOnamespace. - Changed the static methods
BodyStream::ReadToCount()andBodyStream::ReadToEnd()into instance methods. - Changed the constructor of
FileBodyStreamto accept a file name directly and take ownership of opening/closing the file, instead of accepting a file descriptor, offset, and length.
- Moved to
- HTTP policies and their options:
- Moved to
Policiesnamespace. - Renamed
TransportPolicyOptionstoTransportOptions. - Renamed
TelemetryPolicyOptionstoTelemetryOptions. - Changed type of
RetryOptions::StatusCodesfromstd::vectortostd::set. - Renamed
LoggingPolicytoLogPolicy, and introducedLogOptionsas mandatory parameter for the constructor.
- Moved to
- Removed
- Moved header files:
- Renamed
azure/core/credentials.hpptoazure/core/credentials/credentials.hpp. - Renamed
azure/core/logger.hpptoazure/core/diagnostics/logger.hpp. - Renamed
azure/core/http/body_stream.hpptoazure/core/io/body_stream.hpp. - Renamed
azure/core/http/policy.hpptoazure/core/http/policies/policy.hpp. - Renamed
azure/core/http/curl/curl.hpptoazure/core/http/curl_transport.hpp. - Renamed
azure/core/http/winhttp/win_http_client.hpptoazure/core/http/win_http_transport.hpp.
- Renamed
Bug Fixes
- Make sure to rewind the body stream at the start of each request retry attempt, including the first.
- Connection pool resets when all connections are closed.
- Fix
Azure::Contextto supportstd::unique_ptr. - Throw
std::runtime_errorfromResponse<T>::GetRawResponse()if the response was already extracted.
azure-identity Changelog
New Features
- Added
Azure::Identity::PackageVersion.
Breaking Changes
- Removed
TransportPolicyOptionsfromClientSecretCredentialOptions. Updated the options to derive fromClientOptions.
Latest Releases
View all the latest versions of C++ packages here.