3.0.0
First major release in over a year - and it's live on PyPI with an automated release pipeline.
⚠️ Breaking changes
- Python 2 dropped - minimum supported version is now Python 3.8
- ACS/SAML retirement -
with_user_credentialsnow raisesRuntimeErrorfor SharePoint Online. Usewith_username_and_password(MSAL ROPC) instead. ACS App-Only (with_client_credentials) is marked deprecated. - USGovernment GCC endpoints corrected - were pointing at the wrong URLs
✨ What's new
- Full type hints across the entire library (runtime, directory, onedrive, outlook, teams, sharepoint, intune, and more)
with_username_and_password(MSAL ROPC) for SharePoint Online auth- Substantially expanded model coverage: Defender/security evidence types, subject rights requests, retention labels, threat intelligence, Copilot/Teams event details, and more
- Expanded Intune (Cloud PC) and Teams surface area
- New query/example modules for SharePoint, Graph, and Entra ID
🔧 Fixed
- Cryptography CVEs updated to 48.0.0
- Circular import in
client_runtime_context.py/read_entity.py NameError: name 'List' is not definedinfields/collection.pysingle()andfirst()return types (never returnNone)AttributeError: 'str' object has no attribute 'get'when SharePoint returns a string error payload- Pyright type-checking errors across the library and tests
- Python 3.8 compatibility for PEP 604 type annotations
🧹 Removed
- Python 2.7 support
.travis.yml(moved to GitHub Actions)requirements.txt/requirements-dev.txt(useuv/pyproject.toml)
🚀 Install
pip install --upgrade office365-rest-python-clientOr with uv:
uv pip install --upgrade office365-rest-python-client