## 1.6.0 (2023-11-10)
### Features Added
- Added `WorkloadIdentityCredential`.
- When one of the credentials within `DefaultAzureCredential` is successful, it gets re-used during all subsequent attempts to get the token.
- Updated `ClientSecretCredentialOptions` and `ClientCertificateCredentialOptions` to read the default value for the authority host option from the environment variable first.
### Breaking Changes
- Add `WorkloadIdentityCredential` to the `DefaultAzureCredential`.
### Bugs Fixed
- Do not throw an exception during `AzureCliCredential` construction, but rather delay it to the `GetToken()` call.
- Harden checks for the tenant ID.
- Disallow space character when validating tenant id and scopes as input for `AzureCliCredential`.
- Add authority host url validation to reject non-HTTPS schemes.
- [[#4084]](https://github.com/Azure/azure-sdk-for-cpp/issues/4084) Remove OpenSSL dependency on Windows. (A community contribution, courtesy of _[teo-tsirpanis](https://github.com/teo-tsirpanis)_)
### Other Changes
- Add default values to some `WorkloadIdentityCredentialOptions` fields such as authority host by reading them from the environment.
- Add logging to `WorkloadIdentityCredential` to help with debugging.
- Create separate lists of characters that are allowed within tenant ids and scopes in `AzureCliCredential`.
### Acknowledgments
Thank you to our developer community members who helped to make Azure Identity better with their contributions to this release:
- Theodore Tsirpanis _([GitHub](https://github.com/teo-tsirpanis))_
* [azure-messaging-eventhubs-cpp] Shorten source paths
* use cmake to rename directories, and also include azure-storage ports (#4)
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Shorten the paths down to _/_/_/
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* [azure-identity-cpp] Update to 1.5.1
## 1.5.1 (2023-07-06)
### Bugs Fixed
- [#4723]](https://github.com/Azure/azure-sdk-for-cpp/issues/4723) Accept a wider variety of token responses.
* [azure-core-cpp] Update to 1.10.1
## 1.10.1 (2023-07-06)
### Breaking Changes
- [[#4662]](https://github.com/Azure/azure-sdk-for-cpp/issues/4662) `Azure::Core::Operation<T>::GetRawResponseInternal()` is now deprecated and no longer requires an overload.
### Other Changes
- Empty diagnostic messages will no longer be generated.
* [azure-core-amqp-cpp] Update to 1.0.0-beta.1
## 1.0.0-beta.1 (2023-07-06)
### Features Added
- Initial release
* Dependency search fix
* Dependency link fix
* x-add-version
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* [azure-security-keyvault-administration-cpp] Update to 4.0.0-beta.3
* [azure-identity-cpp] Update to 1.5.0
## 1.5.0 (2023-05-04)
### Features Added
- Added support for challenge-based and multi-tenant authentication.
- Added `DefaultAzureCredential`.
### Bugs Fixed
- [[#4443]](https://github.com/Azure/azure-sdk-for-cpp/issues/4443) Fixed potentially high CPU usage on Windows.
### Other Changes
- Improved diagnostics to utilize `Azure::Core::Credentials::TokenCredential::GetCredentialName()`.
- Improved log messages.
* [azure-core-cpp] Update to 1.9.0
## 1.9.0 (2023-05-04)
### Features Added
- Added the ability to ignore invalid certificate common name for TLS connections in WinHTTP transport.
- Added `DisableTlsCertificateValidation` in `TransportOptions`.
- Added `TokenCredential::GetCredentialName()` to be utilized in diagnostic messages. If you have any custom implementations of `TokenCredential`, it is recommended to pass the name of your credential to `TokenCredential` constructor. The old parameterless constructor is deprecated.
- Added support for challenge-based and multi-tenant authentication.
### Bugs Fixed
- Fixed the UUID generation so the variant is RFC 4122 conforming.
### Other Changes
- [[#4352]](https://github.com/Azure/azure-sdk-for-cpp/pull/4352) Fixed compilation error on Visual Studio 2017. (A community contribution, courtesy of _[jorgen](https://github.com/jorgen)_)
### Acknowledgments
Thank you to our developer community members who helped to make Azure Core better with their contributions to this release:
- Jorgen Lind _([GitHub](https://github.com/jorgen))_
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
## 1.4.0 (2023-02-07)
### Features Added
- Added token caching. To benefit from it, share the `shared_ptr` to the same credential instance between multiple client instances.
- Added Azure CLI Credential.
- Added authority host overriding support for `ClientCertificateCredential`.
- Added Azure Stack support for `ClientCertificateCredential`.
- Added Azure App Service API version `2019-08-01` support for `ManagedIdentityCredential`.
* [azure-core-cpp] Update to 1.0.0
## 1.0.0 (2021-06-04)
### Bug Fixes
- Make `RequestFailedException` copiable so it can be propagated across thread.
- By default, add `x-ms-request-id` header to the allow list of headers to log.
* [azure-identity-cpp] Update to 1.0.0
## 1.0.0 (2021-06-04)
No API changes since `1.0.0-beta.6`.
* [azure-core-cpp] Update to 1.0.0-beta.9
## 1.0.0-beta.9 (2021-05-18)
### New Features
- Added `Azure::PagedResponse<T>`.
### Breaking Changes
- Added `final` specifier to classes and structures that are are not expected to be inheritable at the moment.
- Removed `Context::GetApplicationContext()` in favor of a new static data member `Context::ApplicationContext`.
- Renamed `Request::IsDownloadViaStream()` to `ShouldBufferResponse()`.
- Removed the `Azure::Core::Http::Request` ctor overload that takes both a `bodyStream` and a `bufferedDownload` boolean since it is not useful.
- Changed integer size parameters for buffers from `int64_t` to `size_t` in various places such as `Azure::Core::IO::BodyStream::Read()` APIs.
- Removed the `Azure::Core::Diagnostics::Logger::Listener` typedef.
### Bug Fixes
- Do not re-use a libcurl connection to same host but different port.
- Fixed curl transport issue to avoid crash at exit when curl connection pool cleanup thread is running.
- Ensure uniqueness of `Azure::Core::Uuid` on POSIX platforms.
### Other Changes and Improvements
- Modified precondition validation of function arguments to now result in assert failures rather than throwing an exception.
- Remove exposing windows.h header from our public headers.
- Improved performance of the WinHTTP transport layer on Windows for uploading large payloads.
* [azure-identity-cpp] Update to 1.0.0-beta.6
## 1.0.0-beta.6 (2021-05-18)
### Breaking Changes
- Added `final` specifier to classes and structures that are are not expected to be inheritable at the moment.
* [azure-security-keyvault-common-cpp] Update to 4.0.0-beta.2
## 4.0.0-beta.2 (2021-05-18)
### Breaking Changes
- Added `final` specifier to classes and structures that are are not expected to be inheritable at the moment.
- Removed `KeyVaultException`.
- Removed `ClientOptions`.
* [azure-security-keyvault-keys-cpp] Update to 4.0.0-beta.2
## 4.0.0-beta.2 (2021-05-18)
### New Features
- Added support for importing and deserializing EC and OCT keys.
- Added cryptography client.
- Added `CreateFromResumeToken()` to `DeletedKeyOperation` and `RecoverKeyOperation`.
### Breaking Changes
- Added `final` specifier to classes and structures that are are not expected to be inheritable at the moment.
- Renamed `GetPropertiesOfKeysSinglePage()` to `GetPropertiesOfKeys()`.
- Renamed `GetPropertiesOfKeyVersionsSinglePage()` to `GetPropertiesOfKeyVersions()`.
- Renamed `GetDeletedKeysSinglePage()` to `GetDeletedKeys()`.
- Renamed `KeyPropertiesSinglePage` to `KeyPropertiesPageResult`.
- Renamed `DeletedKeySinglePage` to `DeletedKeyPageResult`.
- Renamed `GetPropertiesOfKeysSinglePageOptions` to `GetPropertiesOfKeysOptions`.
- Renamed `GetPropertiesOfKeyVersionsSinglePageOptions` to `GetPropertiesOfKeyVersionsOptions`.
- Renamed `GetDeletedKeysSinglePageOptions` to `GetDeletedKeysOptions`.
- Removed `Azure::Security::KeyVault::Keys::JsonWebKey::to_json`.
- Replaced static functions from `KeyOperation` and `KeyCurveName` with static const members.
- Replaced the enum `JsonWebKeyType` for a class with static const members as an extensible enum called `KeyVaultKeyType`.
- Renamed `MaxResults` to `MaxPageResults` for `GetSinglePageOptions`.
- Changed the returned type for list keys, key versions, and deleted keys from `Response<T>` to `PagedResponse<T>` affecting:
- `GetPropertiesOfKeysSinglePage()` and `GetPropertiesOfKeyVersionsSinglePage()` now returns `KeyProperties`.
- `GetDeletedKeysSinglePage()` now returns `DeletedKey`.
- Removed `ResumeDeleteKeyOperation()` and `ResumeRecoverKeyOperation()`.
### Bug Fixes
- Fix getting a resume token from delete and recover key operations.
* [azure-storage-common-cpp] Update to 12.0.0-beta.11
## 12.0.0-beta.11 (2021-05-19)
### Breaking Changes
- Added `final` specifier to classes and structures that are are not expected to be inheritable at the moment.
- Removed `Azure::PagedResponse<T>`.
### Bug Fixes
- Fixed a stream leak issue in `ReliableStream`.
* [azure-storage-blobs-cpp] Update to 12.0.0-beta.11
## 12.0.0-beta.11 (2021-05-19)
### Breaking Changes
- Added `final` specifier to classes and structures that are are not expected to be inheritable at the moment.
- Renamed `HasMorePages()` in paged response to `HasPage()`.
- Default chunk size for concurrent upload was changed to nullable.
- `BlobLeaseClient::Change()` updates internal lease id.
- Removed `ContentType` from `GetBlockListResult`.
- Moved `GetPageRangesResult` to detail namespace.
- `BlobServiceClient::UndeleteBlobContainer` doesn't support restoring a deleted container under a different name anymore.
- Changed the type of block count to `int32_t`.
* [azure-storage-files-datalake-cpp] Update to 12.0.0-beta.11
## 12.0.0-beta.11 (2021-05-19)
### New Features
- Added `DataLakePathClient::SetAccessControlListRecursive()`, `UpdateAccessControlListRecursive()` and `RemoveAccessControlListRecursive()`.
### Breaking Changes
- Added `final` specifier to classes and structures that are are not expected to be inheritable at the moment.
- Renamed `HasMorePages()` in paged response to `HasPage()`.
- Default chunk size for concurrent upload was changed to nullable.
- `DataLakeLeaseClient::Change()` updates internal lease id.
* [azure-storage-files-shares-cpp] Update to 12.0.0-beta.11
## 12.0.0-beta.11 (2021-05-19)
### New Features
- Added `ShareDirectoryClient::ForceCloseAllHandles()` and `ShareFileClient::ForceCloseAllHandles()`.
### Breaking Changes
- Added `final` specifier to classes and structures that are are not expected to be inheritable at the moment.
- Renamed `HasMorePages()` in paged response to `HasPage()`.
- `ShareLeaseClient::Change()` updates internal lease id.
- `ShareItem::ShareMetadata` was renamed to `ShareItem::Metadata`.
* [azure-sdk-for-cpp] Upgrade vcpkg manifest files
* Update version files
* vcpkg format-manifest
* Update version files
* Minor change to re-trigger CI
* Undo that minor change
* Bump up port-version
* Update x-add-version
* redo x-add-version without overwrite
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* [azure-core-cpp] Update to 1.0.0-beta.8
## 1.0.0-beta.8 (2021-04-07)
### New Features
- Added `Azure::Core::Url::GetScheme()`.
- Added `Azure::Core::Context::TryGetValue()`.
- Added `Azure::Core::Context::GetDeadline()`.
- Added `Azure::Core::Credentials::TokenCredentialOptions`.
- Added useful fields to the `Azure::Core::RequestFailedException` class such as `StatusCode`, `ReasonPhrase`, and the `RawResponse`, for better diagnosis of errors.
### Breaking Changes
- Simplified the `Response<T>` API surface to expose two public fields with direct access: `T Value` and a `unique_ptr` to an `Azure::Core::Http::RawResponse`.
- Renamed `Azure::Nullable<T>::GetValue()` to `Value()`.
- Removed from `Azure::Core::Http::Request`:
- `SetUploadChunkSize()`.
- `GetHTTPMessagePreBody()`.
- `GetUploadChunkSize()`.
- `GetHeadersAsString()`.
- Changes to `Azure::Core::Http::RawResponse`:
- Removed `SetHeader(std::string const& header)`
- Removed `SetHeader(uint8_t const* const first, uint8_t const* const last)`.
- Removed `GetMajorVersion()`.
- Removed `GetMinorVersion()`.
- Renamed `GetBodyStream()` to `ExtractBodyStream()`.
- Changes to `Azure::Core::Context`:
- Removed `Get()` and `HasKey()` in favor of a new method `TryGetValue()`.
- Changed input parameter type of `WithDeadline()` to `Azure::DateTime`.
- Removed `Azure::Core::PackageVersion`.
- Removed from `Azure::Core::Http::Policies` namespace: `HttpPolicyOrder`, `TransportPolicy`, `RetryPolicy`, `RequestIdPolicy`, `TelemetryPolicy`, `BearerTokenAuthenticationPolicy`, `LogPolicy`.
- Removed `AppendQueryParameters()`, `GetUrlWithoutQuery()` and `GetUrlAuthorityWithScheme()` from `Azure::Core::Url`.
- Changed the `Azure::Core::Http::HttpMethod` regular enum into an extensible enum class and removed the `HttpMethodToString()` helper method.
- Introduced `Azure::Core::Context::Key` class which takes place of `std::string` used for `Azure::Core::Context` keys previously.
- Changed the casing of `SSL` in API names to `Ssl`:
- Renamed type `Azure::Core::Http::CurlTransportSSLOptions` to `CurlTransportSslOptions`.
- Renamed member `Azure::Core::Http::CurlTransportOptions::SSLOptions` to `SslOptions`.
- Renamed member `Azure::Core::Http::CurlTransportOptions::SSLVerifyPeer` to `SslVerifyPeer`.
### Other changes and Improvements
- Moved `Azure::Core::Http::Request` to its own header file from `http.hpp` to `inc/azure/core/http/raw_response.hpp`.
- Moved `Azure::Core::Http::HttpStatusCode` to its own header file from `http.hpp` to `inc/azure/core/http/http_status_code.hpp`.
* [azure-identity-cpp] Update to 1.0.0-beta.5
## 1.0.0-beta.5 (2021-04-07)
### New Features
- Add Active Directory Federation Service (ADFS) support to `ClientSecretCredential`.
### Breaking Changes
- Removed `Azure::Identity::PackageVersion`.
* [azure-storage-common-cpp] Update to 12.0.0-beta.10
## 12.0.0-beta.10 (2021-04-16)
### New Features
- Added server timeout support.
- Added `PagedResponse<T>` for returning paginated collections.
### Breaking Changes
- Removed `Azure::Storage::Common::PackageVersion`.
- Moved `ReliableStream` to internal namespace.
- Removed `HttpGetterInfo` and `HTTPGetter` from the `Azure::Storage` namespace.
* [azure-storage-blobs-cpp] Update to 12.0.0-beta.10
## 12.0.0-beta.10 (2021-04-16)
### Breaking Changes
- Removed `Azure::Storage::Blobs::PackageVersion`.
- Renamed `GetUserDelegationKeyOptions::startsOn` to `StartsOn`.
- Replaced all paginated collection functions that have the SinglePage suffix with pageable functions returning a `PagedResponse<T>`-derived type. The options are also renamed accordingly.
- `BlobServiceClient::ListBlobContainers()`.
- `BlobServiceClient::FindBlobsByTags()`.
- `BlobContainerClinet::ListBlobs()`.
- `BlobContainerClient::ListBlobsByHierarchy()`.
- `PageBlobClient::GetPageRanges()`.
- `PageBlobClient::GetPageRangesDiff()`.
- `PageBlobClient::GetManagedDiskPageRangesDiff()`.
- Renamed `FilterBlobItem` to `TaggedBlobItem`.
- `FindBlobsByTags()` now returns `FindBlobsByTagsPagedResponse` and the field `FindBlobsByTagsSinglePageResult::Items` was renamed to `FindBlobsByTagsPagedResponse::TaggedBlobs`.
* [azure-storage-files-datalake-cpp] Update to 12.0.0-beta.10
## 12.0.0-beta.10 (2021-04-16)
### Breaking Changes
- Removed `Azure::Storage::Files::DataLake::PackageVersion`.
- Renamed `GetUserDelegationKeyOptions::startsOn` to `StartsOn`.
- Replaced all paginated collection functions that have the SinglePage suffix with pageable functions returning a `PagedResponse<T>`-derived type. The options are also renamed accordingly.
- `DataLakeServiceClient::ListFileSystems()`.
- `DataLakeFileSystemClient::ListPaths()`.
- `DataLakeDirectoryClient::ListPaths()`.
- Removed `DataLakePathClient::SetAccessControlListRecursiveSinglePage()`, `UpdateAccessControlListRecursiveSinglePage()` and `RemoveAccessControlListRecursiveSinglePage()`.
### Bug Fixes
- Rename functions always fail because `/` was left out in the renamed source path.
* [azure-storage-files-shares-cpp] Update to 12.0.0-beta.10
## 12.0.0-beta.10 (2021-04-16)
### Breaking Changes
- Removed `Azure::Storage::Files::Shares::PackageVersion`.
- Renamed `GetUserDelegationKeyOptions::startsOn` to `StartsOn`.
- Removed `ShareClient::ListFilesAndDirectories()`.
- Replaced all paginated collection functions that have the SinglePage suffix with pageable functions returning a `PagedResponse<T>`-derived type. The options are also renamed accordingly.
- `ShareServiceClient::ListShares()`.
- `ShareDirectoryClient::ListFilesAndDirectories()`.
- `ShareDirectoryClient::ListHandles()`.
- `ShareFileClient::ListHandles()`.
- Removed `ShareDirectoryClient::ForceCloseAllHandlesSinglePage()` and `ShareFileClient::ForceCloseAllHandlesSinglePage()`.
* Update vcpkg ports to use a manifest json file instead of a CONTROL file.
* Update git tree sha versions using the command 'x-add-version --all --overwrite-version'
Co-authored-by: Ahson Khan <ahkha@microsoft.com>
* Update port for azure-identity-cpp
* Update port version SHA
* Remove comment header from CONTROL file
* Remove comment header from portfile.cmake file
* Update port version SHA once again
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>