* Delete cgmanifest.json when being installed via vcpkg, but also update SHAs
* Update cspell
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Implement Phase 3 features for DefaultAzureCredential
* Forgotten change to update header
* Clang-format
* GCC fix
* Change 'envVarName' string parameter to a boolean 'requireEnvVarValue' parameter
* Rename EnvVarName to CredentialSpecifierEnvVarName and make it constexpr auto
* requireEnvVarValue => requireCredentialSpecifierEnvVarValue
* Clang-format
* Update unit test name
* Clang-format
* Update CHANGELOG with new features and bug fixes
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Azure Core and Identity September Releases
* "Identity"
* Update azure-core-cpp version to 1.16.0
* Enclose BIO_seek() OpenSSL macro in -Wold-style-cast ignore pragmas for macOS
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Bump github.com/microsoft/vcpkg from master to 2025.08.27
Bumps [github.com/microsoft/vcpkg](https://github.com/microsoft/vcpkg) from master to 2025.08.27. This release includes the previously tagged commit.
- [Release notes](https://github.com/microsoft/vcpkg/releases)
- [Commits](ef7dbf94b9...120deac306)
---
updated-dependencies:
- dependency-name: github.com/microsoft/vcpkg
dependency-version: 2025.08.27
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* Update corresponding files
* Stop using deprecated members from libxml2
* Clang-format
* Update use of opentelemetry deprecated include file
* Clang-format
* Another Opentelemetry breaking change
* Add include file
* NO_LINKER_OVERRIDE
* -framework Security on macOS
* Disable CurlTransportOptions.setCADirectory test on Mac
* disable -Wold-style-cast from external sources on mac
* Wrap all openssl includes to ignore -Wold-style-cast for clang
* Update cspell
* Wrap all usages of BIO_get_mem_data() macro to ignore -Wold-style-cast for clang
* Clang-format
* Clang-format
* Clang-format
* Wrap all usages of BIO_flush() macro to ignore -Wold-style-cast for clang
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Bump github.com/microsoft/vcpkg
---
updated-dependencies:
- dependency-name: github.com/microsoft/vcpkg
dependency-version: ef7dbf94b9198bc58f45951adcf1f041fcbc5ea0
dependency-type: direct:production
...
Signed-off-by: dependabot[bot] <support@github.com>
* Update vcpkg.json
* Update default VCPKG commit hash in AzureVcpkg.cmake
* try fixing CI by updating xcode version
* 16.2 -> 16.4
* Fix the reason for overfow warning
* Suppress warning C6326: Potential comparison of a constant with another constant.
* Undo unintended format
* Correct condition to check whether it is possible to add epoch to system clock max without overflow
* Insert info for debugging on mac
* Better temp log formatting
* Use largest int type for calcuations (mac fix)
* In case system clock is lesser resolution than Azure::DateTime, do all calculations in a greater ration to avoid integer overflows
* Avoid overflowing system clock max when converting to time since epoch
* Add one more variable for debug logging on mac
* Avoid one more integer overflow
* Remove debug stuff
* CLang-format
* More clang-format
* Less conversions if equal
* Commit to reset CI
* Undo commit to reset CI
---------
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Rick Winter <rick.winter@microsoft.com>
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Azure Core and Identity July GA Releases
* Add Identity to the release
* Undo change to FolderList.cmake (chicken vs egg problem; we'll have to update after the release)
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Identity: IMDS fail-fast and Cred order change in DAC (and Core support)
* Mac fix and cspell update
* Update unit test and clang-format
* Temporarily update samples to use AzCliCred until recordings are re-recorded
* Revert samples back to use DAC
* Remove SAS auth from Tables template
* Clang-format
* Add support for 'AZURE_POD_IDENTITY_AUTHORITY_HOST', override it for running samples in CI
* Add unit test for AZURE_POD_IDENTITY_AUTHORITY_HOST
* "in milliseconds"
Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com>
* PR Feedback
* Named constant + comment
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
Co-authored-by: Scott Addie <10702007+scottaddie@users.noreply.github.com>
* Fix Windows error for failing curl SSL cache
* Fix unused parameter warning in win_http_transport.cpp, as in #6579
* Update changelog, cspell, and conditional init m_sslShareHandle
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Add SSL caching share for curl
* Use correct destructor for CURLSH RAII
* Unit tests passing locally
* Add curloptions test for coverage and fix clangformat errors
* whitespace reverts
* Fix clang format errors
* Address PR comments
* Update changelog and CI line coverage target
* Update Changelog and set curl options test to disable ssl caching for validating non-default codepath
* Update sdk/core/azure-core/CHANGELOG.md
* Update CHANGELOG.md
* Update cspell.json
---------
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* Temporarily disable CheckFailedCrlValidation test to unblock CI
* Update branch coverage
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Use TokenCredential *const* everywhere
* Use left const where the surrounding code also uses it
* Use left const everywhere
* Clang-format
* More clang-format
* typos
* Clang-format
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Initial attempt at a Rust AMQP stack, merged against feature/rust_amqp for now. (#5942)
* Enabled building AMQP *without* uAMQP
* Start integrating Rust AMQP Value to C++ AMQP Value
* AMQP Value tests now pass
* Moved AmqpValueType ostream inserter to its original location
* Added Rust AMQP Message implementation
* Added start of message source tests
* Enabled building AMQP *without* uAMQP
* Start integrating Rust AMQP Value to C++ AMQP Value
* Moved AmqpValueType ostream inserter to its original location
* Message target support
* Message source and target support
* Add connection support; restructured tests to fail on RUST AMQP rather than attempting to run; removed some uAMQP-only features (#5986)
* Checkpoint of connection logic
* Started implementing Rust based Connection by pulling out uAMQP artifacts
* Implemented AMQP Connection in Rust; started API surface refactoring for Rust APIs; Refactored tests to remove some uAMQP only elements.
* Don't leak runtime context on calls
* Refactor AMQP logic to better isolate rust AMQP code from uAMQP code. (#6008)
* refactor uAMQP and Rust AMQP into separate implementations for ease of use
* Add connection support; restructured tests to fail on RUST AMQP rather than attempting to run; removed some uAMQP-only features (#5986)
* Checkpoint of connection logic
* Started implementing Rust based Connection by pulling out uAMQP artifacts
* Implemented AMQP Connection in Rust; started API surface refactoring for Rust APIs; Refactored tests to remove some uAMQP only elements.
* Don't leak runtime context on calls
* export UUID from AMQP
* Cleaned up some more elements; reduced scope of doxygen significantly
* runtime context needs to be process global not thread global; all tests pass or fail at this point
* Merged main into branch
* Implement AMQP Session APIs in Rust. (#6033)
* Checkpoint of rust session support
* Session begin/end now works
* Session tests pass
* Removed accidental regression
* Added rust per-call context (#6043)
* Reworked runtime context to be call context
* Added context parameter to blocking AMQP calls
* Added comments around the lifetime of the RustRuntimeContext captured in the CallContext object
* uAMQP changes corresponding to Rust changes
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* sync rust SDK fixes to C++
---------
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* Enable Rust ClaimsBasedSecurity interoperability; Converted EventHubs producer client to work with Rust AMQP changes. (#6059)
* canonicalized return values; initial CBS support
* Implementation of CBS for C++
* Amqp Authentication works; Integrate Rust AMQP into Eventhubs Producer client
* Implemented Rust AMQP message sender. (#6083)
* Initial sender implementation
* PR feedback
* Management APIs work (#6096)
* Management APIs work
---------
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* Converted builders to be compliant with Rust guidelines. (#6102)
* Converted builders to be compliant with Rust guidelines.
* Bring rust changes back to C++ repo
* Improved builder developer experience
* Removed builders from AMQP layer to conform to Rust guidelines; Fixed AMQP bug in message sender tests (#6208)
* Removed builders from AMQP layer to conform to Rust guidelines; Fixed AMQP related bug in message sender tests
* Pr feedback
* Implement receiving messages; Changes to eventhubs so that all eventhubs tests pass (#6254)
* Eventhubs tests pass
* Noise reduction; explain the task which spawns a task
* Update sdk/eventhubs/azure-messaging-eventhubs/src/producer_client.cpp
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* PR feedback
---------
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* Integrate Rust 2 step message receive code to C++ (#6349)
* Integrate Rust 2 step message receive code to C++
* If receiving a delivery failed, transmit the error to the message channel if at all possible
* Enable Rust based AMQP by default (#6362)
* AMQP tests now pass; Integrate TestAmqpBroker with CI pipeline
* Updated changelogs to reflect API changes made during AMQP updates
* Replace uAMQP with Rust AMQP as the default AMQP transport; Updated build configurationj to reflect that
* Test fixes
* PR feedback; test fixes
* Fixed uninitialized variable tanking some tests (#6381)
* Fixed uninitialized variable tanking some tests
* Fixed Rust AMQP tests
* Removed connection string support from Eventhubs and EH tests. (#6391)
* Removed the ability to use connection strings from EventHubs
* Enable Rust AMQP by default!!!
* Update CMakePresets.json
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
---------
Co-authored-by: Anton Kolesnyk <41349689+antkmsft@users.noreply.github.com>
* Docs links coversion: docs.microsoft.com -> learn.microsoft.com
Some markdown formatting
* Adding "msrc" to cspell words
* Undoing things auto formatter did
* Appling Ahson's suggestions
* Very preliminary mTLS implementation
* Tests for TLS client certificate
* Tested mTLS functionality
* Added changelog entry; updated PCCERT_CONTEXT using declaration to be more succinct.
* Minor code cleanups
* Update claims_based_security_impl.hpp
Undo UniqueAmqpCbsHandle removal - it is right, but will create problems for Larry working in a feature branch when merging it back.
* Update claims_based_security_impl.hpp
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Move UserAgentGenerator to _internal
* Clang-format
* Update release date to November release (Core)
* Update release date to November release (EventHubs)
* _MSVC_LANG
* Move comment up
* Add /Zc:__cplusplus when building the SDK, and add unittest
---------
Co-authored-by: Anton Kolesnyk <antkmsft@users.noreply.github.com>
* Set token to be expired if response comes back as unauthorized.
* Add CL entry.
* Update CL.
* Use trc MinimumExpiration to invalidate the credential's token cache.
* Add test.
* Address PR feedback.
* Remove comment as it is no longer relevant.
* Use initializer list syntax to see if posix compilers are okay with that.
* Keep the bool field as non-atomic.
* Revert "Keep the bool field as non-atomic."
This reverts commit 1b8c7622d5234b010bb0a4eb5db8a436de5a2adf.
The SONAME currently written to shared libraries is unversioned, e.g.
libazure-core.so. The SDK's ABI is unstable, so replacing these .so
files with newer versions will immediately break any consumers.
Setting the VERSION property results in libazure-core.so being a symlink
that is used at build time to point to the versioned library, e.g.
libazure-core.so.1.14.0. Consumers point directly to the versioned
library and continue to work against the older version when the library
is upgraded. Once rebuilt, they then point to the newer version instead.
It is more common to use an ABI version that is separate to the library
version, but it makes sense to use the latter when the ABI is unstable.
The Boost libraries do exactly this.
This change has no effect on static libraries, which is the more common
use case. See the CMake documentation for its wider effects.
https://cmake.org/cmake/help/latest/prop_tgt/VERSION.html