- 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
FolderId
withuniqueId
string parameter - fix: #300 fix issue with
LegacyfreeBusyStatus
serialization, 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,
GroupMember
andGroupMemberCollection
classes are implemented - new: added code for passing options to underlying Fetch library. most requested option was allowing use of untrusted certificate.
- fix: #241
ExtendedPropertyCollection
code updated, was not letting changes in Email or Phone number in contact object. - fix: #242
SimpleServiceRequestBase
code improved, should prevent unhandled rejection in case of response status 200 and local parsing errors. - fix: #250 fixed writing logic for
ExtendedPropertyDefinition
propertyset in output xml. - fix: #256
ServiceResponseCollection.GetEnumerator()
is now returningResponses
array 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.FileAsMapping
would 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
ews-javascript-api/src/js/XHRDefault.ts
Line 159 in 6618c29
- 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
ExchangeService
instance see issue link for how to - new: #148 TimeZone implemented, see comment of pull request for known issues and workaround
- new: #145 various
OnChange
tracking is implemented, various array like fields (EmailSddresses, PhoneNumbers etc.) can now be updated properly. see #137 - new: #140
DateTime
object 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
OnResponseHeader
delegate onStreamingSubscriptionConnection
object. 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
this
lexical 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
ServiceRequestUnauthorizedException
class to detect "Unauthorized" exception in case of 401 status code in http call.SoapFaultDetails.Exception
can 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,
GetUserRetentionPolicyTags
is ready to use see MSDN: GetUserRetentionPolicyTags operation - fix: #60 - use of
Mailbox
object cause error when used withuotreoutingType
parameter, which should is"SMTP"/null
by default. Constructor overloads have now implemented. - fix: #61 -
AutodiscoverService.GetUserSettings
silently crashs when one of the user is not found in Exchange
- new: InboxRule Operations now works,
GetInboxRules
andUpdateInboxRules
methods 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,
SyncFolderItems
andSyncFolderHierarchy
ExchangeService now availbale see MSDN for example - new: Pull Subscription should now work use MSDN example
- new:
SetTeamMailbox
andUnpinTeamMailbox
ExchangeService methods now availbale. (SetTeamMailbox
does not work with Office 365, Access Denied error, on-prem test is pending) See official MSDN reference for detail ExchangeService.UnpinTeamMailbox method - new:
GetRooms
andGetRoomLists
ExchangeService methods now availbale. See official MSDN reference for detail ExchangeService.GetRooms method and ExchangeService.GetRoomLists method - new:
ConvertId
andConvertIds
ExchangeService methods now availbale, see MSDN detail at EWS Identifiers in Exchange - new:
GetClientAccessToken
ExchangeService method now availbale, used with "Mail App" management, App management (#41) coming later - fix:
ImpersonatedUserId
bug #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:
SearchFilter
code update. See official MSDN link for examples How to: Use search filters with EWS in Exchange - new: Some use of
ExtendedPropertyDefinition
works, see #23 for an example. - new:
Grouping
class updated, it can be applied onFindItems
- new:
AccountLockout
detection in failed conenction. Does not work with Office 365 - improvements:
Contact
object related code udpate, fix code errors - improvement:
SoapFaultDetails
updated for improved error handling, most EWS operation not return instance ofSoapFaultDetails
in case of any failure, it containsException
property with information of failures oe exception in operation. - fix:
FindItems
improvements- 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
GetUserOofSettings
andSetUserOofSettings
on 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