- BREAKING dependencies upgraded to latest version of commonjs module (still avoiding pure esm modules). The code is now compiled to es6 target, must use nodejs version >= 10
- Security update: updated all dependency to latest version.
- new/fix: #324 Autodiscover is back again, improved and supports DNS fallback using Autodiscover SRV records
- fix: #316 fixed issue where Update Item operation was failing.
- fix: #276 You can now use
FolderIdwithuniqueIdstring parameter - fix: #300 fix issue with
LegacyfreeBusyStatusserialization, this also fixes lots of other enum attribute failing to serialize/de-serialize properly. - fix - general: better detection of enum value in if condition for a value. default enum value of 0 is neglected earlier.
- new: you can now use ContactGroup for private DL functionality,
GroupMemberandGroupMemberCollectionclasses are implemented - new: added code for passing options to underlying Fetch library. most requested option was allowing use of untrusted certificate.
- fix: #241
ExtendedPropertyCollectioncode updated, was not letting changes in Email or Phone number in contact object. - fix: #242
SimpleServiceRequestBasecode improved, should prevent unhandled rejection in case of response status 200 and local parsing errors. - fix: #250 fixed writing logic for
ExtendedPropertyDefinitionpropertyset in output xml. - fix: #256
ServiceResponseCollection.GetEnumerator()is now returningResponsesarray rather than throwing error. - fix: #261 added skipLibCheck option in tsconfig, otherwise building from source would be throwing some error for type checking in dependency libs.
- fix: #274 fixed array initialization in
DeleteAttachmentRequest, it was preventing any request to DeleteAttachment in EWS. - fix: #277 fixed an issue where setting
Contact.FileAsMappingwould not work and cause unhandled Excepttion
import {....., ConfigurationApi, .......} from 'ews-javascript-api';
// use this before instantiating ExchangeService
ConfigurationApi.SetXHROptions({rejectUnauthorized : false});for more details on which all options supported, see https://github.com/gautamsi/ews-javascript-api/blob/6618c29c08a5ad087abe9636c3128bef9837d4ae/src/js/XHRDefault.ts#L159 and https://github.com/andris9/fetch
- new:
ExchangeService.GetServerTimeZones()can be used to get Windows TimeZone information from server - fix: #207 fewer debugger statements. less annoyment when debugging code.
- DateTme and TimeZone related fixes, see #186, #187, #198, #209
- new: #94 new XHR algorithm and BlueBird like Promise support. default is Bluebird. Breaking changes published in #131. how to replace promise api, see pull request comment. This also enabled streaming subscription over ntlm authentication as well as cookies auth. see #65
- new: #180 can now use XHR api per
ExchangeServiceinstance see issue link for how to - new: #148 TimeZone implemented, see comment of pull request for known issues and workaround
- new: #145 various
OnChangetracking is implemented, various array like fields (EmailSddresses, PhoneNumbers etc.) can now be updated properly. see #137 - new: #140
DateTimeobject is now more compatible with c# counterpart, see issue for more details on which all property and functions are available - new: #131 Can this library be used in new Typescript projects - Typing field in package.json published. works as expected in latest typescript.
- fix: #181 - PropertySet comparison bug
- fix: #178 - Throw error when call folder.FindFolders(folderView)
- fix: #174 - Stop subscribe mailbox with unknown error - This also adds
OnResponseHeaderdelegate onStreamingSubscriptionConnectionobject. helps in detemining when connection is established - fix: #167 - Exception.js does not handle Circular references - fixed issue with Exception Stack Trace when there is circular reference
- fix: #164 - Can't update permissions on calendar folder
- fix: #163 - BUG: FileAttachment.Load does not work, throws error
- fix: #156 - AllDayEvent on Exchange2007_SP1
- fix: #151 - Problems with Recurrence.RelativeMonthlyPattern
- fix: #150 - Impossible to set Interval on Recurrence
- fix: #143 - Get Email Message source - TextBody element was not captured due to the way code is organized.
- fix: #137 - contact.Save not working properly || email adresses, phonenumbers etc. not saved. #123 is also fixed.
- fix: #126 - Mail attachment problem - wasnt working properly below 2013 version
- fix: #65 - Is StreamingSubscriptionConnection api working on NTLM auth? - now it works
- fix: #58 - Availability is using GMT and not leveraging user's current timezone
- new: #48 eDiscovery operations availbale, see MSDN: eDiscovery in EWS section on this link
- new: #120 missing method parameters for SetHoldOnMailboxes operation in c# library, but in EWS operation.
- fix: #99 - Can't cancel meeting - TypeError
- new: #46 UserConfiguration operations availbale, see MSDN: Working with user configuration objects by using the EWS Managed API 2.0
Caveat: all binary data and XML data should be converted to base64 string, this library assumes all base64 strings where binary data or c# byte[] is used.
- new: #100 More Item Types implemented
- fix: #114 - ConversationQueryTraversal returns a soap fault
- fix: #91 - StreamingSubscriptionConnection.OnDisconnect not called for streaming subscription
- fix: #101 - FindItems() not fulfilled/rejected for an unauthorized request
- fix: #109 - Appointment: Recurrence is always null
- fix: #96 - SearchFilter collection not working
- fix: #99 - Can't cancel meeting - TypeError
- fix: #95 - Message body text not working
- fix/PR: #102 - SendCancellationsMode fix enum serialization
- fix: #86 - Issue with sending meeting responses
- new: #41 App management operations availbale, see MSDN: Mail apps for Outlook section by using EWS in Exchange
- fix: #64 - small type fixed to prevent error in typing d.ts file
- fix: #69 - Fixed use of ComplexpropertyCollectioin type objects, there were issues in parsing this complex type with different elements in ews operations
- fix: #71 - Fixed
thislexical scope in delegate calls when called by xhr promise. - fix: #76 - Fixed improper detection of ComplexProperty type and PropertyDefinition type inside PropertySet.
- fix: #83 - Added
ServiceRequestUnauthorizedExceptionclass to detect "Unauthorized" exception in case of 401 status code in http call.SoapFaultDetails.Exceptioncan be checked for this class type in case of 401 exception in xhr call.
- new: Conversation operations availbale, see MSDN: How to: Work with conversations by using EWS in Exchange
- new: MRM operations now work,
GetUserRetentionPolicyTagsis ready to use see MSDN: GetUserRetentionPolicyTags operation - fix: #60 - use of
Mailboxobject cause error when used withuotreoutingTypeparameter, which should is"SMTP"/nullby default. Constructor overloads have now implemented. - fix: #61 -
AutodiscoverService.GetUserSettingssilently crashs when one of the user is not found in Exchange
- new: InboxRule Operations now works,
GetInboxRulesandUpdateInboxRulesmethods on ExchangeService now availbale see MSDN: How to: Manage Inbox rules by using EWS in Exchange - new: Delegate management operations now work see MSDN: Delegate access and EWS in Exchange
- new: Mailbox synchronization now works,
SyncFolderItemsandSyncFolderHierarchyExchangeService now availbale see MSDN for example - new: Pull Subscription should now work use MSDN example
- new:
SetTeamMailboxandUnpinTeamMailboxExchangeService methods now availbale. (SetTeamMailboxdoes not work with Office 365, Access Denied error, on-prem test is pending) See official MSDN reference for detail ExchangeService.UnpinTeamMailbox method - new:
GetRoomsandGetRoomListsExchangeService methods now availbale. See official MSDN reference for detail ExchangeService.GetRooms method and ExchangeService.GetRoomLists method - new:
ConvertIdandConvertIdsExchangeService methods now availbale, see MSDN detail at EWS Identifiers in Exchange - new:
GetClientAccessTokenExchangeService method now availbale, used with "Mail App" management, App management (#41) coming later - fix:
ImpersonatedUserIdbug #34
- new: Streaming Notification code updated, see issue #24 for example. More details at How to: Stream notifications about mailbox events by using EWS in Exchange
new: Pull Subscription should also work MSDNnot updated yet, pushed to 0.2.8- new:
SearchFiltercode update. See official MSDN link for examples How to: Use search filters with EWS in Exchange - new: Some use of
ExtendedPropertyDefinitionworks, see #23 for an example. - new:
Groupingclass updated, it can be applied onFindItems - new:
AccountLockoutdetection in failed conenction. Does not work with Office 365 - improvements:
Contactobject related code udpate, fix code errors - improvement:
SoapFaultDetailsupdated for improved error handling, most EWS operation not return instance ofSoapFaultDetailsin case of any failure, it containsExceptionproperty with information of failures oe exception in operation. - fix:
FindItemsimprovements- bug fixed where code was not updated to handle correct constructor overload
- SearchFilter can be used
- Grouping can be used
- Appointment/CalendarItem code update
- Appointment can be created using
new Appointment() - Appointment can be saved with
Appointment.Save() - Meeting invitation can be send using
Appointment.Save(SendInvitationsMode.SendToAllAndSaveCopy) - issue - HTML Body is not working using
Appointment
- Appointment can be created using
GetUserOofSettingsandSetUserOofSettingson ExchangeService is ready to be used.- fix: Autodiscover issue fixed, where it throws exception when redirecting to office 365 using 302 redirect from CNAME dns record
- Attachment Operations
- GetAttachment method - load attachment information from Attachemnt or AttachmentId
- Create email message with attachment, sample code in Wiki