* 2016-06-15 - mgr@microdoc.de

 - Bug 46482 - [L3] Outlook Oxtender: Mail in Inbox unreadable after 2nd Reply

* 2015-11-05 - mgr@microdoc.de

 - Bug 42113 - OXtender does no longer sync the global address book

* 2015-10-21 - mgr@microdoc.de

 - Bug 38476 - [L3] Mails can not be deleted via EAS-OLOX, "Objekt kann nicht verschoben werden" message since update to 7.6.2

* 2015-07-10 - mgr@microdoc.de

 - Bug 39394 - [L3] Outlook Foldername gets reset after "move mail into folder -> rename folder" action

* 2015-06-25 - mgr@microdoc.de

 - Bug 38672 - Outlook-Sync stops after updating to last public Patch (changed test on existence of standard folders)

* 2015-06-16 - bei@microdoc.de

 - Bug 34548 - API-Change of invalidateObjects (no adaption in AddIn necessary) : replaced response field objects by errors

* 2015-05-26 - bei@microdoc.de

 - Bug 36808 - OX error codes that signify non-existing PIM items have been extended and moved to usm.properties (missing_object_error_codes)

* 2015-05-18 - mgr@microdoc.de

 - Bug 37683 - Declined appointment gets cancelled when syncing with USM

* 2015-05-12 - mgr@microdoc.de

 - Bug 38204 -  [L3] ox spool files not unlinked; running out of disc space

* 2015-05-07 - ldo@microdoc.de

 - Bug 38023 - Distribution list shows email address in name field instead of contact name

* 2015-04-20 - ldo@microdoc.de

 - Bug 32927 - Added new parameter "childrenonly" for invalidateObjects command

* 2015-03-18 - mgr@microdoc.de

 - Bug 36962 - [L3] Download/Sync of huge mails (e.g 80 MB) via Oxtender is very slow and produces massive overhead in backend/IMAP

* 2015-02-26 - ioannis.chouklis@open-xchange.com

 - Bug 36969 - Include session information in the MDC upon login.

* 2015-02-20 - ldo@microdoc.de

 - Bug 36109 - [L3] Recurring appointment exception created in Outlook gets ignored by backend

* 2015-02-19 - ldo@microdoc.de

 - Bug 35455 - [L3] appointment gets deleted within OL, but not on the server

* 2015-02-03 - bei@microdoc.de

 - Bug 35987 - DownloadData with Offset was trapped in an endless loop

* 2014-12-08 - bei@microdoc.de

 - Bug 35467 - [L3] Folder not found - cause: USM String transformation error of Email tempid

* 2014-12-01 - bei@microdoc.de

 - Bug 34689 - [L3] Recurring appointment exception created in Outlook gets ignored by backend

* 2014-11-27 - bei@microdoc.de

 - Bug 35429 - [L3] Malformed email message blocks OLOX2 synchronisation - using new OX backend get-mail-attachment parameter from_structure=true

* 2014-11-21 - ldo@microdoc.de

 - Bug 32797 - [L3] The object identifier is mandatory for distribution list members referencing existing contacts

* 2014-09-04 - bei@microdoc.de

- Bug 33028 - USM automatically marks the folder hierarchy as modified when mail item is moved between folders

* 2014-08-12 - bei@microdoc.de

- Bug 33715 - EAS fetched a mail twice => Complete mail including source is fetched once (incl EAS 2.5)

* 2014-08-05 - bei@microdoc.de

- Bug 33754 - Image Streaming activated for version 2.2.0

* 2014-07-28 - ldo@microdoc.de

 - Bug 33678 - The return value of moreAvailable is sometimes a boolean or a string

* 2014-07-28 - ldo@microdoc.de

 - Bug 32927 - Partitial folder recovery mechanism - make sure the folder's subtree is also invalidated when a folder gets invalidated

* 2014-07-28 - ldo@microdoc.de

 - Bug 32927 - Partitial folder recovery mechanism - make sure the folder's subtree is also invalidated when a folder gets invalidated

* 2014-07-28 - ldo@microdoc.de

 - Bug 32797 - The object identifier is mandatory for distribution list members referencing existing contacts

* 2014-07-23 - ldo@microdoc.de

 - Bug 33653 - USM internal error "No cached DataObjects for client available"

* 2014-04-03 - afe@microdoc.de

 - Bug 31887 - Fixed possible NPE in NormalCommandHandler

* 2014-03-07 - ldo@microdoc.de

 - Bug 31788 - NPE in MoveItemsHandler

* 2014-03-07 - ldo@microdoc.de

 - Bug 31236 - Report new status code 19 if the moved mail doesn't exist any more in the source folder on the server

* 2014-02-25 - ldo@microdoc.de

 - Bug 31250 - Email gets duplicated when you move it to other folder

* 2014-02-10 - afe@microdoc.de

 - Bug 31044 - Catch error and log warning if inbox polling is not successful in ping request, make sure to poll only in configured intervals regardless of client behavior

* 2014-02-06 - ldo@microdoc.de

 - Bug 30521 - Added more checks to prevent saving invalid sync state on moveItems

* 2014-01-27 - afe@microdoc.de

 - Bug 30772 - Prevent NPE if USM SessionManager is no longer available (during shutdown/restart), send regular "try again later" response

* 2014-01-24 - ldo@microdoc.de

 - Bug 30762 - Random duplication of calendar objects after meeting request

* 2013-12-04 - afe@microdoc.de

 - Bug 30129 - Duplication of mails on client due to incorrect loading of SyncStates from DB into the cache

* 2013-11-14 - afe@microdoc.de

 - Bug 29779 - Abort sync of folder hierarchy with status 16(TEMPORARY_NOT_AVAILABLE) if at least 1 of the required standard folders is reported as deleted by OX

* 2013-10-31 - afe@microdoc.de

 - Bug 29298 - Compute Content-Length as a long value

* 2013-10-18 - ldo@microdoc.de

 - Bug 29321 - Error on reading mail 'Object not found' for missing canceled appointment

* 2013-10-17 - afe@microdoc.de

 - Bug 29296 - Store protocol version in a persistent field so it doesn't get accidentally removed, use 1.6.10 as default protocol version

* 2013-10-16 - afe@microdoc.de

 - Bug 29296 - Ensure that tempid is not generated for mail attachments in older protocol versions even if OX server should send no attachment data

* 2013-10-11 - afe@microdoc.de

 - Bug 29015 - Attachment creation errors during appointment creation were not considered in algorithm to detect duplicate appointment creations

* 2013-10-10 - afe@microdoc.de

 - Bug 28798 - API-Version 2.1: Added Up-/Down-streaming of contact images

* 2013-10-01 - afe@microdoc.de

 - Bug 29090 - Removed server property com.openexchange.usm.json.sync.fatal_uuid_errors (always behave as with old default value)

* 2013-09-30 - afe@microdoc.de

 - Bug 28812 - Do not modify SyncData of contact if client explicitly clears contact image that already was not set

* 2013-09-26 - afe@microdoc.de

 - Bug 26837 - Do not try to create/modify client change exception if a delete_exception exists on the server for that recurrence

* 2013-09-11 - afe@microdoc.de

 - Bug 27000 - report 2 new values as part of GetConfiguration-request: max_inline_attachment_size and temp_files_timeout

* 2013-09-09 - afe@microdoc.de

 - Bug 28723 - Make sure that modified PIM-attachment information is stored in new SyncState

* 2013-09-02 - afe@microdoc.de

 - Bug 28606 - Generalized code to format received headers, added security checks

* 2013-08-28 - afe@microdoc.de

 - Bug 28547 - always send current appointment data stored in OX for meeting_requests/updates

* 2013-08-28 - afe@microdoc.de

 - Bug 28534 - send complete meeting_request data even if appointment has previously synchronized to client

* 2013-08-22 - afe@microdoc.de

 - Bug 28327 - Ignore any unnecessary fields (like "folder") sent from OX when building mail structure for a complex client change

* 2013-08-16 - afe@microdoc.de

 - Bug 26374 - Do not report errors to client when retrieving PIM attachments from server for server changes

* 2013-07-31 - afe@microdoc.de

 - Bug 27000 - Use internal streaming API to reduce memory usage, provide new protocol version (2.0.0) with new commands to allow new commands that up-/download mail- and pim-attachments separately from normal synchronization, added new server property com.openexchange.usm.json.max_inline_attachment_size

* 2013-07-01 - afe@microdoc.de

 - Bug 27321 - Optimized PingDelegate for folder hierarchy with many folders and many changes to report

* 2013-05-28 - afe@microdoc.de

 - Fixed possible race condition that could cause an ArrayIndexOutOfBoundsException when computing the delay for ping requests

* 2013-05-22 - afe@microdoc.de

 - Bug 26695 - Avoid creating String for JSON-response that is sent to client

* 2013-05-21 - afe@microdoc.de

 - Bug 26476 - Added 2 new per-object-error codes: 16(PIM_ATTACHMENT_CREATION_DENIED_COUNT) and 17(PIM_ATTACHMENT_CREATION_DENIED_SIZE)

* 2013-05-16 - afe@microdoc.de

 - Bug 26605 - Introduced new server property com.openexchange.usm.json.max_email_size that limits the size of synchronized mails

* 2013-05-15 - afe@microdoc.de

 - Bug 26365 - Set each recipient address explicitly to avoid javax.mail-problem with long header lines

* 2013-05-03 - afe@microdoc.de

 - Bug 26248 - JSON: Do not lose track of UUID<->OX-ID-mapping of PIM-Attachments, optimized detection of duplicate attachment creations/UUID changes

* 2013-04-30 - afe@microdoc.de

 - Bug 26262 - Fixed problem in debug logging for mails in OLOX2

* 2013-04-17 - afe@microdoc.de

 - Bug 24876 - Make sure that PIMAttachments are correctly stored in SyncState regardless of the lastModified-timestamps

* 2013-03-28 - afe@microdoc.de

 - Bug 25603 - Explicitly set charset=UTF-8 in ContentType header or response

* 2012-10-30 - ldo@microdoc.de

 - Bug 23500 - Exception of a recurring appointment disappeared in a shared folder

* 2012-10-25 - ldo@microdoc.de

 - Bug 23479 - NPE in SyncCommandHandler

* 2012-10-24 - ldo@microdoc.de

 - Bug 21795 - series_sequence was too old because read from cache

* 2012-10-23 - ldo@microdoc.de

 - Bug 23443 - Not possible to remove an attachment from task

* 2012-10-11 - ldo@microdoc.de

 - Bug 23239 - resolveIDs call generates new session if "device" parameter is wrong

* 2012-10-01 - ldo@microdoc.de

 - Bug 21795 - added field series_sequence to meeting_request /_cancelation field

* 2012-09-13 - ldo@microdoc.de

 - Bug 22138 - added series_timezone and series_start_date to meeting_request/meeting_cancelation field - path from svn properly applied

* 2012-08-21 - ldo@microdoc.de

 - Bug 22737 - Added Error Status 15 (UID already exists on server)

* 2012-08-21 - ldo@microdoc.de

 - Bug 22818 - Mails do not have field modified_by

* 2012-09-10 - ldo@microdoc.de

 - Bug 22944 - NPE when creating a profile

* 2012-08-23 - ldo@microdoc.de

 - Bug 22642 - UUID already mapped by server error - client uses UUID reserved for server on change

* 2012-08-21 - ldo@microdoc.de

 - Bug 22737 - Added Error Status 15 (UID already exists on server)

* 2012-08-21 - ldo@microdoc.de

 - Bug 22818 - Mails do not have field modified_by

* 2012-08-20 - ldo@microdoc.de

 - Bug 21773 - update confirmation status on external participants

* 2012-08-14 - ldo@microdoc.de

 - Bug 21638 - Conflicting change on field "modified_by" after move operation from client

* 2012-08-13 - ldo@microdoc.de

 - Bug 20268 - extra step on move appointments removed - it is not needed anymore because the server is not changing the sequence field on move

* 2012-08-08 - ldo@microdoc.de

 - Bug 22138 - added series_timezone and series_start_date to meeting_request/meeting_cancelation field

* 2012-08-03 - ldo@microdoc.de

 - Bug 22324 - conflicting delete_exceptions and change_exceptions: same date

* 2012-07-17 - afe@microdoc.de

 - Bug 21723/22328 - Removed change introduced for bug 21723, since the original behavior is actually the desired one. This also removes the unwanted side effect introduced with the change

* 2012-07-16 - afe@microdoc.de

 - Bug 22485 - USM/JSON: Add missing attachments list to meeting_requests

* 2012-07-16 - afe@microdoc.de

 - Bug 22488 - USM/JSON: Correctly set attachments for new exceptions to appointment series that already have attachments

* 2012-07-12 - afe@microdoc.de

 - Bug 22488 - USM sometimes reported the wrong error code if a folder for synchronization was not found

* 2012-06-18 - ldo@microdoc.de

 - Bug 22000 - Find object in default calendar or tasks folder - setConfirmationStatus for tasks

* 2012-06-15 - ldo@microdoc.de

 - Bug 21536 - Send change_exception as delete_exception if the user has deleted one occurrence in a foreign series app. on the server

* 2012-06-15 - ldo@microdoc.de

 - Bug 22000 - Call action=confrim for tasks if the field "users" has been modified by the client

* 2012-06-12 - ldo@microdoc.de

 - Bug 21723 - Canceled appointments should not be displayed in shared folders

* 2012-06-12 - ldo@microdoc.de

 - Bug 22000 - changed setConfirmationStatus command to work also for Tasks

* 2012-05-31 - afe@microdoc.de

 - Bug 22122 - Added method to allow protocols to invalidate the USM cache for OX data, added multi-step update in JSON protocol for multiple updates in series and exceptions

* 2012-05-25 - afe@microdoc.de

 - Bug 22140 - Fixed problem in detecting old SyncKeys, adjusted default values for test and block intervals and number of requests required to block access

* 2012-05-22 - ldo@microdoc.de

 - Bug 21938 - Return the folder uuid as "not found" if the client tries to invalidate objects from a non existing folder

* 2012-05-22 - ldo@microdoc.de

 - Bug 21951 - Return error status code 14 on folder deletion/change failed on server due to insufficient permissions

* 2012-05-21 - afe@microdoc.de

 - Bug 22140 - Introduced new mechanism that detects clients that behave badly (too many unnecessary synchronizations) and temporarily refuses access to them (see config property com.openexchange.usm.json.access_check.test_interval for more information)

* 2012-05-09 - afe@microdoc.de

 - Bug 21860 - Allow duplicate email creation, handle special cases where sync was partially performed, log warning if client tries to create an email it should already know (i.e. it is using a SyncState in which the email was already present)

* 2012-04-24 - ldo@microdoc.de

 - Bug 20911 - bug fix for 20911 removed - it is not needed anymore because of changed strategy at the client

* 2012-04-20 - ldo@microdoc.de

 - Bug 20911 - move items besides conflicts between client and server

* 2012-04-05 - ldo@microdoc.de

 - Bug 21256 - inbox should not be polled if it is not been initially synchronized yet.

* 2012-04-04 - ldo@microdoc.de

 - Bug 21740 - orphan instance upsync changes (main) serial

* 2012-04-02 - ldo@microdoc.de

 - Bug 21587 - Added persistent session field "F_usedOldSK" as counter for usage of old sync keys per session

* 2012-04-02 - ldo@microdoc.de

 - Bug 21636 - Added meeting_cancelation field for emails about canceled appointments - added rdate property

* 2012-03-28 - ldo@microdoc.de

 - Bug 21636 - Added meeting_cancelation field for emails about canceled appointments

* 2012-03-12 - ldo@microdoc.de

 - Bug 21500 - java.lang.IllegalArgumentException: DataObjects of different folders in SyncUpdateHandler

* 2012-02-27 - afe@microdoc.de

 - Bug 20884, 21587 - Limit number of direct ping responses for modified folders (after 3 pings, folders will be marked synchronized even if no sync has been performed)

* 2012-02-23 - afe@microdoc.de

 - Bug 20462 - Added logging of bad folder hierarchies (at level WARNING) including session and cyclic folder IDs

* 2012-02-22 - afe@microdoc.de

 - Bug 20462 - Fix for possible endless loop in sorting of folder hierarchy if folder hierarchy contains a loop (i.e. F1 has F2 as parent and F2 has F1 as parent)

* 2012-01-25 - ldo@microdoc.de

 - Bug 21351 - errorOnDuplicateName should not be active for EAS users

* 2012-01-25 - ldo@microdoc.de

 - Bug 21341 - null ping INTERNAL_ERROR - java.lang.ArrayIndexOutOfBoundsException in USMJSONServlet

* 2012-01-24 - ldo@microdoc.de

 - Bug 21326 - NPE in USMJSONServlet

* 2012-01-17 - ldo@microdoc.de

 - Bug 21142 - Do not report email folders as deleted on IMAP down

* 2012-01-12 - ldo@microdoc.de

 - Removed syncid from result in SetConfirmationStatus because it can not be used by the client

* 2012-01-12 - ldo@microdoc.de

 - Bug 21166 - Client sends UTC time in local_time param on login

* 2012-01-12 - ldo@microdoc.de

 - Bug 21173 - StringIndexOutOfBoundsException in MimeMailBuilder.formatReceived

* 2012-01-09 - ldo@microdoc.de

 - Bug 21117 - StringIndexOutOfBoundsException in MimeMailBuilder.formatReceived

* 2011-12-23 - ldo@microdoc.de

 - Bug 20954 - do not add pim attachments to the result if no data is present

* 2011-12-21 - ldo@microdoc.de

 - Bug 20779 - Downsync to OL changed the status of an appointment - handling for "orphan instances"

* 2011-12-20 - ldo@microdoc.de

 - Bug 20911 - invitations from external must be removed two times to get finally deleted - SetConfirmationStatus returns syncid

* 2011-12-20 - ldo@microdoc.de

 - Bug 21031 - USM Error: java.lang.StringIndexOutOfBoundsException

* 2011-12-15 - ldo@microdoc.de

 - Bug 20974 - USM error with "Undelivered Mail Returned to Sender" - NPE when formatting received header

* 2011-12-09 - ldo@microdoc.de

 - Retry requests to server up to 10 times if the server has returned an error from category: 4,5,6 or 11.

* 2011-12-08 - ldo@microdoc.de

 - Bug 20950 - Wrong client date/time causes an USM error: bad sessionid - new parameter "local_time" on login introduced.

* 2011-12-05 - ldo@microdoc.de

 - Bug 20842 - Appointment series -  deletion of just one app does not get synchronized

* 2011-12-02 - ldo@microdoc.de

 - Look for the meeting request appointment in the default calendar folder first, and if not found look in all folders

* 2011-12-01 - ldo@microdoc.de

 - Set timezone to UTC when converting meeting requests from external users

* 2011-11-30 - ldo@microdoc.de

 - Bug 20885 - illegal null in ping result

* 2011-11-25 - ldo@microdoc.de

 - Bug 20825 - filter out system folders from ping result

* 2011-11-24 - ldo@microdoc.de

 - Poll the inbox in USM/JSON after a ping from client if the last saved sync state for the inbox is larger than a configured interval

* 2011-11-24 - ldo@microdoc.de

 - Bug 20849 - NullPointerException with USM-Build 4505

* 2011-11-23 - ldo@microdoc.de

 - Bug #20847 - USM JSON mixes client IP addresses due to multithreading issue

* 2011-11-22 - ldo@microdoc.de

 - Bug #20191 - Mail header of received mails changed on IMAP-server after answering in Outlook - merge the x-original-headers with header

* 2011-11-18 - ldo@microdoc.de

 - Bug 19471 - Invitation mails accepted with Thunderbird can't be understood with Outlook2010 + OXTender - introduced field method_reply

* 2011-11-17 - ldo@microdoc.de

 - Bug 19471 - Invitation mails accepted with Thunderbird can't be understood with Outlook2010 + OXTender

* 2011-11-09 - ldo@microdoc.de

 - Bug #19715 - Add default email address to getConfiguration call (USM/JSON)

* 2011-11-07 - ldo@microdoc.de

 - Bug #20320 - add meeting_update/meeting_cancelation field to invitations from external mail servers

* 2011-11-03 - ldo@microdoc.de

 - Bug #20706 - USM should send custom HTTP headers to the OX server

* 2011-10-24 - ldo@microdoc.de

 - Bug #20189 - Folder inconsistencies after repeated try to move a folder below public folders

* 2011-10-24 - ldo@microdoc.de

 - Bug #20465 - Mail isn't pushed to client using imapidle

* 2011-10-20 - ldo@microdoc.de

 - Bug #20612 - USM error: Extra information for new object could not be read from OX server - check for missing sequence and uid in the meeting request object

* 2011-10-19 - ldo@microdoc.de

 - Bug #20612 - USM error: Extra information for new object could not be read from OX server

* 2011-10-19 - ldo@microdoc.de

 - Bug #20268 - conflicts on update after move of appointments

* 2011-10-14 - ldo@microdoc.de

 - Bug #20320 - distinguish  between meeting_request and meeting_update in invitations from external mail servers

* 2011-10-14 - ldo@microdoc.de

 - Bug #20320 - add meeting_request field to invitations from external mail servers

* 2011-10-11 - ldo@microdoc.de

 - Bug #20449 - meeting_request/meeting_update: change_exceptions are reported as delete_exceptions

* 2011-10-10 - ldo@microdoc.de

 - Bug #19662 - OLOX2 doesn't handle S/MIME signed (encrypted) mails correctly

* 2011-09-29 - ldo@microdoc.de

 - Bug #20392 - EAS Logins come with localhost IP address

* 2011-09-19 - ldo@microdoc.de

 - Bug #20280 - Moving a subfolder tree of mailfolders with OLOX - added error code 13 when the folder does not exist on the server

* 2011-09-16 - ldo@microdoc.de

 - Bug #19662: OLOX2 doesn't handle S/MIME signed (encrypted) mails correctly

* 2011-07-29 - ldo@microdoc.de

 - Refactoring: usage of DataobjectSet when possible instead of Array to avoid linear searches

* 2011-07-15 - ldo@microdoc.de

 - Bug #18013 - do not send modifications to client if only filtered out fields have been modified

* 2011-07-14 - afe@microdoc.de

 - Small internal performance optimization in JSON SyncCommandHandler

* 2011-07-13 - ldo@microdoc.de

 - Refactoring: usage of DataobjectSet when possible instead of Array to avoid linear searches

* 2011-07-12 - afe@microdoc.de

 - Bug #18013: undo of delete_exceptions filtering: change_exceptions are reported as delete_exceptions if they are outside of the sync interval

* 2011-07-12 - ldo@microdoc.de

 - Bug #18013: (reduce ping/pong) do not send recurrence_id to the client and empty delete_exceptions list (only when the delete_exceptions list has really been cleared)

* 2011-07-05 - afe@microdoc.de

 - Bug #19693: Make sure that on a failed merge of create/delete the new sync state contains the same data as the old sync state
 - Bug #19693: Ensure that duplicate UUIDs sent from the client are detected at JSON protocol level

* 2011-06-29 - afe@microdoc.de

 - Bug #19638: Avoid infinite recursion when reporting an error for a merge of a delete/create sent from client

* 2011-06-10 - ldo@microdoc.de

 - Bug #19445: added field "meting_update" and "task_update" to corresponding mails

* 2011-06-10 - ldo@microdoc.de

 - Bug #18760: duplicate app creation after deletion

* 2011-06-09 - ldo@microdoc.de

 - Bug #19446: extend configuration possibilities for synchronized fields (added "all_except")

* 2011-06-08 - ldo@microdoc.de

 - Bug #19444: add counter to USM response for object lists

* 2011-06-07 - ldo@microdoc.de

 - Bugfix #19427: email folder name collision not detected

* 2011-06-07 - afe@microdoc.de

 - USM/JSON: Do not send "delete_exceptions" for simple appointments

* 2011-06-06 - afe@microdoc.de

 - Removed unnecessary package requirements

* 2011-05-30 - afe@microdoc.de

 - Bugfix #19381 - Possible workaround for sending mail with encoded attachments in some java environments: Directly specifying DataSource instead of content

* 2011-05-26 - afe@microdoc.de

 - Bugfix #18174 - Added new ErrorStatusCode 12 (PARENT_FOLDER_NOT_FOUND) for failed folder creations where the parent is no longer accessible

* 2011-05-23 - afe@microdoc.de

 - Bugfix #18616 - Make sure to report missing folders as individual errors for moveItems after a session hasn't been used for some time

* 2011-05-10 - afe@microdoc.de

 - Code cleanup & reformatting

* 2011-05-06 - afe@microdoc.de

 - Optional behavior change for appointment deletions: delete->decline in private/public folder if participant and not organizer
 - Activated option in OLOX2, additionally declined appointments will be filtered (if not in a shared folder)
 - MeetingRequests are only sent if the participant status of the user has not been set

* 2011-05-02 - afe@microdoc.de

 - Bugfix #18597 - Added new fields "yomiFirstName", "yomiLastName", "yomiCompany" to default Contacts synchronization

* 2011-04-26 - afe@microdoc.de

 - Bugfix #18923 - Added new ErrorStatusCode 11 for failed PIM attachment creations to allow for better client dialogs due to OX server restrictions

* 2011-04-20 - afe@microdoc.de

 - Bugfix #18996 - Adjusted com.openexchange.usm.json.sync.timefilter_limit_past and com.openexchange.usm.json.sync.timefilter_limit_future: A value <= 0 now disables the limit

* 2011-04-07 - tse@microdoc.de

 - Bugfix #18888 - Fixed a NullPointerException in JSONSessionInitializer which occurred when OSGi bundle com.openexchange.usm.contenttypes.mail_1.0.0 has been shut down

* 2011-04-04 - afe@microdoc.de

 - Bugfix #18831 - Added new parameter "refresh" to syncUpdate-command

* 2011-03-25 - afe@microdoc.de

 - Bugfix #18731 - Changed search for meeting_request appointment to only search default calendar folder instead of using all appointments of the user

* 2011-03-25 - afe@microdoc.de

 - Bugfix #18707 - Changed error generation to provide OX error data in field "oxError"

* 2011-03-23 - afe@microdoc.de

 - Bugfix #18303 - Fixed problem in MimeMailBuilder: server locale was used for fallback generation of mail date headers (now english locale will be used)

* 2011-03-17 - afe@microdoc.de

 - Bugfix #18687 - Fixed problem with internal sync field if setConfiguration is called with "all" parameter

* 2011-03-17 - afe@microdoc.de

 - Bugfix #18595 - USM now accepts empty mail creations from clients

* 2011-03-17 - afe@microdoc.de

 - Bugfix #18433 - Enhanced reporting of error status codes for individual object failures due to OX server problems (e.g. PIM attachment could not be retrieved)

* 2011-03-11 - afe@microdoc.de

 - Bugfix #18494 - Added new ResponseStatusCode 14 (unknown UID), adjusted setConfirmationStatusHandler accordingly, updated protocol version reported to client

* 2011-03-09 - afe@microdoc.de

 - Enabled "users" field for tasks synchronization

* 2011-03-02 - afe@microdoc.de

 - Added more information to error logging of moveItems commands that failed due to unknown SyncIDs

* 2011-03-01 - afe@microdoc.de

 - Added javax.activation to list of required packages of usm.json

* 2011-02-28 - afe@microdoc.de

 - Bugfix #18467,18434 - Optimized internal structure of MimeMailBuilder, removed activation.jar from usm.json-bundle

* 2011-02-28 - afe@microdoc.de

 - Bugfix #18422 - Added new response code if a folder is no longer present in the OX server and a sync of the folder hierarchy should be performed

* 2011-02-25 - afe@microdoc.de

 - Bugfix #18430 - To allow updates on existing mails with illegal mail addresses, the MimeMailBuilder now uses a simple composition algorithm as fallback

* 2011-02-25 - afe@microdoc.de

 - Bugfix #18434 - MimeMailBuilder was too strict, some valid email structures could be rejected when sending an email
 - mail-1.4.2.jar (javax.mail) removed from usm.json-bundle to avoid class loader problems, javax.mail must now be provided by the system (and is by the OX common bundle)

* 2011-02-23 - afe@microdoc.de

 - Bugfix #18420 - Added missing ChangeState modification for duplicate client creation of emails
 - Made MimeMailBuilder more tolerant to strange data sent by clients

* 2011-02-11 - afe@microdoc.de

 - Bugfix #18322 - Added new API method to allow for customized sync states to be retained in sync mechanism (instead of the one provided to the sync mechanism)

* 2011-02-11 - afe@microdoc.de

 - Bugfix #18185 - Executing a sync of the folder hierarchy in a new session before syncing groups and resources removed sync states for those special "folders"

* 2011-02-08 - afe@microdoc.de

 - Bug #18185 - Added logging of SyncID changes for all sync commands

* 2011-01-28 - tse@microdoc.de

 - Bug #18160 - foreign folder titles sent by the client are now ignored

* 2011-01-27 - tse@microdoc.de

 - Bug #18160 - added check to avoid duplicate prefixing of shared foreign folders

* 2011-01-21 - afe@microdoc.de

 - Bug #17899 - change_exceptions could be reported as duplicate delete_exceptions

* 2011-01-20 - tse@microdoc.de

 - Bugfix #17979 - MoveItemsHandler did not consider OX server errors

* 2011-01-20 - tse@microdoc.de

 - Bug #18001 - USM/JSON-call "setConfirmationStatus": parameterlist changed to sessionid, uid, confirmation, confirmmessage; tasks are no longer supported

* 2011-01-19 - afe@microdoc.de

 - Bug #17899 - change_exceptions and delete_exceptions are only used in appointments

* 2011-01-18 - afe@microdoc.de

 - Bug #17899 - change_exceptions outside the sync interval or not visible to the user are reported as delete_exceptions

* 2011-01-18 - tse@microdoc.de

 - Bugfix #17240 - For shared foreign folders, the folder owner's user name will be used as prefix for the folder name

* 2011-01-17 - afe@microdoc.de

 - Bug #17999 - Added code that detects simultaneous deletion and creation of the same appointment (identified by the uid) by the client and merges them internally to a change

* 2011-01-14 - tse@microdoc.de

 - Bugfix #18001 - New USM/JSON-call "setConfirmationStatus" to confirm/decline appointments and tasks

* 2011-01-13 - afe@microdoc.de

 - Bug #17639 - Added new errorStatus for failed client operations to report missing permissions, also report complete object for failed client operations

* 2010-12-16 - afe@microdoc.de

 - Enhancement - Added new USM/JSON command locateObjects to determine parent folders of specified objects

* 2010-12-16 - afe@microdoc.de

 - Bugfix - new time frame filter for OLOX triggered bug: Unlimited number of mails in a limited time frame was not handled correctly (no mails were reported)

* 2010-12-16 - tse@microdoc.de

 - Bugfix - When a re-login and re-try is performed because of an expired session, then the wrong sessionid had been used

* 2010-12-14 - afe@microdoc.de

 - Enhancement - added caching system for OX server data for repeated syncs on same folder, added 2 server config properties to configure caching system

* 2010-12-10 - tse@microdoc.de

 - Bugfix #17745 - Introduced config properties "com.openexchange.usm.json.sync.timefilter_limit_past" and "com.openexchange.usm.json.sync.timefilter_limit_future" to filter appointments and mails by time

* 2010-12-07 - tse@microdoc.de

 - Bugfix #17564 - Adjusted MoveItemsHandler to produce an errorStatus 7 when unknown UUIDs create a non-fatal error

* 2010-11-17 - afe@microdoc.de

 - Bugfix #17564 - Adjusted MoveItemsHandler so that unknown UUIDs do not create fatal errors unless configuration option is set

* 2010-11-12 - afe@microdoc.de

 - Bugfix #17495 - Return status code DATABASE_ERROR for USMSQLExceptions

* 2010-11-03 - afe@microdoc.de

 - Bugfix #17217 - Adjusted PreferencesItemServices & USM, now uses "active" instead of "module" to check user access rights

* 2010-10-18 - afe@microdoc.de

 - Bug #17257 - Added new config property "com.openexchange.usm.json.sync.fatal_uuid_errors" to treat uuid errors optionally as non-fatal (non-fatal is now default)

* 2010-10-12 - afe@microdoc.de

 - Bugfix #17192 - Abort complex changes to emails (sync error for that email) if the user hasn't enough rights to create and delete emails in the folder

* 2010-10-11 - afe@microdoc.de

 - Bugfix #17225 - Correctly store unmodified UUID for objects created in foreign folders

* 2010-10-11 - afe@microdoc.de

 - Bugfix #17226 - Added security checks to avoid NPE

* 2010-10-08 - afe@microdoc.de

 - Bugfix #17181 - If an appointment is created by a client due to a meeting request, the automatic deletion of that appointment (since it's a duplicate to an already existing appointment) may not reported directly if the limit is set to 0

* 2010-10-08 - ldo@microdoc.de

 - Bugfix #17190 - task_request field added to new task emails

* 2010-10-05 - ldo@microdoc.de

 - Bugfix #16393 - MoveItems command for appointment series from Outlook mapped to delete in original folder and create in Trash-Calendar folder

* 2010-10-04 - ldo@microdoc.de

 - Bugfix #17100 - on conflict resolution USE_SERVER_DELETE_OVER_CHANGE server errors when trying to read the deleted mail should be ignored

* 2010-10-04 - ldo@microdoc.de

 - Bugfix #17092 - color_label should be updated in a separate update call when external mail fields are changed

* 2010-10-01 - ldo@microdoc.de

 - Bugfix #17118 - Parent_uuid should be added to series exceptions only if the series is known to the client

* 2010-09-29 - afe@microdoc.de

 - Bugfix #17040 - Creation of an element with an UUID already in use now creates an error specific for the created object, the sync no longer fails completely

* 2010-09-27 - afe@microdoc.de

 - Changed error handling so that more errors are reported for individual objects, not as a global error that causes the sync to fail completely

* 2010-09-22 - afe@microdoc.de

 - Bugfix #16854 - Added code to adjust for bad command-sub-path sent by client

* 2010-09-22 - ldo@microdoc.de

 - Change_exceptions and delete_exceptions should not be reported to client for Series Exceptions

* 2010-09-21 - ldo@microdoc.de

 - Bug #16877 - initial sync of GAL very slow - optimization: do not make getAllAttachments call for every new contact

* 2010-09-07 - ldo@microdoc.de

 - Bugfix #16817 - conflicts when many change exceptions are created as modification to the series

* 2010-09-06 - ldo@microdoc.de

 - Bugfix #16768 - duplicate attachment on creating change_exception from outlook

* 2010-09-03 - ldo@microdoc.de

 - Bugfix #16806 - new change_exception: error UUID already mapped

* 2010-08-31 - ldo@microdoc.de

 - Bugfix #16779 - NPE when inserting attachments in sync result

* 2010-08-30 - ldo@microdoc.de

 - Bugfix #16752 - NPE when creating Series with Exceptions

* 2010-08-23 - ldo@microdoc.de

 - Added new USM-JSON call invalidateObjects

* 2010-08-23 - afe@microdoc.de

 - Added buddy class loading to allow for deserialization of custom USM/JSON protocol classes

* 2010-08-23 - ldo@microdoc.de

 - Bugfix #16695 - Added field "parent_uuid" to appointment exception modifications

* 2010-08-23 - afe@microdoc.de

 - Added field "context_id" to server response of GetConfiguration-call

* 2010-08-23 - afe@microdoc.de

 - Added custom sorting of server changes (for use if not all changes should be reported at once), newest elements first, contacts alphabetically by display_name

* 2010-08-17 - ldo@microdoc.de

 - Bugfix #16594 - change_exceptions should be added to the result only if the exceptions objects are know to the usm or the change_exceptions list is empty

* 2010-08-12 - afe@microdoc.de

 - Bugfix #16676 - Added size and attachment count filtering, added configuration parameters for json protocol

* 2010-08-12 - afe@microdoc.de

 - Test for Bug 16676 - Extended DataObjectFilter to also allow filtering of result, added filter for email sizes and no. of attachments on PIM objects

* 2010-08-02 - ldo@microdoc.de

 - Added usm and json version and build number to the login response

* 2010-07-26 - afe@microdoc.de

 - Bugfix #16569 - Added more detailed error message if sync failed due to conflicts

* 2010-07-22 - ldo@microdoc.de

 - Bugfix #16401 - Do not send deleted exceptions in the deleted list in case of series (main attribute) modification

* 2010-07-16 - ldo@microdoc.de

 - Bugfix #16469 - Send error info mail to the client when invalid mail found on server

* 2010-07-14 - ldo@microdoc.de

 - Bugfix #16487 - Appointment exceptions have new uuid on each change from outlook. Added methods for remapping ox id to new uuid.

* 2010-07-06 - afe@microdoc.de

 - USMJSONServlet allows extra data (after ";") after the content-type
 - resolveIDs: Added specific error for bad UUIDs, optimized object lookup

* 2010-07-02 - ldo@microdoc.de

 - New command: Retrieve OX Ids

* 2010-06-30 - afe@microdoc.de

 - Added extended debug logging for bug 16304

* 2010-06-29 - afe@microdoc.de

 - Bugfix #16300 - Various optimizations regarding PIM attachments handling, some other small optimizations

* 2010-06-25 - ldo@microdoc.de

 - bugfix #16392 - Saving emails in Drafts not possible (syncUpdate)

* 2010-06-24 - ldo@microdoc.de

 - bugfix #16388 - Attachments reduplicate when moving an appointment from one folder into another

* 2010-06-22 - ldo@microdoc.de

 - when client creates appointment with existing uid, the creation should be transformed to modification, or the uid in the client object should be changed

* 2010-06-18 - ldo@microdoc.de

 - Bugfix #16352 - Attachments on appointment exceptions are not created when the exception is new to the server

* 2010-06-14 - ldo@microdoc.de

 - Bugfix #16230 - NPE on change_exception with no recurrence_id set

* 2010-06-10 - afe@microdoc.de

 - Added debug-logging of USM-JSON-requests with used time and number of OX-calls,similar to logging for EAS

* 2010-06-07 - ldo@microdoc.de

 - Bugfix #16265 - Invalid attachment data should result in error with status 8

* 2010-06-04 - ldo@microdoc.de

 - Bugfix #16243 - check if the new folder tree implementation is installed before initializing a json session. (config: /modules/folder/tree)

* 2010-06-02 - afe@microdoc.de

 - Bugfix #16197(2) - attachments for client PIM Objects which still don't exist on server should not be read from server

* 2010-06-01 - ldo@microdoc.de

 - Allow emails without content-type and body

* 2010-05-28 - afe@microdoc.de

 - Added code to prevent multiple wrapping of exceptions which hides details of the original error

* 2010-05-27 - ldo@microdoc.de

 - Stack Trace in error message on Internal Error

* 2010-05-26 - ldo@microdoc.de

 - Bugfix #16195 - NPE on deleting PIM Attachments

* 2010-05-21 - afe@microdoc.de

 - Bugfix #15799 - add all headers containing date/time JSONobjects correctly to sent mail

* 2010-05-20 - afe@microdoc.de

 - Modified ErrorStatusCode computation to match OX implementation of permission flags

* 2010-05-19 - afe@microdoc.de

 - Bugfix #16143 - Unhandled exceptions are now always logged with their stacktrace, JSONObjects are logged in formatted format for severe errors (OX,DB,Internal) if no exception is available

* 2010-05-17 - afe@microdoc.de

 - Bugfix #16113 - Creating multiple mails leads to error

* 2010-05-10 - ldo@microdoc.de

 - "errors" in MoveItems should be JSONObject

* 2010-05-07 - afe@microdoc.de

 - Bugfix: Fixed error caused by incomplete handling of MeetingRequests for appointments that are already deleted

* 2010-05-05 - ldo@microdoc.de

 - Bugfix #16032 - For Move "Create Object" rights should be available in the destination folder, not "Write/Modify" rights

* 2010-05-05 - afe@microdoc.de

 - Added access check for usm json access (dummy implementation in ox preferences module for now)

* 2010-05-05 - ldo@microdoc.de

 - Bugfix #16034 - DataObject should be included in the error message

* 2010-05-04 - ldo@microdoc.de

 - Bugfix #16029 - created_by field doesn't exist in mail objects

* 2010-04-29 - ldo@microdoc.de

 - Bugfix #15990 - Changes in Exception to Series Appointments should be reported to client

* 2010-04-29 - ldo@microdoc.de

 - MeetingRequest: parent Folder can not be determined - get all appointments from the server, and search for the one in the meeting request

* 2010-04-29 - ldo@microdoc.de

 - MoveItems returns 7 new Error Status Codes for each not moved object

* 2010-04-27 - ldo@microdoc.de

 - MoveItems returns 4 new Response Status Codes: 13 - dest. doesn't exist, 14 - source doesn't exist, 15 - dest. no permiss., 16 - source no permiss.

* 2010-04-22 - ldo@microdoc.de

 - Bugfix #15909 - Create change and delete exceptions to series appointments in one update call

* 2010-04-22 - ldo@microdoc.de

 - Bugfix #15925  - Errors in MoveItems command should contain uuid and the error JSONObject

* 2010-04-07 - ldo@microdoc.de

 - Bugfix #15798 - All multipart message types should be supported

* 2010-03-30 - ldo@microdoc.de

 - Meeting Request enabled

* 2010-03-29 - ldo@microdoc.de

 - QoutedInternetAddress class from server is used to build addresses in the JSON to MIME conversion

* 2010-03-24 - ldo@microdoc.de

 - Bugfix #15661 - On rename of email folders from Client the new ID of the folder should be saved in the DB

* 2010-03-19 - ldo@microdoc.de

 - Distribution List Member UUID from client should be mapped to OX-id

* 2010-03-18 - ldo@microdoc.de

 - Distribution List Member should have a UUID

* 2010-03-18 - ldo@microdoc.de

 - Usage of mail.mime.ContentType and mail.mime.ContentDisposition classes from server

* 2010-03-17 - ldo@microdoc.de

 - Bug #15608 - Error on editing Mails from Client - editing of 2 mails at once

* 2010-03-16 - ldo@microdoc.de

 - Bug #15609 - On moving Mails Inbox - Trash sync reports the email twice as deleted

* 2010-03-16 - ldo@microdoc.de

 - Bug #15613: Non-ASCII characters in Mail Subject show up on server as ?

* 2010-03-15 - ldo@microdoc.de

 - Content-Type params should be a quoted String in case they contain empty spaces

* 2010-03-15 - ldo@microdoc.de

 - All mail headers received from Client should be sent to the server in the MIME-Mail

* 2010-03-12 - ldo@microdoc.de

 - Params for header "content-type" made optional
 - Address headers (as defined in Spez.) and simple headers: "thread-thopic", "thread-index", "importance" added
 - Text - Body (text/plain) should not be expected as Base64 encoded if "content-transfer-encoding": "base64" is not set

* 2010-03-11 - ldo@microdoc.de

 - On Status 4 (Internal Error) the StackTrace should be sent to the Client

* 2010-03-10 - ldo@microdoc.de

 - SyncUpdate: creation of new mails in syncUpdate should be possible

* 2010-03-10 - ldo@microdoc.de

 - PIMAttachments deletion: on delete is not always the lastModifiedOfNewestAttachmentUTC changed, but sometimes only the number_of_attachments field
 - PIMAttachments deletion: when all attachments are deleted on the server, the field lastModifiedOfAttachmentUTC is reset to null

* 2010-03-10 - ldo@microdoc.de

 - Occurrences (222) field in Tasks should be synchronized

* 2010-03-09 - ldo@microdoc.de

 - PingHandler: context_uuid should be handled differently as other folder-uuids

* 2010-03-02 - ldo@microdoc.de

 - UUIDs for Emails - do not send random UUIDs if the Email has already been synchronized

* 2010-02-26 - ldo@microdoc.de

 - "All" option added to SetConfiguration command - Documentation

* 2010-02-25 - ldo@microdoc.de

 - "All" option added to SetConfiguration command

* 2010-02-25 - ldo@microdoc.de

 - Meeting Request disabled

* 2010-02-23 - ldo@microdoc.de

 - Added field "timezone" to Calendar

* 2010-02-23 - afe@microdoc.de

 - Changed MoveItemsHandler to report conflicts like SyncInit and SyncUpdate

* 2010-02-23 - ldo@microdoc.de

 - double usage of error codes removed
 - pim attachments and exceptions code can be skipped for groups and resources

* 2010-02-18 - ldo@microdoc.de

 - JSON_API_Definition document changed

* 2010-02-17 - ldo@microdoc.de

 - Resources (read only) implementation

* 2010-02-12 - ldo@microdoc.de

 - Groups and Resources (read only) implementation

* 2010-02-12 - ldo@microdoc.de

 - Meeting Request: send the folder uuid in the meeting_request object

* 2010-02-10 - ldo@microdoc.de

 - PIM Attachments: attachments should not be requested from server when the "attachments" field is not set for synchronization

* 2010-02-09 - ldo@microdoc.de

 - PIM Attachments: removed the effect of false server modification on syncUpdate caused of wrong timestamp received on create and delete attachments

* 2010-02-08 - ldo@microdoc.de

 - PIM Attachments for Appointment Exceptions

* 2010-02-08 - ldo@microdoc.de

 - PIM Attachments: lastModifiedOfAttachments field available on server - made according changes
 - Meeting Requests: first implementation; meeting_request field is set on reading meeting request emails

* 2010-02-04 - afe@microdoc.de

 - Modified parsing of limit parameter to allow for limit 0

* 2010-02-03 - ldo@microdoc.de

 - JSON_API_Definition document changed: added PIM Attachments.

* 2010-02-03 - ldo@microdoc.de

 - PIMAttachments handling
 - Refactored creating of appointment exceptions (too many sync states were saved)

* 2010-02-02 - ldo@microdoc.de

 - PIMAttachments handling

* 2010-01-29 - ldo@microdoc.de

 - changed the json tests for tasks to fit the new tasks content type (field project_id removed)

* 2010-01-29 - ldo@microdoc.de

 - PIMAttachments handling

* 2010-01-25 - ldo@microdoc.de

 - PIMAttachments handling
 - Refactoring in command handlers: introduces SyncCommandHandler for Sync commands; NormalCommandHandler holds methods relevant for all other commands

* 2010-01-15 - ldo@microdoc.de

 - ping properties renamed
 - JSONArray method usage removed because it is not available in the OX json implementation

* 2010-01-15 - ldo@microdoc.de

 - Unsupported folders should not be returned in the ping result as changed.

* 2010-01-14 - ldo@microdoc.de

 - Ping Command Implementation

* 2010-01-12 - afe@microdoc.de

 - Added userid to response of login and getConfiguration commands, added JSON-API-specification documents to SVN repository

* 2009-12-18 - ldo@microdoc.de

 - Deleting contact images

* 2009-12-17 - ldo@microdoc.de

 - Mails on slow sync - handle different conflict resolution scenarios for structured mail objects

* 2009-12-15 - ldo@microdoc.de

 - MimeMailBuilder should be able to convert messages with attachment as returned form OX Server

* 2009-12-15 - ldo@microdoc.de

 - Refactoring: changes as suggested from FindBugs

* 2009-12-15 - ldo@microdoc.de

 - When changing email body, first create the new email, and than delete the old one on the server

* 2009-12-11 - ldo@microdoc.de

 - Client should not be able to send objects in a Sync command from a folder different than the one currently synchronized

* 2009-12-10 - afe@microdoc.de

 - US3853: Added new version parameter and result to login command

* 2009-12-10 - ldo@microdoc.de

 - Harddelete for Mails used in the USM_JSON
 - MoveItems should return Conflicting errors (as exception) in case of conflicts between client and server

* 2009-12-09 - ldo@microdoc.de

 - Send all Appointment Exceptions (change and delete) always and in both directions (Client to Server and Server to Client)

* 2009-12-09 - afe@microdoc.de

 - Added new parameter ConflictResolution to sync-methods in Session API to optionally specify the ConflictResolution for a specific sync-call

* 2009-12-09 - afe@microdoc.de

 - USM/JSON ChangeLog created
