Update Azure.Identity to 1.21.0#29654
Conversation
| Thanks for your contribution! The pull request validation has started. Please revisit this comment for updated status. |
There was a problem hiding this comment.
Pull request overview
This PR updates shared/authentication-related dependencies used across Azure PowerShell (primarily those shipped/loaded via Az.Accounts) and applies small code adjustments in several modules to resolve type/namespace ambiguities introduced by the dependency bumps.
Changes:
- Bumped shared/runtime dependency set (Azure.Core/Azure.Identity/MSAL/System.* and related transitive deps) and refreshed the Az.Accounts conditional assembly loading inventory.
- Updated several modules’ code to fully-qualify
Identitymodel types to avoid ambiguous references. - Added a repo agent guide for the standard shared-dependency update workflow and documented the dependency changes in Az.Accounts’ changelog.
Reviewed changes
Copilot reviewed 29 out of 60 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| tools/Common.Netcore.Dependencies.targets | Updates compile-time Azure.Core reference version. |
| src/lib/manifest.json | Updates the shared dependency manifest (versions, TFMs, adds new transitive deps). |
| src/Accounts/AssemblyLoading/ConditionalAssemblyProvider.cs | Regenerates/updates the shared assembly load list/versions for Az.Accounts. |
| src/lib/cgmanifest.json | Updates component governance manifest to match updated shared dependencies. |
| src/Accounts/Authentication/Authentication.csproj | Bumps Azure.Identity/Azure.Identity.Broker/MSAL compile-time references. |
| src/Accounts/Authenticators/Factories/AzureCredentialFactory.cs | Updates Managed Identity credential construction and suppresses obsolete API warnings. |
| src/Accounts/Authenticators/SilentAuthenticator.cs | Adds scoped obsolete-warning suppressions around SharedTokenCache credential options. |
| src/Accounts/Authenticators/UsernamePasswordAuthenticator.cs | Adds scoped obsolete-warning suppression (with a TODO to migrate). |
| src/Accounts/Accounts/ChangeLog.md | Adds Upcoming Release notes for dependency upgrades. |
| .github/agents/dependencyUpdate.agent.md | Adds guidance for contributors on updating shared dependencies via AzDev. |
| src/Storage/Storage.Management/StorageAccount/SetAzureStorageAccount.cs | Fully qualifies Storage Identity usage to resolve conflicts. |
| src/Storage/Storage.Management/StorageAccount/NewAzureStorageAccount.cs | Fully qualifies Storage Identity usage to resolve conflicts. |
| src/Storage/Storage.Management/Models/PSStorageAccount.cs | Fully qualifies Storage Identity property type. |
| src/Search/Search/SearchService/SetSearchServiceCommand.cs | Resolves Identity ambiguity via namespace alias/cast. |
| src/Search/Search/SearchService/NewSearchServiceCommand.cs | Resolves Identity ambiguity via namespace alias/cast. |
| src/Search/Search/Models/PSIdentity.cs | Updates explicit conversion operators to use a namespace alias for Identity. |
| src/Resources/Resources/Resources.csproj | Updates Microsoft.Extensions.DependencyInjection.Abstractions reference. |
| src/Resources/ResourceManager/SdkModels/Resources/PSResource.cs | Fully qualifies ResourceManager Identity to resolve conflicts. |
| src/RecoveryServices/RecoveryServices/RecoveryServices.csproj | Updates System.Security.Cryptography.Cng package reference. |
| src/KeyVault/KeyVault/KeyVault.csproj | Updates System.Security.Cryptography.Cng package reference. |
| src/IotHub/IotHub/IotHub.csproj | Updates Microsoft.Extensions.DependencyInjection.Abstractions reference. |
| src/DataFactory/DataFactoryV1/DataFactoryV1.csproj | Updates System.IO.FileSystem.AccessControl package reference. |
| src/OperationalInsights/OperationalInsights/Models/PSIdentity.cs | Fully qualifies OperationalInsights Identity to resolve conflicts. |
| src/CognitiveServices/CognitiveServices/Models/PSCognitiveServicesAccount.cs | Fully qualifies CognitiveServices Identity property type. |
| src/CognitiveServices/CognitiveServices/CognitiveServicesAccount/SetAzureCognitiveServicesAccount.cs | Fully qualifies CognitiveServices Identity instantiation. |
| src/CognitiveServices/CognitiveServices/CognitiveServicesAccount/NewAzureCognitiveServicesAccount.cs | Fully qualifies CognitiveServices Identity instantiation. |
| src/Automation/Automation/Model/AutomationAccount.cs | Fully qualifies Automation Identity property type. |
| src/Automation/Automation/Common/AutomationPSClient.cs | Uses an alias to fully qualify Automation Identity construction. |
| src/ArtifactSigning/ArtifactSigning/ArtifactSigning.csproj | Updates System.Formats.Asn1 package reference. |
Comments suppressed due to low confidence (1)
src/Accounts/Accounts/ChangeLog.md:27
- In the Upcoming Release notes, “MSAL” is introduced without expansion. Per changelog guidance, please expand less-obvious acronyms on first use in the release section (e.g., “MSAL (Microsoft Authentication Library)”).
* Upgraded `System.Text.Json` dependency from 8.0.6 to 10.0.3.
* Upgraded MSAL dependencies (`Microsoft.Identity.Client`, `Microsoft.Identity.Client.Extensions.Msal`, `Microsoft.Identity.Client.Broker`) from 4.83.1 to 4.84.0.
| @@ -13,6 +13,7 @@ | |||
| // ---------------------------------------------------------------------------------- | |||
|
|
|||
| using Microsoft.Azure.Management.Search.Models; | |||
| * Upgraded `Azure.Identity.Broker` dependency from 1.1.0 to 1.6.0. | ||
| * Upgraded `System.ClientModel` dependency from 1.8.0 to 1.12.0. | ||
| * Upgraded `System.Text.Json` dependency from 8.0.6 to 10.0.3. | ||
| * Upgraded MSAL dependencies (`Microsoft.Identity.Client`, `Microsoft.Identity.Client.Extensions.Msal`, `Microsoft.Identity.Client.Broker`) from 4.83.1 to 4.84.0. |
| public virtual TokenCredential CreateManagedIdentityCredential(string clientId) | ||
| { | ||
| return new ManagedIdentityCredential(clientId); | ||
| return string.IsNullOrEmpty(clientId) |
There was a problem hiding this comment.
Double checked this wont change behaviour. Confirmed null or empty ClientId will result in the same outcome.
|
|
|
This PR targets an out-of-band release after 16.0.0 |
| * Upgraded MSAL dependencies (`Microsoft.Identity.Client`, `Microsoft.Identity.Client.Extensions.Msal`, `Microsoft.Identity.Client.Broker`) from 4.83.1 to 4.84.0. | ||
| * Upgraded `Microsoft.Identity.Client.NativeInterop` from 0.20.2 to 0.20.4. | ||
| * Added `-AcquirePolicyToken` and `-ChangeReference` dynamic parameters to all write cmdlets for Azure Change Safety policy token acquisition |
| CreateAssembly("netstandard2.0", "System.Text.Json", "8.0.0.0"), | ||
| CreateAssembly("netstandard2.0", "System.Text.Json", "10.0.0.0"), | ||
| CreateAssembly("netstandard2.0", "System.Threading.Tasks.Extensions", "4.2.1.0").WithWindowsPowerShell(), | ||
| CreateAssembly("netstandard2.0", "System.ComponentModel.Annotations", "8.0.0.0").WithWindowsPowerShell(), |
| "System.Text.Encodings.Web", | ||
| "System.Text.Json" //TODO: Compare Version along with Azure.Core | ||
| "System.Text.Json", //TODO: Compare Version along with Azure.Core | ||
| "System.ComponentModel.Annotations", |
| CreateAssembly("netstandard2.0", "System.Text.Json", "8.0.0.0"), | ||
| CreateAssembly("netstandard2.0", "System.Text.Json", "10.0.0.0"), | ||
| CreateAssembly("netstandard2.0", "System.Threading.Tasks.Extensions", "4.2.1.0").WithWindowsPowerShell(), | ||
| CreateAssembly("netstandard2.0", "System.ComponentModel.Annotations", "8.0.0.0").WithWindowsPowerShell(), |
| "WindowsPowerShell": true, | ||
| "PowerShell7Plus": true | ||
| }, | ||
| { |
| { | ||
| "component": { | ||
| "type": "nuget", | ||
| "nuget": { | ||
| "name": "Microsoft.Bcl.AsyncInterfaces", | ||
| "version": "8.0.0" | ||
| "version": "10.0.3" | ||
| } | ||
| } | ||
| }, |
| CreateAssembly("netstandard2.0", "System.ClientModel", "1.12.0.0"), | ||
| CreateAssembly("netstandard2.0", "System.Formats.Asn1", "8.0.0.0").WithWindowsPowerShell(), | ||
| CreateAssembly("netstandard2.0", "System.Memory.Data", "8.0.0.1"), | ||
| CreateAssembly("netstandard2.0", "System.IO.Pipelines", "10.0.0.0"), |
Description
This pull request primarily upgrades key dependencies across multiple modules to their latest versions and makes several related code adjustments to ensure compatibility. It also clarifies build instructions and introduces minor code refactoring for improved type clarity and maintainability.
Mandatory Checklist
Please choose the target release of Azure PowerShell. (⚠️ Target release is a different concept from API readiness. Please click below links for details.)
Check this box to confirm: I have read the Submitting Changes section of
CONTRIBUTING.mdand reviewed the following information:ChangeLog.mdfile(s) appropriatelysrc/{{SERVICE}}/{{SERVICE}}/ChangeLog.md.## Upcoming Releaseheader in the past tense.ChangeLog.mdif no new release is required, such as fixing test case only.