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

 - Bug 33678 - The return value of moreAvailable is sometimes a boolean or a string
 
* 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
