Notes: This is the final version of Z-Push 1.5. This version introduces several innovations to Z-Push. New backends were added, libraries were updated, logging was improved, PEAR dependency removed, IMAP improvements and others. ATTENTION: When upgrading from a version before 1.5 you MUST adjust the "state-directory" setting in the config.php file, or your mobile will go out of sync! If you want to make use of the possibility to store the states in a folder outside of Z-Push, make sure you copy or move the old states to the new location before connecting with a mobile. This is the same version as 1.5 RC. If you already use this version, no update is necessary. Your feedback is highly appreciated at zpush [at] zarafa.com and z-push-dev [at] lists.berlios.de. Changes: General: - applied AGPLv3 license - added: generic LDAP search backend for GAL search (Mantis #181) - added: possibility to configure additional backends to perform the GAL search (Mantis #181) - added: Kolab backend - added: display general Z-Push information when acessing Z-Push by browser (Mantis #155) - added: include backends from folders inside the backend folder (Mantis #181) - added: config parameter to set default conflict handling (default: server wins) (Mantis #158) - added: authenticated username available globally (Mantis #172) - added: add username to each line in the log (filter log by user) (Mantis #172) - added: error traceback in the logfile (Mantis #172) - added: print user agent in the log when performing GET request (Mantis #172) - added: a device can't be removed from the list with z-push-admin.php or via MDM (Mantis #214) - implemented: array_change_key_case() for compatibility (related to Mantis #228) - changed: updated INSTALL file (Mantis #169 also in 1.4.1) - changed: updated hex2bin function - changed: allow all fields in search result of the GAL search (Mantis #181) - changed: getIcalUidFromOLUid to be PHP4 compatible (Mantis #166, #167 also in 1.4.1) - changed: updated mimeDecode to a newer version (without PEAR dependency) (Mantis #156) - changed: implemented in mimeDecode: charset transcoding, Regex fixes for Nokia (Mantis #156) - changed: detect conflicts only if device sends changes (Mantis #190) - changed: do not show E_DEPRECATED, E_NOTICE and E_WARNING in trace log (related to Mantis #172) - fixed: mimedecode: don't transcode body to default charset if no charset is specified (Mantis #156) - fixed: compatibility warning of ImportContentsChanges::ImportMessageChange() (Mantis #171) - fixed: removed PEAR dependency of z_RFC822 class and implemented custom debug method (Mantis #156) - fixed: compatibility - set MaxItems to 100 if the device doesn't send it (Maemo) (Mantis #173 also in 1.4.1) - fixed: no warnings when remote-wiping Touchdown on Android (Mantis #151) - fixed: update device wipe-status correctly in user store (Mantis #185) - fixed: don't include Kolab backend on a non-Kolab system (Mantis #181) - fixed: return correct value of SYNC_SEARCH_TOTAL when performing GAL search (Mantis #181) - fixed: tasks sync on Windows Mobile does not work (due typo) (Mantis #186) - fixed: use same LDAP dc for user and searchbase as default value - fixed: warnings when calling getHierarchy() (AS 1.0) (Mantis #189) - fixed: state directory does not work with absolute path (Mantis #195) - fixed: Roadsync on Android loops during provisioning (accept all headers now) (Mantis #228) Zarafa / ICS: - added: conflict detection & handling for Zarafa/ICS backend (Mantis #158) - added: mobile and home phone numbers in results of GAL search (Mantis #199) - added: editing instant messanger information II and III on the mobile is not saved (Mantis #193) - added: do not convert strings if the store supports properties containing Unicode characters (Mantis #268) - changed: alerts "on date of event" set from iOS don't work (Mantis #192) - fixed: don't show warning if no subject is set when sending mail (Mantis #168 also in 1.4.1) - fixed: ignore UTF-8 converting errors when processing SendMail body (iOS4 / Mantis #165) - fixed: adapted return values of Zarafa backend for improved search (Mantis #181) - fixed: only conflicting data within the filtertype should be loaded (Mantis #190) - fixed: sent mail is not delivered to recipient with umlauts in real name(Mantis #196) - fixed: impossible to remove a device without an id from a list (Mantis #214) - fixed: company name is displayed instead of the contact's name in GAL on an iPhone (Mantis #200) - fixed: moving messages results in message duplication in destination folder if src and destination folder are both marked for sync (Mantis #202) - fixed: Android Roadsync clients don't display due/start dates for tasks (Mantis #226) IMAP backend: - implemented MoveMessage() for Diff and IMAP backends (Mantis #180) - added: option to forward emails with inline attachments (Mantis #184) - added: option to use normal mail() instead of imap_mail() (Mantis #182) - added: set correct envolope-from when using mail() (Mantis #183) - fixed: Some characters in folder names break the folder hierarchy (Mantis #269) - fixed: missing content-type when forwarding mail with attachments (related to Mantis #184) - fixed: remove carriage-returns from body via IMAP->SendMail() (related to Mantis #184) - fixed: forwarding emails in IMAP backend wasn't working correctly (related to Mantis #184) - fixed: in some cases "From" was set twice after parsing an email Patches contributed by dw2412: - fixed: Android or iPhone OS4 "hangs" during provisioning (Mantis #177)