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

 - Bugfix #16864 - NPE in ContentSyncerSupport
 
* 2010-08-27 - afe@microdoc.de

 - Workaround bug #16566 - Use different algorithm for determining request URL
 - Adjustment due to bug #14948 - urldecode image url sent by OX server
 - Bug #16566 - Added debug logging and message to client if MIME mail source can not be read

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

 - Disabled ContentTypeTransferHandler tests to avoid strange build problem in SLES10/IBM-JDK environment
 
* 2010-07-27 - afe@microdoc.de

 - Bugfix #16551 - Client used UUID reserved for server generated UUIDs
 
* 2010-07-15 - ldo@microdoc.de

 - Bugfix #16489 - Interface must not send stack traces to any client.
 
* 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-05 - afe@microdoc.de

 - Bugfix #16304 - Made old storeSyncState method available (deprecated) in case different bundle versions are in use

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

 - Bugfix #16304 - Enhanced storage mechanism to allow to make sure to keep last used sync state also for complex operations

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

 - bugfix #16414 - "days" should not be set to default value 127 when not sent by server
 
* 2010-06-29 - afe@microdoc.de

 - Changed StringDataType so that null and "" are treated as equal (internally storing null for efficiency)

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

 - Bugfix #16403 - error from server on creating attachments should be reported to client

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

 - Optimized matching of contacts, added more detailed weighting to fields
 
* 2010-06-24 - afe@microdoc.de

 - Added matching of contacts based on identical/similar fields for slow sync
 
* 2010-06-23 - ldo@microdoc.de

 - bugfix #16377 - upsynced Folder reported as "created" in Downsync

* 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-21 - ldo@microdoc.de

 - Bugfix #16297 - when getting resources, return error to client when resource not reachable or the server returned error page
 
* 2010-06-21 - ldo@microdoc.de

 - Bugfix #13960 - get server default changes after client creation and report them as modification to the client

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

 - Bugfix #16343 - HTML response from server should not be searched for json regex pattern.
 
* 2010-06-14 - afe@microdoc.de

 - Bugfix #16300 - Improve performance of syncs with many new objects
 
* 2010-06-10 - afe@microdoc.de

 - Optimized uuid cache further: instead of String a simplified UUID is used as a key (reducing the cache key data to 128 bit and avoiding String operations when generating the key)
 
* 2010-06-10 - afe@microdoc.de

 - Bugfix: error in deserialization prevented correct setting of UUID from cached data for old serialized states 
 
* 2010-06-08 - ldo@microdoc.de

 - 2 PimAttachments objects are equal if both have empty attachments list. 
 
* 2010-06-08 - ldo@microdoc.de

 - Bugfix #16274 - null should not be sent to the server for boolean data types
 
* 2010-06-02 - ldo@microdoc.de

 - Bugfix #16197 - attachments for client PIM Objects which still doesn't exist on server should not be read from server
 
* 2010-05-31 - ldo@microdoc.de

 - Bugfix #16225 - simple data type should use JSONObject.NULL instead of null 
 
* 2010-05-28 - afe@microdoc.de

 - Bugfix #16219 - birthdays are transferred as numbers
 
* 2010-05-28 - ldo@microdoc.de

 - Bugfix #13960 - get server defeult changes after client creation and report them as modification to the client
 
* 2010-05-27 - afe@microdoc.de

 - Reactivated folder access check before content is read 
 
* 2010-05-27 - afe@microdoc.de

 - Bug #16170 - Disabled added feature for bug #15965
 
* 2010-05-26 - ldo@microdoc.de

 - Bugfix #16195 - NPE on deleting PIM Attachments
 
* 2010-05-26 - ldo@microdoc.de

 - Bugfix #16192 - Users are read from the user interface instead of GAL
 
* 2010-05-25 - afe@microdoc.de

 - Disabled folder access check before content is read 
 
* 2010-05-25 - ldo@microdoc.de

 - Bugfix #16028 - When renaming/moving email folder the ids of its subfolders should also be changed 
 
* 2010-05-19 - afe@microdoc.de

 - Bugfix #16144 - ID field of "Groups" ContentType was not of data type String as expected by the USM
 - Bugfix #15965(10) - If properties of a folder are changed, the USM marks this folder as "needs to be synchronized" (which is normally done automatically since OX sends an event for that folder)
 - Bugfix #16131 - Use String instead of OXObjectID for cache keys to avoid deserialization problems for distributed caches

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

 - Bugfix #16142 - Folder read permissions are now checked before the folder content is read
 - Bugfix #16143 - If an exception is encapsulated in a JSONObject, that JSONObject is logged as a formatted String to provide a readable stacktrace
 - Added exception class name and exception message (if any) to errorDetails object
 
* 2010-05-18 - afe@microdoc.de

 - Bugfix - sorting of folders with null ids created NPE
 - Optimized sorting of folders
 
* 2010-05-12 - afe@microdoc.de

 - Bugfix - incomplete sync (more server updates available) caused folders to be marked as synchronized
 
* 2010-05-06 - afe@microdoc.de

 - Bugfix #15515 - EAS Client iPhone doesn't display iso-8859-1x encoded mail bodies correctly
 
* 2010-05-06 - ldo@microdoc.de

 - Bugfix #16052 - Exception on moving a mail folder - not able to update cache
 
* 2010-05-05 - afe@microdoc.de

 - Simplified configuration retrieval by adding convenience method to USM Session

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

 - Bugfix #16002 - faster discovery of changes in usm/eas access rights of an user

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

 - Bugfix #15989 - Exception on reporting immediate server modification to a client creation

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

 - Bugfix #15890 - created mail folders should have the same uuid on the same syncid and different http-sessionid
 
* 2010-04-22 - ldo@microdoc.de

 - Bugfix #15911 - "number_of_attachments" should not be sent to server because it is set automatically from server
 
* 2010-04-21 - ldo@microdoc.de

 - Distribution member list has display_name field instead of first_name and last_name

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

 - Bugfix #15802 - parameter "force" used on saving emails in inbox
 
* 2010-03-25 - ldo@microdoc.de

 - Bugfix #15676 ConfirmindParticipant should overwrite equals
 
* 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-24 - ldo@microdoc.de

 - Bugfix #15560 mails marked as deleted as should be filtered out for the EAS protocol
 
* 2010-03-22 - ldo@microdoc.de

 - When the user has no read rights on a folder, the sync system should set this folder as empty
 
* 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-15 - ldo@microdoc.de

 - ContactDistributionMember doesn't always have user_id 
 
* 2010-03-02 - ldo@microdoc.de

 - UUIDs for Emails - do not send random UUIDs if the Email has already been synchronized  
 
* 2010-03-01 - ldo@microdoc.de

 - EAS Mail Attachments
 
* 2010-03-01 - afe@microdoc.de

 - Bugfix #15510: Fixed off-by-1 error in conversion of serialized data

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

 - USM Preferences Item Service
 
* 2010-02-24 - ldo@microdoc.de

 - Index of Attachments field in Contacts should be calculated relatively to Image fields
 
* 2010-02-23 - ldo@microdoc.de

 - Added field "timezone" to Calendar
 
* 2010-02-23 - ldo@microdoc.de

 - Elements of Content Type Dummy Folders should not be removed from cache on syncUpdate on the Folder Hierarchy
 
* 2010-02-19 - ldo@microdoc.de

 - US4158: Use timezone=UTC parameter in all OX-Calls

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

 - DataTypes for complex Objects should return a default value in case the JSON value is NULL

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

 - For Unsupported Content Operations the error details should not contain a stacktrace
 
* 2010-02-17 - ldo@microdoc.de

 - Resources (read only) implementation

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

 - allowed_modules parameter in all OX-folder-calls is created from the currently (in the current session) supported content types 

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

 - tree-parameter is no longer sent on OX-folder calls if the value is empty

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

 - Added new parameter allowed_modules to OX-folder-calls, disabled temporary OX-folder2-calls

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

 - Groups and Resources (read only) implementation

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

 - Added new fields to Appointments (uid, organizer, sequence, confirmations)
 
* 2010-02-10 - ldo@microdoc.de

 - Fixed problem in limiting the sync results which caused series to be sent without their exceptions and empty results when trying to send exceptions to unknown series
 
* 2010-02-10 - afe@microdoc.de

 - Fixed problem in TaskContentType compatibility code that prevented correct deserialization of all fields 
 
* 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: lastModifiedOfAttachments field available on server - made according changes
 
* 2010-02-04 - ldo@microdoc.de

 - Repeated folder creation calls with same syncId should be ignored
 
* 2010-02-02 - ldo@microdoc.de

 - PIMAttachments handling
 
* 2010-02-01 - afe@microdoc.de

 - Added check when reading which fields to synchronize from DB to avoid invalid fields due to changes in ContentTypes
 
* 2010-02-01 - afe@microdoc.de

 - Added parameters to OX login call to identify the USM, sub-protocol and session
 
* 2010-01-29 - afe@microdoc.de

 - Fixed problem in contact-image-generation
 
* 2010-01-29 - afe@microdoc.de

 - Removed invalid tasks field 'project_id', added code that allows deserialization of old SyncState data
 
* 2010-01-29 - ldo@microdoc.de

 - PIMAttachments handling
 
* 2010-01-28 - afe@microdoc.de

 - Made TransferHandlers more tolerable regarding numbers sent from OX: Now also Strings that can be parsed to doubles are allowed
 
* 2010-01-27 - afe@microdoc.de

 - Bugfix #15270: Fixed SQL constraint error that could occur if too many new session were created at once
 
* 2010-01-25 - ldo@microdoc.de

 - PIMAttachments handling
 
* 2010-01-19 - ldo@microdoc.de

 - Added methods for creating/retrieving/deleting PIM Attachments on the OX Server

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

 - Changed birthday field from date to number so that no conversion from/to user timezone for OX data is performed

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

 - Extended deserialization mechanism to allow migration from old serialized data to current format
 - Added objects for PIM attachment management and basic fields for future communication with OX server
 - Streamlined code for ContentTypes by implementing common abstract base classes for ContentTypes and their service wrappers
 
* 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 - ldo@microdoc.de

 - Bug #15142 - Previously created exception is reset when creating another exception on Nokia Devices

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

 - Deleting contact images

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

 - Optimized some internal code

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

 - Refactoring: changes as suggested from FindBugs

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

 - Bug #15154 - New contacts are not synchronized to the server
 
* 2009-12-15 - afe@microdoc.de

 - Optimized internal class for NestedMail-property storage

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

 - ConflictingChangeException should be thrown when OX returns error because of Edit Conflict
 
* 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-07 - ldo@microdoc.de

 - Move Items implementation

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

 - Modified OX-access code so that resource URLs with parameters will now be correctly handled (not URL-encoded again).

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

 - Extended DB access and JMX interface so that now operations can be performed on all OX contexts (if 0 is provided as context)

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

 - Added new method to MailContentType to delete email permanently from Server

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

 - Extended Session API (getParentFolder(), new TimestampMismatchException), added constant for "no limit on reported server changes"
 - Changed behavior of Incremental- and SlowContentSyncer: An error during server updates no longer aborts the sync, but is stored and reported back in the SyncResult. The Sync is completed successfully even if errors during updates occurred

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

 - Added constant to Session API for no limit on SyncResult size
 - Added code to SlowContentSyncer and IncrementalContentSyncer to handle UUID matches and repeated creations from clients

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

 - Retrieve the email as Structured JSON Object from server

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

 - Configuration for the email fields which need to be synchronized 

* 2009-11-25 - afe@microdoc.de

 - Bugfix #14983: Added missing tables to CreateTableService
 
* 2009-11-25 - ldo@microdoc.de

 - Handling of Client mail creations as StructuredJSONMailObject
 
* 2009-11-25 - afe@microdoc.de

 - Added code to session management and SlowContentSyncer to detect uuid conflicts for slow syncs
 
* 2009-11-24 - afe@microdoc.de

 - UUID database storage activated
 
* 2009-11-24 - afe@microdoc.de

 - Add start_date only for full_time appointment series, never add delete_exceptions on updates
 
* 2009-11-23 - afe@microdoc.de

 - Added temporary workaround for Bug #14952 to avoid NPE in OX server code

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

 - Comparator for Folder Hierarchy 
 
* 2009-11-20 - afe@microdoc.de

 - Removed unnecessary recurrence_id for appointment calls to the OX server 
 
* 2009-11-20 - ldo@microdoc.de

 - Exception from Series - creating, modifying and deleting from the JSON API 
 
* 2009-11-19 - afe@microdoc.de

 - Fixed problem in unnecessary field removal which caused too many fields to be removed for new exceptions
 
* 2009-11-18 - afe@microdoc.de

 - Added UpdateTask with version 93 that clears all cache tables
 
* 2009-11-18 - afe@microdoc.de

 - Removed unnecessary request body fields for updates on appointment series
 
* 2009-11-18 - afe@microdoc.de

 - Added new field 316 (standard_folder_type) to FolderContentType
 
* 2009-11-17 - afe@microdoc.de

 - Changed OXJSONAccessImpl: HTTP redirects for OX access (up to 10 levels) are followed, an INFO message is logged every 5 minutes as long as redirects are active
 
* 2009-11-17 - afe@microdoc.de

 - Removed package reference to com.openexchange.push in the EventListener
 
* 2009-11-16 - ibr@microdoc.de

 - Bugfix #14853: set explicitly the WBXML codepage (the namespace) in CategoriesOperationXmlType to avoid the exception by implicitly change of codepage with multiple possibilities
 
* 2009-11-16 - afe@microdoc.de

 - Changed Headers data type so that correct JSONArray of Strings is generated for headers with multiple values
 
* 2009-11-16 - afe@microdoc.de

 - Bugfix #14854: Modified OXEventListener so that delete events that do not use DataObjects do not cause ClassCastExceptions
 
* 2009-11-13 - afe@microdoc.de

 - Added getContextUUID() method to USM Session API
 
* 2009-11-13 - afe@microdoc.de

 - Added getContextUUID() method to USM Session API
 
* 2009-11-12 - ibr@microdoc.de

 - Change  NestedMail for filename field, from Map<ContentTypeField, Object> to Map<String, Object>
 
* 2009-11-12 - ibr@microdoc.de

 - Change the class Header for multiple headers from Map<String, String> to Map<String, String[]>, change tests
 
* 2009-11-12 - afe@microdoc.de

 - Modified deserialization error handling: Errors are caught at low level and bad sync states are reported as not available

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

 - Bugfix #14644: Remove deprecated fields (links 591)

* 2009-11-10 - ibr@microdoc.de

 - Added field content_type to MailContentTypeImpl 

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

 - Added JMX interface for SessionManager that allows monitoring the active sessions and monitoring/changing configuration parameters and persistent session properties 

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

 - Bugfix #14644: Remove deprecated fields (number_of_links  103; after_complete   304)

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

 - Virtual folders - Folder.Tree persistent session field; tree parameter in all OX requests to the folder module
 
* 2009-11-05 - ldo@microdoc.de

 - Automated tests 

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

 - Automated send email test

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

 - Automated fetch test

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

 - Automated delete test
 
* 2009-11-04 - afe@microdoc.de

 - Added projects for release-packages and automated test classes

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

  - Delete objects from UUID mapping table on receiving delete event from the OX server

* 2009-11-03 - ibr@microdoc.de

  - Change by MailContentTypeTransferHandlerImpl: method getMailAttachment
  
* 2009-10-30 - ldo@microdoc.de

  - Added update task for the tables used in UUID management

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

 - Bugfix #14729: Modified USMOXDeleteListener so that no DeleteFailedException is thrown if USM tables do not exist

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

 - Added new Exception for deserialization errors to improve logged information in case DB inconsistency occurs

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

 - Added code to enable sync system to read in sync states from DB in old format (in case the UpdateTask was not executed) 

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

 - Bugfix #14661: "days" should not be set for yearly appointment 

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

 - Added method to DataType to check for default value

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

 - Added UpdateTask that completely empties all USM cache tables (required for changed cache storage with UUIDs)

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

 - Modified UUID mapping and test to allow global UUIDs

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

 - Added methods to Session interface to allow UUID mapping, added simple test implementation for uuid mapping

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

 - Added new FolderNotFoundException that is thrown if a given folderid can not be mapped to an OX folder
 - Added findFolder method to Session
 - Changed limit to generate DB map entry for long folder ids to allow 20 character OX object IDs without extra mapping 

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

 - Parameter view = "text" set when getting email as forward/reply

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

 - Split internal OX access API login method into login and getConfiguration 

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

 - Added Session API method that returns view of persistent fields

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

 - Bugfix #14598: Changed X-header USM version to match that of OX head

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

 - Bugfix #14589, #14575: Fixed hashCode()/equals() problem with ContentTypes on J9 JVMs

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

 - Bugfix #14573: Modified UpdateTask to correctly work with partially installed sequences

* 2009-09-23 - ibr@microdoc.de

 - USM JSON: folder hierarchy for test files 

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

 - end synchronization on logout in USM JSON API - remove session from internal storage

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

 - end synchronization on logout in USM JSON API

* 2009-09-22 - ibr@microdoc.de

 - USM JSON Test System Changes

* 2009-09-21 - ibr@microdoc.de

 - Test System  for USM-JSON API
  
* 2009-09-17 - ldo@microdoc.de

 - Error handling in the USM-JSON API

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

 - Enhancement: Added possibility to limit the number of mails in a folder for a sync
 - Bugfix: Fixed possible NPE for simultaneous client and server deletion

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

 - Bugfix #14522: Fixed typo in SQL query in USMDeleteListener, ensured correct usage of contextid

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

 - Added regularly updates of persistent data from DB in case an external change occurs

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

 - Merged USM- and EAS-ChangeLog into global ChangeLog

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

 - Bugfix #14459: minimized usage time of SQL connection by rearranging code, using read-only connections where possible

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

 - "days" field should always be sent when updating series

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

 - Fixed typo in API method name

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

 - Added code to collect per-session statistics on how much time is spent in how many OX-calls

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

 - Modified the Session-API so that also empty custom SyncStates can be stored (but only syncStates for FolderContent)

* 2009-08-25 - ldo@microdoc.de

 - Bugfix #14371: Ending the series on iPhone when trying to make a change "for all future" occurrences

* 2009-08-25 - afe@microdoc.de

 - Changed access check code and default values to reflect new properties as discussed by mail

* 2009-08-20 - afe@microdoc.de

 - Added new Session API method to allow protocols to store custom sync states if synchronization can only be partially completed

* 2009-08-19 - ldo@microdoc.de

 - Bugfix #14275: Modification of series appointment structure is not synchronized - deletion of single appointments

* 2009-08-19 - afe@microdoc.de

 - Bugfix #14278: using all/list request combo for mail synchronization with timeframe instead of single large all request

* 2009-08-19 - ldo@microdoc.de

 - Bugfix #14275: Modification of series appointment structure is not synchronized

* 2009-08-18 - afe@microdoc.de

 - Moved configuration properties for EAS into a new properties file (eas.properties), added new file to build system
 - Changed stand-alone ConfigurationManager so that it reads in all files (*.properties) in the config folder,
   reporting warnings if a property is set multiple times

* 2009-08-18 - afe@microdoc.de

 - USM ChangeLog created
