Exchange Web Services client library v4.0.0 Release Notes
-
- ๐ง Add a new
max_connections
option for theConfiguration
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 complementaryQuerySet.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 byQuerySet.people()
now support almost all documented fields. - Improved
QuerySet.people()
to call theGetPersona
service if at least one field is requested that is not supported by theFindPeople
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 inQuerySet
, you need to do you own caching now. - Allow plain
date
,datetime
andzoneinfo.ZoneInfo
objects as values for fields and methods. This lowers the barrier for using the library. We still useEWSDate
,EWSDateTime
andEWSTimeZone
for all values returned from the server, but these classes are subclasses ofdate
,datetime
andzoneinfo.ZoneInfo
objects and instances will behave just like instance of their parent class.
- ๐ง Add a new