Microsoft Authentication Extensions for Python (MSAL EX) provides cross-platform token cache serialization and persistence helpers for client applications using MSAL Python. It supports saving encrypted cache data to disk on Windows, macOS, and Linux, including coordinated concurrent access via a file lock. It is useful for persisting tokens for public client apps like desktop apps across runs.
Project status
- The repo appears to be maintained, with a most recent upstream push on 2025-09-10, and recent versioned updates in March 2025 (1.3.0, 1.3.1). However, as of 2026-07-19 there have been no new versioned updates since 1.3.1, so activity looks modest rather than fast-moving.
- Update cadence: clusters in early 2025 (1.3.0 on 2025-03-13, 1.3.1 on 2025-03-14), followed by a long period with no additional published version updates (at least none shown in the provided history).
AI summary generated
Recent updates
1.3.1
MSAL Extensions 1.3.1 updates packaging and CI configuration. Release notes call out stopping installation of tests into site-packages and dropping Python 3.7 and 3.8.
1.3.0
MSAL Extensions 1.3.0 focuses on dependency and maintenance updates. The main documented change is making `portalocker` an optional extra dependency (and widening the supported range to include `portalocker` 3), plus a small README typo fix.
Features1.2.0
Release 1.2.0 primarily adjusts dependency constraints and updates token cache lookup behavior to align with MSAL 1.29+. It also includes CI/workflow maintenance and cleanup (for example, removing Travis CI mentions).
1.2.0b1
Release 1.2.0b1 is intended to update MSAL Extensions to be compatible with MSAL Python 1.27 and 1.28. While the release notes mention only MSAL compatibility, the diff shows additional packaging, dependency pinning, and internal token cache changes that can affect upgrade behavior.
Breaking1.1.0
MSAL Extensions for Python 1.1.0 updates the project to support Python 3.12 and removes the deprecated distutils dependency, while dropping Python 2.7. The code and packaging metadata also reflect additional Python version and build pipeline updates beyond what is stated in the release notes.
BreakingFeatures1.0.0
Release 1.0.0 marks MSAL Extensions for Python as stable and production ready. It introduces a new platform-independent encrypted persistence builder, standardizes encrypted persistence error handling, and enforces Unix file permissions of 600. It also removes the older platform-specific TokenCache APIs in favor of PersistedTokenCache plus the persistence builders.
BreakingFeatures0.3.1
MSAL Extensions Python 0.3.1 is a bugfix and enhancement release focused on improving concurrency behavior and adding better runtime support (Windows home dir handling, container usage, and PyInstaller compatibility). It also updates the portalocker dependency constraints to enable portalocker 2.x usage. The release notes state there is no API change.
Features0.3.0
MSAL Extensions for Python 0.3.0 introduces a unified `PersistenceNotFound` exception for cases where a persistence backing store has not been initialized, and adjusts token cache reload logic to treat that case as a no-op. The release also adds locking performance test coverage and updates the package version to 0.3.0.
BreakingFeatures0.2.2
Release 0.2.2 is primarily a maintenance update with bug fixes and a documentation refresh. Code changes focus on compatibility with the `portalocker` dependency and on how persisted encrypted cache data is written and read.
0.2.1
msal-extensions 0.2.1 is positioned as functionally the same as 0.2.0, with changes focused on how Linux encryption dependencies are handled. The release updates dependency markers so portalocker version requirements vary by platform, and adjusts the PyGObject (gi) usage to be treated as a runtime dependency. Additional small changes were made to logging behavior and packaging metadata.