Repository navigation
Releases: AzureAD/microsoft-identity-web
Releases · AzureAD/microsoft-identity-web
Release list
4.16.1
4.16.0
What's Changed
- Add 4.15.0 release notes by Iarek Kovtunenko (@iarekk) in #4050
- Post-release 4.15.0: mark APIs shipped and bump version by Iarek Kovtunenko (@iarekk) in #4060
- Add Sidecar 1.1.2 changelog by Tanuj Sood (@soodt) in #4070
- Fix FIC telemetry enrichment during credential warm-up and assertion cache hits by Neha Bhargava (@neha-bhargava) in #4072
- Update agentic docs to cover current behavior by Avery-Dunn in #4077
- Bump the notsecurity group with 4 updates by Dependabot (@dependabot)[bot] in #4074
Full Changelog: 4.15.0...4.16.0
4.15.0
Federated credentials and proof of possession
- Federated credential token exchange derives cloud-specific audience and scope metadata from the authority host, with explicit overrides still supported. #3994
- The Entra Sidecar
/Validateendpoint accepts Signed HTTP Request proof-of-possession tokens for app-only client-credential flows. #4008 - Credential Guard key attestation is available through the optional
Microsoft.Identity.Web.KeyAttestationpackage andAddMicrosoftIdentityWebKeyAttestation()registration. #4004
Authentication and token acquisition
- EasyAuth app-token acquisition returns an app-only authentication result produced through client credentials. #4015
- Graph v4 credentials are attached only to destinations matching the configured absolute HTTPS origin; custom Graph proxy base URLs remain supported. #4012
Authorization and request validation
- OWIN web APIs require a non-empty recognized scope or role unless ACL-based authorization is explicitly enabled. #4006 #4009
- Explicitly configured missing scope or app-permission requirements now fail authorization. #4010
- Local redirect paths containing control characters are rejected. #4028
Entra Sidecar reliability and validation
- Invalid selected
AgentUserIdvalues return HTTP 400. #4011 - Automatic forwarded-header processing is rejected outside Development when
ForwardedHeaders_Enabled=true. #4018 - Non-local Host headers are rejected outside Development except on
/healthz. #4023 - Windows containers use
ContainerUser, and ACL authorization defaults are correctly applied to named bearer options. #4042
Dependency updates
Microsoft.Identity.ClientandMicrosoft.Identity.Client.KeyAttestation: 4.87.0 -> 4.90.0. #4003 #3994 #4052Microsoft.Identity.Abstractions: 12.6.0 -> 12.7.0. #4020 #3994
Full changelog: 4.14.2...4.15.0
3.16.0
4.14.2
Dependencies updates
- Bump the
Microsoft.IdentityModel.*(Wilson) version to 8.22.0. See #3986. - Fix the net8.0 crypto floor to use the patched
System.Security.Cryptography.Xml8.0.4 (and itsSystem.Security.Cryptography.Pkcs8.0.1 dependency) instead of over-bumping to the 9.0.18 servicing line (CVE-2026-47302, -47304, -50525, -50648). net9.0 (9.0.18) and net10.0 (10.0.10) are unchanged. See #3989.
4.14.0
New features
- Add
MicrosoftIdentityOptions.PartitionAppTokenCacheByAudienceto partition the app token cache by resource/audience. See #3979. - Expose MSAL's background token-refresh callback through Id.Web via
TokenAcquisitionExtensionOptions.OnBackgroundTokenRefreshCompleted. See #3973. - Add
MicrosoftIdentityOptions.UseFastUnboundedCache; stop short-circuiting the in-memory token cache serialization provider. See #3970. - OIDC FIC (
Microsoft.Identity.Web.OidcFIC) now supports mTLS token binding. See #3851.
Bug fixes
- Token binding: the CCA cache key now distinguishes a bound credential (
UseBoundCredential = true) from its unbound equivalent; the certificate-error retry path invalidates the cache entry for the actual request mode (bearer vs mTLS PoP). - Forward the OpenTelemetry tags enricher onto the inner FIC client-assertion leg. See #3968.
Dependencies updates
Microsoft.Identity.Client→ 4.87.0 (#3975)Microsoft.Identity.Abstractions→ 12.6.0 (#3976)System.Security.Cryptography.Xml/System.Security.Cryptography.Pkcs→ patched (CVE-2026-47302, -47304, -50525, -50648) (#3964)- notsecurity group: 1 update (#3965)
Full changelog: 4.13.2...4.14.0
4.13.2
What's Changed
- Apply reserved-header handling on the request-clone path and cover all X-MS-TOKEN- headers by Ignacio Inglese (@iNinja) in #3915
- Restore independent PR pipeline + pool-aware MI identity + net462/472 unit tests by Iarek Kovtunenko (@iarekk) in #3935
- Post-release 4.13.0: changelog and public API shipped move by Neha Bhargava (@neha-bhargava) in #3937
- Remove redundant 'Run unit tests' GitHub Action by Iarek Kovtunenko (@iarekk) in #3939
- Apply consistent redirect-URI validation on AccountController.SignIn by Ignacio Inglese (@iNinja) in #3940
- Fix duplicate logging of MsalUiRequiredException (in-repo copy of #3910) by Iarek Kovtunenko (@iarekk) in #3941
- Use MSAL's recent UserFIC API for agentic flows by Avery-Dunn in #3842
- Restore CustomizeHttpRequestMessage to run after the authorization header by Neha Bhargava (@neha-bhargava) in #3943
- Bump Microsoft.IdentityModel.Tokens.Saml from 5.7.0 to 8.19.1 by Dependabot (@dependabot)[bot] in #3909
- Revert #3909: keep OWIN Saml/WsFederation on 5.7.0 by Iarek Kovtunenko (@iarekk) in #3944
- Bump Microsoft.Identity.Abstractions from 12.4.0 to 12.5.0 by Neha Bhargava (@neha-bhargava) in #3947
- Add OnBeforeAuthHeaderCreation / OnAfterAuthHeaderCreation hooks to DownstreamApi by Neha Bhargava (@neha-bhargava) in #3942
- Update IdentityModelV5Version and SamlPackageVersion to 5.7.1 in proj… by Travis Walker (@trwalke) in #3950
- Rename retired MSALMSIV2 agent pool to MISEManagedIdentity by Gladwin Johnson VR (@gladjohn) with @Copilot in #3949
- Improve IDW10109 error handling for credential loading failures by Avery-Dunn in #3946
- Bump MSAL dependencies to 4.86.1 in central props by Gladwin Johnson VR (@gladjohn) with @Copilot in #3953
- Bump the notsecurity group with 3 updates by Dependabot (@dependabot)[bot] in #3954
Full Changelog: 4.13.0...4.13.2
4.13.0
What's Changed
- Categorize managed-identity E2E tests and exclude them from the PR build by Iarek Kovtunenko (@iarekk) in #3923
- Add more tests for TokenAcquisitionMetadata.ExpiresOn from AuthenticationResult by Neha Bhargava (@neha-bhargava) in #3904
- Test: consolidate MI E2E test onto shared Msal_Integration_tests UAMI by Ryan Auld (@RyAuld) in #3926
- docs: Credential architecture internals documentation by Gladwin Johnson VR (@gladjohn) in #3886
- Potential fix for code scanning alert no. 35: Missing cross-site request forgery token validation by Gladwin Johnson VR (@gladjohn) in #3929
- Register IAuthorizationHeaderProvider2 in DI by Neha Bhargava (@neha-bhargava) in #3927
- Bump Microsoft.Identity.Client to 4.86.0 by Neha Bhargava (@neha-bhargava) in #3931
- Split PR pipeline into independent net8 stages; add MI E2E stage on MSALMSIV2 by Iarek Kovtunenko (@iarekk) in #3933
- Run missing unit test projects in the ADO PR build by Iarek Kovtunenko (@iarekk) in #3934
- Revert PRs #3933 and #3934: restore single-job PR pipeline by Gladwin Johnson VR (@gladjohn) with @Copilot in #3936
Full Changelog: 4.12.2...4.13.0
4.12.2
Bug fixes
- Make the
Microsoft.Identity.Client.KeyAttestationdependency conditional on modern .NET (.NETCoreApp) targets. It transitively pulls the native-onlyMicrosoft.Azure.Security.KeyGuardAttestationpackage, which ships no .NET Framework/netstandard-compatible assets and broke NuGet restore for .NET Framework (packages.config) projects.Microsoft.Identity.Web.Certificatelessnow multi-targets, and .NET Framework consumers use thenetstandard2.0asset without this dependency. See #3894.
4.12.1
Bug fixes
- Preserve
ManagedIdentitywhen convertingAcquireTokenOptionstoTokenAcquisitionOptionsinTokenAcquirer. Previously theITokenAcquirer.GetTokenForAppAsync/GetTokenForUserAsyncpaths silently droppedManagedIdentityand fell back to the confidential-client path, breaking managed-identity mTLS PoP (e.g. MISE Native). See #3914.
Behavior changes
- Sidecar: outbound HTTP redirects suppressed by default. The sidecar no longer follows outbound HTTP redirects; a new opt-in
Sidecar:AllowOutboundRedirectsflag (defaultfalse) restores the previous behavior. See #3906. - Sidecar: per-request isolation of downstream API options. Downstream API options resolved from the singleton
IOptionsMonitorare now cloned per request (including freshExtraParameters/ExtraHeaderParameters/ExtraQueryParametersdictionaries), preventing request-scoped values from leaking across requests or racing under concurrency. See #3919.