v0.36.0
- Improved type hints to tell when a function may not return anything.
- Added support for the
reportTagproperty toMessageBase. I noticed this was one of the properties forIPM.Outlook.Recallso I decided to implement it. I'll work on ensuring all of[MS-OXOMSG]and[MS-OXCMSG]are implemented at a later date, including splitting offREPORTinto it's own class, because it is it's own class. - Fixed a few minor issues in some properties. Mostly some
boolreturning properties should have been returning False when they were not found instead of None. Ones that may return None are specifically typed as optional in the source code. Unfortunately using thehelpcommand doesn't seem to show the return type for properties for me at least on Python 3.9 and below. - Fixed
Attachment.savereturning apathlib.Pathobject instead of astrafter the conversion topathlib. - Added code to allow
pathlibobjects inutils.openMsgBulk. It usesglob.globwhich cannot take apathlibobject. - Removed
PermanentEntryIDfromEntryID.autoCreate. It shares a provider ID withAddressBookEntryID, and as such would never generate from it anyways. If you specifically need aPermanentEntryIDyou will have to instantiate it manually. Additionally, the entry has been removed fromenums.EntryIDType. - Fixed the GUIDs for some of the EntryID structures being returned as bytes instead of a standard GUID string. This is considered a breaking change and is the reason for the full version increase.
- Improved consistency of properties (the Python kind, not the MSG kind) so that properties for the raw data used to create an instance will all use the same name. Not all classes have this, but the ones that do will now all use
rawDataas the property name. - Fixed the properties header being read in a way that actually swapped the values in it.
- Modified
MSGFileto use the same name for Properties instances as all other classes.MSGFile.mainPropertieswill currently raise aDeprecationWarninginstead of outright failing to help ease the transition. UseMSGFile.propsinstead.