NewYour coding agent can read the release notes before it upgrades.Set up the MCP server →
PyPI
PyPI, #2679 most downloaded on PyPI
O365 - Microsoft Graph and Office 365 API made easy
Latest stable
2.1.10
Last release 2 months ago
09 Sep 2026
Release timing varies
gaps range from 3 weeks to 7 months
Nearly every release is documented
notes for 59 of the last 60 stable releases
2 versions withdrawn
withdrawn after publishing
12 years old
95 releases · first in 2015
Drag across the ruler to compare, or tap a release to open it.
Tasks: Add recurrence to task (Thanks @RogerSelwyn)
Message: You can now delay the delivery of a message (Thanks @yeyeric)
invite_user method to create a guest user in the directory (Thanks @neilkatin)NEW: Added Subscriptions api support (Thanks @sdelgadoc)
Your coding agent can read these notes before it upgrades. Set up the MCP server →
> Breaking Change: Removed support for Python 3.9
[!IMPORTANT] Breaking Change: Removed support for Python 3.9 Breaking Change: Removed Old Query in favor of the new QueryBuilder (both are interchangeable for other methods to use it, but are build differently)
append_rows and update_cells to WorkSheet (Thanks @luissantosHCIT)- Version Yanked
- Bug fixing release
Calendar: Schedule.get_calendar method can now use query objects with select, expand and order by (Thanks @RogerSelwyn)
Calendar: Breaking change! Calendar and Schedule get_events method now requires params start_recurring and end_recurring when include_recurring is Tru…
Calendar: list_calendars now allows pagination (Thanks @RogerSelwyn)
get_eml_as_object to retrieve attached eml as Message objects.Removed Office 365 tasks file (api was deprecated on november 2024)
> Breaking Change: Removed custom authentication in favour of msal. Old tokens will not work with this version and will require a new authentication f…
[!IMPORTANT] Breaking Change: Removed custom authentication in favour of msal. Old tokens will not work with this version and will require a new authentication flow.
account.username when using auth flow type authorization.current_username, it is now in username as per the previous bulletget_authorization_url and request_token are now present in the Accountobject. You will no longer need to use the ones from the Connection object unless doing something fancy.get_authorization_url and request_token (if using those calls).requested_scopes rather than scopesAdded 'on_premises_sam_account_name' to directory.py (Thanks @danpoltawski)
TokenBackend: Added BitwardenSecretsManagerBackend (Thanks @wnagele)
Removed dependency: stringcase Upgraded requirement requests-oauthlib Added classifier python 3.12
Removed dependency: stringcase Upgraded requirement requests-oauthlib Added classifier python 3.12
Tasks: Exposed status property (Thanks @RogerSelwyn)
###Features:
Calendar: Added weblink property (Thanks @Invincibear)
###Features:
Connection: Add support for multiple Prefer headers in Connection class (Thanks @Invincibear)
###Features:
Connection: Allow default headers to be set for GET request (see #1021)
###Features:
AddressBook: Added fileAs attribute (Thanks @LarsK1)
###Features:
Dropped support for python <3.9 because of the need to use zoneinfo (dropped pytz). If you need support for older versions use version 2.0.28.
###Features:
Calendar: no forwarding events (Thanks @Gregorek85)
###Features:
###Features: - Bug fixing release
###Features:
Added hex_color to Calendar (Thanks @Invincibear)
###Features:
Connection now allows setting default headers (Thanks @yeyeric)
###Features:
Added get and set of mailbox settings (Thanks @RogerSelwyn)
###Features:
Added externalAudience to automatic replies (Thanks @RogerSelwyn)
###Features:
###Features: - Bug fixing release
###Features:
NEW: Added Tasks for MS GRAPH Protocol(Thanks @RogerSelwyn)
###Features:
###Features: - Bug fixing release
###Features:
Teams: added pagination to get_all_chats (Thanks @jhoult).
get_all_chats (Thanks @jhoult).EnvTokenBackend (Thanks @pierfrancesto).Drive: added password and expiration date to share_with_link method (Thanks @MagestryMark).
get_user_manager and get_user_direct_reports (Thanks @dionm).Group class (Thanks @Krukosz).Nothing published for this version
Updated requirements to use tzlocal >=4.0
Groups: Added groups.py with some read functionality in Office 365 Groups. Thanks @Krukosz*
Calendar: Added 'cancel_event' method
Mailbox: upload attachments bigger than 4MB using MS Graph Protocol
NEW: added MS Teams Presence class
### Features: - Bug fixing release
NEW: added MS Office 365 Tasks (only available using Office365 protocol)
Drive: added streamable upload and download
verify_ssl flagAccount: added public client auth flow
### Features: - Bug fixing release
Drive: new method "get_drive" in DriveItems
Connection: now allows to pass a custom Json Encoder ("json_encoder" param).
NEW: Outlook Categories. Modified Message, Event and Contact to accept Category instances
NEW: Directory and User objects
Connection: When using the credentials auth_flow_type the tenant_id is now required
Message: You can now save Messages and attached messages as EML files.
The library now features two different authentication flows:
### Features: - Bug fixing release
This is the 2.0 release (direct from v1.1.10)
This is the 2.0 release (direct from v1.1.10)
Only major releases are saved here, minor releases on Pypi.
Optimized library startup time by moving imports into methods
Calendar: Included start/end check on get_events
### Features: - Bug fixing release
Excel: Added Excel capabilities to Drive Files
Message: Added Headers, internet message id and weblink
Query: Added search capabilities
Sharepoint: Ability to create, and edit listitems in sharepoint
Message now recognizes EventMessages: an EventMessage can retrieve the related Event
ApiComponent now stores the logic to convert to/from dateTimeTimeZone resource
One column per quarter.