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
HttpPolicyOrder
for 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_LEVEL
environment variable is set.
Breaking Changes
- Changes to
Azure::Core
namespace:- 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 aConvert
class. - Moved
Logging
namespace entities toDiagnostics::Logger
class. - Moved
AccessToken
,TokenCredential
, andAuthenticationException
toCredentials
namespace. - Moved
Context
to 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::Core
toAzure
namespace:Response<T>
,ETag
, andNullable<T>
.- Split
RequestConditions
intoMatchConditions
andModifiedConditions
. - Renamed
DateTime::GetString()
toToString()
, and removedDateTime::GetRfc3339String()
.
- Removed
- Changes to
Azure::Core::Http
namespace:- Removed
HttpPipeline
,TransportKind
,NullBodyStream
, andLimitBodyStream
. - Removed
Request::StartTry()
. - Removed
InvalidHeaderException
and throwstd::invalid_argument
if the user provides invalid header arguments. - Renamed
CurlTransportSSLOptions::NoRevoke
toEnableCertificateRevocationListCheck
. - Renamed
Range
toHttpRange
. - Renamed
TokenRequestOptions
toTokenRequestContext
, and moved it toAzure::Core::Credentials
namespace. - Moved
Url
toAzure::Core
namespace. Request
andRawResponse
:- Renamed
AddHeader()
toSetHeader()
. - Introduced
Azure::Core::CaseInsensitiveMap
which is now used to store headers.
- Renamed
BodyStream
and the types that derive from it:- Moved to
Azure::Core::IO
namespace. - Changed the static methods
BodyStream::ReadToCount()
andBodyStream::ReadToEnd()
into instance methods. - Changed the constructor of
FileBodyStream
to 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
Policies
namespace. - Renamed
TransportPolicyOptions
toTransportOptions
. - Renamed
TelemetryPolicyOptions
toTelemetryOptions
. - Changed type of
RetryOptions::StatusCodes
fromstd::vector
tostd::set
. - Renamed
LoggingPolicy
toLogPolicy
, and introducedLogOptions
as mandatory parameter for the constructor.
- Moved to
- Removed
- Moved header files:
- Renamed
azure/core/credentials.hpp
toazure/core/credentials/credentials.hpp
. - Renamed
azure/core/logger.hpp
toazure/core/diagnostics/logger.hpp
. - Renamed
azure/core/http/body_stream.hpp
toazure/core/io/body_stream.hpp
. - Renamed
azure/core/http/policy.hpp
toazure/core/http/policies/policy.hpp
. - Renamed
azure/core/http/curl/curl.hpp
toazure/core/http/curl_transport.hpp
. - Renamed
azure/core/http/winhttp/win_http_client.hpp
toazure/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::Context
to supportstd::unique_ptr
. - Throw
std::runtime_error
fromResponse<T>::GetRawResponse()
if the response was already extracted.
azure-identity Changelog
New Features
- Added
Azure::Identity::PackageVersion
.
Breaking Changes
- Removed
TransportPolicyOptions
fromClientSecretCredentialOptions
. Updated the options to derive fromClientOptions
.
Latest Releases
View all the latest versions of C++ packages here.