All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
0.9.5 - 2026-02-24
- Compatible with remote development VMs (like GitHub Codespaces) by using the $BROWSER environment variable for launching OAuth login
- Added support for multi-tenant client configs and non-tenant-GUID athorizations servers for MCP authentication
- Removed unconditional SYSTEM_ACCESSTOKEN (PCBS token) pass-through from the ado token command (now restricted to ADO pipeline environments only)
0.9.4 - 2026-02-12
- Added support for windows arm64
0.9.3 - 2026-02-12
- Added support for linux x64 and arm64, plain text fallback for headless linux
0.9.2 - 2025-05-06
- Added support for reading auth mode from the environment variable
AZUREAUTH_MODE.
0.9.1 - 2024-12-09
- Removed CachedAuth mode if Broker is already present in auth modes on windows 10 or 11 since Broker already tries CachedAuth in a compliant way.
0.9.0 - 2024-11-07
- Removed IWA from default authentication mode.
- Temporarily paused the publishing of Linux binaries.
- Upgrade MSAL from
4.59.1to4.65.0. - Upgrade Lasso from
2024.8.24.1to2024.10.23.1. - Upgrade from .NET 6 to .NET 8.
- Disable trimmed version when publishing AzureAuth.
0.8.6 - 2024-04-25
- Upgrade MSAL from
4.55.0to4.59.1.
- Added the word
Warningbefore logging IWA failures so users worry less about IWA issues.
0.8.5 - 2024-03-06
- Added
--allow-custom-scopesflag to skip validation and allow custom Azure DevOps PAT scopes. - Added new sub-command
azureauth ado pat scopesto list the set of actual scopes thepatcommand validates against and print the short-link to the pat scopes docs.
0.8.4 - 2023-09-05
- Upgrade Lasso to
2023.8.24.1. - Upgrade MSAL to
4.55.0.
0.8.3 - 2023-08-24
- Added support for distributing debian packages.
- The
azureauth ado patsubcommand now supports additional Azure DevOps scopes.
- AzureAuth now can handle SIGINT(Ctrl+C) correctly and return 2.
- Optimize the warning message from IWA auth flow when VPN is not connected, and downgrade it to debug level.
0.8.2 - 2023-07-06
- The
azureauth adosubcommands now support a--tenantflag.
- The
azureauth ado patsubcommand now validates--scopebefore creating a PAT.
0.8.1 - 2023-05-23
- The
azureauth ado tokencommand usesmicrosoft.comas the default--domainoption value. - MSAL Cache usage is now isolated to it's own "auth flow" always injected as the first type of auth to attempt, regardless of mode. This creates a separate telemetry event for
pca_cacheas a new authflow type, which is always silent. The remaining auth flows no longer attempt to use the cache first. - Upgraded Lasso to 2023.5.11.1 to reduce the number of log files in temp folder.
- In several auth flows, it was possible that errors in using the cache could result in never attempting to do interactive auth when the tool should have.
0.8.0 - 2023-04-07
- New
adosub-commandsazureauth ado: Prints the help for Azure Devops commands.azureauth ado pat: Command for creating, and locally caching Azure Devops PATs.azureauth ado token: Command for passing back a PAT from an env var, or authenticating and returning an AAD access token.
- The root command
azureauthno longer acquires AAD tokens. It prints the global help text. Useazureauth aadinstead.
0.7.4 - 2023-04-05
- When the environment variable
AZUREAUTH_APPLICATION_INSIGHTS_INGESTION_TOKENis not configured, regkeyHKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\AzureAuth\ApplicationInsightsIngestionTokenwill be a back up on Windows for telemetry ingestion token config.
0.7.3 - 2023-03-14
- Fix unusable issues on Unix platforms due to mutexes.
0.7.2 - 2023-03-08
- Upgrade to a new version of Lasso which patches a concurrency bug.
0.7.1 - 2023-03-03
- Upgrade to a new version of Lasso which patches a concurrency bug.
0.7.0 - 2023-02-22
- New telemetry fields for:
- environment variables identifying Azure Pipelines and Cloud Build environments.
- on-premises security identifier as
sid. This is only collected on successful authentication attempts.
- New
aadcommand. This command is the long-term home for what is currently the top-levelazureauthcommand. The functionality is duplicated in both commands for backwards compatibility but will be removed from the top-level command in a future release. - New
infocommandsazureauth info: reports AzureAuth version and a new local randomly generated and cached telemetry device ID.azureauth info reset-device-id: regenerates the cached telemetry device id.
- Migrate from single command CLI to sub-command structure.
- Existing
azureauthcommand is now replicated asazureauth aad.
- Existing
- Upgrade MSAL to 4.47.2 and opt-into native WAM mode.
- Improve error telemetry collection by collecting JSON serialized version of MSAL errors. This now includes inner exceptions from MSAL which previously were missed.
- Replace
setxusage withWM_SETTINGCHANGEin the Windows install script to prevent truncating$PATH. - Skip validating cache file logic on Mac, which could cause an unhandled exception when certain Special Folders don't exist for the current user.
- Updated Lasso, fixing an issue where callers shelling out to AzureAuth were blocked on the asynchronous telemetry child processes.
- Removed the
--cacheoption from what is nowazureauth aad, because cache file sharing is not the recommended way to achieve SSO.
0.6.0 - 2022-10-26
- Use system web browser as the UI for web mode auth on Windows to prevent conditional access based over-prompting.
- Catch
FileNotFoundExceptionif an invalid configuration file is specified via theAZUREAUTH_CONFIGenvironment variable.
- Upgrade the Windows build to use net6 now that net5 has reached end of life.
- Set console output encoding to
utf-8explicitly.
0.5.4 - 2022-09-29
- Enable IWA auth mode when interactive authentication is disabled.
0.5.3 - 2022-09-28
- Increase IWA Timeout to 15 second and log WS-Trust endpoint error
0.5.2 - 2022-09-28
- Option
--resourceis not needed if option--scopeis provided. - Refactoring IWA AuthFlow to call GetTokenIWA when we have a MsalUiRequiredException
0.5.1 - 2022-09-08
- Fixed a bug where we early exited before sending individual events telemetry data containing valuable
error_messages.
0.5.0 - 2022-09-06
-
Added functionality to disable Public Client Authentication using an environment variable
AZUREAUTH_NO_USER. -
Added
--timeoutfunctionality to provide reliable contract of allowed runtime (default: 15 minutes) and warnings as the timeout approaches. -
Fixed a bug where broker auth prompt is hanging in the background and gives a false impression to the user that the console app is hung.
-
Fixed a bug where sometimes, when logged in with only a password (not a strong form of authentication) the broker flow could hang indefinitely, preventing fall back to another auth flow.
0.4.0 - 2022-06-23
- Environment variable
AZUREAUTH_CACHEand option--cacheto support a custom cache location on Windows. - Added Integrated Windows Authentication (IWA) functionality as the new default auth flow on Windows.
- Send custom telemetry events for each AuthFlow.
- The installation scripts will refuse to update the user's
$PATHor shell profiles when given the-NoUpdatePathflag (on Windows) or if the$AZUREAUTH_NO_UPDATE_PATHenvironment variable is set (on Unix platforms).
- The installation scripts no longer create a
latestsymlink/junction.
0.3.1 - 2022-06-07
- Fixed a bug where the tenant and resource ids were swapped in the telemetry events.
- The version schema no longer has a
vprefix (e.g.v0.3.1is now expressed as0.3.1).
v0.3.0 - 2022-05-03
- Fixed a bug to support running on Windows Server 2012 & 2016 by default (default auth mode for Windows is now broker + web).
- Fixed a bug where device code flow authentication would not use the file cache to first attempt to get a cached token silently, causing it to always prompt.
- Fixed a bug where the Windows installation script could encounter errors renaming the extracted directory.
- Telemetry: If enabled, collect the app registration ids being used and whether args were valid.
- The default for
--modeon Windows is nowbroker+web(formerly justbroker). - The installation scripts now extract to directories named after the release artifact from GitHub.
- The
latestdirectory is now a directory junction on Windows. - The Option
--prompt-hintwill have a prefixAzureAuth.
- Removed sample projects that used the old
TokenFetcherPublicClientapi from the MSALWrapper project.
v0.2.0 - 2022-04-21
- Fix a bug that caused tokens to be written to log files.
- Option
--prompt-hintto support custom text to prompt caller in web and WAM mode.
- Rename the
--auth-modeflag to--mode. - Update to MSAL 4.43.1.
- The
-t,-c,-d,-m, and-oshort flags.
v0.1.0 - 2022-03-30
- Initial project release.