Exchangelib

Latest version: v5.5.0

Safety actively analyzes 683530 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 6 of 15

4.2.0

-----

- 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.

4.1.0

-----

- Add support for synchronization, subscriptions and notifications. Both pull, push and streaming notifications are
supported. See https://ecederstrand.github.io/exchangelib/#synchronization-subscriptions-and-notifications

4.0.0

-----

- 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.

3.3.2

-----

- 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`.

3.3.1

-----

- Allow overriding `dns.resolver.Resolver` class attributes via `Autodiscovery.DNS_RESOLVER_ATTRS`.

3.3.0

-----

- Switch `EWSTimeZone` to be implemented on top of the new `zoneinfo` module in Python 3.9 instead of `pytz`
. `backports.zoneinfo` is used for earlier versions of Python. This means that the
`ÈWSTimeZone` methods `timezone()`, `normalize()` and `localize()` methods are now deprecated.
- Add `EWSTimeZone.from_dateutil()` to support converting `dateutil.tz` timezones to `EWSTimeZone`.
- Dropped support for Python 3.5 which is EOL per September 2020.
- Added support for `CalendaItem.appointment_state`, `CalendaItem.conflicting_meetings` and
`CalendarItem.adjacent_meetings` fields.
- Added support for the `Message.reminder_message_data` field.
- Added support for `Contact.manager_mailbox`, `Contact.direct_reports` and `Contact.complete_name` fields.
- Added support for `Item.response_objects` field.
- Changed `Task.due_date` and `Tas.start_date` fields from datetime to date fields, since the time was being truncated
anyway by the server.
- Added support for `Task.recurrence` field.
- Added read-only support for `Contact.user_smime_certificate` and `Contact.ms_exchange_certificate`. This means that
all fields on all item types are now supported.

Page 6 of 15

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.