JEC 1.0.xx Release Notes
========================

1. following attributes support was added to ExchangeEventDTO:
   location, startDate, recurrent, endDate, allday.

2. In-order to support Exchange Events Search added method to ExchangeConnectorInterface.

   public ArrayList getEvents(Date startDate,
        Date endDate, EventSearchCriteria eventSearchCriteria ) throws ExchangeGeneralException;

3. added description attribute support to ExchangeEventDTO.

4. example updated. added case to getEventsFilteredExample.

5. example updated. added case (case un-sensitive search) to getEventsFilteredExample.

6. added ActiveDirectoryConnector, implemented getAllUsers.

7. corrected bug when event is created via OWA, JEC failed to retrive it

8. improved license mechanism, added license file, must be in the classpath.

9. added CombinedADExchangeExample.

10. corrected bug in the ActiveDirectoryConnector cant connect to OU

11. corrected bug: when adding event or getting Event it was not done according to the locale.

12. when time-zone is not spesified getting it from local configuration (Host time-zone)

13. added factory method:
    public ExchangeConnector createExchangeConnector(String exchangeHost,
                                 String username,
                                 String password,
                                 String prefix,
                                 String mailboxName,
                                 String timeZone)
14. Changed functionality in getEvents:
    If we search in 10/3 - 20/3 and there is an appointment from 5/3 to 15/3 we will retrieve it.
15. Changed functionality in license mechanism, not limiting by number of connections, only by date.
16. Added log4j conf file support (log4j.properties is in the lib dir).
17. added example of deleting an event after getting it, using its uniqueIdForUrl.
18. added exit timeout from bmove delete response loop.
19. redirect support.
20. added support at Connector Level for ResponseTimeWait and ResponseTimeWaitInterval.
21. setContactsFolderName(...), setCalendarFolderName(...), setInboxFolderName(...) methods added in case your inbox/calendar/contacts folder names are different than usual (in example i18n).
22. corrected collision with apache clients (2.0 and 2.2).
23. added InvalidSearchCriteriaException to non obsfucated list (solved a bug in the Example).
24. added authenticate() to ExchangeConnectorInterface.
25. added support for importance field.
26. fixed a little bug, some connector methods did not use the contactsFolderName and the calendarFolderName.
27. added filters support to ActiveDirectoryConnector.
28. ssl support
29. support for self created certificates on the exchange server.
30. code refactor.
31. getEmails small interface change.

JEC 1.2.xx Release Notes
=========================

1. Added support for getTasks.
2. Added support for get, add, update Public Contacts folder.
3. TaskDTO contains all task info, added:
   isCompleted;
   creationDate;
   lastModifiedDate;
   dueDate;
   startDate;
   percentComplete;
   priority;
4. getEmails filters changed to HashSets (interface change).
5. added OREventSearchCriteria.
6. added debug log prints.
7. patched slide to correct http error 3. this happens when contact/task/event fileName
   contains special chars (curretly corrected to ^)
8. patched slide to correct http error 3. tested all special chars, slide had problems
   with ^, {, }, [, ], ` all this chars are now encoded correctly.
9. added version to debug log.
10. corrected getIsRecurrentEvent ArrayIndexOutOfBoundsException.
11. corrected http status code 0 in getEvents.
12. corrected bug in get events, ArrayIndexOutOfBoundsException when getting unique id in case of
    not standard event folder.
13. added protection to getContacts and getTasks to the propfind loop.
    if one fails it will not fail the all method.
    
    
JEC 1.5.xx Release Notes
=========================

1. Supports exchange 2007.
2. Major refactor to the connector class.
3. Added general support for tasks, the supported fields are:
   subject, isComplete, DueDate, PercentComplete, Priority, From, CreationDate,
   LastModifiedDate, Status, TextDescription.
4. Added support for add task.
5. Added support for update task.
6. Added support for tasks timezone.
7. Corrected JDK1.6 related bug in the CalanderHandler, the code section used the internal stucture
   of a collection which was changed in JDK1.6.
8. Preformance refactor in CalanderHandler.
9. Added ForbiddenException to support cases of users accessing other users mailboxses
   according to the access rights.
10. Added events UT to exchange 2007 to regression tests.
11. Added debug prints to add and edit event.
12. In addEventExample corrected when printing at what date the event was created.
13. Added support for "deleted items" name (i18n). this is needed for deleteContact and deleteEvent.
14. Added handling for status code 201, it was seen as warning although it was a success status.
15. Removed duplication of handleStatusCode in CalenderHandler.
16. Parse delete response mechanism is refactored, this improves calender sharing behavior, also
    improve SSL delete.
17. In-case of calendar sharing, using webdav DeleteMethod instead of MoveMethod, in case of deleteEvent
    from one user to another user mailbox, this fixes the DeleteEvent in this case.
18. Added support for tasks folder name.
19. getEvent using timezone was broken due to the last refactor
    (did not take into account the timezone).
20. correction for the allday event timezone mechanism.
21. Moved to jdom-1.0
22. License updated.
23. Added interface method to shift the alldayevent start time.
24. Added example for nested events folder ( getEventsFromNestedEventFolderExample() ).
25. Connector method: setAllDayEventTimeShifter getting input param String instead of int;
26. Eclipse project for examples was created.
27. Added support for email retrieval from any folder, added connector interface method:
    setEmailFolderName. also added an example:
    getEmailsSentItemsExample, to demonstrate this functionality.
28. Added support for read/unread email flag.
29. AppLogger can get Log4j existing configuration, this is needed if running inside
    application server.
30. Using jec_httpclient_2.0.jar and jec_webdav_2.1.jar to avoid httpclient collision
    in application server.
31. Added connector interface method: getEventById
32. Updating OWA created event failed due to wrong escaping. fixed.
33. Changed functionality: folder names must be URL encoded. for example:
    "Sent Items" should be "Sent%20Items". this is to avoid double encoding issues.
34. Supported i18n calendar foldernames.
35. Corrected eclipse project paths to support the 2 new jec jars.
36. Eclipse project is now using project environment to configure Error/Warning
    tolerance.
37. Added FBA support for email handler.
38. ExchangeEmailDTO extended to support MimeMultipart.
39. FBA Handler parses email standard mime & mimeOLE.
40. "Deleted Items" folder corrected to be URL encoded (Deleted%20Items).
     corrected in the calandar and contacts handlers.
41. Removed use of StringBuilder. This was needed for 1.4 compatibility.
42. JEC jars complied with 1.4 compatibility.
43. Added new connector method: setGetOnlyUnreadEmails that force the connector to bring only unread email
    messages.
45. Added SSL unit tests via ant (27 tests on all exchange environments)
46. Added jdk1.4 unit tests (27 tests on all exchange environments).
47. Corrected jdk1.4 bugs detected by tests, in BMove method. also accept operation removed
    from JEC to fully comply with jdk1.4 (it used JDK1.5 only methods).
48. Added automatic distribution mechanism, currently creates normal distribution with
    no FBA support.
49. fixed bug in FBA Email handler to support text body.
49. Distribution size reduced, removed unnecessary libs to reduce dependencies.
50. Corrected not supported case in getFromEmailName and getFromEmailAddress, was returned
    null.
51. read/unread infrastructure was added, still not GA.
52. delete email functionality added to emailhandler2 (fba).
53. get User Avalability functionality added, the related example is:
    getUserAvalabilityExample()
54. Fixed NPE in EmailHandler.java.getEmails(...) in case sinceDate is null.  If its null then ignoring it.
55. delete email functionality added to EmailHandler - non fba mailboxes - regular mailboxes.
56. improved javadocs.
57. Added option for explicit license file location in ExchangeConnectorFactory constructor.
    (see createConnectorWithExplicitLicenseFileLocationExample() for usage example).
58. Added support for meeting request.
60. Refactor to ExchangeDTO, exchangeID moved to ExchangeContactDTO.
61. Added support for CC in getEmails handler & ExchangeEmailDTO.
62. Added getContactsSubFloderExample().
63. Fixed NPE in ExchangeEmailDTO, getToEmailAddresses(), getFromEmailAddresses() methods.
64. Added support for meeting request text description.
65. Added support for create email in a folder. The example creates an email in the draft folder
    ( createEmailInFolderExample() )
66. Send email implemented.
67. Reduced dependencies, removed jec_webdav_2.1.jar and some unnecessary license key files.
68. Added http client debug example to log4j.properties.
69. JEC API Docs updated.
70. Corrected double encoding bug in ContactsHandler.
71. supporting UniqueIDForURL for contacts.
72. refactor: FileName & uniqueIDForURL merged, now JEC uses only uniqueIdForUrl.
73. deleteTask implemented.
74. added support for middle name in ContactsHandler.
75. Refactor EmailHandler to support only UniqueIDForURL (for email message Identification).
76. fixed bug in FBA handler delete method, in some cases didn't delete (move).
77. added examples: createEmailInDraftsFolderExample(), deleteEmailFromDraftsFolderExample().
78. JEC API Docs updated.
79. added support for sending meeting requests from addEvent.
80. added support for getting attendee list from ExchangEventDTO.
81. Added null protection at EventDTO from field, a correct exception will be thrown if missing.
82. Corrected regression bug in getEventById.
83. Corrected bug in add contact to public contacts folder (add failed).
84. Corrected bug: if the event has attendees but server has forbidden sending smtp mail the event it is not stored.
85. Finished support for to, cc in getEvents (Requierd, Optional).
86. Updated javadoc.
88. getDisplayName() and getEmailAddr() implemented when getting events attendees.
89. Parsing attendees bug in: addToAttendeeListFromStr() corrected.
90. Removed constraint of setting start/end dates in updateEvent.
91. attendee parsing bug when contains only email address fixed.
92. License machanism improvments.
93. Added support for detecting meeting request when getting emails.
94. Accept meeting request basic implementation finished.
95. Added connector method setSendMeetingReqs(true/ false) that can disable sending of
    meeting requests.
96. Support for accept meeting location and time
97. Meeting uid support added, attendee accept is now showing in the meeting with outlook.

