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

 - Bugfix #17321 - Activated new MeetingRequest algorithm for all devices except Nokia, added some fine-tuning to avoid problems with WinMob-devices
 
* 2010-10-06 - afe@microdoc.de

 - Bugfix - Adjusted GetAttachments command to retrieve correct attachment information
 
* 2010-09-22 - afe@microdoc.de

 - Bugfix #16816 - Added server config option to enable(default) or disable URL redirecting
 
* 2010-09-17 - ldo@microdoc.de

 - Bugfix #14654 - Bugfix 14654 copied from head
 
* 2010-09-15 - ldo@microdoc.de

 - Bugfix #16864 - NPE in ContentSyncerSupport
 
* 2010-09-07 - ldo@microdoc.de

 - bugfix #16451 copied from trunk
 
* 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-08-02 - choeger@open-xchange.com

 - Bugfix #16619 - USM package contains unnecessary bundle

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

 - Bugfix #16552 - Timezone from client that can be parsed, but not matched to a standard Timezone will be mapped to GMT instead
 
* 2010-07-27 - afe@microdoc.de

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

 - send immediate changes after client creation to all protocols except EAS
 - send commands tag only if commands are really present 
 
* 2010-07-26 - afe@microdoc.de

 - Bugfix #16527 - DateReceived for emails was sent in wrong format to EAS clients, causing problems with MailForExchange
 
* 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-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-13 - ldo@microdoc.de

 - Bugfix #16336 - timezone with same rules from clients should not overwrite timezone on server
 
* 2010-07-12 - ldo@microdoc.de

 - Bugfix #16438 - filter out empty contacts from the synchronization on mobile devices
 
* 2010-07-07 - afe@microdoc.de

 - Possible Bugfix #16451 - timezone of whole-day appointments is always sent as GMT, whole-day appointments are sent as ending 23:59:59 earlier (i.e. a single day appointment lasts only 1 second)

* 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-05 - afe@microdoc.de

 - Bugfix #16450 - Enabled bugfix #15567 for all devices, not only iPhone

* 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 #16407 - If an error occurs while reading headers and attachment data of a mail, those fields are reported as if empty

* 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-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-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 use of StringDataType: Use constant instead of new instantiation for efficiency

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

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

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

 - Bugfix #16336 - On Delete send status SUCCESS if the object is not found
 
* 2010-06-29 - afe@microdoc.de

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

* 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

 - Bugfix #16356 - Decode HTML-encoded characters from original mail in SmartForward/SmartReply
 
* 2010-06-25 - afe@microdoc.de

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

 - bugfix #16392 - Saving emails in Drafts not possible (syncUpdate)
 
* 2010-06-24 - afe@microdoc.de

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

 - bugfix #16388 - Attachments reduplicate when moving an appointment from one folder into another
 
* 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-18 - ldo@microdoc.de

 - Bugfix #16352 - Attachments on appointment exceptions are not created when the exception is new to the server
 
* 2010-06-17 - ldo@microdoc.de

 - Bugfix #16343 - HTML response from server should not be searched for json regex pattern.
 
* 2010-06-15 - choeger@open-xchange.com

 - Bugfix #16329 - Missing dependency check at USM leads to non-working
   ActiveSync when updating with expired OXAE license; added version dependency
   to open-xchange

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

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

 - Bugfix #16230 - NPE on change_exception with no recurrence_id set
 
* 2010-06-14 - ldo@microdoc.de

 - Bug 16312 - implemented new script to build eas separately from usm
 
* 2010-06-10 - afe@microdoc.de

 - Fixed possible NPE when deleting 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-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-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-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-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-06-01 - ldo@microdoc.de

 - Allow emails without content-type and body
 
* 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 - afe@microdoc.de

 - Added code to prevent multiple wrapping of exceptions which hides details of the original error 
 
* 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 - ldo@microdoc.de

 - Bugfix #15060 Disallow changes to appointments shortly after a meetingresponse was received.
 
* 2010-05-27 - afe@microdoc.de

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

 - Stack Trace in error message on Internal Error 
 
* 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-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 #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-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-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-17 - afe@microdoc.de

 - Bugfix #16113 - Creating multiple mails leads to error
 
* 2010-05-12 - afe@microdoc.de

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

 - Bug #16084 - Possible workaround: EAS doesn't send empty Attachments-Tag any more
 
* 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-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 - 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

 - Simplified configuration retrieval by adding convenience method to USM Session
 - 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 - afe@microdoc.de

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

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

 - Bugfix #16029 - created_by field doesn't exist in mail objects
 
* 2010-05-03 - ldo@microdoc.de

 - Bugfix #15989 - Exception on reporting immediate server modification to a client creation
 
* 2010-04-30 - afe@microdoc.de

 - Bugfix #16005 - Appointment exceptions are not synced if series is not known to user

* 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

 - Bugfix #15890 - created mail folders should have the same uuid on the same syncid and different http-sessionid

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

 - Bugfix #15567 - mails have wrong timestamp on iphone - local time instead of UTC sent in DateReceived

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

 - Whole-day appointment exceptions should be sent in local time  
 
* 2010-03-23 - ldo@microdoc.de

 - Bugfix #15425 - workaround activated just for iPhone
 
* 2010-03-23 - ldo@microdoc.de

 - Bugfix #15425 - Sending the Appointment Note as Body in a Meeting Request mail
 
* 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-18 - ldo@microdoc.de

 - Usage of mail.mime.ContentType and mail.mime.ContentDisposition classes from server
 
* 2010-03-18 - ldo@microdoc.de

 - Bugfix #15622 - Start/End time for Whole-day appointments should not be sent in UTC

* 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

 - ContactDistributionMember doesn't always have user_id 
 
* 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-08 - ldo@microdoc.de

 - EAS Mail Attachments - attachments should be sent in the Change result
 
* 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, EAS Preferences Item Service
 
* 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-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 - afe@microdoc.de

 - Changed MoveItemsHandler to report conflicts like SyncInit and SyncUpdate

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

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

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

 - use user's timezone - just for AllDay Events
 
* 2010-02-19 - ldo@microdoc.de

 - US4158: Use timezone=UTC parameter in all OX-Calls
 
* 2010-02-18 - ldo@microdoc.de

 - JSON_API_Definition document changed
 
* 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-12 - ldo@microdoc.de

 - Meeting Request: send the folder uuid in the meeting_request object
 
* 2010-02-11 - ldo@microdoc.de

 - Added new fields to Appointments (uid, organizer, sequence, confirmations)
 
* 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-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 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 - ldo@microdoc.de

 - Repeated folder creation calls with same syncId should be ignored
 
* 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-02-01 - afe@microdoc.de

 - Bugfix #15268: Added workaround for incomplete Nokia N900 (and possibly Android) authorization
 
* 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 - ldo@microdoc.de

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

* 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-26 - afe@microdoc.de

 - Enhanced automatic test client support classes
 
* 2010-01-25 - ldo@microdoc.de

 - PIMAttachments handling

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

 - Bug #15142: workaround enabled for all devices except iPhone

* 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
 - Changed mapping for birthday field so that parsing of date is correctly performed

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

 - Bug #15142 - Previously created exception is reset when creating another exception on Nokia Devices
 
* 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 - afe@microdoc.de

 - Bugfix: SendMail with multi-line From-Header caused request to be aborted

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

 - Bug #15157 - Contact field mapping switched for "E-Mail" fields
 
* 2010-01-12 - ldo@microdoc.de

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

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

 - Added userid to response of login and getConfiguration commands, added JSON-API-specification documents to SVN repository
 
* 2010-01-11 - ldo@microdoc.de

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

 - Changed behavior of MeetingRequest: Only sent if header "X-Open-Xchange-Type: New" is present and if user hasn't set his status yet

* 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-16 - afe@microdoc.de

 - Optimized some internal code

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

 - MimeMailBuilder should be able to convert messages with attachment as returned form OX Server
 
* 2009-12-15 - afe@microdoc.de

 - Bug #15072: Added workaround for WinMob problem with empty categories

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

 - Refactoring: changes as suggested from FindBugs

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

 - Optimized internal class for NestedMail-property storage

* 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

 - ConflictingChangeException should be thrown when OX returns error because of Edit Conflict

* 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-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
 - Updated EAS methods to use modified SessionAPI

* 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-27 - afe@microdoc.de

 - Bugfix #14994: Changed Fetch-command so that now complete MIME body is returned regardless of MIMETruncation, and if no MIMESupport is enabled, the complete body is returned regardless of Truncation

* 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

 - Fixed problem where picture data was not sent on server updates for contacts

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

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

 - Bug #14970: Workaround for WinMob crashes: Only write body tag for email if the body is not empty

* 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

 - Added workaround for endless yearly series (clients may automatically limit until-times that the server sent)

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

 - Fixed problem with client changes on series exceptions that were moved to a different date

* 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-17 - choeger@open-xchange.com

 - Bugfix #14882:  USM svn revision not shown in logfile

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

 - workaround : remove all exceptions which do not have recurrence_date_position in order to avoid sending illegal data to devices

* 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-16 - afe@microdoc.de

 - Bugfix #14639 - Added optional authentication for OPTIONS command

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

 - Bugfix #14644 - Remove deprecated fields (number_of_links  103; after_complete   304)
 
* 2009-11-10 - afe@microdoc.de

 - Added simple logging of EAS session activity (first and last access time) in the database
 - Added session-specific debug logging to standard log mechanism (can be enabled via the session JMX interface)

* 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

 - Virtual folders - Folder.Tree persistent session field; tree parameter in all OX requests to the folder module 

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

 - Bugfix #13979 - Appointment participants are always added as external participants

* 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-29 - afe@microdoc.de

 - Added configuration property com.openexchange.usm.eas.meeting_request_enabled
 - Disabled persistent storage of EAS UID fields in the DB

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

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

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

 - Bugfix #14663 - Sync for series with exceptions could fail because wrong time filter was used when determining all occurrences of the series (only temporary workaround for now)

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

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

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

 - Bugfix #14680 - large appointment body causes invalid "BodySize" tag to be written (only valid for Mail and Tasks)

* 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

 - bug fix 14661 - "days" should not be set for yearly appointment 

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

 - Added code to make sure HttpStatus 401 is returned if authentication fails

* 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 EAS code to work with global UUID mapping

* 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

 - bug fix 14564
 
* 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
 - Bugfix #14598: Changed X-header EAS 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-25 - afe@microdoc.de

 - Bugfix #14569: Improved conversion from/to binary timezone structure, added fallback to simple TimeZone if conversion is not possible

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

 - Bugfix #14575: Added code to ensure that content type filters are always set and no NPE is thrown

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

 - Bugfix #14552: Removed unnecessary debug logging of a stacktrace in case an EAS device does not send all required parameters

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

 - Bugfix #14469: Workaround for internal error on WinMob-devices for mails with empty subject

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

 - Enhancement: Added possibility to limit the number of mails in a folder for a sync
 - Enhancement: Added property "com.openexchange.usm.eas.mail.limit" to limit mails in folder for sync
 - Bugfix: Fixed possible NPE for simultaneous client and server deletion

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

 - Error handling in the USM-JSON API
 
* 2009-09-16 - afe@microdoc.de

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

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

 - Bugfix #14509: Possible NPE on changes in calendar entries

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

 - General code cleanup of some internal EAS classes

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

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

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

 - Bugfix #14480: Categories for exceptions in series were not generated correctly

* 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-07 - afe@microdoc.de

 - Added new config property "com.openexchange.usm.eas.mail.time_limit" that imposes an extra limit for mail synchronization (default value: 3 days)

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

 - Bugfix #14448: USM/EAS now always explicitly sets the From:-header when sending an email (overwriting any From:-header specified by the device)

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

 - Set the right timestamp when deleting more than one exception 

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

 - Added relevant fields in appointment which change causes exceptions to be deleted

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

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

* 2009-09-01 - choeger@open-xchange.com

 - Bugfix #14408: Changelog is not contained /usr/share/doc/open-xchange-usm

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

 - Fixed typo in API method name

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

 - Fixed typo in API method name

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

- Bugfix #14366: Changes on series exceptions are not synchronized   

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

 - Bugfix #14416: Nokia: Private flag gets overwritten  

* 2009-08-31 - afeo@microdoc.de

 - modified new log message to report commands without an USM session or OX calls 

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

 - added special log message for request duration time 

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

 - change the time of a series with exceptions should be sent to clients as delete + add  
  
* 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 of USM/EAS to use new properties as discussed by mail

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

 - Bugfix #14369: Mapping of BusyStatus corrected

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

 - Bugfix #14366: We are using the Exception ID for updating exceptions, and not the Master ID

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

 - Bugfix #14355: Removed optional DayOfWeek parameter for daily series

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

 - Bugfix #14191: Added automatic addition of display name to From:-header if only simple email address is present when sending an email

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

 - Bugfix #14220: old exceptions should be removed from the response when they are deleted as a result of changint the start time of the series.

* 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-19 - afe@microdoc.de

 - Bugfix #13999: Suppress invitation emails from iPhone and WinMob devices when creating an appointment

* 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

 - Reenabled MeetingRequests due to unresolved problems
 - Added specialized warning log message that is generated instead of default error
   if an I/O error occurs while sending the result of a command to the device (indicating a problem in the device or the network)

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

 - Bugfix #14275: Modification of series appointment structure is not synchronized
  
* 2009-08-18 - afe@microdoc.de

 - Completely disabled generation of MeetingRequests

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

 - EAS ChangeLog created

* 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

* 2009-07-01 - choeger@open-xchange.com

 - Bugfix #14041: Debian package contains to many USM bundles
