All Versions
73
Latest Version
Avg Release Cycle
36 days
Latest Release
-

Changelog History
Page 2

  • v4.6.0 Changes

    • ๐Ÿ‘Œ Support microsecond precision in EWSDateTime.ewsformat()
    • โœ‚ Remove usage of the multiprocessing module to allow running in AWS Lambda
    • ๐Ÿ‘Œ Support tzlocal>=4
  • v4.5.2 Changes

    • Make FileAttachment.fp a proper BytesIO implementation
    • Add missing CalendarItem.recurrence_id field
    • Add SingleFolderQuerySet.resolve() to aid accessing a folder shared by a different account: ```python from exchangelib import Account from exchangelib.folders import Calendar, SingleFolderQuerySet from exchangelib.properties import DistinguishedFolderId, Mailbox

    account = Account(primary_smtp_address="[email protected]", ...) shared_calendar = SingleFolderQuerySet(account=account, folder=DistinguishedFolderId( id=Calendar.DISTINGUISHED_FOLDER_ID, mailbox=Mailbox(email_address="[email protected]") )).resolve()

    - ๐Ÿ›  Minor bugfixes
    
  • v4.5.1 Changes

    • โšก๏ธ Support updating items in Account.upload(). Previously, only insert was supported.
    • Fixed types for Contact.manager_mailbox and Contact.direct_reports.
    • ๐Ÿ‘ Support getting text_body field on item attachments.
  • v4.5.0 Changes

    • โšก๏ธ Fixed bug when updating indexed fields on Contact items.
    • ๐Ÿ“œ Fixed bug preventing parsing of CalendarPermission items in the permission_set field.
    • ๐Ÿ“œ Add support for parsing push notification POST requests sent from the Exchange server to the callback URL.
  • v4.4.0 Changes

    • ๐Ÿšš Add Folder.move() to move folders to a different parent folder.
  • v4.3.0 Changes

    • Add context managers Folder.pull_subscription(), Folder.push_subscription() and Folder.streaming_subscription() that handle unsubscriptions automatically.
  • v4.2.0 Changes

    • Move util._may_retry_on_error and and util._raise_response_errors to RetryPolicy.may_retry_on_error and RetryPolicy.raise_response_errors, respectively. This allows for easier customization of the retry logic.
  • v4.1.0 Changes

  • v4.0.0 Changes

    • ๐Ÿ”ง Add a new max_connections option for the Configuration class, to increase the session pool size on a per-server, per-credentials basis. Useful when exchangelib is used with threads, where one may wish to increase the number of concurrent connections to the server.
    • Add Message.mark_as_junk() and complementary QuerySet.mark_as_junk() methods to mark or un-mark messages as junk email, and optionally move them to the junk folder.
    • ๐Ÿ”ง Add support for Master Category Lists, also known as User Configurations. These are custom values that can be assigned to folders. Available via Folder.get_user_configuration().
    • ๐Ÿ‘ Persona objects as returned by QuerySet.people() now support almost all documented fields.
    • Improved QuerySet.people() to call the GetPersona service if at least one field is requested that is not supported by the FindPeople service.
    • ๐Ÿšš Removed the internal caching in QuerySet. It's not necessary in most use cases for exchangelib, and the memory overhead and complexity is not worth the extra effort. This means that .iterator() is now a no-op and marked as deprecated. ATTENTION: If you previously relied on caching of results in QuerySet, you need to do you own caching now.
    • Allow plain date, datetime and zoneinfo.ZoneInfo objects as values for fields and methods. This lowers the barrier for using the library. We still use EWSDate, EWSDateTime and EWSTimeZone for all values returned from the server, but these classes are subclasses of date, datetime and zoneinfo.ZoneInfo objects and instances will behave just like instance of their parent class.
  • v3.3.2 Changes

    October 23, 2020
    • Change Kerberos dependency from requests_kerberos to requests_gssapi
    • Let EWSDateTime.from_datetime() accept datetime.datetime objects with tzinfo objects that are dateutil, zoneinfo and pytz instances, in addition to EWSTimeZone.