NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI · #200 most downloaded on PyPI
The Microsoft Authentication Library (MSAL) for Python library enables your app to access the Microsoft Cloud by supporting authentication of users with Microsoft Azure Active Directory accounts (AAD) and Microsoft Accounts (MSA) using industry standard OAuth2 and OpenID Connect.
Last release 11 days ago
17 Sep 2026
Ships fairly regularly
a new release about every 6 weeks
Nearly every release is documented
notes for 59 of the last 60 stable releases
Nothing withdrawn
no release was ever pulled
8 years old
75 releases · first in 2018
New acquire_token_silent_with_error(...) method to expose conditional access error classifications (#143, closes #57).
acquire_token_silent_with_error(...) method to expose conditional access error classifications (#143, closes #57).The major version number is bumped to have a 1.0.0 release. This indicates that the API surface in MSAL Python 1.0.0 is now stable and production read
One column per quarter.
Note: This 0.9.0 release doubles as a release candidate for an MSAL Python 1.0.0 which will be coming very soon.
Note: This 0.9.0 release doubles as a release candidate for an MSAL Python 1.0.0 which will be coming very soon.
New feature: The B2C support we introduced since MSAL Python 0.8.0 now becomes easier to use (#114), and its usage is now fully documented in this wiki page.
New feature: The get_authorization_request_url() API supports a prompt parameter. (#106)
Bugfix: The force_refresh parameter in acquire_token_silent() is now wired up properly. You don't normally need this parameter though, MSAL will refresh when needed. (Closes #113)
Others: Starting from this version, our PyPI release will use universal wheel format (This fix #119 will close #115.)
Samples improvements (#112, #116, #117, #118 )
New feature: The infrastructure supports B2C (#104). We will further add a dedicated helper to our API surface in next release.
response_type parameter, so that your web app could use it to acquire ID Token only (#105)New feature: Support On-Behalf-Of flow (#53, #92)
Bugfix: We were using base64 to decode id tokens. We should use urlsafe_base64 instead.
UPDATE at 2019-8-13: There was a bug affecting all previous MSAL Python versions until it is now fixed in MSAL Python 0.6.1. We recommend customer to
UPDATE at 2019-8-13: There was a bug affecting all previous MSAL Python versions until it is now fixed in MSAL Python 0.6.1. We recommend customer to upgrade to MSAL Python 0.6.1 or above.
UPDATE at 2019-8-13: There was a bug affecting all previous MSAL Python versions until it is now fixed in MSAL Python 0.6.1. We recommend customer to
UPDATE at 2019-8-13: There was a bug affecting all previous MSAL Python versions until it is now fixed in MSAL Python 0.6.1. We recommend customer to upgrade to MSAL Python 0.6.1 or above.
UPDATE at 2019-8-13: There was a bug affecting all previous MSAL Python versions until it is now fixed in MSAL Python 0.6.1. We recommend customer to
UPDATE at 2019-8-13: There was a bug affecting all previous MSAL Python versions until it is now fixed in MSAL Python 0.6.1. We recommend customer to upgrade to MSAL Python 0.6.1 or above.
client_claims parameter documented here. (#67, #68)UPDATE at 2019-8-13: There was a bug affecting all previous MSAL Python versions until it is now fixed in MSAL Python 0.6.1. We recommend customer to
UPDATE at 2019-8-13: There was a bug affecting all previous MSAL Python versions until it is now fixed in MSAL Python 0.6.1. We recommend customer to upgrade to MSAL Python 0.6.1 or above.
Add a new `remove_account(...)` api to sign out an account. (#12, #41)
remove_account(...) api to sign out an account. (#12, #41)UPDATE at 2019-8-13: There was a bug affecting all previous MSAL Python versions until it is now fixed in MSAL Python 0.6.1. We recommend customer to upgrade to MSAL Python 0.6.1 or above.
There was a regression since 0.2.0 release which prevented the confidential client with certificate from working. This release will fix it.
UPDATE at 2019-8-13: There was a bug affecting all previous MSAL Python versions until it is now fixed in MSAL Python 0.6.1. We recommend customer to upgrade to MSAL Python 0.6.1 or above.
NEWS UPDATE at 2019-8-13: There was a bug affecting all previous MSAL Python versions until it is now fixed in MSAL Python 0.6.1. We recommend custome
NEWS UPDATE at 2019-8-13: There was a bug affecting all previous MSAL Python versions until it is now fixed in MSAL Python 0.6.1. We recommend customer to upgrade to MSAL Python 0.6.1 or above.
NEWS UPDATE at 2019-4-11: There was a regression since 0.2.0 which prevented the confidential client with certificate from working. It will be fixed in 0.3.1
cache.has_state_changed not being initiailized (#24)Breaking Change: The internal cache serialization format has been adjusted since MSAL Python 0.1.0, so that it is possible to share same token cache w…
UPDATE at 2019-8-13: There was a bug affecting all previous MSAL Python versions until it is now fixed in MSAL Python 0.6.1. We recommend customer to upgrade to MSAL Python 0.6.1 or above.
NEWS UPDATE at 2019-4-11: There was a regression in this release which prevented the confidential client with certificate from working. It will be fixed in 0.3.1
verify and proxies behaviors during Authority discovery. API surface remains unchanged. (#15, #17)UPDATE at 2019-3-5: We strongly recommend you to upgrade to its later version(s), because there is a breaking change since v0.2.0.
UPDATE at 2019-8-13: There was a bug affecting all previous MSAL Python versions until it is now fixed in MSAL Python 0.6.1. We recommend customer to upgrade to MSAL Python 0.6.1 or above.
UPDATE at 2019-3-5: We strongly recommend you to upgrade to its later version(s), because there is a breaking change since v0.2.0.
This is the first release (currently in Preview/Beta) of MSAL Python. It reaches feature parity with ADAL Python 1.0.
Your coding agent can read these notes before it upgrades. Set up the MCP server →