Community  »  Applications  »  Groupware

Changes by Release

----------
v5.1.2-git
----------



------
v5.1.1
------

[mjr] Add API methods for using history modification sequences.

Horde Changes
-------------
[jan] Set Basic Authentication HTTP headers if running PHP as CGI.
[jan] Return to original URL after logging in.
[jan] Fix login icon.
[jan] Enable Turkish translation on PHP 5.5.
[rla] Add a cli script for running queue tasks.
[jan] Create parent permissions too if automatically creating permissions (Bug
      #11689).
[mjr] Update Twitter block layout to honor Twitter's API version 1.1 display
      requirements, and add support for updating favorites.

Address Book Changes
--------------------
[jan] Import and export UID vCard attributes (Bug #12427).
[mjr] Honor the 'browse' setting when attempting empty searches.
[jan] Set generic 'phone' attribute when importing from vCard (Bug #12329).

Calendar Changes
----------------
[jan] Display CalDAV URL of system calendars and tasklists (Bug #12342).
[jan] Fix system calendar listing via WebDAV.
[rla] Add system calendar support for Kronolith CalDAV access (Request #12342).
[mjr] Fix automatically adding organizer as attendee in dynamic view.
[mjr] Prompt for sending cancellation iTip when deleting an event (Bug #12415).
[rla] Properly display system-owned calendars when browsing DAV (Bug #12325).
[mjr] Fix setting RECURRENCE-ID field when exporting ics file (Bug #12368).
[jan] Fix propagating calendar URLs if import/export is turned off.

Tasks Changes
-------------
[jan] Display CalDAV URL of system tasklists (Bug #12342).
[mjr] Only query Horde_History when it's required.
[jan] Fix system tasklist listing via WebDAV.
[rla] Add system tasklist support for Nag CalDAV access (Request #12342).
[jan] Fix task description tooltip (Bug #12421).
[mjr] Persist the tasklist and parent when creating a new task and using "Save
      and New" (Bug #12400).
[mjr] Fix tag browsing of shared tasklists (Bug #12405).
[mjr] Fix importing VTODOs containing RELATED-TO fields (Bug #12355).

Bookmarks Changes
-----------------
[mjr] Fix some minor issues with crawling bookmarks.
[mjr] Show recently used tags on-demand (Bug #11712).

Tagging Changes
---------------
[mjr] Fix obtaining tag cloud information when filtering by objectIds.

Library Changes
---------------
ActiveSync
[mjr] Fix off by one error when checking WINDOWSIZE, which breaks syncing with
      clients that have broken WINDOWSIZE implementations (Bug #12443).
[mjr] Fix bug that causes incorrect MIME truncation when the client requests no
      MIME truncation (Bug #12437).
[mjr] Fix returning proper values for the
      Horde_ActiveSync_Message_SendMail::replacemime property. The could cause
      replying to email with some EAS 14+ clients to fail.
[mjr] Fix SmartReply/SmartForward commands when the client does not send Wbxml.
[mjr] Fix some fringe cases where client initiated message deletion may fail.
[mjr] Work around some broken behavior in Blackberry clients (Bug #12370).
[mjr] Fix regression that caused MEETINGRESPONSE requests to fail (Bug #12403).
[mjr] Fix ITEMOPERATIONS requests under 14.1.
[mjr] Fix issue the could cause sync to fail if an incorrectly formatted email
      date header is encountered.
[mjr] Filter out email that falls outside of FILTERTYPE on CONDSTORE servers as
      well (Bug #12360).
[mjr] Fix detecting changes for servers without CONDSTORE and a non-zero
      FILTERTYPE (Bug #12316).
[mjr] Fix fetching email messages from search results using ITEMOPERATIONS
      command (Bug #12212).
[jan] Add Spanish translation (Manuel P. Ayala <mayala@unex.es>).
[mjr] Add support for SyncStamps - either timestamps or backend controlled
      modification sequences.

Auth
[jan] Add password policy for minimum number of non-alphabetic characters
      (Friedrich Haubensak <hsk@fli-leibniz.de>, Request #12243).
[jan] Fix resetting passwords with LDAP driver (Bug #12317).
[mms] Fix authentication with the Http auth driver.

Cache
[mms] Fix explicit key expiration (João Machado <geral@jpaulo.eu>).

Cli
[jan] Print additional error details in fatal errors if available.

Compress
[jan] Fix Dbx and Tar unpacking on PHP 5.5+.

Compress_Fast
[mms] Silence decompression warnings.

Core
[mjr] Fix sending s/mime signed email from EAS clients (Bug #12445).
[mms] Correctly logout when a Horde_Exception_AuthenticationFailure is handled
      by the default Horde error handler.
[mms] Don't convert image data URLs already contained within a CSS file when
      compressing (João Machado <geral@jpaulo.eu>).
[mms] Prevent endless loop when checkExistingAuth() test fails when
      initializing an application.
[mjr] Fix issue with replying to emails using EAS 14+ that was causing
      duplicated original message bodies for some clients.
[mjr] Performance improvements to Horde_Core_TagBrowser when fetching related
      tags.
[mjr] Fix bug in TagBrowser causing shared resources to be ignored (Bug
      #12405).
[jan] Fix returning the default from address from a different user without
      identities.
[jan] Fix inactive email fields with multiple addresses if disabling linking
      (Bug #12051).
[mms] Use built-in ISO 639 mapping in LanguageDetect factory if the underlying
      library supports it.
[jan] Fix rendering of email addresses in inactive forms.
[jan] Fixed displaying photos in rendered vCard files.
[jan] Fix CalDAV/CardDAV access from iOS devices.
[mjr] Fix obtaining IMSP objects from Horde_Core_Factory_Imsp_Auth.
[mjr] Fix ActiveSync folder generation when email support is disabled (Bug
      #12337).
[mms] Fix language selection at login (Bug #12338).
[mjr] Add support for history modification sequences in ActiveSync driver.
[mjr] Fix incorrect offsets when generating free/busy data for ActiveSync
      clients.
[mms] Add Horde_HashTable to dependency list (Bug #12314).
[jan] Don't overwrite host part of parsed email addresses (Bug #12302).

Crypt
[mms] SECURITY: Fix XSS vulnerability in Horde_Crypt_Smime#certToHTML() (João
      Machado <geral@jpaulo.eu>).

Dav
[jan] Fix installation path of \Sabre\VObject\Document.
[rla] Add system share support for CalDAV (Request #12342).
[jan] Fix PUTing content from the input stream to the backend.
[jan] Update to SabreDAV 1.8.6.

Form
[mms] Use changed behavior of '_formvars' in Horde_Variables.

HashTable
[mms] Workaround broken redis installations that don't support the keys()
      command (Bug #12416).

History
[jan] Use Horde_Cache instead of Horde_HashTable for caching.
[mjr] Add support for modification sequences.
[mms] Abstract history query caching to use Horde_HashTable.
[cjh] Add ability to cache history queries.

Icalendar
[jan] Fix generating DATE-TIME attributes with timezone information (Bug
      #12428).
[jan] Fix returning multiple attribute properties of the same name (Bug
      #12329).
[jan] Remove group identifiers from attribute types (Bug #12329).

Image
[mjr] Fix generating center image crops on Solaris systems that still use older
      Bourne shell.

Imap_Client
[mms] Fix regression in handling response codes in POP3 driver.
[mms] Fix clearing data from the MongoDB cache.
[mms] So many IMAP servers have issues with BINARY, that we should not send
      literal8 data unless we absolutely have to.
[mms] Remove read/write buffering from stream connection to remote server.
[mms] Ensure we only use literal8's in APPEND commands.
[mms] Abstract connection code into separate library, to better handle output
      buffering and error handling.
[mms] Fix regression in throwing exceptions when parsing POP3 server responses.

Imsp
[mjr] Fix some undefined constant errors.

Injector
[jan] Re-throw ReflectionExceptions as Horde_Injector_Exceptions.

Mail
[mms] Honor 'pipelining' configuration option in SMTP transport driver.

Memcache
[mms] Fix handling of large items (João Machado <geral@jpaulo.eu>).

Mime
[jan] Fix setting a different body if reusing a Horde_Mime_Mail object.
[mms] Update MIME extension mapping.
[mms] Fix Horde_Mime_Part::getRawPartText() when obtaining the first body part
      of a single part message.

Mongo
[mms] Fix checking/creating indices when a MongoCollection object is passed to
      checkIndices()/createIndices() (Bug #12353).

Prefs
[mms] Add ability to override locked pref status when setting value via
      Horde_Prefs#setValue().

Service_Twitter
[mjr] Fix fetching user mentions.
[mjr] Use API version 1.1
[mjr] Add support for favorites.

Share
[mjr] Fix setting permissions while saving shares when using the sqlng driver
      (Bug #12413).

Util
[mms] SECURITY: '_formvars' form input must now be JSON encoded, not PHP
      serialized.

Vfs
[jan] Return more detailed error messages from File driver.


------
v5.1.0
------

Address Book Changes
--------------------
[jan] Fix searching in LDAP address books (Bug #12297).

Calendar Changes
----------------
[jan] Add help text for CalDAV usage.

Library Changes
---------------
ActiveSync
[mjr] Fix some issues caused by broken non-mime part truncation.
[mjr] Fix handling MIMETRUNCATION for emails with attachments (Bug #12289).
[mjr] Fix missing email body data for certain clients (Bug #12203).
[mjr] Fix requesting email data via ITEMOPERATION command (Bug #12292).
[mjr] Fix a BC break that was causing FOLDERSYNC requests to f fail.
[mjr] Fixes for broken clients like the S3 that request SMS sync even when told
      there is no SMS collection.

Cache
[mms] Fix return from get() when using the Hashtable driver.
[mms] Fix hashtable driver name.
[mms] Horde_Memcache cache driver is now deprecated in favor of the
      Horde_HashTable driver.
[mms] Add Horde_HashTable cache driver.

Core
[jan] Don't break existing unchanged sources in the preferences.

Imap_Client
[mms] Be more lenient about mailboxes containing null characters in
      Horde_Imap_Client 2.x for BC reasons.
[mms] Fix flushing debug buffer when unexpected data is returned from the
      remote server.
[mms] Improved detection of client-side command errors before sending to the
      remote IMAP server.
[mms] Better sanity checking that we don't send binary data for mailbox
      entries.

SessionHandler
[mms] Horde_Memcache driver is now deprecated in favor of the Horde_HashTable
      driver.
[mms] Added Horde_HashTable driver.
[mms] Implement logging for all storage drivers.


---------
v5.1.0RC1
---------

[jan] Add file manager and bookmarks manager.

Horde Changes
-------------
[mms] Add 'ajaxaction_handle' hook and deprecate 'ajaxaction' hook.
[mms] Add configuration option to configure the e-mail address reset password
      confirmation messages should be sent from.
[mms] Treat an AJAX session token failure as a session timeout.
[mms] Add ability to update/create NoSQL indices from the admin config page.
[mjr] Add activesync device hooks.
[mms] Add a global default NoSQL driver configuration.
[mms] Allow MongoDB to be used as a cache backend.
[jan] Check all installed PEAR packages when checking for updates.
[mms] Add 'ajaxaction_data' hook.

Address Book Changes
--------------------
[mms] Back button in smartmobile view for group member returns to group entry,
      not browse list.
[mms] Fix resetting smartmobile entry page when viewing more than 1 contact.
[mjr] Update the default SQL schema.
[jan] Fix incorrect dependencies.
[jan] Add CardDAV server support.
[mjr] Update the default SQL source schema (Request #11993).
[mms] Add links to group members on smartmobile entry page.
[mms] Add group icon to group contacts in smartmobile browse view.
[jan] Allow to search all search fields at once in basic searching.

Calendar Changes
----------------
[jan] Fix editing of events per CalDAV if client sends LAST-MODIFIED attribute
      (Bug #12244).
[jan] Fix incorrect dependencies.
[jan] Add CalDAV server support (Request #4267).
[jan] Use Horde_Dav for accessing remote calendars.
[mjr] Expose Kronolith_FreeBusy::get() via the external API.

Tasks Changes
-------------
[jan] Don't include external tasks in listTasks() API results.
[jan] Fix incorrect dependencies.
[jan] Add CalDAV server support (Request #4267).
[jan] Update design to closer match the Horde 5 UI.

Notes Changes
-------------
[jan] Fix incorrect dependencies.
[jan] Add Ukrainian translation (Andriy Kopystyansky <anri@polynet.lviv.ua>).
[mjr] Add support for ActiveSync synchronization of notes.

Library Changes
---------------
ActiveSync
[mjr] Improvements to synchronizing reply/forward state and maillog entries
      when using Outlook.
[mjr] Improvements and various fixes to detecting client originated changes.
[mjr] Fix numerous issues related to incoming changes with GETCHANGES
      explicitly set to false.
[mjr] Fix mirroring back changes when an object created on the client is edited
      on the same client within 1 sync cycle.
[mjr] Fix mirroring new entries created on certain clients back to the client.
[mjr] Fix creating new objects from Outlook clients.
[mjr] Fix setting incoming heartbeat value.
[mjr] Fix sending updated heartbeat interval when requested heartbeat is out of
      bounds.
[mjr] Fix building initial message state in certain cases for email collections
      when IMAP server does not support per mailbox MODSEQ values.
[mjr] Fix fatal error when using the deviceCallback functionality (Bug #12236).
[mjr] Fix creating/deleting mailboxes with non-empty default namespaces (Bug
      #12224).
[mjr] Fix non-BC change in abstract method signature.
[mjr] Flag changes will now trigger a positive PING/SYNC if the IMAP server
      supports per-mailbox MODSEQ and CONDSTORE.
[mjr] Add support for EAS 14.0 and 14.1 (see
      http://wiki.horde.org/ActiveSync/FeatureGrid for complete feature list).
[mjr] Fix synchronizing certain recurring tasks (Bug #12223, Thomas Jarosch
      <thomas.jarosch@intra2net.com>).
[mjr] Fix issue that could cause some attachments to become corrupt on the
      client.

Core
[mms] SECURITY: Fix token validation of AJAX actions.
[mms] Added Horde_Core_Factory_Mail factory to allow for alternative mailer
      configurations.
[mms] Fix honoring the sendmail_eol configuration option.
[mms] Make sure we are not using a SQL Cache driver in the DB object itself.
[mms] Horde_Memcache usage is deprecated in favor of Horde_HashTable.
[mms] Add factory for Horde_HashTable drivers.
[jan] Fix dependencies.
[mjr] Workaround some limitations with maillog and answered flag syncing in
      Outlook 2013
[mms] Add the Horde_Registry_Application#nosqlDrivers() method.
[mms] Add the Horde_Core_Nosql library.
[jan] Fix setting configuration for timezone lookups.
[mms] Add a NoSQL factory.
[mms] Allow MongoDB to be used as a cache backend.
[mms] Regenerate session IDs during an active session to protect against
      session fixation attacks.
[mms] Re-enable support for $conf['session']['timeout'] to allow for
      non-session based cookie lifetimes.
[jan] Add menu entry to show the notification log.
[mms] Dynamic javascript framework now has support for audio notification
      events.
[mjr] Add support for EAS 14.0 and 14.1 (see
      http://wiki.horde.org/ActiveSync/FeatureGrid for complete feature list).
[mms] Add ability to submit form data to AJAX action in smartmobile view.
[mms] Upgrade jQuery Mobile to v1.2.1/jQuery Core to v1.8.3.
[mms] Smartmobile view now honors the current CSS caching configuration.
[mms] Add Horde_Core_Ajax_Application#callAction().
[mjr] Close growler notification when alarms are dismissed (Bug #12122).
[mms] CSS parsing now uses the CSS3 compatible Horde_Css_Parser package instead
      of Horde_Text_Filter_Csstidy.
[mms] Fire before/after events in core AJAX javascript code when processing
      data returned from the server.
[mjr] Fix sending encrypted emails while locating recipient's public key via
      the GAL.
[jan] Use PEAR package information to retrieve packages names in
      Horde_Core_Db_Migration.
[jan] Get version list from pear.horde.org when checking for updates.
[mms] Add support for 'ajaxaction_data' hook (won't be documented in Horde
      until 5.1+).

Dav
[jan] Fix empty collections if applications don't provide DAV methods (Bug
      #12275).
[jan] First beta release.

HashTable
[mms] Add initial unit tests.
[mms] Add memory driver.
[mms] Actually have HashTable return results for get() and exists().
[mms] Add stats() method to the Memcache driver (Bug #12263).
[jan] Fix fatal errors.
[mms] First beta release

Mongo
[mms] Add Horde_Mongo_Client#checkIndices() and
      Horde_Mongo_Client#createIndices().
[mms] Add Horde_Mongo_Collection_Index interface.
[mms] First beta release.

Rpc
[jan] Use Horde_Dav for DAV RPC backends.


------
v5.0.5
------

[jan] Update Ukrainian translation (Andriy Kopystyansky
      <anri@polynet.lviv.ua>).
[jan] Update Basque translation (Ibon Igartua <ibon.igartua@ehu.es>).
[jan/mms] Improve/fix unit tests.
[jan] Improve dependency detection.

Horde Changes
-------------
[mms] SECURITY: Fix XSS vulnerability on smartmobile portal page (João Machado
      <geral@jpaulo.eu>).
[jan] Fix changing expired passwords.
[jan] Fix form to reset passwords.
[mjr] Fix displaying activesync devices when a username hook is being used
      (Bug #12186).
[jan] Hide navigation elements from print layout (Bug #12163).
[cjh] Add support for New Relic real-user monitoring (RUM) if New Relic is
      installed.
[mms] Login screen now hides the mode input if javascript is not available, as
      minimal view is the only supported mode (Request #12093).
[jan] Fix searching from topbar if search URL contains parameters.

Address Book Changes
--------------------
[mms] SECURITY: Fix XSS vulnerability on smartmobile contacts details page
      (João Machado <geral@jpaulo.eu>).
[jan] Fix importing certain phone fields from vCard (Bug #12178).
[mjr] Fix issues with importing contacts via ActiveSync when no default_dir
      pref is set (Thomas Jarosch <thomas.jarosch@intra2net.com>, Bug #12188)
[mjr] Fix ActiveSync global address book searches when using LDAP as backend
      (Bug #12089).

Calendar Changes
----------------
[jan] Don't throw error on importing events with unknown timezones (Bug
      #11688).
[jan] Don't send notifications for all recurrence exceptions when deleting
      events.
[jan] Only send update notifications for local calendars.
[jan] Re-enable users in drop-down list after revoking permissions (Bug
      #12000).
[jan] Fix exporting events of a certain time span (piper@hrz.uni-marburg.de,
      Bug #12074).
[mjr] Always populate the meetingstatus property in ActiveSync requests  to
      avoid issues with some versions of iOS (Bug #12056).
[mjr] Fix deletion of resource events after deleting resource (Bug #12034).

Tasks Changes
-------------
[jan] Fix recurring tasks in Kolab driver (Thomas Jarosch
      <thomas.jarosch@intra2net.com>, Bug #12222).
[mjr] Fix setting alarm time when syncing (Bug #12201,
      <thomas.jarosch@intra2net.com>).
[mjr] Fix issue causing due dates to be offset when syncing (Bug #12200,
      <thomas.jarosch@intra2net.com>)
[jan] Fix listing alarms of recurring tasks.
[jan] Fix default task list in portal block (Bug #12133).
[jan] Fix displaying of due dates of recurring events in some views.
[jan] Update broken rows due to migration bug in PostgreSQL (Bug #12101).
[mjr] Fix uncompleting tasks from task view in smartmobile view
      (ctimoteo@sapo.pt, Bug #12098).
[jan] Include parent tasks in cost object labels.
[jan] Only return completed tasks up to a week old as cost objects.
[mjr] Set correct timezone on incoming ActiveSync tasks (Bug #12053).
[jan] Update French translation (Paul De Vlieger
      <paul.de_vlieger@moniut.univ-bpclermont.fr>).

Library Changes
---------------
ActiveSync
[mjr] Fix returning message property values when the value is defined, but
      empty (Bug #12197).
[mjr] Fix saving IMAP folder state when CONDSTORE is available but no
      per-mailbox MODSEQ.
[mjr] Fix mail synch failure due to messages being deleted on server during
      initial synch.
[mjr] Fix issue with importing messages due to bad merge (Bug #12185).
[mjr] Fix typo that could cause device information to not be saved correctly.
[mjr] Fix authentication clean up during certain request types.
[mjr] Work around broken HTC clients when creating appointments with no
      reminders (Bug #12155).
[mjr] Fix setting User Agent value for certain clients in EAS 12.1 or greater
      (Bug #12154).
[mjr] Properly set disposition and content-id properties when building
      attachments from multipart/related parts (Bug #12123).
[mjr] Various improvements and code cleanup.
[mjr] Some fixes to GETITEMESTIMATE requests.
[mjr] Logging improvements.
[mjr] Fix regression introduced in 2.2.1 caused by fix for Bug #12056.
[mjr] Fix synchronizing email messages containing ICalendar attachments with no
      METHOD parameter (Bug #12083).
[mjr] Fix updating state when a PING detected changed has been removed before
      SYNC runs (Bug #12075).
[mjr] Always output the optional POOMCAL_MEETINGSTATUS property to avoid issues
      with some versions of iOS (Bug #12056).

Argv
[jan] Fix documentation formatting.
[jan] Add extensive documention.

Auth
[jan] Improve documentation.

Autoloader_Cache
[mms] Additional sanity checking when trying to load from cache.
[mms] Add support for horde_lz4 for compressing cache data.
[mms] Better error-checking when uncompressing cache data.

Cache
[mms] Add MongoDB cache driver.
[mms] Make Horde_Compress_Fast a required package (Bug #12166).
[mms] Fix serialization of all storage drivers.
[mms] Fix regression preventing compression of Horde_Cache data (Bug #12088).
[mms] Abstract data compression out into Horde_Compress_Fast package.

Compress_Fast
[mms] Silence decompression warnings.
[mms] Add horde_lz4 compression driver.
[mms] Initial release of package.

Core
[jan] Fix error handler in some PHP versions (Bug #12103).
[mms] Queue log entries issued before framework is initialized and log them
      once that occurs.
[mjr] Fix authentication issue when using Horde_Session_Null and expiring
      sessions (Bug #12078).
[mjr] Fix logger creation during RPC access (Bug #12094).
[mms] Add logging wrapper class to reduce serialized size of factory-created
      objects.
[mms] Always compress cache data, if possible.
[mms] Abstract data compression out into Horde_Compress_Fast package.
[mjr] Fix fatal error synchronizing an ActiveSync meeting response (Bug
      #12084).
[mms] Added Horde_Shutdown - global Horde shutdown function handler.
[mjr] Horde_Registry::getServiceLink() can now return full URLs.
[mms] Allow graphics/sounds to be loaded from view-specific theme directories.
[mms] Add Horde_Themes::viewDir().
[mms] Use csstidy library to parse CSS files when creating static CSS (Bug
      #12043).
[mms] Add Horde_Url#selfUrlParams().
[mjr] Fix determination of ActiveSync sent-mail folder in certain cases (Bug
      #11828).
[mms] Fix order of adding URL parameters in HordeCore.addURLParam (Bug #12058).
[mms] Ensure that session IDs are always 32 bytes long (Bug #12041).
[mjr] Fix saving ActiveSync sent mail when the message contains MIME parts (Bug
      #12040).
[mms] Fix replacing spellchecker elements within tables (Bug #12028).
[mms] Fix encoding of JSON parameters to Horde::popupJs() (Bug #12037).
[mms] Fix destroying session data when the null session driver is used.

Crypt
[mms] Fix Horde_Crypt_Pgp#encryptedSymmetrically() from entering an infinite
      loop when using GnuPg v2.
[mms] Improve security in PGP key generation (Request #12099).
[jan] Change default keyserver to pool.sks-keyservers.net.
[jan] Fix finding key ID for an email address on a keyserver (o@immerda.ch).

Css_Parser
[mms] First release for Horde 5.

Date
[jan] Don't use /e modifier with preg_replace() calls (Remi Collet
      <fedora@famillecollet.com>).
[jan] Fix parsing yearly recurrences on the same day from Kolab data (Bug
      #12227).
[jan] Fix recurring dates on the 5th weekday of a month (Bug #11181).

Date_Parser
[mjr] Fix several parsing bugs (Bug #12006).

Db
[mms] Fix storing schema information in Horde_Cache.
[jan] Use LONGBLOB columns in MySQL when creating binary fields
      (l.kiraly@madalbal.hu, Bug #12195).
[jan] Fix updating existing rows with default values when adding columns in
      PostgreSQL (Bug #12101).

ElasticSearch
[rla] Add license file.

Http
[jan] Add configuration option to set User-Agent.
[jan] Allow self-signed certificates when using the fopen driver.

Icalendar
[jan] Fix exporting of base64-encoded attribute values.

Imap_Client
[mms] Fix regression in Socket driver when moving messages without UIDPLUS.
[mms] Fix caching MIME structure data in POP3 driver.
[mms] Enhanced parsing of POP3 data from the remote server.
[mms] Workaround broken IMAP servers and prevent infinite loops (Bug #12265).
[mms] Add support for the DOWNGRADED IMAP response code (RFC 6858).
[mms] Fix returning the list of deleted messages in the POP3 driver.
[mms] Handle all additional namespace queries in a single call.
[mms] Pipeline multiple IMAP LIST/LSUB calls.
[mms] Fix login methods that require server continutation responses.
[mms] Correctly handle enabled cached status when not using imapproxy.
[mms] Fix caching of CAPABILITY information when not using imapproxy.
[mms] Support pipelining of STORE + EXPUNGE if UIDPLUS is available.
[mms] Pipeline multiple STATUS commands if LIST-STATUS is not available.
[mms] Fold statusMultiple() functionality into base status() command.
[mms] Pipeline multiple IMAP FETCH calls.
[mms] Delay sending LANGUAGE command until we send another command to save a
      round-trip.
[mms] Delay sending ENABLE command until we send another command to save a
      round-trip.
[mms] Add internal support for IMAP command pipelining.
[jan] Fix dependency.
[mms] Support UID EXPUNGE command for large UID lists (Bug #12228).
[mms] Don't attempt to expunge messages if the list of UIDs to expunge is empty
      (Bug #12226).
[mms] Correctly use limit parameter to Horde_Imap_Client_Ids#split() (Bug
      #12216).
[mms] Add a MongoDB based backend for storing cached IMAP/POP data.
[mms] Add Horde_Imap_Client_Cache#clear().
[mms] Add a Horde_Db based backend for storing cached IMAP/POP data.
[mms] Abstract the backend storage into a separate driver for the
      Horde_Imap_Client_Cache class.
[mms] Correctly parse message/rfc822 BODYSTRUCTURE responses if the server does
      not provide any envelope information (Bug #12190).
[mms] Fix regression in storing cached flags if not using debug mode.
[mms] Add properties to Sync object to allow retrieval of previous sync state
      status.
[mms] Only do UNCHANGEDSINCE check when storing flags if the user explicitly
      passes the 'unchangedsince' parameter.
[mms] Add the 'nocache' option to Horde_Imap_Client_Base#fetch().
[mms] Always return UID information for FETCH queries if cache is active, so we
      ensure that mappings are updated and any cacheable data can be cached.
[mms] Don't cache FETCH data if it does not contain UID information (Bug
      #12097).
[mms] Fix SETQUOTA, GETQUOTA, and GETQUOTAROOT commands on mailboxes that
      contain non-7bit characters (Bug #12059).
[mms] Fix returning UID data from the Horde_Imap_Client_Data_Sync object (Bug
      #12071).
[mms] More efficient implementation of Horde_Imap_Client_Ids#range_string.
[mms] Fix APPENDs on IMAP servers that do not support CATENATE.
[mms] Fix from/to searches on servers that support SORT=DISPLAY when using the
      *_FALLBACK sort criteria.
[mms] Ensure that a FETCH and/or SELECT/EXAMINE (w/QRESYNC) will not exceed
      maximum allowed command length on the IMAP server (Bug #12001).
[mms] Add Horde_Imap_Client_ids#split().
[mms] Fix regression in the replace argument, and multiple arguments to
      add/delete, for the store() command.
[mms] Make sure the modseq given to the vanished() command is always at least 1
      (Bug #12031).

Lock
[mms] Add MongoDB driver.
[jan] Fix retrieving lock list if permanent locks exist
      (piper@hrz.uni-marburg.de, Bug #12077).
[jan] Deny exclusive lock if shared locks exist.
[jan] Don't make lock non-permanent when resetting a permanent lock.
[jan] Fix retrieving information for permanent locks.
[jan] Add unit tests.

Mail
[mms] Correctly encode IDN domains when sending mail (Bug #12116).

Mime
[mms] Add 'no_body' parameter to Horde_Mime_Part#parseMessage().
[mms] Fix parsing wrapped header lines that contain no atom data (Bug #12189).
[mms] Allow a Horde_Domhtml object to be directly passed in to
      Horde_Mime_Related#cidReplace().
[mms] Content-Type parameters are case-insensitive (Bug #12161).
[mms] Sanity checking: ignore empty values for Content-Transfer-Encoding MIME
      header (Bug #12146).
[mms] Null characters are no longer allowed in e-mail headers as of RFC 2822.
[mms] More accurate/comprehensive Horde_Mime::is8bit() check (Bug #12127).
[mms] Only use non-ASCII in MIME parameters when absolutely necessary.
[mms] Need to always add charset information to MIME encoded parameters if they
      are not displayable in pure US-ASCII (Bug #12127).
[mms] Correctly quote forbidden characters in MIME parameter data (Bug #12127).
[mms] Round up size output in Horde_Mime_Part#getSize().

Mime_Viewer
[mms] Spreadsheet conversion now works without using temporary files.

Perms
[jan] Add Horde_Perms_Permission_Kolab#getOwnerPermissions().

Prefs
[mms] Fix removing prefs from storage backends (Bug #12208).
[mms] Fix fatal error in Horde_Prefs_Scope#valid().
[mms] Add MongoDB storage driver.
[mms] Fix removing preference from backend (Bug #12207).
[mms] More compact internal/serialized representation of data in
      Horde_Prefs_Scope.
[mms] Simplify Horde_Prefs_Scope iterator.
[mms] Fix regression that broke Horde_Prefs_Identity#getDefaultFromAddress() in
      2.3.0.

Queue
[jan] First stable release for Horde 5.

Service_Facebook
[jan] Fix examples location.

Service_Twitter
[mjr] Fix initial authentication for recently changed Twitter API requirements
      (Bug #12165).
[jan] Fix examples location.

Service_Weather
[mjr] Update WWO API endpoints.

SessionHandler
[mms] Add MongoDB driver.

Share
[jan] Fix testing for owner and user permissions in Kolab shares.

Support
[mms] Add Horde_Support_CaseInsensitiveArray class.
[mms] Add missing magic methods to Horde_Support_Stub.
[mms] Simplify Horde_Support_Array iterator.

SyncMl
[jan] Improve documentation.

Test
[mms] Add test factory for MongoDB.
[jan] Return to old directory after running all tests.

Text_Diff
[jan] Improve performance.

Text_Filter
[mms] Yet more sanity checking in the Text2html filter to workaround incorrect
      charset information.
[mms] Handle non-supported htmlspecialchars() charsets in the Text2html filter
      (Bug #12253).
[mms] If a preg call exceeds the backtrack limit, fallback to the original text
      (Bug #12152).
[mms] Add 'words' option to the Words filter.

Timezone
[jan] Fix caching of parsed timezone information.

Token
[mms] Add MongoDB token backend.

Tree
[mms] Fix licensing documentation; Horde_Tree has been released under LGPL 2.1
      since 2004 (Bug #12070).

Url
[mms] Add Horde_Url_Data::isData().

Util
[mms] Fix Horde_Domhtml#returnBody().
[mms] Simplify Horde_Variables iterator.
[mms] Can't add charset directly to HTML document or else DOM will alter
      document when generating HTML.
[mms] Added Horde_Domhtml#getBody().

Vfs
[mms] Add MongoDB storage driver.
[jan] Use ssh2_sftp_chmod() if available (ssh2 0.12).

Yaml
[jan] Correctly detect sequences when dumping and be more strict when loading
      sequences.

Extensions
----------
horde_lz4
[mms] First stable release.


------
v5.0.4
------

[jan] Update French translation (Paul De Vlieger
      <paul.de_vlieger@moniut.univ-bpclermont.fr>).
[jan] Update Slovak translation (Jozef Sudolský <jozef.sudolsky@elbia.sk>).

Address Book Changes
--------------------
[jan] Fix emptying shared address books.
[jan] Fix importing of LDIF data (Bug #11972).

Calendar Changes
----------------
[jan] Update alarms, resources, and tags when deleting Kolab events (Bug
      #11988).
[jan] Fix some issues with workweek views if first day of week is Sunday (Bug
      #11973).
[jan] Fix adding holiday calendars if not using English locale (Bug #11961).
[jan] More robust date parsing during event importing (Bug #11916).
[jan] Always export year numbers with four digits to CSV (Request #11917).
[jan] Fix JavaScript error if Nag is not installed.

Notes Changes
-------------
[jan] Fix exporting bodies of encrypted notes (Bug #11960).

Tagging Changes
---------------
[mjr] Fix logic that could possibly lead to incorrect content types being
      applied to objects (Bug #12016).

Library Changes
---------------
ActiveSync
[mjr] Fix handling of deleting or moving messages from the client that no
      longer exist on the server (Bug #12013).
[mjr] Fix setting flags on messages marked for deletion (Bug #12007).
[mjr] Fix existence checking, again.
[mjr] Fix behavior when attempting to fetch attachment of a vanished message.
[mjr] Fix multiple accounts on a single client (Bug #11963).
[mjr] Fix setting PINGable collections on non-empty PING requests.
[mjr] Fix handling missing state when processing COMMANDS.
[mjr] Fix loading state for FOLDERSYNC requests for certain clients.

Auth
[jan] Fix argument reading in Samba drivers (Bug #11926).
[mms] Remove call-time pass-by-reference, which was causing PAM authentication
      driver to fail in PHP 5.4+ (Bug #10965).

Core
[mms] Upgrade jQuery Mobile to v1.2/jQuery Core to v1.8.2.
[mjr] Fix bug in OpenLayers that caused Prototype's Event object to be
      overwritten (Bug #12019).
[jan] Fix notifications while authenticating transparently.
[mms] Add a configurable delay to the jQuery Mobile autocomplete plugin.
[mjr] Fix handling of moving or deleting messages that have been removed from
      the server (Bug #12013).
[mms] Be sure tasks are passed to any derivative of the HordeCore AJAX response
      handler.
[mms] Fix spellchecking on HTML data (Bug #11986).
[jan] Fix fatal error in signup and password reset forms (Bug #11952).

Date
[jan] Fix error: DateTime::__construct(): Failed to parse time string
      (-001-11-01).
[jan] Catch DateTime exception in Horde_Date_Utils:daysInMonth() (Bug #11916).

Editor
[mms] Update CKEditor to v3.6.6.
[mms] Move ckeditor javascript files into a separate ckeditor directory
      (Request #11950).

Icalendar
[jan] Don't set METHOD property unconditionally (Bug #10741).
[jan] Convert test suite to PHPUnit.

Image
[mjr] Fix image watermarking for Imagick and ImageMagick drivers.

Imap_Client
[mms] Fix regression in parsing LISTRIGHTS results (Bug #11994).
[mms] Workaround QRESYNC errata that allows FETCH FLAGS results to be returned
      without UID information.
[mms] More robust handling of split FETCH responses.
[mms] Some IMAP servers require a mailbox to be unselected before it can be
      renamed.
[mms] Ignore fetch data returned from an UID FETCH command if it doesn't
      include UID information (Bug #11946).
[mms] Add exists option to Horde_Imap_Client_Base#fetch().

Itip
[jan] Don't depend on an IMP identity object.

Ldap
[jan] Replace preg_replace() /e modifier.

Mime
[mms] Fix regression in outputting Content-Disposition 'size' parameter if no
      other Content-Disposition parameter is present.
[mms] Never return decimal values from Horde_Mime_Part#getSize().
[mms] Added parsing limit for deeply nested MIME parts.

Pdf
[jan] Fix getFormatHeight() and getFormatWidth() in landscape mode.

Prefs
[jan] Add Horde_Prefs_Identity#getFromAddress().
[jan] Fix LDAP driver and use Horde_Ldap (Heinz Schweiger
      <heinz@htl-steyr.ac.at>, Request #11697).
[mms] Horde_Prefs_Identity#getDefaultFromAddress() now returns a
      Horde_Mail_Rfc822_Address object.

Support
[mms] Fix detection of sys_getloadavg() on Windows (Bug #11972).

Test
[jan] Add test/ directory to include_path to allow autoloading of test classes.

Text_Filter
[mms] Html2text filter now has improved handling of extra whitespace.
[mms] Fix XSS filter removing control characters that cause certain charsets
      (ISO-2022-JP) to break (Bug #12015).

Timezone
[jan] Add license file.

Url
[mms] Add Horde_Url_Data class.

Util
[mms] Added 'charset' and 'metacharset' parameters to returnHtml().
[mms] Added Horde_Domhtml#getCharset() to get best-guess charset of current
      encoding within the DOM object.
[mms] Fix inserting HEAD into HTML document with Horde_Domhtml#getHead() if it
      doesn't already exist in the document.

View
[jan] Fix generating form tags.


------
v5.0.3
------

[jan] Update Basque translation (Ibon Igartua <ibon.igartua@ehu.es>).
[jan] Use default Kolab folders for default share preferences.
[jan] Mark Kolab folders as default when changing default share preferences.

Horde Changes
-------------
[jan] Fix setting menu refresh rate to none (Bug #11867).
[jan] Fix JavaScript errors after updating the top menu.

Address Book Changes
--------------------
[mjr] Avoid sending broken datetime values to ActiveSync.
[jan] Update French translation (Laurent Foucher
      <laurent.foucher@iut-tlse3.fr>).

Calendar Changes
----------------
[jan] Fix setting default start time in new event dialog of basic view (Bug
      #11861).
[jan] Fix saving alarm methods to Kolab backend (Thomas Jarosch
      <thomas.jarosch@intra2net.com>, Bug #11880).
[jan] Fix moving events between calendars (Bug #11830).
[jan] Fix fatal error on recurring events with custom timezone (Bug #11587).
[jan] Fix double owner name on shared calendars.
[jan] Defer navigation in dynamic view until environment has been initialized.
[jan] Fix receiving resource calendars in dynamic view (Bug #11776).

Tasks Changes
-------------
[mjr] Fix closing the quick task dialog when cancel is pressed (Bug #11848).
[mjr] Fix displaying and editing tasks from search results (Bug #11847).
[mjr] Fix incoming task sync with certain combinations of due date values.
[mjr] Fix quick task addition without session cookies enabled (Bug #11875,
      Thomas Jarosch <thomas.jarosch@intra2net.com>).
[jan] Fix editing tasks from the merged list view in smartmobile mode (Bug
      #11840).

Notes Changes
-------------
[mjr] Fix importing notepads (Bug #11849).

Library Changes
---------------
ActiveSync
[mjr] Fix regression caused by fixing some logging in the sync cache.
[mjr] Fix some possible character set related issues with HTML email.
[mjr] Fix sending boolean policy values.
[mjr] Fix DB migration for some RDBMS (Bug #11877).
[mjr] Fix authentication related errors.
[mjr] Fix regression caused by incorrectly named variable (martin.ament@gmx.de,
      Bug #11919)
[mjr] Fix non empty PING requests with empty FOLDERS element.
[mjr] Fix exporting folder deletions (Bug #11918).
[mjr] Improvements to fetching and sending message body.
[mjr] Fix searching mailboxes on certain devices that send MIMESUPPORT flag,
      like iOS (Bug #11900).
[mjr] Fix updating the read flag on iOS.
[mjr] Set the importance flag on mail messages.
[mjr] Fix detecting mailbox changes on IMAP servers that support CONDSTORE but
      not per mailbox MODSEQ (Bug #11754).
[mjr] Check for invalid UTF-8 data before sending to client.
[mjr] Improve loop detection logic, preventing unnecessary state resets.
[mjr] Fix charset issues with certain broken emails which can cause iOS to
      crash.
[mjr] Fix issue causing SYNC/PING loop in empty mail folders (Bug #11823).
[mjr] Fix importing message read flag (Bug #11741).
[mjr] Fix charset conversion of HTML messages when original body is plaintext
      (Bug #11745).
[mjr] Use integer column for message_uid field for IMAP messages (Bug #11742)

Auth
[jan] Fix updating users in LDAP driver (Bug #11791).

Browser
[mjr] Properly detect mobile Chrome on iOS (Bug #11868).

Core
[jan] Fix sourceselect preferences UI that includes multiple sources.
[mms] Fix multiple AJAX submits to same hidden IFRAME on the same page (Bug
      #11928).
[mjr] Fix some MIME related issues when sending email via ActiveSync (Bug
      #11931).
[mjr] Fix detecting non-default ActiveSync policies.
[mjr] Improvements to ActiveSync authentication failure handling.
[mjr] Fix issue with Null session driver that could cause authentication to be
      lost.
[mms] Fix restoring cached theme data (Bug #11906).
[mjr] Fix dismissing reminders without session cookies enabled (Thomas Jarosch
      <thomas.jarosch@intra2net.com>, Bug #11875).
[mjr] Improve logging in ActiveSync drivers to better track down issues.
[jan] Fix returning complete groups with auto-completer.
[mjr] Fix various issues with charset encoding when sending ActiveSync email.
[jan] Link back to application from preference screen.
[mjr] Fix GAL searching via ActiveSync (horde@albasoft.com, Bug #11808).
[mjr] Fix saving sent mail when using ActiveSync (horde@albasoft.com, Bug
      #11805).
[jan] Reset NLS information when changing languages.
[jan] Fix downloading files with special characters in Gollem (Bug #11770).
[mms] Added Horde_Core_Factory_SpellChecker.
[mms] Don't log backtrace for E_STRICT errors.

Crypt_Blowfish
[mms] Fix Openssl driver for PHP 5.3.0-5.3.2 (Bug #11797).

Date
[jan] Fix more strftime() formatting of certain locale-specific format
      specifiers (Bug #11831).

Imap_Client
[mms] Fix multipart APPENDs when IMAP server does not support CATENATE.
[mms] Fix harmless PHP warning issued when IMAP server supports SORT but not
      SORT=DISPLAY.
[mms] Fix bodystructure parsing for IMAP servers that do not return full
      extension data (Bug #11907).
[mms] Re-add optimizations to IMAP token parser.
[mms] Additional workarounds for IMAP servers with broken BINARY
      implementations (Bug #11855).
[mms] Add SORT_DISPLAYFROM_FALLBACK and SORT_DISPLAYTO_FALLBACK sorting
      criteria to Horde_Imap_Client_Base#search().
[mms] Revert valid PHP changes that caused errors in broken old versions of
      PHP.
[mms] Fix client-side address sorting (Bug #11820).
[mms] Optimizations to IMAP token parser.
[mms] Fix setting language value when language is returned in an IMAP list.
[mms] Fix sending literal mailbox data to an IMAP server (Bug #11800).
[mms] Add Horde_Imap_Client_Data_Format_String#getStream().
[jan] Fix Dutch translation (Arjen de Korte <build+horde@de-korte.org>).
[mms] Fix regression in POP3 driver for servers that don't support the
      RESP-CODES extension.
[mms] Another workaround for broken Cyrus APPEND behavior (Bug #11769).

Kolab_Format
[jan] Return date-only values as floating dates (Bug #11767).
[jan] Correctly format all-day events (Bug #11767).

Mail
[mms] Fix behavior of 'persist' option in SMTP transport driver.
[mms] Fix default_domain parameter to Horde_Mail_Rfc822 (Bug #11804).

Mime
[mjr] Fix issue where parsing multipart/alternative messages would turn the
      parts into attachments.

Mime_Viewer
[jan] Update XSLT processor for OpenDocument files.

Pdf
[jan] Fix swapped getFormatHeight() and getFormatWidth() methods (Bug #11762).

Perms
[jan] Remove creator permission mapping from Kolab backend (Bug #11713).

Prefs
[mms] When removing a pref, reset its value in the cached scope to the default
      (Bug #11895).
[mms] Delete preference from storage backend when calling Horde_Prefs#remove().
[mms] Add throw parameter to Horde_Prefs#store().
[jan] Fix creating storage folder for Kolab/IMAP backends (Bug #11751).

Routes
[jan] Fix generating cache key for generated URLs (remi@famillecollet.com, Bug
      #11894).

SpellChecker
[mms] Honor the 'path' configuration parameter in Aspell driver (Bug #11778).
[mms] Minimum length configuration was not being honored in the Aspell driver.
[mms] Deprecated Horde_SpellChecker::factory().
[mms] Add Horde_SpellChecker_Exception.
[mms] Convert test suite to PHPUnit.

Util
[mms] Fix validating certain strings of UTF-8 data (Bug #11930).
[mms] Convert Horde_String#validUtf8() from a preg-regex to a string iterator
      to eliminate PCRE issues relating to stack sizes (Bug #11899).

Vfs
[jan] Don't rely on PEAR to determine Windows OS in Samba backend.
[jan] Implement vfsroot parameter in Samba backend.


------
v5.0.2
------

[jan] Re-packaged some 2.0.0 releases.
[mms] Use new Horde_Test layout.

Horde Changes
-------------
[jan] Fix adding user in admin actions (Bug #11690).
[mms] Fix removing user in admin actions (Bug #11690).
[jan] Allow to set custom search field label.

Address Book Changes
--------------------
[jan] Add free-text country attributes and use them in default Kolab backend
      (Request #11692).
[gwr] Fix handling empty dates in the Kolab driver (Bug #11691).
[jan] Use encoded UIDs as IDs in Kolab driver.
[jan] Fix searching shares for duplicates.
[mjr] Fix calling decode_attribute hook when exporting to ActiveSync
      (kd@tu-cottbus.de, Bug #11678).
[jan] Update Slovak translation (Jozef Sudolský <jozef.sudolsky@elbia.sk>).

Calendar Changes
----------------
[jan] Try to translate holiday drivers (Request #11755).
[jan] Fix timezone when reading events from Kolab (Bug #11695).
[jan] Use encoded UIDs as IDs in Kolab driver.
[jan] Fix saving of events if no calendar has been loaded yet.
[mjr] Fix importing events from ActiveSync with empty descriptions in EAS
      version 2.5

Tasks Changes
-------------
[gwr] Ignore empty dates (Bug #11736).
[jan] Use encoded UIDs as IDs in Kolab driver.
[mjr] Fix support for due/start dates for certain ActiveSync clients (Bug
      #11693).
[jan] Fix importing tasks from iCalendar (Bug #11681).
[jan] Fix listing of recurring tasks via timeobjects API.

Notes Changes
-------------
[jan] Use modification and creation dates from backend if available (Request
      #11591).
[jan] Use encoded UIDs as IDs in Kolab driver.

Tagging Changes
---------------
[jan] Add missing optional dependency on Horde_ElasticSearch.
[jan] Catch exceptions from Horde_ElasticSearch.

Library Changes
---------------
ActiveSync
[jan] Use binary column for serialized sync state (Bug #11743).
[jan] Fix boolean table columns (Bug #11742).
[mms] Use new Horde_Test layout.
[jan] Add Dutch translation (Arjen de Korte <build+horde@de-korte.org>).
[mjr] Answer Microsoft Outlook Autodiscover requests (Request # 11639).
[mjr] Fix fatal error due to abstract serialize methods.
[mjr] Fix issue causing a loop during FETCH requests caused by the
      non-incrementing syncKey.
[mjr] Reduce number of IMAP server calls required when syncronizing email data.
[mjr] Fix issue causing iOS Mail to crash when receiving truncated body data.
[mjr] Improvements to detecting expunged messages.
[mjr] Fix detecting mailbox changes on servers that don't return UIDNEXT data.
[mjr] Fix issue in detecting certain text attachments.

Autoloader_Cache
[mms] Compress cached data with LZF, if the PECL module is available.

Browser
[mms] Add tablet detection/reporting.

Core
[jan] Fix class name when using the Kolab group backend (Bug #11737).
[mjr] Fix synchronizing device message flag changes over ActiveSync (Bug
      #11732).
[mms] Fix returning session start time if session has been closed (read-only)
      in the current page access (Bug #11685).

Crypt_Blowfish
[mms] Mask harmless warning messages when using openssl_encrypt() on
      out-of-date PHP versions.
[mms] Initial release of package.

Imap_Client
[mms] Complete workaround for broken BINARY extension on Cyrus servers.
[mms] Workaround broken BINARY extension on Cyrus servers.
[mms] Fix returning UIDNEXT when using UIDNEXT_FORCE and the server does not
      automatically return this information.
[mms] Significant optimization to append() command.
[mms] Add abstracted syncing methods to Horde_Imap_Client_Base.
[mms] Fix parsing PARSE response code associated with an OK response.
[mms] Workaround broken BINARY implementation on UW-IMAP servers.
[mms] If we have binary data, and server doesn't support BINARY extension, send
      data anyway since we don't have any other option.
[mms] Correctly increment UIDNEXT when an EXISTS response is issued after the
      mailbox is opened (Bug #11679).
[mms] Fix regression that may have caused message flags to have been improperly
      cached if debugging was disabled (Bug #11665).

Kolab_Format
[jan] Deprecate timezone parameters, always write UTC datetime values (Bug
      #11695).

Kolab_Storage
[gwr] Add a time based snychronization strategy (Bug #11590).
[gwr] Correct cache update after move (Bug #11305).
[gwr] Remove deleted objects from the cache (Bug #11674).

Mail
[mms] Ensure bare address is output to SMTP MAIL command.

Secret
[jan] Fix package.xml.
[mms] Use Horde_Crypt_Blowfish instead of Crypt_Blowfish.

Stream
[mms] Add Horde_Stream_Existing class.

Support
[mms] Better generation of random IDs.

Test
[mms] Refactor Horde_Test_AllTests.
[mms] Add Horde_Test_Bootstrap.

Text_Filter
[jan] Improve HTML-to-Text filter.
[mms] Jsmin fixes merged from upstream C source.

Vfs
[jan] Fix deleting folders from absolute path in FTP backend (Bug #11761).
[jan] Fix old folder not being removed when moving a folder (Bug #11703).
[jan] Fix checking source and destination paths being the same (Bug #11702).


------
v5.0.1
------

[jan] Update Dutch translation (Arjen de Korte <build+horde@de-korte.org>).
[jan] Update Slovak translation (Jozef Sudolský <jozef.sudolsky@elbia.sk>).
[jan] Update Japanese translation (Hiromi Kimura <hiromi@tac.tsukuba.ac.jp>).

Horde Changes
-------------
[jan] Fix form for editing and removing of users.
[mjr] Workaround for broken iOS ActiveSync AUTODISCOVER requests (Bug #11624).
[mms] Fix topbar javascript on IE8 (Bug #11614).
[jan] Fix LDAP example for authusername hook.

Calendar Changes
----------------
[jan] Fix migration of exceptionoriginaldate field (Bug #11654).
[jan] Fix generating calendar names when exporting non-internal calendars to
      iCalendar.
[jan] Fix authentication to remote calendars (Bug #11643).
[jan] Fix incorrect nesting of VTIMEZONE components when exporting to iCalendar
      (Bug #11636).
[jan] Fix fatal error when moving non-recurring events with resources (Bug
      #11629).

Library Changes
---------------
ActiveSync
[mjr] Increase size of cache_data field.
[mjr] Add more complete error and debug output when saving syncCache.
[mjr] Attempt to detect infinite sync loops caused by server side errors.
[mjr] Fix moving/deleting messages on some devices.

Core
[jan] Fix translations (Bug #11606).
[mjr] Fix detected email changes on certain IMAP servers.
[mjr] Fix determining special mailboxes and generating folder hierarchy on some
      ActiveSync clients (Bug #11626).
[mjr] Limit the length of ActiveSync folder serverids to 64 per ActiveSync
      specs.
[mjr] Fix displaying maps in Chrome while using SSL connections (Bug #11618).

Crypt
[mms] Add Horde_Crypt_Pgp#getPublicKeyFromPrivateKey().

Date
[jan] Fix strftime() formatting of certain locale-specific format specifiers.

Imap_Client
[mms] Correctly workaround servers that incorrectly implement the LIST-EXTENDED
      command.
[mms] Fix determining subscribed mailbox list when not using LIST-EXTENDED (Bug
      #11608).
[mms] Work around servers that incorrectly implement the LIST-EXTENDED command.
[mms] Allow Horde_Imap_Client_Base#vanished() to work with non-QRESYNC servers
      if the 'ids' option is given.
[mms] Always map UIDs to sequence numbers if resolving an all UIDs search.
[mms] Ignore empty ID search queries.
[mms] Fix parsing empty ACL responses.
[mms] Massive performance increase for cached FETCH queries.
[mms] Split debugging code from Base driver into separate object.
[mms] Fix double encoding of non-ASCII elements in listMailboxes() (Bug
      #11608).
[mms] Fix regression for non-cached Socket objects (Bug #11605).
[mms] Improved handling of server write errors in the Socket driver.
[mms] Add support for IMAP MOVE command.
[mms] Correctly handle FETCH results intermingled with EXPUNGE/VANISHED
      requests within a single request.
[mms] Correctly handle EXISTS/EXPUNGE/VANISHED untagged responses which may
      appear at any time.
[mms] Fix handling message sequence number actions returned from server when
      using CONDSTORE/QRESYNC.

Rpc
[mjr] Workaround for broken iOS ActiveSync AUTODISCOVER requests (Bug #11624).

Service_Weather
[mjr] Remove support for Google's dead weather API.

Stream
[mms] Only specify maxmemory argument when creating temp stream if it was
      given.
[mms] Allow Horde_Stream object to be cloned.
[mms] Allow Horde_Stream object to be serialized (Bug #11598).
[mms] Add Horde_Stream#__toString().

Support
[jan] Support uuid extension from OSSP (remi@famillecollet.com, Request
      #11653).

Timezone
[jan] Fix notice when parsing Etc/UTC rules.


------
v5.0.0
------

[jan] Update Polish translation (Krzysztof Kozera <krzysztof113@o2.pl>).
[jan] Update Dutch translation (Arjen de Korte <arjen+horde@de-korte.org>).

Library Changes
---------------
Core
[mms] Confirmation link for new identity requires the full URL as it is
      intended to be accessed outside of the Horde application (Bug #11593).
[mms] Need to unescape JSON data returned in a text/html response.

Imap_Client
[mms] Fix regression in Horde_Imap_Client_Base#listMailboxes() return when both
      the 'flat' and 'sort' options are active.
[mms] Add STATUS_SYNCMODSEQ, STATUS_SYNCFLAGUIDS, and STATUS_SYNCVANISHED
      return options to Horde_Imap_Client_Base#status().
[mms] Fix invalid class name usage (Bug #11586).
[mms] Remove STATUS_LASTMODSEQ and STATUS_LASTMODSEQUIDS return options from
      status().


---------
v5.0.0RC1
---------

[jan] Remove optional dependency on Horde_DataTree.
[jan] Remove DataTree support.

Horde Changes
-------------
[jan] Port VAT identification block to use SOAP extension.
[jan] Fix dynamic updating of portal blocks.
[mms] Allow view-specific help files to inherit from base application help
      file.
[mms] Allow application basic/dynamic views to have different help source
      files.
[mms] Show non-javascript enhanced login screen for non-smartmobile mobile
      browsers (Bug #11215).
[mms] Add version parameter to CSS/javascript file URLs to help with cache
      busting when these files change between releases.
[mms] Add configuration option for maximum allowed session times.
[jan] Fix cancelling problem report.
[jan] Fix audio notification path printed in page output.
[jan] Fix logging in without JavaScript (Bug #11328).
[mms] Fix sidebar element wrapping.
[mms] Better handling of backend authentication errors when returning AJAX data
      (Bug #11297).
[mjr] Fix autocompletion of tags in ajax views.
[jan] Fix dependency on Horde_Service_Weather.
[mjr] Request SSL connection from map providers if using SSL (Bug #11193).
[jan] Allow to configure encryption in global IMAP configuration (Request
      #11272).
[jan] Update icon set.
[rla] Retrieve more detailed message from Horde_Auth when a user is temporarily
      or permanently locked out (Request #11254).
[jan] Implement new user interface.
[mms] Add 'suppress' option to prefs.php group entries.
[mms] Add 'on_change', 'on_init', 'requires', 'requires_nolock', and
      'suppress' options to prefs.php preference entries.
[mms] Remove support for IE 6.
[mms] Token protect all AJAX actions.
[jan] Allow to use IMAP storage for shares and groupware data without a
      complete Kolab server.
[mms] Implement growler-like notifications for smartmobile view.
[mms] Modified pushapp hook behavior.
[mms] Removed pushapp_post hook.
[mms] AJAX core features now contained within Horde_Core.
[mms] E-mail sending charset now defaults to UTF-8.
[mms] Add post-install script for the Horde application
[mms] Portal blocks can now load just the CSS necessary to display an
      application's blocks.
[jan] Show notifications during logging into Smartphone mode.

Address Book Changes
--------------------
[jan] Allow searching for 'emails' attributes (Bug #11185).
[jan] Fix LIKE matching of attributes in Kolab driver.
[mms] Convert turba minisearch block to the Horde AJAX framework.
[jan] Support 'emails' attribute in smartphone view (Bug #11544).
[jan] Attach share owner to all address book titles (Bug #11528).
[jan] Fix exporting from browse view (Bug #11526).
[jan] Return to the same page after running actions from the browse view.
[jan] Support importing contacts via API if using 'emails' attributes (Bug
      #8358).
[jan] Support 'emails' attribute with ActiveSync.
[jan] Fix marking contacts as deleted in the history if deleting shared address
      books (Bug #11480).
[jan] Set gender field values literally to 'male' or 'female'.
[jan] Drop preference which address books to display.
[gwr] Mark the initial default share as such with the Kolab backend.
[gwr] Always mark the initial share as default addressbook.
[mms] Initial implementation of smartmobile view.
[jan] Use Horde 5 action bar.
[jan] Add configuration example for Kolab/IMAP address books.
[jan] Update icon set.
[jan] Fix searching multiple names via the API.
[jan] Fix searching and listing clients via the API.
[mms] Import API call now throws an ObjectExists exception when a duplicate is
      found.
[jan] Add parameters to specify field size of phone and email fields.

Calendar Changes
----------------
[jan] Show completed future tasks in complete category, not in future category
      (Bug #11562).
[jan] Fix exporting of recurring events with exceptions from Kolab backends.
[jan] Fix export links for calendars (Bug #11576).
[jan] Fix broken Apple iCal behavior with exception dates (Evert Pot
      <evert@rooftopsolutions.nl>).
[jan] Use more compatible message format for iTip notifications (Bug #9854).
[jan] Fix free/busy retrieval on Kolab.
[jan] Synchronize tags with Kolab categories.
[mjr] Improvements to resource calendar handling.
[gwr] Mark the initial default share as such with the Kolab backend.
[gwr] Always mark the initial share as default calendar.
[jan] Fix attendees button in traditional view.
[jan] Fix sending alarm emails.
[jan] Add quick task adding to dynamic view.
[rla] Fix sender of appointment notification (Bug #11198)
[mjr] Fix tagging in traditional interface.
[rla] Make system shares browseable in WebDAV (Request #10998).
[jan] Make calendar lists collapsible (Request #10865).
[jan] Delay calendar list loading to speed up initial display.
[mjr] Implement resource scheduling in dynamic view (Request #9774).
[mjr] Fix issue that could cause incorrect freebusy data to be displayed in
      certain circumstances.
[mjr] Prompt to send updates when modifying an event with attendees (Request
      #10724).
[mjr] Add heatmap to year view (Request #10658).
[mjr] Implement proper editing and deleting of recurrence series and exceptions
      in ajax view (Request #9926).
[jan] Remove print buttons.
[jan] Add work week view to dynamic interface (rsalmon@mbpgroup.com, Request
      #10519).
[jan] Support importing of iCalendar events with non-local timezones (Request
      #7156).
[jan] Include timezone information when exporting events to iCalendar (Request
      #7156).
[jan] Allow to set individual timezones for each event (Request #10727).

Tasks Changes
-------------
[jan] Fix export links for tasklists (Bug #11576).
[mjr] Fix various issues with importing CSV files.
[mjr] Format datetime fields when exporting a task as a hash (Bug #11537).
[jan] Fix retrieving tasks from Kolab backend by UID (Bug #11532).
[jan] Fix toggling tasklists (Bug #11511).
[jan] Fix listing tasks from Kolab backends.
[jan] Fix sending alarm e-mail messages.
[jan] Synchronize tags with Kolab categories.
[mjr] Fix deleting tasks from the task form.
[mjr] Implement Purge Completed Tasks LoginTask (Request #2520).
[gwr] Mark the initial default share as such with the Kolab backend.
[gwr] Always mark the initial share as default tasklist.
[jan] Move complete task list management into the sidebar.
[jan] Allow to edit task list color in traditional view.
[mjr] Tweak display of smartlist links in list view.
[mjr] Fix fatal recursion error when searching with smartlists were present.
[mjr] Add support for smart tasklists.
[mjr] Migrate categories to tags.
[jan] Fix fatal error if the task form doesn't validate.
[jan] Add recurring tasks (Request #2150).

Notes Changes
-------------
[jan] Fix client-side sorting by date.
[jan] Fix exporting (Bug #11507).
[gwr] Always mark the initial share as default notepad.
[gwr] Mark the initial default share as such with the Kolab backend.
[gwr] Fixed deletion of shares with the Kolab driver.
[jan] Fix display of note title (Bug #11275).

Library Changes
---------------
ActiveSync
[mjr] Fix issue causing FOLDERSYNC to fail on postgres.
[mjr] Fix erroneous truncation of CC addresses (Bug #11446).
[mjr] SyncKey is no longer incremented when there are no imported or exported
      changes after the initial SYNC.
[mjr] No longer send unnecessary SYNC_COMMANDS tag.
[mjr] Build a proper nested folder hierarchy when appropriate.
[mjr] Properly send 401 responses in certain circumstances.
[mjr] Improvements to autoconfigure support.
[mjr] Fix some issues that were causing infinite loops on iOS
[jan] Fix finding locale directory if installed with PEAR.
[mjr] Fix issue where FILTERTYPE parameter was not being honored on some
      clients.
[mjr] Add support for ActiveSync native meeting requests and responses.
[mjr] Security policy support now allows for per user configuration.
[mjr] Add basic Autoconfigure support.
[mjr] Add EAS version 12.1 support.
[mjr] Add EAS version 12.0 support.
[mjr] Add email support.

Alarm
[mjr] Fix a bug that broke Desktop Notifications.
[jan] Fix Desktop notifications (Bug #10810).

Auth
[jan] Fix setting IMAP ACLs in IMAP and Cyrsql drivers.
[mms] Fix user management in Passwd driver.
[mms] Fix setting soft expiration in SQL driver.
[rla] Use constant for permanent lock and provide more verbose feedback
      (Request #11254).
[mms] Removed charset parameter for Imap and Cyrsql drivers.

Browser
[mms] Fix error message displaying the maximimum allowed file upload size.
[mms] Improved detection of mobile browsers (leena.heino@uta.fi, Request
      #11328).

Cache
[mms] Correctly invalidate cache when write error occurs while using the stack
      driver.
[mms] Add Horde_Cache#testReadWrite().

Cli
[jan] Include file and line when calling Horde_Cli#fatal() with an exception.
[jan] Use late static binding in init() for easier extension of Horde_Cli.

Compress
[mms] Fix parsing UTF-16 data in TNEF driver (Bug #11390)
      (andrey012@gmail.com).

Controller
[jan] Fix superglobals access (Bug #11277).

Core
[jan] Fix dynamic updating of portal blocks.
[mms] Allow AJAX handler methods to be marked externally accessible (i.e. no
      session token checking) (Bug #11538).
[mjr] Fix copying ActiveSync email to sent folder in certain cases (Bug
      #11529).
[jan] Catch exceptions from Horde_Crypt (Bug #11530).
[jan] Support non-padding operators in JavaScript date formatting (Bug #10435).
[mms] Add generic CSS class insertion to Help system.
[mms] Fix handling active error reporting codes in Horde_ErrorHandler.
[mms] Send spellcheck parameters using AJAX object, not in URL (Bug #11467).
[mms] Add View helpers to provide access to accesskey methods, Horde::img(),
      Horde::label(), and Horde_Help::link().
[mjr] Fix adding Bcc recipients when sending mail from ActiveSync.
[mjr] Fix issue saving sent mail from ActiveSync (Bug #11410).
[mms] Added Horde_Core_Smartmobile_Url class.
[jan] Make Horde::widget() take a single hash parameter.
[mms] Allow application API interface to dynamically alter properties (Bug
      #11388).
[mms] Force IE <= 7 to minimal view (Bug #11327).
[mms] Add loading triggers to HordeCore JS framework.
[mjr] Send dummy INBOX, Sent, and Trash folders to client when email sync
      support is not enabled.
[mjr] Fix broken ActiveSync behaviour when Email sync is not enabled.
[mjr] Only subscribed mailboxes are returned by the ActiveSync imap factory.
[jan] Set HTML 5 "multiple" attribute on email fields if necessary (Bug
      #11304).
[mms] Add a no authentication AJAX handler (Bug #11297).
[mms] Fix HordeCore javascript download action (Bug #11294).
[mms] Fix upgrade logintasks for pre-release major releases.
[mjr] Add Horde_Core_Tagger.
[mjr] Fix autocompletion of tags in ajax views.
[jan] Fix dependency on Horde_Routes.
[jan] Fix dependency on Horde_ElasticSearch.
[jan] Fix default values for LDAP and SQL configuration.
[jan] Fix hiding empty top menu entries in multi-level hierarchies.
[jan] Allow to override configuration details of meta-configuration tags like
      <configsql> in custom configuration XML files.
[jan] Allow to configure encryption in global IMAP configuration (Request
      #11272).
[mms] Upgrade jQuery Mobile to v1.1.1 RC1.
[mms] Fix browser-based AJAX autocompletion (Bug #11233).
[jan] Update classes for the new user interface.
[mms] Move output compression code into Horde_PageOutput.
[mms] Removed Horde::ajaxAvailable().
[mms] Move Horde::getServiceLink() to Horde_Registry#getServiceLink().
[jan] Allow to use IMAP storage for shares and groupware data without a
      complete Kolab server.
[mms] Moved smartmobile core javascript from the Horde application.
[mms] Added Horde_PageOutput.
[mms] Added Horde_Core_Ajax_Imple_ContactAutoCompleter.
[mjr] Use local member storage when no session is available (Bug #9733).
[mms] Added AJAX core features.
[mms] Added view determination to Horde_Registry.
[mms] Performance improvements when initializing Alarm system.
[mms] Performance improvements to Alarm checking.
[mms] Performance improvements when initializing Notification system.
[mjr] Allow restricting pretty autocompleter to available choices.
[mms] Add language detection to AJAX spellchecker if no language is selected by
      the user (Request #7137).
[mms] Add Horde_Core_Block_Layout_View::getStylesheets().

Crypt
[jan] Throw exception if parsing of S/MIME certificates fails (Bug #11530).
[mms] Improvements in obtaining GPG keys from a keyserver (Bug #11380)
      (o+horde@immerda.ch).

Data
[mms] Implement new 2.0 API. See UPGRADING for full details of changes.

Date
[jan] Support non-padding operators in strftime() formatting (Bug #10435).
[mjr] Fix adding completed recurrence exceptions.
[jan] Include time when parsing recurrence end date from vCalendar/iCalendar.
[jan] Rename fromHash()/toHash() to fromKolab()/toKolab().

Db
[mms] Fix resetting postgresql error reporting.
[mms] Fix Horde_Db_Adapter_Base_Table#offsetExists().
[mms] Fix addLock() command.
[jan] Allow for nested transactions.

Editor
[mms] Update CKEditor to v2.6.5.

ElasticSearch
[cjh] First release.

Exception
[mms] Added log level setting to Horde_Exception.
[mms] Added $logged property to Horde_Exception class.

Form
[mjr] Fixed autoloading of some field actions.
[jan] Allow to pass button attribute hashes to setButtons().
[jan] Allow to set CSS class for 'link' form fields.
[jan] Add Horde_Form_Type_email#allowMultiple().

Group
[mms] Remove Contactlists driver.

Http
[jan] Add verifyPeer request option to disable verification of certification
      peers during SSL request.
[jan] Fix error handling in Fopen driver if a custom error handler is
      installed.

Icalendar
[jan] Fix parsing of VTIMEZONE components that use RDATE properties.

Imap_Client
[mms] Fix CONDSTORE synchronization of deleted messages since last mailbox
      access.
[mms] Need to immediately synchronize mailbox on mailbox load with CONDSTORE or
      else we may lose flag change information.
[mms] Fixes/improvements to CONDSTORE capability sniffing and enabling.
[mms] Remove statuscache configuration option.
[mms] Optimize generation of POP3 sequence string.
[mms] Abstract forced determination of UIDNEXT value from cache method to a
      status() flag.
[mms] Remove Horde_Imap_Client_Base#fetchFromSectionString().
[mms] Horde_Imap_Client_Base#listMailboxes() now supports 'status' return even
      if server does not server LIST-STATUS.
[mms] Remove Horde_Imap_Client_Base#fetchCacheIgnore().
[mms] Move IMAP/POP URL parsing to new Horde_Imap_Client_Url object.
[mms] Move base subject parsing to new Horde_Imap_Client_Data_BaseSubject
      class.
[mms] Move IMAP sequence string generation/parsing to the Horde_Imap_Client_Ids
      object.
[mms] Remove Horde_Imap_Client_Utils#escape().
[mms] Remove Horde_Imap_Client_Utils#removeBareNewlines().
[mms] Move IMAP mailboxes sorting into new Horde_Imap_Client_Mailbox_List
      class.
[mms] Correctly handle determination of highestmodseq in currently selected
      mailbox if CONDSTORE, but not QRESYNC, is active.
[mms] Optimize APPEND so that we don't send large amounts of data to server if
      the server is not going to accept the data.
[mms] Don't expunge mailbox when it is labeled as read-only.
[mms] Fix regression in FETCH/COPY with sequence numbers (Bug #11521).
[mms] Fix quoting empty astrings (Bug #11505).
[jan] Fix Horde_Stream dependency.
[jan] Add deleteACL().
[jan] Make setACL() work more similar to the SETACL IMAP command.
[mms] Fix determination of HIGHESTMODSEQ value from FETCH data.
[mms] Store command that caused NO/BAD error in Exception, if it can be
      determined.
[mms] Limit FETCH ENVELOPE data sizes.
[mms] Improved parsing of incoming IMAP server stream.
[mms] Improved parsing of IMAP threading data.
[mms] Improved IMAP tokenizer of server response data using PHP temporary
      streams.
[mms] Add standalone IMAP command tokenizer.
[mms] Rewritten handling for processing outgoing IMAP commands.
[mms] Improved debugging efficiency.
[mms] Added data objects for the various IMAP data types.
[mms] Added the Horde_Imap_Client_Data_Format objects.
[mms] Correctly handle any resource key supported by the QUOTA extension.
[mms] Allow auto-escaping of mailbox names in listMailboxes().
[mms] Add list_escape property to Horde_Imap_Client_Mailbox.
[mms] Remove public cache variable from IMAP driver.
[mms] Internally workaround IMAP servers that don't support text searches other
      than US-ASCII.
[mms] Horde_Imap_Client_DateTime is now a wrapper around the native PHP
      DateTime object (Request #11074).
[mms] Implement new 2.0 API. See UPGRADING for full details of changes.

Imsp
[jan] Fix finding locale directory if installed with PEAR.

Kolab_Format
[jan] Write custom Horde attributes to task objects.
[jan] Categories attributes are returned and passed as an array now.

Kolab_Server
[jan] Reduce logging level of debug messages.

Kolab_Session
[jan] Reduce logging level of debug messages.

Kolab_Storage
[gwr] Corrected fix for modifying Kolab objects.
[gwr] Allow setting the default folder.
[gwr] Reactivate folder list caching.
[gwr] Avoid overwriting unknown XML elements (Bug #11309)
[jan] Fix renaming of shares (Bug #11281).
[jan] Fix moving objects to a different folder (Bug #11280).
[jan] Fix listing and loading data from IMAP server (Bug #11273).

Lock
[rla] Add handling of permanent locks.

Mail
[mms] Add Horde_Mail_Rfc822_Address#matchDomain().
[mms] Add Horde_Mail_Rfc822_Address#matchInsensitive().
[mms] Fix parsing Return-Path header when using sendmail driver (Bug #11361).
[mms] Implement new 2.0 API. See UPGRADING for full details of changes.

Mime
[mjr] Add method for returning the message's base MIME part.
[mms] Update MIME mapping file.
[mms] Catch/fix malformed undisclosed-recipients address headers.
[mjr] Fix issue that could cause outputting of duplicate data from a parsed
      mulitpart mime message.
[mms] Added Horde_Mime_Related class.
[mms] Implement new 2.0 API. See UPGRADING for full details of changes.

Perms
[mms] Don't log permission not exists errors.
[jan] Use new Horde_Tree API.

Rpc
[jan] Use Horde's temporary directory for SyncML logs.
[mjr] Allow autodiscover requests sent as OPTIONS requests.

Secret
[mms] If secret key is changed, change the associated  key or else key change
      may not be recognized in the current page access (Bug #11570).
[mms] Limit decryption/encryption key to 56 bytes (Bug #11566).
[mms] Mark secret cookie data as HttpOnly.
[mms] Add Exception code constants.
[mms] Use Horde_Support_Randomid class to generate secret key.

Service_Facebook
[jan] Fix parsing JSON responses with PHP 5.4.
[mjr] Remove fields from FQL statement that are no longer available.
[mjr] Update API to use the Graph API wherever possible.
[mjr] Removed the deprecated OFFLINE permission.

Service_Weather
[mjr] Catch XML parsing errors.

SessionHandler
[jan] Fix track_lifetime setting for Memcache driver (Bug #11444).

Share
[jan] Fix sorting of Kolab shares (Bug #11509).
[gwr] Propagate setting the default attribute to the Kolab backend.

Stream
[mms] First release for Horde 5.

Stream_Filter
[jan] Add htmlspecialchars() filter.

Support
[jan] If creating Horde_Support_Backtrace from an Exception, include any
      previous exceptions.
[jan] Make Horde_Support_Backtrace#backtrace a public property.
[mms] Add Horde_Support_ObjectStub.

SyncMl
[jan] Fix session handling (Bug #11242).
[jan] Fix finding locale directory if installed with PEAR.

Text_Filter
[mms] Merge upstream changes to jsmin filter that caused broken compression of
      jQuery Mobile file.

Text_Filter_Csstidy
[mms] Fix cloning of csstidy objects.

Timezone
[jan] First release for Horde 5.

Tree
[jan] Tweak CSS names.
[jan] Separate tree object from tree renderers.

Url
[mms] Fix copying all parameters when cloning a Horde_Url object in the
      constructor.
[mms] Make parameter generation extendable.
[mms] Add Horde_Url::setScheme().
[jan] Make constructor parameters optional for empty URLs.

Util
[mms] Remove Horde_Util::addParameter() and Horde_Util::removeParameter().
[mms] Remove Horde_Util::cloneObject().
[mms] Removed e-mail array manipulation methods (Horde_Mail package now
      provides this feature).
[mms] Removed Horde_Util::getCsv() (moved to Horde_Data package).
[mms] Add iteration to Horde_Domhtml object.
[jan] Remove Horde_Util::getTempDir().
[jan] Remove Horde_Array::replaceRecursive().

Vfs
[jan] Fix check whether quota limit is set (Bug #11455).
[jan] Fix sending and reading files in SSH2 driver if vfsroot is not set (Bug
      #11451).
[jan] Fix finding locale directory if installed with PEAR.
[jan] Add hasFeature().
[jan] Drop listFolders() method.
[jan] Remove Horde_Vfs_Browser, Horde_Vfs_ListItem, Horde_Vfs_Object classes.

View
[mms] Added Horde_View_Helper_FormTag#optionTag().


------
v4.0.8
------

[jan] Update Swedish translation (Per Olof Ljungmark <peo@bsdlabs.com>, Jakob
      Alvermark <jakob.alvermark@bsdlabs.com>).
[jan] Update Italian translation (Emilien <emilien@wifi.e4a.it>, Massimo
      Malabotta <mmalabotta@units.it>).
[jan] Update Slovak translation (Marika Schvarczova
      <schvarczova.marika@domeny.sk>).
[jan] Update Czech translation (Michal Foist <michal@foist.cz>).
[jan] Update Hungarian translation (Zoltán Németh <nemeth.zoltan@etit.hu>).

Horde Changes
-------------
[jan] Update Lybian flag (Request #11169).
[jan] Fix horde-set-perms script (Arjen de Korte, Bug #11048).

Address Book Changes
--------------------
[jan] Fix number of contacts in a list that cannot be displayed.

Calendar Changes
----------------
[jan] SECURITY: Fix XSS vulnerabilities in tasks view and search view (Bug
      #11189).
[jan] Improve print styles.
[jan] Catch if external client doesn't send LAST-MODIFIED attributes (Bug
      #11130).
[jan] Don't stop agenda script if there is an error with a single user (Bug
      #11129).
[jan] Show round corners only on the start and end of multi-day events
      (Request #11067).

Library Changes
---------------
ActiveSync
[jan] Fix class name (software-horde@interfasys.ch, Bug #11164).

Browser
[mms] Added the 'ajax' browser feature.

Compress
[mms] Check for damaged ZIP data.

Core
[gwr] Fixed session based preferences.

Crypt
[jan] Fix HTML rendering of S/MIME certificates with multi-value attributes.

Imap_Client
[mms] Fix regression in caching code (Bug #11143).
[mms] Fixed PHP 5.2 incompatibility (Bug #11137).

Ldap
[jan] Throw exception if LDAP extension is missing.

Memcache
[mms] Increase lock timeout to 30 seconds.
[mms] Fix typo preventing unlock at exit from working correctly.
[mms] Automatically expire locks when the PHP process exits.

Nls
[jan] Update ISO list of countries (Bug #11169).

Rpc
[jan] Support authentication via CGI.

SyncMl
[jan] Don't corrupt binary data like images if sent in several messages
      (Jonathan Westerholt <joniw@t-online.de>, Bug #10864).

Text_Filter
[jan] Support definition lists in HTML-to-text filter (Nathan Barhorst).

Url
[mms] Don't encode anchor string if raw mode is enabled.

Util
[mms] Fix Horde_String::validUtf8() to workaround PHP/PCRE bug where segfault
      will occur on input strings > ~5000 characters.


------
v4.0.7
------

[rla] Add missing license files.
[jan] Update Hungarian translation (Zoltán Németh <nemeth.zoltan@etit.hu>).
[jan] Update Brazilian Portuguese translation (Luis Felipe Marzagao
      <duli@easylifeproject.org>).
[jan] Update Finnish translation (Leena Heino <liinu@uta.fi>).
[jan] Update German translation.
[jan] Update Spanish translation (Manuel P. Ayala <mayala@unex.es>).

Horde Changes
-------------
[mjr] Add more atomic control over ActiveSync security policies for better
      device compatibility.
[mms] Add 'sendmail_eol' configuration parameter.
[jan] Fix horde-set-perms (piper@hrz.uni-marburg.de, Bug #10923).
[jan] Sort user and group names in permission screen (Request #10896).

Address Book Changes
--------------------
[jan] Fix decode_attribute hook when exporting to vCard (kd@tu-cottbus.de, Bug
      #11123).
[jan] Only connect to LDAP driver for read/write requests (Dominique Lalot
      <dom.lalot@gmail.com>, Request #11082).
[mjr] Fix bug that caused time shifting of contact birthday and anniversary
      values from ActiveSync devices for users in certain timezones.
[mjr] Ensure contact lists are always populated with their members (Bug
      #10961).
[jan] Fix SyncML compatibility with work/home phone numbers and newer Funambol
      clients (Bug #10912).
[mjr] Implement more flexible ActiveSync synchronization of names and
      addresses.
[jan] Fix address book sorting in preferences (Bug #10897).
[mms] Improve navigation when editing group entries.

Calendar Changes
----------------
[jan] Use preferred date format in week and agenda views (Bug #11089).
[jan] Fix fatal error if no external calendars are available (Bug #11079).
[jan] Fix positioning of events on DST changing dates (Bug #11070).
[mjr] Fix bug that caused time shift of all day events when imported from
      ActiveSync devices for users in certain timezones (Bug #10991).
[mjr] Correctly deal with deleted calendars in sync clients (Bug #10969).
[jan] Search complete names and addresses when auto-completing attendees.
[jan] Fix syntax error in migration script (Bug #10902).

Notes Changes
-------------
[mjr] Add missing getChanges API method.

Timeobject Changes
------------------
[mjr] Always provide the longest forecast length available for weather
      forecast data.
[mjr] No longer attempt to create a Horde_Service_Weather provider if we do not
      have one configured.

Library Changes
---------------
ActiveSync
[mjr] Fix parsing incoming timezones under certain conditions (Bug #11068).
[mjr] Added WP7 devices to the list of devices with broken provisioning.
[mjr] Fix issue that could cause improper timezone handling in events passed
      from device to server in the beginning of a calendar year (Bug #10960).
[mjr] More improvements to security policies and device compatibility.
[mjr] Tweak policy defaults. Minor compatibility improvements for
      WAP-Provisioning-XML strings.
[mjr] Allow disabling of certain policies.
[mjr] Honor PROVISIONING_LOOSE if the device supports PROVISIONING, but not all
      of our requested policies.
[mjr] Fix issue that could cause PING failure in certain server environments.

Auth
[jan] Add optimized exists() implementation to LDAP driver (Marco Ferrante
      <marco@csita.unige.it>, Request #10944).

Autoloader_Cache
[jan] Fix horde-autoloader-cache-prune script.

Browser
[mms] Fix upload_tmp_dir checking (Bug #10976).
[mms] Update dataurl and cite capabilities for Internet Explorer.
[jan] Update utf capability for Firefox 10+.
[jan] Update capabilities for recent Blackberry devices.

Core
[jan] Add parameters to specify field size of phone and email fields.
[jan] Log details too, if logging an exception.
[jan] Fix showing applications with 'admin' status in the sidebar.
[jan] Fix setting default values for HTML signatures.
[mjr] Throw exception if no weather service configured (Bug #11005).
[mms] Fix viewable prefs when toggling from Hide->Show Advanced.
[mms] Better error message when missing required parameters (Bug #10979).
[mms] Add Horde_Core_Alarm_Handler_Notify class.
[mjr] Fix issue with autocompletion that would cause it to fail in certain
      circumstances (Bug #10904).
[mms] Remove trailing semicolon when replacing @import statements.
[mjr] Fix issue that could cause failure of ActiveSync due to incorrect packing
      of binary data.
[jan] Use separate database connection for SQL session handler (Bug #10906).
[mms] Fix parsing DB config when using splitread database setup.

Crypt
[mms] Improved parsing of S/MIME certificate information (Bug #10956).
[mms] Silently ignore unknown data when parsing S/MIME certificates.

Data
[mms] Translate all user-directed exception messages.

Db
[jan] Fix escaping of binary values in SQLite.

Exception
[jan] Inherit details from wrapped exception.

Form
[jan] Add parameters to specify field size of phone and email fields.

Group
[jan] Use configured filter when listing groups (Jesse Sandberg
      <jesse.sandberg@verkkokauppa.com>, Bug #10975).

Http
[cjh] Fix infinite loop on unknown parameters being set.
[cjh] Return real data for HTTP 4xx and 5xx responses when using fopen().
[cjh] Fix setting PUT data in the Peclhttp Horde_Http_Request class.

Imap_Client
[mms] Fix CHANGEDSINCE search if no FETCH attributes were specified (Bug
      #11132).
[mms] Fix search charset detection for servers that do not send the BADCHARSET
      response code (Bug #11117).
[mms] Workaround IMAP servers with broken CATENATE implementations (Bug #11111).
[jan] Fix sending ID requests.
[mms] Rewrite of caching system. Fixes a few bugs, and should be more efficient.
[mms] Clear imapproxy status when logging out.
[mms] Workaround PHP bug when using serialized Envelope data created by
      Horde_Imap_Client < 1.5.0 (Bug #11026).
[mms] Fix accessing STATUS information for mailboxes with non 7-bit characters.
[mms] Fix 'vanished' return from fetch().
[mms] Add Horde_Imap_Client_Base#setParam() (Bug #10680).
[mms] Return correct authentication error if authentication fails after the
      original login (Bug #11007).
[mms] Do case-insensitive check for NIL in IMAP data.
[mms] Correctly support RFC 822 groups in envelope data.
[mms] Envelope address data now returned as Horde_Mail_Rfc822_Address objects.
[mms] Other places where bodystructure may return literals.
[mms] Workaround non-ASCII data in bodystructure return from IMAP server.
[mms] Fix several faulty translation strings (Bug #10958).
[mms] Fix objects where the password is not being encrypted (Bug #10950).
[jan] Fix translations when installed through PEAR.
[mms] Implement more efficient serialization for Thread data objects.
[mms] Move server debug information from exception error message to 'details'
      property of exception object.
[mms] Fix METADATA_TOOMANY and METADATA_NOPRIVATE exception codes.
[mms] All user-directed exception messages are now translated.
[mms] Added Horde_Imap_Client_Exception_NoSupportExtension.
[mms] Incorrect method calls now throw SPL errors instead of
      Horde_Imap_Client_Exceptions.

Itip
[jan] Fix line breaks of iTip responses when using quoted-printable encoding
      (Bug #10888).

Mail
[mms] Added Horde_Mail_Rfc822_Address#encoded property.
[mms] Better support for IDN hosts in non-validate address parsing mode (Bug
      #11021).
[mms] Added Horde_Mail_Rfc822#trimAddress().
[mms] Add optional arguments to the Horde_Mail_Rfc822_Group constructor.
[mms] Horde_Mail_Rfc822#parseAddressList() now accepts
      Horde_Mail_Rfc822_Objects within the first argument.
[mms] The address and group objects now extend the base
      Horde_Mail_Rfc822_Object class.
[mms] Add optional arguments to the Horde_Mail_Rfc822_Group constructor.
[mms] First argument to Horde_Mail_Rfc822#parseAddressList() can now be an
      array of addresses.
[mms] Add Horde_Mail_Rfc822#encode().
[mms] Workaround unexpected return from PHP_EOL in Mail transport drivers.
[mms] Created Horde_Mail_Rfc822_Address and Horde_Mail_Rfc822_Group objects to
      represent e-mail addresses.
[mms] Improved parser for e-mail addresses (Request #10949).

Memcache
[mms] Bump lock retry from 0.005s -> 0.1s.

Mime
[jan] Work around broken messages with multiple address headers.
[mms] Add option to allow encoding options to be defined for
      Horde_Mime_Part#send() (Bug #11058).
[mms] Add MIME headers to the list of single-value headers.
[mms] Don't add personal part to e-mail address if it is identical to the
      address itself.
[mms] Support Horde_Mail_Rfc822_Address objects.
[mms] A false value for 'idn' in Horde_Mime_Address#writeAddress() now causes
      the domain name to be converted TO punycode, if necessary.

Rdo
[jan] Implement ArrayAccess in Horde_Rdo_Base.
[jan] Fix Horde_Rdo_Exception not extending Horde_Exception.
[rla] Fix issue with retrieving lazy fields (Bug #11012).

Rpc
[jan] Fix WebDAV access to application resources.

Service_Weather
[mjr] WeatherUnderground had done away with the 5 day forecast. Emulate it with
      a 7 day forecast and limitLength call.
[mjr] Allow setting a limit to the number of forecast days that are returned,
      regardless of the reqested forecast length.
[mjr] Fix requesting different forecast lengths for the same location in the
      same request.
[mjr] Add 10 day forecast support for WeatherUnderground.

SessionHandler
[jan] Fix SQL driver with PostgreSQL.
[jan] Fix reading sessions with the External driver.
[jan] Add test suite.
[jan] Don't start transaction more than once in SQL driver (Bug #10978).
[jan] Fix transaction error when reconnecting to database during session
      writing (Bug #10906).

Share
[jan] Add renameShare().
[mjr] Properly cache empty listShares results (Bug #11045).

Support
[mms] Fix failing unit tests.

Text_Filter
[mms] Fix preg backtrack issue in the Linkurls filter (Bug #11116).
[mms] Merge upstream updates to JsMin filter.

Text_Flowed
[mms] Don't do regex matching for data that can never match.

Util
[jan] Implement ArrayAccess in Horde_Variables.

Vfs
[jan] Fix inconsistent behavior of the different backend drivers.
[jan] Fix double unlink() of temporary files.
[jan] Fix ignored $dotfolder argument for listFolders() in SQL driver.
[jan] Fix several issues with quota calculation.
[jan] Fix recursive listFolder() on base directory.
[jan] Fix calculating folder sizes with similar folder names in SQL driver.


------
v4.0.6
------

Address Book Changes
--------------------
[jan] Set VOICE parameter when exporting phone numbers to vCard (Request
      #10349).
[jan] Fix importing vCards with empty X-ANNIVERSARY attributes (Bug #10557).
[jan] Update Japanese translation (Hiromi Kimura <hiromi@tac.tsukuba.ac.jp>).

Calendar Changes
----------------
[mjr] Fix bug that could cause incorrect event exceptions to be created when
      drag and dropping events in month view.
[jan] Fix page titles not always updating correctly.
[jan] Display event time in dynamic view if requested (Request #9866).
[jan] Only show end time if different from start time.
[jan] Fix day sorting in agenda view.
[jan] Sort user and group names in permission screen (Request #10896).

Library Changes
---------------
ActiveSync
[mjr] Fix REMOTEWIPE functionality for a number of android and iOS devices.
[mjr] Fix sending meeting request emails when creating a meeting.
[mjr] Fix retrieving the body of SENDMAIL requests.
[mjr] Fix parsing birthday strings on certain android 2.2 clients.
[mjr] Improve support for Android device provisioning.
[mjr] Improve support for timezones in appointments originating on the client.
[mjr] Improve performance when working with timezones on PHP 5.3+

Core
[mjr] Fix implementation of SENDMAIL ActiveSync command. Fixes sending of
      meeting requests from device.
[mjr] Fix issue that caused ActiveSync failure when using device specific
      logging in certain cases.
[mms] Fix merging config data (Bug #10381).

Date
[mjr] Fix creating recurrence objects with a timezone other than the current
      default.

Form
[mms] SECURITY: Fix XSS vulnerability in email validation.

Icalendar
[jan] Fix compatibility with Horde_SyncMl (Bug #10908).
[jan] Allow to pass multiple parameter values in setAttribute() (Bug #7248).

Imap_Client
[mms] Allow multiple date searches to be specified in a single AND search query.
[mms] Fix deleting cached mailbox when mailbox name is given as an object.
[mms] Fix 'changedsince' and 'vanished' parameters' in the fetch() command (Bug
      #10915).
[mms] LIST-STATUS does not depend on LIST-EXTENDED.
[mms] Add dependency checking for capabilities.

Kolab_Format
[gwr] Fixed datatype for birthday and anniversary contact attributes.
[gwr] Completed missing data API v1 support.

Mail
[mms] Fix line-endings for transport drivers that send messages using local
      tools/programs.

Mime
[jan] Improve compatibility with some broken text MIME parts (Bug #10925).

Service_Weather
[mjr] Add snow and rain totals to wunderground driver.
[mjr] Fix using IP addresses for determining forecast location (Bug #10857)

SyncMl
[jan] Fix undefined method while synchronizing events with Funambol (Bug
      #10908).
[jan] Catch exceptions when changing or retrieving objects from the
      applications.

Template
[mms] Need to cache gettext-enabled templates with language information in the
      cache ID (Bug #10872).

Util
[mms] Add Horde_Variables#filter().


------
v4.0.5
------

[jan] Update Dutch translation (Arjen de Korte <build+horde@de-korte.org>,
      Pieterjan Heyse <pieterjan.heyse@scheppers-wetteren.be>).
[jan] Update Japanese translation (Hiromi Kimura <hiromi@tac.tsukuba.ac.jp>).

Horde Changes
-------------
[jan] Make the lifetime of cached weather information configurable (Arjen de
      Korte, Request #10848).
[mjr] Improve layout of weather block.

Calendar Changes
----------------
[jan] Hide disabled calendar sections (Bug #9815).
[gwr] Fixed recurrence handling with the Kolab backend.
[gwr] Fixed naming of the default calendar for the Kolab backend.
[gwr] Fixed deleting events with the Kolab backend.
[gwr] Fixed migrations for SQLite as database backend.
[mjr] Fix keyboard navigation of time entry fields in dynamic view (Bug
      #10799).
[mjr] Fix parsing display_cal variables for internal calendar links on various
      blocks and embedded imples (Bug #10767).
[mjr] Fix adding events directly to a resource's calendar (Bug #10827).
[mjr] Fix regression introduced in 3.0.12 that broke checking a Resource's
      availability in certain cases (Bug #10806).
[jan] Don't fail on empty CalDAV calendars (christof@buergi.lugs.ch, Bug
      #10739).
[jan] Check permissions when building application drop down
      (sberthelot@emisfr.com, Bug #10811).
[gwr] Fix saving Kolab events.

Tasks Changes
-------------
[jan] Fix setting custom alarm methods (Bug #9543).

Notes Changes
-------------
[jan] Use locale based sorting.
[jan] Fix remembering the expansion state of the notepads panel (Bug #10797).

Library Changes
---------------

ActiveSync
[mjr] Increase field length for sync_data to support syncing large collections
      (Bug #10822).
[jan] Fix tests to work with PHPUnit 3.6.

Alarm
[jan] Catch exceptions from Horde_Mime when sending alarm messages (Bug #10388).

Auth
[jan] Add Latvian translation (Jānis Eisaks <jancs@dv.lv>).

Core
[mjr] Allow separate ActiveSync logs per device.
[jan] Make the lifetime of cached weather information configurable (Arjen de
      Korte, Request #10848).
[gwr] Fixed hiding menu entries that should not be displayed to admin.
[gwr] Fixed Kolab anonymous bind.

Crypt
[mms] Provide signature information when decrypting a message, rather than just
      a boolean result.
[mms] Fix displaying PGP key expiration information.
[mms] Allow expiration date to be given to Horde_Crypt_Pgp#generateKey()
      (Request #5754).

Data
[mjr] Allow applications to extend Horde_Data_Base objects.

Date
[mjr] Fix issue with creating Horde_Date from DateTime object with explicit
      timezone set.
[gwr] Fix the parsing of recurrence hash data.

Date_Parser
[jan] Correctly parse "nacht" in German (Bug #10511).

Db
[gwr] Alternative API to support modified dates with SQLite as well.
[mjr] Add support for mediumtext and longtext field types.

Imap_Client
[mms] Work around broken headers in IMAP envelope data.
[mms] Remove Cclient drivers.

Mime
[mms] Allow Horde_Mime_Part::getRawPartText() to accept stream input.
[mms] Workaround incoming message data to Horde_Mime_Part::getRawPartText()
      that contains varying EOL characters (Bug #10809).
[mms] Fix detection of MIME boundaries at beginning of string (Bug #10809).
[mms] Abstract charset detection code out into
      Horde_Mime_Headers::sanityCheck().
[mms] Improved detection of charsets in broken (8-bit) MIME headers.
[mms] Fix for broken 8BITMIME/BINARYMIME SMTP capability detection
      (christof@buergi.lugs.ch, Bug #10820).

Prefs
[jan] Catch exceptions from storage writing during shutdown.
[jan] Use binary column type for preference values (Bug #10803).

Service_Weather
[mjr] Use longer cache lifetime for non-changing values (Request #10851).
[mjr] Export available detailed forecast fields for each driver (Bug #10813).
[mjr] Fix returning correct units when requesting the same location twice, but
      with different units (Bug #10804).
[mjr] Fix returning localized text from Wwo driver (Bug #10804).
[mjr] Fix obtaining forecast periods individually..
[mjr] Fix obtaining certain properties from Google driver.
[mjr] Fix making requests when not using a cache.
[mjr] Fix path to locale directory.
[mjr] Fix setting units (Bug #10792).

Text_Filter
[mms] Fix unnecessary use of POSIX collating element in Linkurls filter
      (jr@yaina.de, Bug #10828).

Token
[jan] Fix translation (Bug #10831).

Util
[mms] Add Horde_String::validUtf8().


------
v4.0.4
------

[mjr] Add support for Horde_Service_Weather.
[mjr] Remove support for the now non-existent weatherdotcom API.
[jan] Update Croatian translation (Valentin Vidic <Valentin.Vidic@CARNet.hr>).
[jan] Update Latvian translation (Jānis Eisaks <jancs@dv.lv>).
[jan] Update Estonian translation (Alar Sing <alar.sing@err.ee>).
[mjr] Fix removeUserData implementations.
[gwr] Avoid including the owner name into the default shares (Kolab backends).

Horde Changes
-------------
[jan] Add configuration option to disable password resets (Request #10640).
[cjh] Add Hordevetica theme.
[mjr] Fix issue with ajax uploader and file sizes over 1mb (Bug #10641).
[mjr] Do not show results in the tag cloud block owned by other users.
[mjr] Update javascript map library.
[mms] Allow in-page base64 image encoding to be disabled via configuration.
[jan] Add administration page to list and clear locks.

Address Book Changes
--------------------
[mjr] Add the ability to specify the fields to return from contacts/search.
[jan] Fix importing contacts with composite fields.
[jan] Fix LDAP connection test (Bug #10554).

Calendar Changes
----------------
[jan] Show status of events in agenda messages (Request #10517).
[mjr] Fix selecting custom time from time selection drop down (Bug #10737).
[jan] Always use fresh Horde_Http_Client instances for remote calendars (Bug
      #10740).
[jan] Add confirmation screen when deleting events in dynamic view (Request
      #10725).
[jan] Fix holidays disappearing from month view if deleting another event.
[jan] Fix resetting attendee response status when saving events in dynamic
      view (Bug #10620).
[jan] Support CalDAV servers that don't use DAV: as the default namespace
      (christof@buergi.lugs.ch, Bug #10716).
[jan] Allow to view and create copies of holiday events (Bug #10650).
[jan] Don't show import/export tabs in dynamic view if disabled (Bug #10705).
[jan] Don't show option to share with everyone in basic permissions if disabled
      (piper@hrz.uni-marburg.de, Bug #10706).
[mjr] Only set ORGANIZER field if the event is a group meeting (Bug #10697).
[mjr] Fix alarms for recurring events (Bug #10678).
[mjr] Allow filtering listTagInfo results by user.
[jan] Fix uncompleting tasks in dynamic view (Carlos Timóteo, Bug #10653).
[cjh/jan] Improve design.
[mjr] Fix displaying resources when no attendees are present (Bug #10507).

Tasks Changes
-------------
[jan] Don't display task details of private tasks via the API (Bug #10712).
[jan] Use correct locale when parsing quick tasks (thpo+horde@dotrc.de, Bug
      #10720).
[cjh] Nicer date/time input with fewer input fields and helper javascript.
[mjr] Add ability to choose which tasklists to synchronize.
[mjr] Fix task export to ActiveSync for tasks with no due dates or reminders.
[jan] Add missing parameters when PUTing tasks (Bug #10545).
[gwr] Fix Kolab object attribute handling for tasks.

Library Changes
---------------

[jan] Fix tests to work with PHPUnit 3.6.
[jan] Make unit tests Windows compatible.
[jan] Skip Kolab tests if Horde_Kolab_Storage is not installed.
[jan] Allow to run unit tests from installed package.

ActiveSync
[mjr] Fix issue with timezones caused by buggy PHP timezone data (Bug #10760).
[mjr] Fix duplicate entries being sent to client when client does not issue
      GETCHANGES request (Bug #10731).
[mjr] Prevent duplicate incoming message additions (Bug #10644).

Auth
[jan] Catch exceptions from imap library (Bug #10272).
[jan] Fix detecting locale directory from PEAR installation (Bug #10589).
[jan] Add missing locale directory (Bug #10589).
[jan] Add checkPasswordPolicy() and checkPasswordSimilarity() methods.

Browser
[jan] Fix empty_file_input_value quirk for Chrome browsers (Bug #8438).

Cli
[jan] Don't overwrite $_SERVER superglobals unconditionally, to allow setting
      them through environment variables (Bug #10758).

Core
[mjr] Add Horde_Service_Weather factory.
[mms] Fix importing CSS data in cache files.
[mms] Detect @import tags in CSS and add to compressed data.
[mjr] Add ability to remove temporary files at session shutdown.
[jan] Fix resetting authentication credentials (Bug #10228).
[jan] Correctly render keyval_multienum form field contents.
[jan] Don't use Xcache in CLI scripts (Bug #10288).
[jan] Fix PostgreSQL DSN when using SQL authentication (Bug #10538).
[mjr] Add factory for Horde_Service_UrlShortener.
[mms] Fix minChars behavior in autocomplete javascript code.
[mms] Allow in-page base64 image encoding to be disabled via Horde
      configuration.
[jan] Allow both application and interface names in <configspecial>.

Crypt
[mms] Upgrade signed S/MIME output to comply with S/MIME version 3.2.

DataTree
[jan] Add missing dependency on PEAR's DB package.

Date
[mjr] Fix timezone bug that could cause an incorrect timezone from being set
      when creating Horde_Date objects from other Horde_Date or DateTime
      objects.
[mjr] Fix timezone bug that caused some date strings to be parsed as an
      incorrect timezone.

Db
[mms] Greatly reduce memory usage when working with binary data in PostgreSQL
      9.0+ (Bug #10774).
[mms] Cache postgresql version.
[jan] Improve API documentation.
[jan] More flexible conversion of charset names to native MySQL names.
[jan] Correctly escape binding characters in buildClause() (Bug #10610).
[jan] Fix transactions with MySQLi driver (Bug #10578).
[jan] Fix DISTINCT clause generation on PostgreSQL (Bug #10543).
[mms] Fix escaping binary data on Postgresql 9.1+ servers (Bug #10602).

Http
[gwr] Support multiple mock responses with the mock request.
[gwr] Fixed setting response headers for the mock response.
[gwr] Added SOCKS proxy support where available.

Icalendar
[jan] Fix generating VTIMEZONE components.

Image
[mjr] Add a version of the convert command for center cropping with ImageMagick
      versions less than 6.3.8 (Bug #10687).
[mjr] Fix parsing GPS values for locales that do not use the decimal separator
      (Bug #10643).
[mjr] Added support for Lens and LensID EXIF fields)
[mjr] Ensure string values are parsed as strings (Bug #10646).
[mjr] Add basic unit tests for EXIF data

Imap_Client
[mms] Workaround missing search charset support in the Socket driver (Bug
      #10726).
[mms] Only add CHARSET data to SEARCH queries if necessary (Bug #10726).
[mms] Fix deletion of cached message entries.
[mms] Fixed setting data for several POP3 fetch results.
[mms] Parsing/generating sequence strings for POP3 servers has been fixed.
[mms] Removed unmaintained Mock driver.
[mms] API CHANGE: Added Horde_Imap_Client_Mailbox to provide way to accurately
      switch between UTF7-IMAP and UTF-8 mailbox representations.
[mms] API CHANGE: Deprecate Horde_Imap_Client_Base::parseCommandArray() - use
      Horde_Imap_Client_Utils::parseCommandArray() instead.
[mms] API CHANGE: Added a required parameter ('baseob') to
      Horde_Imap_Client_Cache constructor.
[mms] API CHANGE: Added Horde_Imap_Client_Base::writeDebug().
[mms] API CHANGE: Added Horde_Imap_Client_Base::getIdsOb().
[mms] API CHANGE: Deprecate Horde_Imap_Client_Cache::singleton().
[mms] Fix client-side Cc/From/To sorting (Bug #10503).
[mms] Improved IMAP debug logging.
[mms] Fix search charset determination for servers that support SORT &
      ESORT (Bug #10479).
[mms] Improved phpdoc documentation.
[mms] API CHANGE: Add shortcuts to get MIME decoded envelope information.
[mms] Automatically authenticate to server when using a command that requires
      an authenticated/selected state (Bug #10473).

Itip
[jan] Make unit tests locale independent.

Kolab_Format
[gwr] Move Horde specific functionality out of the events parser.
[gwr] Move Horde specific functionality out of the contacts parser.
[gwr] Improve data validation.
[gwr] KEP2 support.
[gwr] Allow adding XML attributes on the fly.
[gwr] Avoid overwriting data from other Kolab clients.
[gwr] Add improved root node handler (version checking, avoids overwriting
      other data).

Kolab_Storage
[gwr] Readd support for updating Horde_History.
[gwr] Fix support for multiple namespaces of the same type.
[jan] Update Latvian translation.
[gwr] Add support for retrieving objects by backend id.
[gwr] Add a handler for active sync settings.
[gwr] Add preference data query.
[gwr] Add support for storing data query results in the cache.
[gwr] Add support for deleting messages by backend UID.
[jan] Update Spanish translation.
[gwr] Add logging for data handlers.

Ldap
[jan] Add missing test autoloader.

Lock
[jan] Expand width of lock_owner column (Bug #10608).

Log
[gwr] Fix installation paths (Bug #10588)

LoginTasks
[mms] Fix advancing tasks pointer if system tasks also exist for an application
      (Bug #9767).
[mms] Prevent unnecessary URL redirection if no logintasks need to be confirmed.

Mail
[mms] Always use canonical line endings in sendmail driver (Bug #10696).

Mime
[mms] Work around broken number_format() in PHP < 5.4.0.
[jan] Make unit tests locale independent.
[mms] Added 'canonical' parameter to Horde_Mime_Headers#toArray() and
      Horde_Mime_Headers#toString() (Bug #10696).
[mms] Horde_Mime_Part::getRawPartText() was incorrectly returning a trailing
      EOL for body data.
[jan] Add Horde_Mime_Mail#clearParts().

Mime_Viewer
[mms] Fix iteration through child HTML nodes in the HTML viewer so that
      extended viewers can do things like remove nodes outright.
[jan] Fix configuration of syntaxhighlighter viewer.

Nls
[jan] Update German translation.
[jan] Update Brazilian Portuguese translation.
[mms] Added ISO 639 language code lookup.

Pdf
[gwr] Add missing font files.

Perms
[jan] Don't allow to create sub permissions of non-existant parent permissions
      (Bug #10688).

Rdo
[jan] Add Horde_Rdo_Query#distinct() (Request #10535).

Routes
[jan] Make Horde_Routes_Utils::controllerScan() Windows compatible.
[gwr] Only remove the "_controller" suffix if it exists.

Service_Twitter
[gwr] Fixed posting tweets.
[mjr] Fix generating OAuth request when multiple URL parameters are passed.
[mjr] Fix oauth endpoints to reflect Twitter's new requirements for https
      requests.

Service_Weather
[mjr] Initial release.

SessionHandler
[jan] Use portable queries in SQL session handler (Bug #10574).

Stream_Filter
[mms] Add Bin2hex filter.

SyncMl
[jan] Fix encoding of CDATA (horde@chk.cksf.de, Bug #10692).

Test
[jan] Require PHPUnit 3.5 due to BC breaking changes in 3.6.
[gwr] Added Horde_Test_Stub_Factory as a simple factory stub.
[gwr] Add Horde_Test_Setup for complex test suite setups.

Text_Diff
[jan] Fix class names in Horde_Text_Diff_ThreeWay merger (Bug #10548).

Text_Filter
[mms] Add some more questionable tags/attributes to strip in the XSS filter.

Token
[jan] Fix skipping tests if PDO driver is not available.

Util
[jan] Speed up Horde_String::substr() (Evert Pot, Request #8627).

Vfs
[gwr] Make unit tests timezone independent.
[jan] Fix reading file sizes from Samba backends.
[jan] Catch output from smbclient during error conditions (Bug #10638).
[jan] Implement size() method in Samba driver.
[jan] Fix setting permissions with File driver (Bug #10630).
[mms] Fix using File driver if vfsroot directory already exists (Bug #10584).
[mms] Fix internal reference to QUOTA_METRIC_* constants (Bug #10585).
[jan] Fix parsing of directory listings on /dev file systems in the SSH driver.

Xml_Wbxml
[jan] Complete fix for incorrect syncml:metinf and syncml:devinf URNs (Bug
      #10229).


------
v4.0.3
------

[jan] Fix German title of tasks portal block (Bug #10486).

Horde Changes
-------------
[rla] Add account locking similar to the former kolab-specific option.
[jan] Add missing configuration for LDAP groups write support.
[rla] Show a warning when resetting password and no security question is set
      (Request #10430).
[mjr] Update jQuery Mobile to version 1.0 Beta 2.
[jan] Update hordeweb theme to match new website layout.

Address Book Changes
--------------------
[rla] Turba LDAP Driver now only rewrites changed attributes (Bug #9343).
[mjr] Run attribute values through decode_attribute hook when exporting.
[mjr] Ensure encode_attribute hook is called on imported objects
[mjr] Improve handling of removeUserData.
[mjr] Honor auto_create configuration setting (Bug #10452,
      qoole.horde@lillimoth.com)
[jan] Don't allow to search binary fields.
[jan] Fix attribute name for assistant phone (Bug #10449).
[jan] Add missing migration script (Bug #10436).
[mjr] Fix issue with synchronizing deleted contacts (Bug #10422).
[jan] Fix searching for duplicates on some databases (Bug #10383).
[mjr] Add and support more attributes by default.

Calendar Changes
----------------
[jan] Fix opening events from agenda view.
[mjr] Always included the current default calendar in the sync_calendars
      preference.
[mjr] Ensure exception gets start and end times when created from month view
      (Bug #10496)
[jan] Update group permission when changing group down list in basic
      permissions (Bug #10482).
[jan] Fix race condition when editing group permission in basic permission
      screen (Bug #10482).
[mjr] Fix removeUserData API (Bug #10241).
[jan] Fix deleting events with a WebDAV client (Bug #10478).
[jan] Fix fatal error while searching if hitting certain recurring events.
[jan] Fix exporting events with snoozed alarms (Bug #10438).
[jan] Fix deleting resources (Bug #10427)
[jan] Support snoozing alarms with Sundbird/Lightning (Request #7470).
[jan] Import VALARM components from iCalendar 2.0 data (Request #6665).
[jan] Fix exporting all-day events to Funambol clients (Thomas Ilsche
      <git@zulan.net>, Bug #10349).
[jan] Fix creating events from dynamic view on Windows (Bug #9916).
[mjr] Fix displaying of freebusy data in dynamic view (adominguez@cne.gob.ve,
      Bug #10347).
[mjr] Fix updating attendees (Bug #10411).
[jan] Fix error if Nag is not installed (Bug #10406).

Tagging Changes
---------------
[mjr] Fix broken tag cloud queries due to missing GROUP BY fields (Bug #10419)
[mjr] Prevent tagging with empty strings.
[mjr] Enforce that object and type names are always taken as a string (Bug
      #10171).
[mjr] Updated unit tests to new test structure.
[mjr] Prevent tagging with empty tags.

Library Changes
---------------

ActiveSync
[mjr] Fix syncing daily recurrence types.
[mjr] Support additional GAL fields (Bug #10504).
[mjr] Prevent broken clients from sending incoming changes with initial SYNC
      request (Bug #10461).
[mjr] Fix sending MONTHLY_NTH and YEARLY_NTH recurrence types (Bug# 10416).
[mjr] Fix synchronization loop due to messages being deleted on server then
      attempting a change from the client.
[mjr] Fix bug with certain recurrence types due to erroneously outputting a
      zero as an empty tag (Bug# 10416).
[mjr] Support POOMCONTACTS2 schema in AS 2.5 clients also.
[mjr] Fix sending unnecessary FOLDERSYNC changes.
[mjr] Fix issue with FOLDERSYNC requests that was causing Android clients to
      PING and SYNC the same collection an unlimited number of times.

Auth
[jan] Dynamically disable capabilities of Customsql authentication driver if
      queries are empty (Michael Gröne, Request #10510).
[jan] Fix updating users in LDAP while using preauthenticate hooks.
[jan] Add support for resetting passwords to LDAP driver.
[rla] Add bad login blocking and account locking to the base driver.
[rla] Fix SQL driver when using soft_expiration and hard_expiration features.
[rla] No longer enforce lowercase fieldnames.

Compress
[mms] Detect broken RAR data so it does not cause an infinite loop.

Core
[jan] Fix generating of URLs if both the webroot and the original URL are full
      URLs.
[mjr] Support additional GAL fields (Bug #10504).
[jan] Allow to pass a configuration array to the LDAP factory.
[mms] Revamp and fix Horde_Registry#removeUserData(); this method should now be
      the sole access point to delete user data for any/all apps (Bug #10241).
[mms] Correctly apply value of $conf['session']['timeout'] to PHP environment.
[mms] Fix cookie timeouts.
[rla] Add locking routines to Horde_Core_Auth_Application.
[rla] Add support for Horde_Auth's new locking feature.
[rla] Display permissions of hidden apps too
[gwr] Do not fail when no basedn is set for the Horde_Kolab_Server
      configuration.
[mms] When reopening sessions, ensure that we don't alter session information
      if the authentication status changed (Bug #10403).
[jan] Use 'ident' option of Horde_Log handlers to prefix log messages (Gonçalo
      Queirós <goncalo.queiros@portugalmail.net>, Request #9322).
[jan] Check applications' authValidate() method if present.
[mms] Add Horde_Session::isActive().
[mjr] Add remove button to image fields (Request #9870).

Crypt
[mms] Encrypted data is already base64 encoded (Bug #10285).

Date
[jan] Fix exporting recurrence end date to iCalendar.

Db
[jan] Add methods to add and drop primary keys (Request #10469).
[gwr] Fix usage of Horde_Exception_Wrapped.
[jan] Fix setting unix socket in PostgreSQL DSN (bug-reports@flipjam.co.uk, Bug
      #10466).
[jan] Fix determination of last insert id on PostgreSQL up to 8.1.
[jan] Fix migrations from primary keys that have not been created with Horde_Db
      in PostgreSQL.
[jan] Fix autoincrementKey sequences not incrementing after manually inserting
      key values in PostgreSQL.
[jan] Fix changeColumn() migration to autoincrementKey if no primary key exists
      yet.

Exception
[gwr] Ensure correct message and code type.
[jan] Don't include backtrace in Horde_Exception_Pear messages.

Form
[mjr] Add remove button to image fields (Request #9870).

Group
[jan] Fix bind for modifying existing LDAP groups.

Icalendar
[mjr] Fix version access (Bug #10425).
[jan] Avoid infinite loop when importing certain vCalendar 1.0/vCard 2.1 data.
[mjr] Fix fetching the version from an Icalendar object (Bug #10411).

Imap_Client
[mms] Remove dependency on Auth_SASL.
[mms] Add support for CRAM-SHA1 and CRAM-SHA256 authentication (available in
      Courier SASL library).
[mms] Remove dependency on Auth_SASL for CRAM-MD5 authentication.
[mms] Ignore unknown authentication methods; otherwise, they give false
      positive when authenticating (Bug #10453).
[mms] Fix rare race condition that may cause FETCH requests in the IMAP Socket
      driver to return empty results (Bug #10434).
[mms] Fix typo that prevented deletion of messages on POP3 servers (Bug #10424).
[mms] Fix regression in POP3 Socket driver that caused incorrect parsing of
      server data (Bug #10417).
[mms] Fix OR search if first search element contains more than one search
      criteria (Bug #10404).
[mms] Fix invalid IMAP command being sent if a changedsince search was empty.

Imsp
[jan] Fix file names for plaintext and imtest authentication drivers.

Kolab_Format
[gwr] Removed stray kolab-format script which was moved to Horde_Kolab_Cli.
[gwr] Fixed detecting parse errors in subsequent parse attempts.

Kolab_Server
[gwr] Fix reading the user name.

Kolab_Session
[gwr] Added a backend that avoids querying LDAP.

Ldap
[jan] Speed up Horde_Ldap_Search#shiftEntry() on large result sets.

Log
[jan] Add 'ident' option to all handlers (Gonçalo Queirós
      <goncalo.queiros@portugalmail.net>, Request #9322).

Mail
[mms] Fix parseAddressList() for empty address strings (Bug #10534).
[mms] Fix SMTP error codes/messages (Bug #10498).

Memcache
[mms] Silence undefined errors when a search key is not found on the server.

Mime
[mms] Provide method to return approximate size of parts if it contains base64
      encoded data (Request #9783).
[mms] Support Content-Duration MIME header (RFC 3803).
[mms] MIME body part can not have disposition of 'attachment' (Bug #10458).
[mms] Fix quoted-printable encoding for message parts contained in a multipart
      that do not share the same EOLs as the parent part (Bug #10324).

Pdf
[jan] Fix setting Courier fonts with font style (PEAR Bug #18550).

Perms
[gwr] Accept either d or t IMAP ACL as deletion right.

Prefs
[mms] Fix identities when default_identity is locked (Bug #10098).

Routes
[mjr] Added Horde_Routes_Matcher helper class.

Service_Facebook
[mjr] Use FQL to obtain event list and add rsvp_status

SessionHandler
[mms] Call garbage collection before grabbing list of active sessions.
[mms] Fix obtaining session information from more than one session.

Share
[gwr] Fix usage of Horde_Exception_Wrapped.
[gwr] Fixed support for share parents in the Kolab driver.
[gwr] Fixed support for multiple namespaces of the same type in the Kolab
      driver.

SyncMl
[jan] Fix logging errors while retrieving server changes.

Vfs
[jan] Fix renaming and catching errors while reading sizes in SQL driver.
[jan] Fix reading file contents from FTP.

Xml_Wbxml
[jan] Fix incorrect syncml:metinf and syncml:devinf URNs (Bug #10229).
[jan] Mark Xml_Wbxml:: methods as static.


------
v4.0.2
------

[jan] Don't load all shares with requested permissions from the backend if
      $conf['share']['hidden'] is enabled.

Horde Changes
-------------
[mjr] Add remove button to image fields (Request #9870).
[mjr] Fix sending unnecessary FOLDERSYNC changes.
[mjr] Fix issue with FOLDERSYNC requests that was causing Android clients to
      PING and SYNC the same collection an unlimited number of times.
[mjr] Use FQL to obtain event list and add rsvp_status.
[cjh] Add mobile maintenance screens.
[jan] Fix exporting multiline attributes to vCard 2.1 and vCalendar 1.0.
[cjh] New log filter for exact level matching (Bryan Alves
      <bryanalves@gmail.com>).
[jan] Don't set optional integer fields to 0 when automatically updating
      configuration.
[mjr] ActiveSync policykey is now per user, not per device.
[mjr] Fix recurring event exception handling for ActiveSync.
[mjr] Use AS in column aliases to make PostgreSQL happy (Bug #10346).
[jan] Don't show mobile login page if users are forced to traditional or
      dynamic views (Request #10358).
[mjr] Improve calendar PING for iOS devices.
[mjr] Prevent an ActiveSync sync loop in some fringe cases.
[jan] Update PGP key server list and add SKS pool.

Address Book Changes
--------------------
[mjr] Fix obtaining default share via Turba's API (vilius@lnk.lt, Bug #10393).
[mjr] Force ActiveSync device reset after sync_books pref is changed
      (Request #10342).

Calendar Changes
----------------
[jan] Display event time in dynamic agenda/search view.
[jan] Improve exporting all-day events to Funambol clients.
[mjr] Fix removing an exception from a recurrence series (Bug # 10365).
[jan] Close session while listing events to speed up parallel loading from
      different calendars.
[jan] Share list of displayed task lists with Nag (requires Nag 3.0.3).
[jan] Don't show import/export link in preferences if using the dynamic view.
[mjr] Force ActiveSync device reset after sync_calendars pref is changed
      (Request #10342).
[jan] Try to work with remote servers even if they don't support a recent
      WebDAV protocol version.
[jan] Support updating attendees from vCalendar 1.0 iTip responses.
[jan] Fix sending invitations to attendees from traditional view.
[jan] Fix organizer attribute when exporting to vCalendar 1.0.
[mjr] Fix issue that prevented synching when no sync_calendar pref was set
      (Bug #10329).


------
v4.0.1
------

Horde Changes
-------------
[mjr] Fix returning shares in the proper order when fetching multiple shares
      by id.
[mjr] Fix incorrect method name in Pop3 Socket driver.
[jan] Don't use CSS cache in mobile interfaces because it breaks jQuery Mobile
      CSS.
[mjr] Fix race conditions caused by broken clients sending an inappropriate
      PING request.
[jan] Fix duplication of objects during synchronization (joniw@t-online.de, Bug
      #10081).
[Jan] Don't allow to click disabled login button (Bug #10267).
[jan] Allow configuration of split read databases for PostgreSQL (Request
      #7025).
[mjr] Honor initial_application setting for mobile view (Bug #10264).
[mjr] Fix issue with initial Android ActiveSync pairing.
[gwr] Support restricting the HTML tidy post processing by the message size
      (Request #10266).
[gwr] Disabled the timeout on the logout token.
[mjr] Fix integer overflow issue in Facebook code (Bug #9889).
[mms] Fix adding users with Cyrsql driver (vilius@lnk.lt, Bug #10239).

Address Book Changes
--------------------
[jan] Pass contact object to decode_attribute hook (kd@tu-cottbus.de, Bug
      #10287).
[jan] Complete fix for importing LDIF files (Bug #10139).

Calendar Changes
----------------
[jan] Update task due date in interface after dragging a task (Bug #10001).
[jan] Correctly sort events in portal block or widget if only displaying a
      single calendar (Bug #10099).
[mjr] Allow syncing of multiple owner-owned calendars (Request #8734).
[jan] Don't show calendar drop down in event form without delete permissions
      (Bug #10201).
[jan] Don't change event creator when saving events.
[jan] Fetch events immediately after saving remote calendar.

Tasks Changes
-------------
[jan] Add Ukrainian translation (Andriy Kopystyansky <anri@polynet.lviv.ua>).


----
v4.0
----

Horde Changes
-------------
[jan] Fix extracting of translation strings in a release.
[rla] Add user-specific admin permissions (Request #9350).
[jan] Don't strip domain from user name in account block.
[jan] Fix account block with empty configuration parameters.
[gwr] Added a script for exporting/importing preferences from/to a backend.
[mms] Fix regression with UTF7-IMAP encoding of non-ascii folder names (Bug
      #10093).
[mms] Allow numbers to be zero in certain preferences (Bug #10120).
[mms] Fix running Horde login tasks (Bug #9767).
[mms] Fix authenticating as several users in the same request (Bug #10027).
[mms] Fix colorpicker on categories preferences screen (Bug #10118).
[jan] Update Spanish translation.
[jan] Update Slovak translation.
[mjr] Fix Metar portal block.
[gwr] Add support for the Kolab IMAP based preferences backend.
[mms] Complete fix for issue causing slow syncs only (Bug #10008).
[jan] Add button to update all configurations with default values at once.
[jan] Update DataTree conversion scripts for Horde 4.
[jan] Fix rendering of DataTree browse tree.
[mjr] Fix issue with deleting identities (Bug #9997).
[mjr] Fix issue causing credentials to be lost when accessing the API during
      ActiveSync requests (Bug #9733).
[jan] Store preferences for guests in the session.
[jan] SECURITY: Fix permission checks of guest users on system shares.
[mms] SECURITY: Fix deletion of unwanted HTML nodes in XSS filter.
[mms] Fix authentication failure when TOS is not accepted.
[jan] Don't show IMP compose link if user doesn't have permissions to IMP (Bug
      #10016).
[mms] Fix issue causing slow syncs only in SyncML (Bug #10008).
[jan] Fix adding categories.
[jan] Fix listing users in Customsql driver (Bug #9963).
[jan] Fix calculation of last password change in LDAP account portal block (Bug
      #9770).
[jan] Don't check for outdated DB schemas if database support is disabled (Bug
      #9986).
[mjr] Fix editing settings of fixed portal blocks (Bug #9910).
[mjr] Fix the blockTitle and blockContent API methods.
[jan] Fix creating folders with SQL VFS driver (Bug #9894).
[jan] Fix LDAP parameters of account portal block (Klaus Steinberger, Bug
      #9770).
[jan] Fix migration detection on Windows.
[mjr] Correctly sanitize DSN when using custom cyrus auth driver (Bug #9879).
[mjr] Fix some display issues when geocoding with HordeMap (Bug #9883).
[mms] Don't load sidebar content if not expanded.
[jan] Fix deleting groups.
[jan] Fix adding new groups (Bug #9881).
[jan] Fix displaying the Facebook preference group.
[mms] Add appinitialized hook.
[cjh] Fix cyrsql configuration, rename cyrus host and port parameters to not
      clash with Horde_Db parameters (Bug #9864).
[cjh] Fix signups, and update style on signup and reset password pages to
      match the login page (Bug #9856, partially from Ian Roth
      <iron_hat@hotmail.com>).
[cjh] Show an unknown app icon rather than a broken image if an application
      doesn't have an icon (Bug #9867).
[jan] Fix setting incorrect database charset in PDO drivers.
[mms] Add pushapp_post hook.
[jan] Fix application-specific permission checks (Bug #9786).
[jan] Fix resetting passwords (Vilius Sumskas <vilius@lnk.lt>, Bug #9800).
[jan] Fix Cyrsql authentication driver (Vilius Sumskas <vilius@lnk.lt>, Bug
      #9781).
[mjr] Fix ActiveSync provisioning.
[mjr] Fix for broken Nokia MfE clients (Bug #9757).
[jan] Delete object mappings too when deleting SyncML anchors (Request #9377).
[jan] Delay sidebar creation if the sidebar is generated through JavaScript.
[jan] Fix incorrect lowercasing of objectClasses in LDAP groups driver.
[jan] Fix fatal error in desktop notifications (Bug #9727).
[jan] Rename all scripts in bin/ to be prefixed with horde- and installed in
      PEAR's bin_dir (Request #9647).
[jan] Don't throw exception when setting port number while using localhost in
      MySQL configuration (Bug #9738).
[jan] Fix building LDAP filter for groups from configuration (Bug #9739).
[jan] Fix loading of Horde's vhost conf.php file (Bug #9704).
[jan] Fix OpenOffice MIME viewer.
[jan] Fire access keys on hidden elements in Internet Explorer (Bug #8057).
[jan] Don't fire access keys twice in Chrome browsers.
[jan] Fix JavaScript date calculations across DST boundaries.
[jan] Sort applications in preference menu by name.
[jan] Add translations for file upload error messages.
[mms] Fix identities pref UI when default_identity is locked (Bug #9701).
[mms] Added Horde::debug().
[jan] Update installation and upgrade instructions.
[jan] Fix converting identities with non-ascii characters to new format.
[jan] Fix passing arguments to sendmail binary (Gonçalo Queirós, Bug #9693).
[mjr] Service_Facebook refactored for OAuth2 authentication (Bug #9122).
[mjr] IMSP drivers refactored for Horde 4.
[gwr] Allow disabling applications for administrators.
[jan] Don't show sub-permissions for adding that exist already.
[jan] Fix listing more than one sub-permission (Bug #9671).
[jan] Fix calendar synchronization with certain Nokia phones (Bug #9646).
[jan] Catch fatal errors about missing tables during initial configuration.
[mms] Fix client-side IMAP sorting using envelope data.
[mms] Workaround PHP < 5.2.6 (broken stream handling) (Bug #9644).
[mjr] Fix updating schema for individual libraries.
[mjr] Improved control over which application view to load.
[jan] Find translateable strings in configuration files.
[mms] Fix clearing expanded state for javascript trees (Bug #9659).
[jan] Only show advanced preferences link if there are some.
[mms] Fix updates for refreshing Blocks (Bug #9655).
[mjr] Fix viewing applications with no mobile view from mobile devices.
[jan] Fix error when not using a Group backend. (Bug #9642).
[jan] Provide default configuration files instead of .dist versions.
[jan] Add a new Share SQL driver with better performance.
[cjh] Drop Log SQL driver.
[mms] Update prototypejs to v1.7.
[mms] Add theme caching.
[mms] Add hook to allow browser capabilities to be modified.
[jan] Add a configuration switch for automatic creation of default shares.
[cjh] Move from Net_DNS to Net_DNS2.
[jan] Translations for the framework packages are now bundled with those
      packages.
[bak] Remove LDAP driver from Horde_SessionHandler
[jan] Require mandatory UTF-8 support for both servers and clients.
[jan] Renamed Setup to Configuration and Options to Preferences.
[mms] Moved sidebar code out of block/portal code (Request #9160).
[cjh] Remove fckeditor, standardizing on ckeditor.
[jan] Move all translations from po/ to locale/ and use short locale
      identifiers where possible.
[jan] Remove frameset.
[jan] Remove dhtmlHistory library.
[mms] Removed support for krb5 authentication driver.
[jan] Allow to specify the URL parameter name for the alternate login setting.
[mms] Remove reliance on PEAR Mail library.
[jan] Send alarm emails again if the alarm has changed (Bug #8717).
[mms] Add advanced preferences options screen.
[mms] Complete rewrite of preferences UI display.
[mjr] Horde_Image can now act as an Iterator for multi-page images.
[mms] Remove Horde_Cipher library.
[mms] Add 'cssfiles' hook to add custom CSS files to a page.
[jan] Add configuration to not automatically show all available shares.
[jan] Add configuration to disallow world permissions for user shares.
[jan] Store alarm dates in UTC (Bug #8381).
[mms] Add abstracted AJAX interface (Request #4561).
[mms] Update scriptaculous to v1.8.3.
[mjr] Add Horde_Image_Exif (ported from Ansel) and add a exiftool driver.
[mjr] Horde_Image now has a native Imagick driver (removed proxy code).
[mms] All Horde login/authentication handled by single login page.
[mms] Move imple processing to a Horde service.
[mms] Refactor Maintenance:: -> Horde_LoginTasks::.
[mms] In Postgres, horde_prefs table now stores data in BYTEA instead of
      TEXT (Bug #8130).
[mms] Improved caching of Registry data significantly reduces session sizes
      and total session storage requirements (Request #8024).
[mms] IMAP auth driver now uses Horde_Imap_Client library.
[mms] Use Gnumeric package to render MS Excel files.
[mms] Use AbiWord package to render MS Word files.
[cjh] Remove sapdb session handler backend.
[jan] Add share locking (Alfonso Marín Marín <almarin@um.es>).
[cjh] Remove javascript popup alarms.
[cjh] Update the Auth_passwd driver's add/update/remove user
      implementations (Bug #7810).
[cjh] Add a Horde_Routes dispatcher for Rampage applications.
[mjr] Fix a possible infinite loop with certain recurring events in Horde_Date.
[jan] Use DateTime internally in Horde_Date.

Address Book Changes
--------------------
[rla] Support multiple address books in search portal block (Request #8786).
[mjr] Fix importing LDIF files (Bug #10139).
[mjr] Fix issue introduced in 3.0.1 that caused contact images to not display
      (Bug #10050).
[jan] Fix editing of multiple contacts at once (Bug #10085).
[jan] Enable homeAdress and workAdress composite fields by default.
[jan] Fix exporting department attribute over ActiveSync.
[mjr] Fix adding contacts with a category selected.
[jan] Fix LDAP schema checking (Bug #9826).
[jan] Fix creating temporary files with open_basedir restrictions.
[mjr] Fix importing objects with categories (Bug #9841).
[mjr] Fix merging duplicate contacts (Bug #9828).
[mjr] Allow unsetting the GAL and Client Address Book settings (Bug #9843).
[mjr] Fix deletion of virtual address books (Bug #9779).
[jan] Fix saving searches to virtual address books (Bug #9776).
[mjr] Datatree share to SQL upgrade script refactored for Horde 4.
[jan] Move all executable scripts to bin/ and prefix with turba-.
[jan] Add fields to all addresses if multiple passed to addField() API method
      (Request #3482).
[mjr] Fix issue that caused the inability to preview contact images while
      uploading (Bug #9702).
[jan] Update installation and upgrade instructions.
[gwr] Adapted the Kolab driver to Horde 4.
[mjr] Fix issue that caused erroneous file listings for objects in sources
      without a __uid value.
[cjh] Fix storing of binary fields.
[mjr] Fix/refactor IMSP driver.
[mjr] Fix the listTimeObjects API for shared sources (Bug #9649).
[jan] Fix importing contacts with SyncML (Simon Bühler, Bug #9641).
[jan] Provide default configuration files instead of .dist versions.
[jan] Create a default address book if the user doesn't own any yet.
[jan] Rename sources.php to backends.php.
[mjr] If default addressbook is not browsable, try one from the addressbook pref
      (Request: 6536).
[jan] Add duplicate search and merging.
[mjr] The listTimeObjects API now returns categories for each source
      individually instead of returning only the categories available
      (Request #8504).

Calendar Changes
----------------
[jan] Fix holidays being off with certain system timezones (Bug #9989).
[jan] Only highlight days in the mini calendar that are currently displayed
      (Bug #10048).
[jan] Fix advanced search with empty search criteria (Bug #10038).
[jan] Add header for timeobjects calendars.
[jan] Fix date picker in advanced search form (Bug #10039).
[mjr] Remove visible exceptions when deleting recurring events (Bug #10013).
[mjr] Fix issue causing listTimeObject calendars to not appear (Bug #10012).
[jan] Don't show event edit links if user doesn't have edit permissions on any
      calendar.
[jan] Fix parsing of recurrence end date in dynamic view (Bug #10025).
[jan] Fix displaying of new tasks in new task lists.
[jan] Fix displaying colors of task lists.
[jan] Delete tasks from tasks view when deleting tasks lists.
[jan] Don't export multi-day events as multiple events to iCalendar data (Bug
      #10007).
[jan] Fix dragging tasks in the dynamic view.
[mjr] Fix calendar embedding.
[jan] Don't store all task lists in the session.
[jan] Fix new task lists not showing up until next login (Bug #9814).
[mjr] Fix broken event alarm links in sidebar (Bug #9897).
[mjr] Fix drag/drop editing of recurring events (Bug #9880).
[jan] Fix undefined function on Windows (Bug #9916).
[jan] Support adding and editing of CalDAV events in dynamic view (Bug #9865).
[mjr] Allow migrations to complete despite of missing shares.
[jan] Remove debug code in Ajax library (Bug #9818).
[jan] Fix application-specific permission checks (Bug #9786).
[jan] Fix fatal error when using the max_events permission (Bug #9784).
[mjr] Datatree share to SQL upgrade script refactored for Horde 4.
[mjr] Add migration for mysql specific geospatial fields (Bug #9758).
[jan] Set default alarm in dynamic view (Bug #9752).
[jan] Move all executable scripts to bin/ and prefix with kronolith-.
[jan] Fix javascript error when viewing events with desktop notifications
      (Bug #9727).
[jan] Update installation and upgrade instructions.
[jan] Fix custom event alarm settings in traditional view (Bug #9154).
[jan] Only load external events in IFRAME if configured.
[jan] Fix retrieving event UIDs without date limit (Simon Bühler, Bug #9651).
[jan] Fix saving display status of other applications' calendars (Bug #9636).
[mjr] Add migration for converting existing event categories to tags.
[jan] Add configuration whether to load other applications in an IFRAME.
[jan] Provide default configuration files instead of .dist versions.
[jan] Send a subscription link with the notification about shared
      calendars if necessary.
[jan] Default calendars no longer have the user name as the ID.
[jan] Create a default calendar if the user doesn't own any yet.
[jan] Add CalDAV client support (Request #8525).
[jan] Send agenda emails with HTML part and convert to Horde_View.
[mjr] More complete handling of recurring event exceptions when dealing with the
      iCalendar format (Request #9091).
[jan] Add remote calendars to the possible list of calendars for free/busy
      information.
[jan] Send alarm and iTip notifications with HTML part and convert to
      Horde_View.
[jan] Add option to notify users about calendar permission changes.
[mjr] listTimeObject calendars are now viewable independently in the calendar
      portal blocks (Request #8530).
[mjr] Recurring event exceptions are now indicated as such in the UI.
[mjr] Deleting a recurring event now also deletes all exceptions to that event.
[mjr] Add support for inline maps to the Ajax interface.
[jan] Add preference to limit the events per day in the month view.
[jan] Add system calendars (Request #2059).
[jan] Add URL field to events.
[jan] Add task management capabilities to the Ajax interface.
[jan] Manage holidays like any other calendar driver.
[mjr] Add resource scheduling.
[jan] Integrate tasks into Ajax interface (Gonçalo Queirós
      <mail@goncaloqueiros.net>).
[mjr] Extend listTimeObjects API to include optional links and icons.
[jan] Allow searching of any type of calendar and improve searching of
      recurring events.
[cjh] With only SHOW permissions, display event titles as "busy".
[mjr] Replace categories and keywords by tags.
[jan] Set colors per calendar (Request #7480).
[jan] Add individual notification methods for single events (Alfonso Marín
      Marín <almarin@um.es>).
[jan] Add Ajax interface.
[jan] Store events in UTC and convert to the user's timezone on the fly.
[jan] Remove alarm reminder code.
[jan] Change listEvents API method to return keys as dates instead of
      timestamps.

Tasks Changes
-------------
[jan] Fix reversed logic of displaying sub-task tree icons depending on the
      text direction (Bug #10033).
[jan] Fix encoding of non-ascii characters in parent task drop-down.
[mjr] Fix editing tasklists (Bug #9965).
[jan] Fix application-specific permission checks (Bug #9786).
[mjr] Datatree share to SQL upgrade script refactored for Horde 4.
[jan] Fix creating new tasks through WebDAV (Bug #9675).
[jan] Move all executable scripts to bin/ and prefix with nag-.
[jan] Update installation and upgrade instructions.
[gwr] Adapted the Kolab driver to Horde 4.
[mjr] Fix saving tasks via PUT method.
[mjr] Fix deleting task lists.
[mjr] Fix hiding the External prefs group (Bug #9643).
[jan] Provide default configuration files instead of .dist versions.
[jan] Send alarm notifications with HTML part and convert to Horde_View.
[jan] Default task lists no longer have the user name as the ID.
[jan] Create a default task list if the user doesn't own any yet.
[jan] Add start date to possible colums in task list (Joel Smith
      <js-horde@jk1.net>, Request #9083).
[jan] Add system task lists (Request #2059).
[jan] Set colors per task list (Request #7480).
[cjh] Quick Add support: there is a javascript UI element for quickly adding
      tasks, and an API method (tasks/quickAdd) that provides the same
      functionality.
[jan] Add individual notification methods for single tasks (Alfonso Marín
      Marín <almarin@um.es>).

Notes Changes
-------------
[jan] Fix generating tooltip previews of encrypted notes.
[jan] Fix application-specific permission checks (Bug #9786).
[mjr] Datatree share to SQL upgrade script refactored for Horde 4.
[mjr] Default sorting criteria by creation date (Bug #7332).
[jan] Move all executable scripts to bin/ and prefix with mnemo-.
[jan] Update installation and upgrade instructions.
[gwr] Adapted the Kolab driver to Horde 4.
[jan] Fix PDF generation.
[jan] Fix encrypting and decrypting of notes.
[jan] Provide default configuration files instead of .dist versions.
[jan] Default notepads no longer have the user name as the ID.
[jan] Create a default notepad if the user doesn't own any yet.
[jan] Try to create ISO-8859-1 encoded PDFs if this matches the user's language.
[jan] Add script to convert notes to UTF-8 in the backend.


-------
v1.2.10
-------

[jan] Add holiday drivers for Australia, Croatia, Finland, Portugal, San
      Marino, and Spain.

Horde Changes
-------------
[jan] Convert charset of group names in SQL driver (Bug #9611).
[jan] Fix deleting of SyncML anchors if PHP short_open_tag is off (Bug #9349).
[jan] Add an experimental new Share SQL driver with better performance.
[jan] Fix integer overflow in ASN.1 parser for S/MIME messages.
[jan] Fix splitread database usage in VFS (Bug #9467).
[jan] Fix invalidating permission cache in SQL driver (Bug #9392).

Address Book Changes
--------------------
[mjr] Fix issue that caused erroneous file listings for objects in sources
      without a __uid value.
[jan] Allow to export photo/logo fields to vCard without MIME type.
[jan] Support X-EPOCSECONDNAME fields of Nokia phones.
[jan] Add upgrade scripts for next-generation SQL share driver.
[jan] Fix splitting up names when exporting to N properties of vCards.
[jan] Only set the encoding parameter for binary data in vCards, if data is not
      empty (Bug #9413).
[jan] Fix searching for fields matching an email address if using 'emails'
      attribute instead of 'email' (Bug #9472).
[jan] Use personal address books first if determining the default one (Valentin
      Vidic, Request #9367).
[jan] Use name format preference not only for paging, but for sorting too
      (Request #8806).
[jan] Fix photo corruption when exporting to vCard 3.0 (Bug #9100).

Calendar Changes
----------------
[jan] Add upgrade scripts for next-generation SQL share driver.
[jan] Export recurrence exceptions in a more portable way.

Tasks Changes
-------------
[jan] Add upgrade scripts for next-generation SQL share driver.

Notes Changes
-------------
[jan] Add upgrade scripts for next-generation SQL share driver.


------
v1.2.9
------

Horde Changes
-------------
[mms] SECURITY: Fix XSS when viewing details of a vCard (Bug #9357).
[jan] Fix exporting recurrence exceptions to vCalendar 1.0.
[jan] Skip event status synchronization with Outlook, which is broken.
[jan] Don't send SIF data to recent Funambol clients, unless requested.
[jan] Log all queries and errors by the history library.


------
v1.2.8
------

[jan] Add holiday drivers for Italy and Japan.

Horde Changes
-------------
[jan] Fix searching DataTree elements (groups) if backend charset is different
      from interface charset (Bug #9323).
[mms] Fix accessing IMAP ACLs that contain non-alphanumeric characters
      (Bug #9299).
[jan] Avoid fatal errors when using DateTime with not properly configured
      PHP 5.3+ (Bug #9312).
[jan] Fix importing recurrence exceptions from vCalendar 1.0.
[mms] Fix preferences management regression (Bug #9289).
[jan] Fix conversion of all-day events and certain yearly recurring events for
      Funambol clients.
[mms] Fix memcache cache regression (Bug #9279).
[jan] Fix SyncML page sometimes deleting more anchors than selected.


------
v1.2.7
------

[mjr] Do not remove history entries when removing user data (Bug #8755).

Horde Changes
-------------
[jan] SECURITY: Add token protection to preference forms.
[mms] SECURITY: Fix XSS in util/icon_browser.php.
[mms] Fix generating RFC 2231 parameters with charset information (Bug #9212).
[mms] On invalid token during logout, redirect to initial page (Bug #7669).
[mjr] Don't allow fixed blocks to be changed to another type (Bug #9141).
[jan] Show future alarms in the alarm management screen too.
[mjr] Fix bug in Horde_Cache that would prevent cache entries from being
      expired in certain cases, and prevent cache key collisions.

Address Book Changes
--------------------
[jan] Correctly export FN vCard property if 'alternative_name' is set, but not
      'name' (Bug #9207).
[jan] Fix import of addresses from LDIF (Axel Jurak, Bug #9215).
[jan] Speed up browsing of long address books.

Calendar Changes
----------------
[gwr] Fix moving events between calendars for the Kolab driver (Bug #7932)
[jan] Import and export the privacy field in CSV data (Request #9139).
[mjr] Send an iTip REQUEST, not ADD, when updating an existing event
      (Bug #9131).
[jan] Fix all-day events sometimes showing up an day early too (Bug #9012).
[mjr] Sort exception list before displaying (Request #7688).

Tasks Changes
-------------
[jan] Remove stray closing tag when displaying the date of completion.


------
v1.2.6
------

[jan] Fix certain configuration items getting lost during upgrades (Bug #8793).
[jan] Use TLS for SMTP connections if supported.

Horde Changes
-------------
[mjr] Fix issue in Horde_Image that would cause generated images to lose
      transparency in certain situations.
[jan] Allow to update existing identities while requiring email confirmation
      (Sebastian Radish, Bug #8877).
[jan] Fix casting errors when using SQL shares and groups on PostgreSQL
      (Bug #8899).
[gwr] Allow conf.d style directory configuration overriding (Request #8172).
[jan] Fix sending alarms to multiple users (Bug #8821).
[mms] Fix display of S/MIME certificate data (Bug #8826).
[mjr] Fix bug in Horde_Image that caused polaroid effect to fail on really old
      ImageMagick versions (earlier then 6.3.2).
[jan] Work around Funambol clients requiring a "configuration" database
      (Bug #8621).
[jan] Add support for synchronizing only those fields that are supported by
      the client.
[jan] Workaround broken PHP number formatting with some locales (Bug #8780).

Address Book Changes
--------------------
[jan] Remove deleted contacts from distribution lists in the same address book.
[mjr] Allow creation of default, personal address book when other read-only
      sources are present.
[mjr] Log in history when deleting all of a user's contacts (Bug #8755).
[jan] Only export non-empty fields if exporting manually.
[jan] Add export to vCard 3.0.
[jan] Only synchronize those fields that are supported by the client
      (Request #6658, requires Horde 3.3.7).

Calendar Changes
----------------
[jan] Delete Horde alarms when resetting an event alarm.
[jan] Set an alarm to one minute, if users try to set an alarm without time.
[gwr] Fix editing the start date of recurring events (kolab/issue3885).

Tasks Changes
-------------
[jan] Set an alarm to one minute, if users try to set an alarm without time.
[jan] Add missing preference for not sending update notifications to yourself
      (Joel Smith <js-horde@jk1.net>, Request #8978).
[gwr] Fix organizer field not saved in tasks (kolab/issue3888).


------
v1.2.5
------

[jan] Add Croatian translation (Matej Vela <matej.vela@carnet.hr>,
      Iva Rumora <iva.rumora@zg.t-com.hr>).
[jan] Add and fix Oracle SQL scripts.

Horde Changes
-------------
[mms] SECURITY: Workaround XSS vulnerability in Firefox for data URLs
      (Bug #8715).
[jan] SECURITY: Fix XSS in administrator section.
[jan] Fix alarm system with Oracle backends.
[mjr] Fix using the removeUserDataFromAllApplications method (Valentin Vidic
      <valentin.vidic@carnet.hr>, Bug #8754).
[mjr] Fix checking existing signup requests in the Auth_Signup_datatree driver.
[jan] Fix syntax of MSSQL scripts (Bug #8664).
[jan] Export task alarms to Funambol clients (Request #8426).
[jan] Fix not catching Alt key combinations for access keys on Mac OS.
[jan] Close popup window after saving categories.
[jan] Check quota when copying files with VFS (Valentin Vidic
      <valentin.vidic@carnet.hr>, Bug #8643).
[jan] Fix detecting SyncML message sizes.
[jan] Fix mapping of elements during synchronization (Bug #8386).
[mms] Fix potential session writing issues using PHP 5.0.5+.
[jan] Fix error in PHP 5 SOAP server implementation.
[mms] Fix updating memcache tracking info upon session destruction
      (whatdoyouwant@gmail.com, Bug #8626).
[mjr] Various improvements and fixes to the Net_IMSP driver
      (noah@lsit.ucsb.edu; Bug #8532, #8533, #8534, and #8535).
[jan] Export all email addresses to Funambol clients (lst_hoe02@kwsoft.de,
      Request #8571).
[jan] Export all fax numbers to Funambol clients (lst_hoe02@kwsoft.de,
      Request #8618).
[jan] Fix detecting device information of certain synchronization devices.
[jan] Fix warnings when listing sessions with Oracle or PEAR DB session
      handlers (Bug #8601).
[mas] Fix SessionHandler_sql::getSessionIDs() SQL syntax (moreda@allenta.com,
      Bug #8600).
[mas] Fix Horde_SQL::readBlob() on MSSQL (moreda@allenta.com, Bug #8599).
[mms] Fix prototypejs regression on Internet Explorer (Bug #6590).

Address Book Changes
--------------------
[jan] Fix syntax of MSSQL scripts (Bug #8664).
[jan] Add preference for the name format to use for sorting (Request #6721).
[jan] Condense whitespace in composite fields (Request #8654).
[mjr] Fix permission checking for virtual address books.
[jan] Update deleted attributes during synchronization (lst_hoe02@kwsoft.de,
      Request #6658).
[jan] Support X-ANNIVERSARY, X-CHILDREN, and X-SPOUSE vCard fields
      (Request #8074).
[jan] Fix copying and moving of image fields (Ryu <ryu@ryux.org>, Bug #8523).
[jan] Don't return an error on empty LDAP search results (Bug #8595).
[jan] Replace PHP5-only code from the LDIF exporter (Bug #8586).

Calendar Changes
----------------
[jan] Fix editing URLs of remote calendars.
[gwr] Fix recurring weekly events with fixed number of occurences but multiple
      incidences per week (kolab/issue3846).
[gwr] Fix recurring weekly events with intervals > 1 (Bug #8546).
[jan] Optimize event link generation (patrick.abiven@apitech.fr).
[jan] Fix charset of ajax responses.
[jan] Speed up listing alarms (patrick.abiven@apitech.fr, Request #8638).
[jan] Simplify and improve portability of listing events without date limits
      in the SQL driver (Bug #8590).
[mjr] Fix issue that caused the default alarm time to be applied to
      listTimeObjects events (Bug #8588).

Tasks Changes
-------------
[jan] Fix importing due date attribute from iCalendar (Bug #8644).
[jan] Fix charset when exporting tasks to iCalendar 2.0 (Bug #8637).


------
v1.2.4
------

[jan] Create table with METAR weather stations (Request #8302).
[jan] Bundle a complete, working PEAR installation (Bug #7902).
[jan] Bundle Net_DNS, Net_IMAP and Net_LDAP2 PEAR packages.
[mms] Upgrade prototype.js to v1.6.1.
[jan] Fix synchronization with output compression enabled (Bug #7769).

Horde Changes
-------------
[jan] SECURITY: Fix vulnerability in image form fields that allows overwriting
      of arbitrary local files.
[cjh] SECURITY: Fix validation of "number" type preferences (Bug #8399).
[mms] SECURITY: Don't display unknown text parts inline (Bug #8311).
[jan] Use system timezone for timestamps in the logs (Bug #8496).
[jan] Fix exporting certain weekday recurrence rules to iCalendar
      (lst_hoe02@kwsoft.de, Bug #8510).
[jan] Work around crash bug in Funambol clients when synchronizing all-day
      events (Bug #8474).
[jan] Fix synchronizing tasks with certain devices (Bug #8506).
[jan] Workaround synchronizing of messed up categories in Nokia E phones
      (Bug #7824).
[jan] Fix synchronizing photos with broken Nokia phones (xk3@mompl.org,
      Bug #7407).
[jan] Fix fatal error during synchronization if using certain session handlers
      (Bug #8443).
[jan] Improve synchronizing yearly events with Funambol clients
      (lst_hoe02@kwsoft.de, Request #7790).
[jan] Destroy session when a CLI script ends (Request #8482).
[jan] Fix data casting when caching permissions with the DataTree backend (Bug
      #8435).
[jan] Pass user's password to the signup_addextra hook.
[jan] Add removeUserDataFromAllApplications API method
      (adrieder@sbox.tugraz.at, Request #8454).
[jan] Catch errors when resetting passwords.
[jan] Support resetting passwords with composite authentication.
[mms] Fix memcache issue where it took 1 second to release a lock.
[mjr] Fix weatherdotcom block always displaying a 5 day forecast (Bug #8357).
[cjh] Use streams for file transfers in VFS_ssh2 (jives@jives.ixum.net,
      Request #8323).
[jan] Send notification messages about new signups with confirmation links.
[jan] Drop signup_email column from sign-up table.
[jan] Show photo in vCard viewer if provided as inline vCard data.
[mjr] Fix issue where pref hooks would not be called for preferences marked as
      shared and defined outside of the Horde scope.
[jan] Add configuration whether to show user drop down list or text field in
      permissions dialog.
[jan] Export current locale to the environment.
[jan] Fix unfolding of vCard 2.1/vCalendar 1.0 data.

Address Book Changes
--------------------
[mjr] Fix contacts being deleted during synchronization when moved from one
      address book to another (ryu@ryux.org, Bug #8487).
[mjr] Add new API method for retrieving the default share for a source.
[jan] Don't overwrite the compositing fields, when importing composite fields.
[cjh] Fix searches for multiple strict fields and at least one non-strict field
      (tinu@humbapa.ch, Bug #7876).
[mjr] Specific timeobject categories are now only advertised when they are
      present in a configured source.

Calendar Changes
----------------
[jan] Allow to add address lists as attendees through the address book popup
      (Bug #7834).
[jan] Fix exporting certain weekday recurrence rules to iCalendar
      (lst_hoe02@kwsoft.de, Bug #8501).
[jan] Export recurrence end dates as date-time values in iCalendar data to
      improve compatibility with external clients (Bug #7846).
[jan] Fix synchronization with output compression enabled (Bug #7769).
[jan] Add configuration whether to show user drop down list or text field in
      permissions dialog (requires Horde 3.3.5).
[jan] Propagate the 'modified' API method (Request #8274).
[cjh] Fix the signature of the kronolith/import API method
      (rpolli@babel.it, Bug #8309).
[jan] Correctly create all-day events if using the all-day link in the day
      view (stpierre@nebrwesleyan.edu, Bug #8220).
[jan] Fix rendering of all-day events (Bug #8176).

Tasks Changes
-------------
[jan] Display application name as task list name when listing external tasks.
[jan] Fix importing vTodo data including more iCalendar components.

Notes Changes
-------------
[jan] Add passphrase confirmation field (Bug #7379).
[cjh] Work around BC break with Horde versions before 3.2 (Bug #7820).
[cjh] Add URL access to notes by "starts-with" search on the note title.
[cjh] Add hooks for altering the displayed note body and showing help text next
      to the note entry field.
[cjh] Explicitly load DB library (Bug #7648).
[jan] Fix "replace" API method (Alfonso Marín Marín <almarin@um.es>, Bug #7436).
[cjh] Add a PostgreSQL-specific upgrade script.
[jan] Change group field in shares table to work with LDAP groups (Bug #6883).
[jan] Fix user name conversion with user hooks in the notepad panel (Bug #7366).


------
v1.2.3
------

[jan] Bundle Text_Figlet package to enable the captcha form field.

Horde Changes
-------------
[jan] Fix rendering of addresslink form fields (Bug #8053).
[mjr] Fix a botched merge in Horde_Image_gd that was causing an undefined
      variable notice to be output in the image data.


----------
v1.2.3-RC1
----------

[jan] Use improved Date_Holidays package.
[mms] Upgrade prototype.js to v1.6.0.3.

Horde Changes
-------------
[mjr] Fix an issue that causing users with expired passwords to be allowed to
      log in with the LDAP Auth driver.
[jan] Properly handle synchronization requests to non-existant databases.
[jan] Fix exporting all-day events to Funambol clients (Bugs #4487, #6847).
[jan] Quote parameter values in iCalendar data if necessary (Gunnar Wrobel,
      Bug #7758).
[jan] Detect base64 encoded synchronization data from Blackberry devices
      (Bugs #6995, #6949).
[jan] Optionally use Net_DNS for host name lookups (adrieder@sbox.tugraz.at,
      Request #7374).
[jan] Add TLS support to LDAP drivers (web@marlboro.edu, Request #7958).
[jan] Add scope and sizelimit parameters to LDAP authentication driver
      (dom.lalot@gmail.com, Request #7839).
[jan] Further improve HTML-to-text filter.
[jan] Export recurrence end dates as date-time values in iCalendar data to
      improve compatibility with external clients (Bug #7846).
[jan] Silence errors messages from iconv_substr() (jens@peino.de, Bug #8128).
[jan] Don't catch Alt key combinations for access keys on Mac OS.
[mjr] Fix bitwise clause generation in the sql and hierarchical sql driver. This
      fixes issues with Oracle and possibly other RDBMS.
[mjr] Correct numerous bugs in Horde_Image dealing with ImageMagick version
      inconsistencies.
[jan] Fix charset conversion in preference hooks (Bug #7489).
[cjh] Proactively disable allow_url_include in core.php.
[cjh] Add an index on session_lastmodified to the Horde sessionhandler tables.
[mjr] Force the use of REQUEST_URI instead of PATH_INFO in Util::getPathInfo()
      when being served by lighttpd due to issues with case insensitive
      file systems.
[cjh] Add support for SSL connections to MySQL databases (BryanRJ@gmail.com,
      Request #7972).
[cjh] Fix storing of unlocked preferences set by hooks (manuel@mausz.at,
      Bug #6822).
[jan] Highlight color input fields with the color from the picker.
[jan] Fix importing vCards that have the charset specified in a MIME part
      (Bug #7816).
[mms] Ensure all input array entries in String::convertCharset() are properly
      iterated through (Bug #7828, manuel@mausz.at).

Calendar Changes
----------------
[jan] Render contact autocompletion list on top of free/busy blocks (Bug #7273).
[jan] Save recurrence exceptions when copying events (Bug #7689).
[jan] Prevent warnings if trying to add address lists as attendees (Bug #7834).
[jan] Fix start and end time calculation of multi-day events (Bug #7788).
[jan] Wrap URL in calendar information in IE7 (almarin@um.es, Bug #8043).
[jan] Fix "Date-string has wrong format" error with holidays (Bug #7961).
[jan] Use improved translation support in Date_Holidays (requires 0.21.0 now,
      Bug #7272).
[jan] Empty view cache when changing calendar selection
      (stpierre@nebrwesleyan.edu, Bug #7879).
[mjr] Fix category CSS being included on embedded widgets.
[jan] Allow to manually change attendee responses (paul@carnie.com.au,
      Request #7443).
[jan] Fix linking to last week across certain year boundaries (Bug #7827).
[jan] Add script to import events from SquirrelMail database.
[cjh] Add private-***.png graphics to Tango and Silver themes (Bug #7531).
[cjh] Fix listing of users in the calendar/browse API call.
[jan] Set timezone per user preference and fix recurring events when sending
      reminders through Kronolith (develop@kristov.de, Bug #7038).
[cjh] Add a PostgreSQL-specific upgrade script for 2.2 to 2.3
      (michael.menge@zdv.uni-tuebingen.de, Bug #7454).

Tasks Changes
-------------
[jan] Don't allow to set alarms if no due date has been set.
[cjh] Add URL access to tasks by "starts-with" search on the task name.
[cjh] Add hooks for altering the displayed task description and showing help
      text next to the task description entry field.
[cjh] Add estimated time to the fields available in the task list.
[jan] Fix link escaping in notification messages (Alfonso Marín Marín
      <almarin@um.es>, Bug #7509).
[cjh] Add a PostgreSQL-specific upgrade script for 2.2 to 2.3.
[cjh] Fix fatal error when completing tasks (Bug #7400).


------
v1.2.2
------

[jan] Update broken Date_Holidays package (Bug #7784).

Horde Changes
-------------
[cjh] SECURITY: Escape output in the tag cloud block
      (found by Gunnar Wrobel <p@rdus.de>).
[cjh] SECURITY: Validate the Horde_Image driver name
      (found by Gunnar Wrobel <p@rdus.de>).
[cjh] Allow "." in phone number fields (Request #7858).
[cjh] Restore backwards compatibility in MIME::_rfc822Encode calls,
      used in Kronolith and Whups FW3 calls (Bug #7862).
[cjh] Fix the SQL Share driver closing the global database connection
      improperly when using PostgreSQL (Bug #7825).
[jan] Add support for Mozilla Sunbirds snooze properties (Request #7470).
[cjh] Try iconv_substr() in String::substr() if it's available
      (duck@obala.net, Request #7826).
[cjh] Avoid warnings in Perms::getPermissionId with PostgreSQL
      (Marcus Ryan <marcus@riboflavin.net>, Bug #7750).
[jan] Fix parsing of LABEL attributes in the vCard viewer.


------
v1.2.1
------

[jan] Patch broken Date_Holidays package (Bug #7413).
[jan] Fix updating of preferences and other configuration files (Bugs #7439,
      #7538).
[jan] Fix creating the alarm tables on PostgreSQL (Bug #7409).
[mms] Upgrade prototype.js to v1.6.0.3.

Horde Changes
-------------
[cjh] SECURITY: Add another check to the XSS filter.
[jan] Add script to import preferences from SquirrelMail database.
[cjh] Allow the password file Auth driver to require a specific group.
[jan] Add XPath wrapper to Horde_DOM library.
[cjh] Don't use executeMultiple in the SQL Share driver when we might
      reset the connection in between queries (Bug #7542).
[jan] Fix database XML schema to create all lock table fields (Bug #7433).
[jan] Fix showing two sidebars after saving the display preference group for
      the first time (Bug #7475).
[jan] Fix sharing with LDAP groups (Bug #6883).
[jan] Add javascript event handler for access keys.
[cjh] Remove UNSIGNED from PostgreSQL scripts.
[cjh] Call preference hooks in the scope of the preference
      (vlukashov (at) parallels (dot) com, Bug #7445).
[jan] Fix resuming synchronization session on server farms
      (adrieder@sbox.tugraz.at, Bug #7394).
[jan] Fix synchronization of tasks with many items (adrieder@sbox.tugraz.at,
      Bug #7395).
[jwm] Fix regression: SOAP wsdl/disco shouldn't require authorization.

Address Book Changes
--------------------
[jan] SECURITY: Escape output in test.php.
[jan] Add script to import contacts from SquirrelMail database.
[gwr] Correct support for the freebusy URL in Kolab.
[gwr] Add photo support for the Kolab driver.
[jan] Import broken vCards from Synthesis clients (Bug #7407).
[cjh] Add two retries to find a contact after adding it (Bug #7478).
[cjh] Add a PostgreSQL-specific upgrade script for 2.2.1 to 2.3
      (michael.menge@zdv.uni-tuebingen.de, Bug #7462).
[jan] Don't overwrite empty address books preference when creating new shares
      (Bug #7399).


----
v1.2
----

[jan] Change group field in shares table to work with LDAP groups (Bug #6883).

Horde Changes
-------------
[jan] Fix synchronization issues with Blackberry clients (Bug #6949).
[mms] Fix setting the horde user when using application authentication with
      realms (Bug #6749).
[jan] Fix user name conversion with user hooks in the permissions interfaces
      (Bug #6371).
[jan] Provide all settings for the read server in split SQL configuration
      (Request #7024).
[jan] Improve HTML to text filter.
[mjr] Hierarchical SQL Share driver now correctly removes all children when
      removing a share (Bug: 7347).
[mjr] Fix an issue with various date/time fields in horde form that was causing
      erroneous validation errors.
[cjh] Sign parameters to go.php with an HMAC based on a new secret key
      configuration value, to prevent using go.php as an open referrer.
[cjh] Make logout tokens only valid for a configurable length of time.

Address Book Changes
--------------------
[jan] Fix exporting address books with country fields as vCards (Bug #7372).
[mjr] Make sure we use all address books when searching via the api and the
      user's addressbooks pref is empty (Bug #7357).
[mjr] Correctly calculate the age of time objects (Bug #7330).

Calendar Changes
----------------
[jan] Fix user name conversion with user hooks in the calendar panel
      (Bug #7366).
[gwr] Fixed handling of free events in the Kolab driver
      (noethen@uni-paderborn.de, Bug #7192).
[jan] Differentiate between days with events and days with busy events in the
      year view.

Tasks Changes
-------------
[jan] Log completion date if adding a completed task (Bug #7275).
[jan] Fix user name conversion with user hooks in the task list panel
      (Bug #7366).
[jan] Fix displayed WebDAV subscription URLs in the task list manager.


--------
v1.2-RC1
--------

[jan] Fix upgrading from 1.1.x releases.
[jan] Improved SOAP interface.

Horde Changes
-------------
[mms] Fix garbage collection handling on SQL session handler backends.
[mjr] Change MDB2 sequence names to 'id' in SQL share driver (Bug #7240).
[cjh] When a URL is supplied for pass-through after logging in, go to that URL
      in mobile browsers instead of going to the mobile portal (Bug #6332).
[mms] Memcache session handler no longer writes data with a lifetime.
[cjh] Add DIMP to the horde LDAP OIDs and hordePerson objectclass (Bug #7243).
[mms] Update FCKeditor to v2.6.3.
[jan] Use global mailer configuration when sending alarm emails
      (adrieder@sbox.tugraz.at, Bug #7058).
[jan] Reset background colors when resetting the category form (Bug #7226).
[jan] Improve Funambol contacts support (Requests #7099, #7100).
[jan] Correctly parse GEO tags in vCard 2.1 data (Bug #6563).
[jan] Remove Horde portal link from application menus (Bug #7221).
[cjh] Create a driver for signups, allowing backends other than DataTree
      (Duck <duck@obala.net>, Request #7161).
[jan] Fix displaying images with the image form field.
[mjr] Fix issue with hierarchical SQL share driver that caused permissons to
      erroneously be denied when the share contained group permissions and was
      instantiated by a listShares call.
[mjr] Fix issue with hierarchical SQL share driver that caused any child shares
      to be orphaned when the parent share was moved in the hierarchy.
[mjr] Fix issue with SQL share drivers that was causing permission checks to
      fail under certain conditions by no longer explicitly storing owner
      permissions in the Perms backend.
[cjh] Fix overwriting a variable in the tableset_html VarRenderer
      (Paul Roy <proy@corom.ca>, Bug #7120).
[mms] Fix MIME encoding when using the ISO-2022-JP charset (Bug #1621).
[jan] Fix SQL Share driver not using the correct database when using different
      databases in Horde applications (Bug #6997).
[cjh] Fix SQL portability in Share_sql driver (Bug #7084).
[jan] Fix synchronizing large amounts of data split across several SyncML
      messages.
[jan] Add Basque translation (Euskal Herriko Unibertsitatea EHU/UPV
      <xabier.arrieta@ehu.es>).
[cjh] Fix Horde_Lock::getLockInfo (duck@obala.net, Bub #7046).
[cjh] Fix SQL portability in Group_sql driver (Bug #7075).
[jan] Fix PAM authentication driver, but also mark it as deprecated (Bug #6982).
[mjr] Fix issue with native SQL Share driver that caused filtering shares by
      attributes to fail.
[jan] Fix synchronization of event alarms with Funambol clients (Bug #7003).
[jan] Correctly detect Funambol clients on Blackberry devices (Bug #6995).
[mjr] Remove all user application permissions and group memberships from storage
      when removing the user from the system (Bug: 6999)
[cjh] Call the postauthenticate hook in Auth::setAuth(), and allow the
      postauthenticate hook to cause setAuth() to fail. Allows postauthenticate
      to fire on any event, including transparent authentication, that could
      result in a user being successfully logged in.
[jan] Improve attribute support and charset conversion in vCard viewer.
[jan] Show photos in vCard object if provided with an URL.
[mjr] Remove permissions from storage also when removing a share.
[jan] Add Horde_Form fields for string arrays and PGP and S/MIME keys.
[jan] Only show Add Permission icons in permissions interface where adding
      them is possible.
[mjr] Fix issue in Horde_Image that was causing erratic results when cropping
      images.
[jan] Fix validation of phone fields marked as required (Bug #6948).
[mms] Fix quoting periods in display part of e-mail address (Bug #6899).
[mms] Fix error checking when parsing an undisclosed recipients mail header
      and using an older version of PEAR::Mail (Bug #6930).
[jan] Return to portal after editing or deleting blocks directly from there.

Address Book Changes
--------------------
[jan] Improve vCard EMAIL field parsing (Bug #7281).
[jan] Correctly import and export address extensions (Bug #7279).
[jan] Export full country names to vCard addresses.
[jan] Respect precedence of multiple vCard properties (Request #7122).
[jan] Remove deleted address books from address book preference (Request #6938).
[jan] Export LABEL properties to vCard if address fields are available.
[gwr] Add support for storing public PGP keys when using Kolab.
[gwr] Add support for adding addresses from IMP when using Kolab.
[jan] Add configuration option for an alternative name field.
[jan] Add support for image fields to SQL driver (requires Horde 3.3).
[jan] Add more default field mappings for CSV import (Request #6901).
[jan] Update field names for Outlook 2003 export (Request #6901).
[jan] Improve logic which entries to show in the sidebar menu.
[jan] Add support for the category form field (Request #6884).
[jan] Fix sorting so that sort order is always reflected correctly,
      independent of name format.
[jan] Add Basque translation (Euskal Herriko Unibertsitatea EHU/UPV
      <xabier.arrieta@ehu.es>).
[jan] Add ability to mark a contact as your own and API method to export it.
[jan] Fix importing phone numbers from Synthesis clients (Bug #7011).
[mjr] Fix issue with searching composite fields when the number of search terms
      is less than the number of composed fields (Bug #6796)
[cjh] Allow importing multiple address into an email field if allow_multi
      is set to true on the field in attributes.php (Bug #6897).
[mjr] Remove user permissions on all shares when deleting a user.
[jan] Fix searching of client address books that have been disabled in the
      preferences (Bug #6961).
[mjr] Fix issue with removeUserData api that caused the deleted user's
      address books to not be deleted as well as remove an erroneous error
      notification (Bug #6969).
[cjh] Fix the column selector/sorter in IE (Bug #6912).

Calendar Changes
----------------
[jan] Send correct iTip notifications when deleting recurring event instances
      (Bug #6636).
[mjr] Add support for embedding calendar widgets on external websites.
[jan] Log moving of events in the history backend (Bug #3207).
[jan] Fix listing alarms of recurring events crossing day boundaries
      (Bug #7035).
[jan] Fix deleting all events over WebDAV (Bug #7005).
[jan] Add Atom feeds.
[jan] Fix encoding of holiday names.
[jan] Add Estonian translation (Alar Sing <alar.sing@err.ee>).
[jan] Consider RECURRENCE-ID attributes in iCalendar data.
[cjh] Fix a problem with the put() API call and events that already exist
      (almarin@um.es, Bug #7088).
[jan] Fix importing iCalendar events with only a single recurrence exception
      (guyzdm@gmail.com, Bug #7068).
[jan] Add Basque translation (Euskal Herriko Unibertsitatea EHU/UPV
      <xabier.arrieta@ehu.es>).
[mjr] Add support for maintenance tasks and add a task for purging old events.
[jan] Fix future events not being received under certain circumstances
      (Bugs #6946, #6966).
[jan] Correctly sort recurring events (develop@kristov.de, Bug #7037).
[jan] Fix display of recurring events crossing midnight in the portal block
      (develop@kristov.de, Bug #7036).
[jan] Fix agenda emails containing wrong events.
[mjr] Remove user permissions on all shares when deleting a user.
[jan] Fix warning when importing events through the API (Bug #6865).
[cjh] Be case insensitive when comparing attendees
      (aloyse.gilbert@gmail.com, Bug #6833).
[jan] Use smaller icons for private events.

Tasks Changes
-------------
[jan] Log moving of tasks in the history backend (Bug #3207).
[jan] Fix deleting all tasks over WebDAV (Bug #7004).
[jan] Add Estonian translation (Alar Sing <alar.sing@err.ee>).
[jan] Send a more detailed notification message and use the recipient's
      preferred language and date/time format after a task has changed.
[jan] Add Basque translation (Euskal Herriko Unibertsitatea EHU/UPV
      <xabier.arrieta@ehu.es>).
[jan] Fix task relationship getting lost when importing tasks
      (tkrah@fachschaft.imn.htwk-leipzig.de, bb.apc.ag, Bug #6770).
[jan] Add preference to set columns for the list view.
[jan] Allow to set task assignee.
[jan] Add options to export screen for choosing task lists and task states.
[mjr] Remove user permissions on all shares when deleting a user.
[mjr] Fix issue with removeUserData api that caused the deleted user's task list
      to not be deleted.

Notes Changes
-------------
[jan] Log moving of memos in the history backend (Bug #3207).
[jan] Add Basque translation (Euskal Herriko Unibertsitatea EHU/UPV
      <xabier.arrieta@ehu.es>).
[mjr] Remove user permissions on all shares when deleting a user.
[mjr] Fix issue with removeUserData api that caused the deleted user's task list
      to not be deleted (Bug #6969).


------
v1.1.6
------

Horde Changes
-------------
[jan] SECURITY: Fix vulnerability in image form fields that allows overwriting
      of arbitrary local files.
[cjh] SECURITY: Fix validation of "number" type preferences (Bug #8399).
[mms] SECURITY: Don't display unknown text parts inline (Bug #8311).


------
v1.1.5
------

[jan] Patch broken Date_Holidays package (Bug #7784).

Horde Changes
-------------
[cjh] SECURITY: Escape output in the tag cloud block
      (found by Gunnar Wrobel <p@rdus.de>).
[cjh] SECURITY: Validate the Horde_Image driver name
      (found by Gunnar Wrobel <p@rdus.de>).


------
v1.1.4
------

[jan] Patch broken Date_Holidays package (Bug #7413).
[jan] Fix updating of preferences and other configuration files (Bugs #7439,
      #7538).
[jan] Fix creating the alarm tables on PostgreSQL (Bug #7409).

Horde Changes
-------------
[cjh] SECURITY: Add another check to the XSS filter.

Address Book Changes
--------------------
[jan] SECURITY: Escape output in test.php.


------
v1.1.3
------

Horde Changes
-------------
[jan] SECURITY: Fix unescaped output in the MIME attachment linking.
[jan] SECURITY: Add another check to the XSS filter.


------
v1.1.2
------

[jan] Add upgrade functionality to the setup script.


------
v1.1.1
------

[jan] Include missing MDB2 drivers.

Horde Changes
-------------
[cjh] SECURITY: Escape item names in the object browser (Bug #6906).
[cjh] Select db before queries in MySQL SessionHandler (Bug #6673).
[jan] Format messages sent through MIME_Mail in flowed text format.
[cjh] Catch errors if the Cache_file backend doesn't have permission to
      garbage collect (Bug #6895).
[cjh] Fix deletion of SQL shares when using split read/write databases
      (duck@obala.net, Bug #6870).
[mms] Workaround broken IE behavior when downloading files with 8-bit
      filenames (felix5ng@yahoo.com.hk, Bug #129).
[cjh] Fix storing of unlocked preferences set by hooks
      (manuel@mausz.at, Bug #6822).
[mms] Allow Horde memcache driver to use UNIX sockets (Bug #6848).
[mjr] Various fixes for hierarchical SQL Share driver involving share names,
      better error checking and logging.
[cjh] Fix order of checks in String::convertCharset (Bug #6794).
[mms] Fix parsing of addresses in headers when the RFC 2047-encoded personal
      part of the address contains address list delimiters (Bug #6747).
[cjh] Fix generation of unique keys in configuration for machines too fast for
      microtime() (mail@dunix-data.de, Bug #6762).
[gwr] Added group driver for Kolab.
[gwr] Added IMAP based preferences driver for Kolab.
[mms] Fix missing timestamp variable in Horde SQL cache driver
      (keith@ajmani.org, Bug #6839).
[cjh] Fix over-zealous preference caching when preferences are requested for a
      different user (Bug #6820).
[mjr] Fix issue in Horde_Image that caused errors when performing certain image
      operations immediately after an image had been cropped when using the
      ImageMagick driver.

Address Book Changes
--------------------
[cjh] SECURITY: Escape contact names in the contact display view.
[jan] Fix importing of certain phone numbers from vCard (Bug #6744).
[mjr] Correct a function declaration in the 2.1_to_2.2_sql_schema.php upgrade
      script that was causing fatal errors.


----
v1.1
----

[cjh] Improve resource usage in datatree_to_sql share migration scripts
      (Bug #6740).
[jan] Update Services_Weather package to fix changes in the weather.com API.

Horde Changes
-------------
[jan] Fix synchronization of contacts with some SyncML clients (Bug #6706).
[mjr] Fix SQL bitwise comparison issue in native SQL share drivers that affected
      PostgresSQL (Bug #6751).
[cjh] Ensure users' email addresses are well-formed (Bug #6654).
[jan] Remove About... link from help viewer.
[mms] Update Xinha editor to support Safari 3.

Address Book Changes
--------------------
[mjr] Fix importing email addresses from CSV files to be consistent with what
      we allow to be entered via the UI. (Bug #6725)

Calendar Changes
----------------
[jan] Identify the correct event when using attend.php to update invitations
      (Bug #6606).
[jan] Decode user names and passwords when editing remote calendars.
[cjh] Ensure that event_category is always a string (Bug #6696).

Tasks Changes
-------------
[jan] Allow to import all fields that can be exported.
[cjh] Fix displayed WebDAV subscription URLs in the panel (Bug #6709).

Notes Changes
-------------
[jan] Fix exporting and synchronization of encrypted notes.


--------
v1.1-RC3
--------

[cjh] Apply fix for http://dev.rubyonrails.org/ticket/11473 to prototype.js
      (Request #6590).
[cjh] Add upgrade scripts for the new SQL share driver (Request #6109).

Horde Changes
-------------
[bak] Improvements to WebDAV return codes and implement WebDAV locks
[bak] Add Horde_Lock subsystem
[mms] Add memcache caching support to all session backends.
[cjh] Add a files-based Preferences backend (thomas.jarosch@intra2net.com,
      Request #6653).
[cjh] Correct line-folding of encoded lines in iCalendar data
      (Gunnar Wrobel <p@rdus.de>, Bug #6555).
[cjh] Add a configuration option for whether users can share with groups
      they aren't members of (thomas.jarosch@intra2net.com, Request #6619).
[cjh] Ensure that alarms are created with a NULL alarm_snooze value
      (michael.redinger@uibk.ac.at, Bug #6183).
[cjh] Add an admintools script for creating PEAR::DB sequences manually.
[cjh] Improved support for PGP fingerprints (Bug #6363).
[jan] Add rpc/ directory for prettified RPC URLs.
[jan] Move SyncML anchors out of the DataTree into a separate database table.
[cjh] Add beta SQL Permissions driver (duck@obala.net, Request #6150).
[cjh] Add beta SQL Group driver (duck@obala.net, Request #6175).
[jan] Use wider columns for the SyncML database table to correctly store long
      UIDs (Bug #5025).
[jan] Add "hordeweb" theme.
[jan] Add MIME::parseAddressList().
[jan] Add icons to edit and delete blocks directly from the portal.
[jan] Allow users to specify login credentials for Horde applications in the
      preferences.
[jan] Add NLS::setLanguageEnvironment() and NLS::setCharsetEnvironment().
[cjh] Fix LDAP authentication (Bug #6450).
[jan] Improve synchronization with Funambol clients.
[mas] Fix false positive verification of S/MIME messages (Bug #6323).

Address Book Changes
--------------------
[cjh] Fix editing contacts that were accessed by UID (Bug #6672).
[cjh] Include composite fields in data exports (Bug #6517).
[gwr] Add distribution list support to the Kolab driver.
[cjh] Add vCard/syncing support for a large number of additional attributes
      (horde@ssn.at, Request #6573).
[cjh] Update composite fields in LDAP DNs (horde@ssn.at, Bug #6575).
[mjr] Fix paging in search results.
[cjh] Allow setting default values for attributes.
[cjh] Show a browse link in the address book list for each address book
      (thomas.jarosch@intra2net.com, Request #6613).
[mjr] Fixed a bug that caused field values to get mismatched with the column
      names when a single DB field is mapped to multiple Turba fields.
[mjr] Fix changing sort order on the search view.
[jan] Add preference to choose address books for synchronization.
[jan] Improved importing of names from vCards (Bug #6568).
[jan] Fix incomplete copying and moving of attributes to composite fields
      (Bug #6565).
[gwr] Fix the relation of key/uid within the Kolab driver.
[gwr] Export/import of the emails attribute (Bug #6504).
[mas] Encode DN correctly when exporting to LDIF. (Bug #6518).
[gwr] Fix virtual address books when using shares.
[gwr] Fix searching for the Kolab driver.
[cjh] Replace the address book column sorter with a Scriptaculous-based one;
      fixes re-ordering columns in some cases (Bug #6444).
[jan] Always return to the last view after saving a contact.
[jan] Correctly determine default address books in the API (SyncML, WebDAV).
[jan] Add categories imported through the API (SyncML, WebDAV).
[jan] Store categories as strings.
[cjh] Show who created or made the last change to a contact along with the date
      (Request #6305).
[mjr] Prevent overwriting contact entries with the upgrade script (Bug #6308).

Calendar Changes
----------------
[cjh] In WebDAV PUT operations, only look for existing events on the calendar
      being uploaded (Bug #6617).
[cjh] Use json_encode and json_decode if they are available (Bug #6457).
[cjh] Use the first matching free/busy URL if more than one is found
      (almarin@um.es, Request #6638).
[cjh] Allow subscribing/unsubscribing from external calendars through the API
      (duck@obala.net, Request #6626).
[jan] Add another directory level for calendar owners to the WebDAV interface.
[jan] Cut off categories at 80 characters to save them correctly (Bug #5211).
[gwr] Fixed removal of recurrence in the Kolab driver.
[jan] Show full title in email alarms (Bug #6510).
[jan] Add export of single events.
[gwr] Fixed History support in the Kolab driver.
[cjh] Don't report cancelled events as busy (m.gabriel@das-netzwerkteam.de,
      Bug #6376).
[cjh] Show who created or made the last change to an event along with the date
      (Request #6305).
[cjh] Make sure event time and location are shown in the day and week views
      (Bug #6158).
[cjh] Include Location and Attendee information in the plain-text portion
      of iTip messages (almarin@um.es, Request #6271).
[cjh] Use the Free/Busy default domain on the attendee entry page as well
      (Bug #6146).
[jan] Add Turkish translation (METU <horde-tr@metu.edu.tr>).

Tasks Changes
-------------
[cjh] Add an upgrade script for the new SQL share driver (Request #6109).
[jan] Correctly determine default task list in the API (SyncML, WebDAV).
[cjh] Show who created or made the last change to a task along with the date
      (Request #6305).
[jan] Add Turkish translation (METU <horde-tr@metu.edu.tr>).

Notes Changes
-------------
[gwr] Added History support in the Kolab driver.
[cjh] Avoid errors when trying to export an empty notepad (Bug #6409).
[cjh] Show who created or made the last change to a note along with the date
      (Request #6305).
[jan] Add Turkish translation (METU <horde-tr@metu.edu.tr>).


--------
v1.1-RC2
--------

[jan] SECURITY: Fix privilege escalation in Horde API.
[cjh] SECURITY: Fix missing ownership validation on share changes.

Horde Changes
-------------
[jan] SECURITY: Filter out FRAME tags from HTML messages (CVE-2007-6018).
[jan] SECURITY: The XSS filter passes the complete XSS cheat sheet
      (http://ha.ckers.org/xss.html) now.
[cjh] Add a PHP 5-only block for putting syndicated feeds on the Horde Portal
      (duck@obala.net, Request #6107).
[cjh] Automate detection of which themes/app combinations have custom icons
      (Bug #6105).
[cjh] Fix listing of current session ids in the memcache SessionHandler
      (Bug #6083).
[cjh] Correct handling of cache misses from the Horde_Cache_sql driver
      (Bug #6060).
[mas] Add support for PGP revocation certificates to Crypt library.
[cjh] Provide specific validation errors when datetime Horde_Form fields have
      a date but not a time, or vice-versa (Bug #5992).
[cjh] Read email addresses from subjectAltName property of S/MIME certs
      (Bug #5986).
[cjh] Catch Horde_Block errors when doing ajax updates.
[cjh] Allow Horde_Mobile_select to take already-encoded options (Bug #5849).
[jwm] Add support in Horde_RPC_soap for handling SOAP endpoints that only
      expose certain types and/or methods.
[jwm] Make the SOAP service name in Horde_RPC_soap configurable.
[jwm] Add basic logging of SOAP calls (method name and args, elapsed
      time, bytes sent in response).
[cjh] Support LDAP password expiration when using Sun/Fedora Directory Server
      (marco@csita.unige.it, Request #6012).
[cjh] Remove the wrap attribute from preference textarea tags (Bug #6024).
[cjh] Recommend and default to SSHA hashed passwords.
[jan] Fix rendering of messages in some charsets that are only supported by
      iconv (Bug #5962).
[jan] Display WYSIWYG editor with correct language.
[jan] Fix creating of sub groups (Bug #5970).
[jan] Fix linking of URLs encapsulated in angle brackets (Bug #4946).
[jan] Fix edge cases of CSV file imports (Bugs #3839, #4025).
[mms] For SessionHandler drivers, don't write to backend if the session data
      did not change while loading the current page.
[cjh] The Auth:: package no longer depends on the PHP mhash extension
      for some encryption types.
[cjh] Add stream support to some VFS backends (Request #5913).
[jan] Add client code to JSON-RPC class and implement JSON-RPC 1.1.

Address Book Changes
--------------------
[mjr] Degrade gracefuly when no VFS is configured.
[cjh] Fixed the share flattening upgrade script.
[mjr] Fixed issue that caused mangling of composite fields when moving or
      copying contacts from one address book to another (Bug #6058).
[mjr] Fixed issue that caused listTimeObjects to only return objects from a
      single address book when using a shared SQL source.
[cjh] Update address book management UI to match other groupware apps.
[jan] Trim composite field values before saving to the backend (Bug #5979).
[mjr] Fixed issue where composite fields with 'attribute' value set were not
      getting set in the backend when being imported via the API. (Bug #5978)
[mjr] Time object categories are now automatically detected.
[mjr] Fix issue that caused listTimeObjects API to miss returning objects when
      the date range crosses over into the next year.
[jan] Improved portability of the upgrade script (Bug #5949).
[mjr] Added anniversary support to the listTimeObjects API.

Calendar Changes
----------------
[jan] Fix importing of events with an existing UID (Bug #6122).
[cjh] Fix timestamps in portal block event links.
[mjr] Fix issue that caused recurring events on 2/29 to appear on 3/1 when
      recurrence type is HORDE_DATE_RECUR_YEARLY_DATE.
[cjh] If JavaScript is available, open the Attendees window set to the current
      event's date (Request #5813).
[cjh] Fix display of events that end at 00:00 at a non-zero second (Bug #6047).
[cjh] Fix handling of local names in attendees.php
      (m.gabriel@das-netzwerkteam.de, Bug #6041).
[cjh] Fix inline calendar search in the calendar panel.
[cjh] New share management UI that doesn't require JavaScript.

Tasks Changes
-------------
[jan] Fix tasks losing their parent task when being completed (Bug #6035).
[cjh] Add the ability to filter the list of task lists in the panel.
[cjh] New share management UI that doesn't require JavaScript.
[jan] Fix 2006-04-18_add_creator_and_assignee_fields.php upgrade script.

Notes Changes
-------------
[cjh] Add the ability to filter the list of notepads in the panel.
[cjh] New share management UI that doesn't require JavaScript.
[cjh] Add support for split read/write databases (<duck@obala.net>,
      Request #5936).

--------
v1.1-RC1
--------

[jan] Add performance tuning instructions.

Horde Changes
-------------
[jan] Apply user name hooks when editing share permissions
      (steinkel@ctinetworks.com, Bug #5844).
[jan] Fix some date handling with dates outside the unix epoch (Bug #5893).
[jan] Fix fixed portal blocks (Bug #5853).
[jan] Fix Share caching (Bug #5748).
[cjh] Fix deleting categories (Gunnar Wrobel <p@rdus.de>, Bug #5873).
[cjh] Import dhtmlHistory.js from DIMP into Horde core.
[cjh] UTF-8-encode DNs in the LDAP Groups driver (patrick.abiven@apitech.fr,
      Bugs #4692 and #4918).
[mjr] Addition of an Effects API to the Horde_Image package, including a
      number of image effect plugins.
[jan] Add country list form field.
[cjh] Add example logrotate configuration (Martin Fraer <mdf@darksnow.net>).
[cjh] Add LDAP ACL definition for preferences (Martin Fraer
      <mdf@darksnow.net>).
[cjh] Add an index on horde_datatree_attribute.attribute_value to improve
      DataTree performance (Andrew Morgan <morgan@orst.edu>).
[jan] Add SQL upgrade scripts.
[jan] Fix escaping of parenthesis in PDF documents (PEAR Bug #12092).
[jan] Fix alarm notification script (Bug #5660).
[jan] Fix PDF generation with some locales (Gunnar Wrobel, Bug #4094).
[jan] Move all application-specific hook examples to the applications' config/
      directories.
[jan] Fix SMTP configuration being set to "Best available authentication"
      (Bug #5679).
[jan] Add bind parameters to LDAP account portal block configuration (Request
      #5705).
[cjh] Fix login screen enter key behavior in some circumstances (Bug #5696).
[mjr] Add a new block for displaying a tag cloud that works across all Horde
      applications implementing a searchTag api.
[cjh] Use the Silk flag icons from http://famfamfam.com/lab/icons/flags/
      for all flag sets (Bug #5681).
[cjh] Fix generation of UIDs with PHP 5.2+.
[cjh] Add a JSON-RPC Horde_RPC backend (joey@joeyhewitt.com).
[cjh] Allow selecting any available sound when creating alarms as an
      administrator (Request #5619).
[cjh] Fix updating of last_maintenance preference with PHP 4 (Bug #5111).
[cjh] Allow considering all IPs to be "safe" for encryption operations,
      passphrase entry, etc., when using SSL hardware or other secure
      environments (adrieder@sbox.tugraz.at, Request #5568).
[cjh] Fix CSRF protection with Horde_Form objects submitted with preserve().
[cjh] Centralize sounds for audio alarms in Horde.
[cjh] Include CSRF protection when using Horde_Form Tokens (Request #4492).
[cjh] Add first_week_day preference and use it in the calendar widget (Bug
      #1729).
[cjh] Cache permissions with Horde_Cache (duck@obala.net).
[jan] Add configuration option for safe IP subnets.
[cjh] Allow turning off a user's ability to edit share permissions (Request
      #4054).
[cjh] Consolidate color pickers used for Labels and in Horde_Form (Bug #5112).
[cjh] Log sending of problem report emails (Otto.Stolz@uni-konstanz.de,
      Request #5461).
[cjh] Improve support for dates before 1970 and after 2038 (Bug #3741).
[mms] Add option to send MIME messages in a format that may allow broken MUAs
      to handle 8-bit filename data.
[cjh] Add Tango Blue (xconspirisist <contact@xconspirisist.co.uk>,
      roti@al.pmmf.hu, Request #2795) and Silver Surfer (Daniel
      Dembach <daniel.dembach@googlemail.com>) themes.
[mms] Created a Horde-wide object to access a singlet memcache configuration.
[cjh] Test for PCRE UTF-8 support with extension tests
      (thomas.jarosch@intra2net.com, Bug #1052).
[jan] Add category field to Horde_Form.
[cjh] Better detection of Konqueror JavaScript features
      (thomas.jarosch@intra2net.com, Request #5372).
[cjh] Support the allow_multi parameter when displaying email address form
      types (thomas.jarosch@intra2net.com, Request #5356).
[cjh] Add Scriptaculous and RedBox to Horde.
[mms] Added sql driver for Horde_Cache::.
[mms] Prevent tooltips from scrolling off screen (michael.sheldon@credativ.de,
      Request #3958).
[jan] Add portal block to verify EU VAT identification numbers.
[mms] Preserve URL anchor information when performing login.
[jan] Add method to fetch public key by email address from key server.
[jan] Add parameter for a temporary directory to the VC svn driver
      (meyer@mesw.de, Request #5051).
[jan] Change VC library to support open_basedir restrictions (meyer@mesw.de,
      Request #5051).
[cjh] Added a query for checking existance of a user to the custom SQL
      Auth driver (Request #5151).
[jan] Add button to the setup screen to check for newer versions.
[mas] Add MIME Viewer for WordPerfect documents.
[mms] Use lzf compression to compress Horde_SessionObjects:: data in the
      session.
[cjh] Replace google popup javascript searching with Google Ajax Search.
[jan] Add datetime variable type to Horde_Form.
[jan] Add Horde_Alarm library for reminders, alarms and notifications across
      all applications with pluggable notification methods.
[jan] Add context renderer to Text_Diff package.
[jan] Add MIME_Mail class to simplify creation and sending of MIME messages.
[cjh] Horde_Share now has a driver system with DataTree and Kolab backends
      (Gunnar Wrobel <wrobel@pardus.de>, Request #4263).
[cjh] Remove RPC_rest backend.
[cjh] Add DELETE support to the webdav RPC implementation
      (Håvard Wigtil <havardw@pvv.org>, Request #4721).
[cjh] Add a Horde-wide HTTP proxy config setting (Request #1039).
[mms] Use the geoip PECL extension if available.
[cjh] Add preferences change hooks that are called when preferences are set
      to new values (Request #4343).
[cjh] Add Active Directory support to the LDAP account information driver
      (air2@dds.nl, Request #3512).
[cjh] Add a finger driver to the account information block
      (difosfor@hotmail.com, Request #3546).
[cjh] Rewrite the Prefs code to keep the same Prefs object through multiple
      scope changes, instead of re-loading the Horde prefs, or prefs for
      a scope that had already been loaded. Fixes bugs when making changes
      to preferences and then switching scopes again (Bug #2838).
[cjh] Switch from hook functions for every group to a single hook function
      for all groups, allowing more dynamic Group_hooks implementations
      (dorm@dorm.org, Request #4324).
[jan] Allow Kolab users to login with both, UID or mail address
      (wrobel@gentoo.org, Bug #1317).
[cjh] Switch between 'icon' and 'iconopen' images when toggling Horde_Tree
      sections (Bug #2576).
[cjh] Add a Horde_Form_Action for setting the cursor position in any
      text field (Request #4431).
[cjh] Provide a link for dialing phone numbers if the "telephony/dial"
      API method is present (thomas@gelf.net, Request #3241).
[jan] Add support for PUT method to WebDAV server
      (d.bussink@student.utwente.nl, Request #3032).
[jan] Add PHP 5 support for Kolab (wrobel@gentoo.org, Bug #4062).
[jan] Rewrite PAM authentication driver to use PAM extension from PECL.
[mas] Implement IMAP_ACL_rfc2086::canEdit() for cases when the user is
      asking about their own rights.
[mms] Correctly encode MIME parameter values via RFC 2231.
[mms] Add method to do RFC 2231 encoding.
[jan] Allow to set link target for "link" preference types.
[cjh] Move developer and administrator tools into seperate PEAR
      packages that will be available from pear.horde.org.
[mas] Conform to WCAG 1.0 Priority 2/Section 508 accessibility guidelines.
      (Request #4080)
[jan] Add SMIL MIME viewer.
[jan] Add support for virtual host based configuration.
[jan] Add File_PDF::setTextColor() (PEAR Request #1767).
[jan] Add File_PDF::setFontStyle() (d.baechtold@unico.ch, PEAR Request #5230).
[jan] Add encoding parameter to XML_SVG_Document (PEAR Request #7461).
[jan] Add SMPP driver to Net_SMS package (Ian Eure <ieure@php.net>, PEAR
      Request #5101).
[jan] Add support for symmetric PGP encryption to Crypt library.
[jan] Add option to limit file sizes in file and image form fields (Request
      #2155, vilius@lnk.lt).
[jan] Add caching for shares.
[cjh] Add an audio MIME_Viewer so that audio files are clickable and
      handled immediately by the browser.
[cjh] Add Horde_Form_Type_phone as a parent for Horde_Form_Type_cellphone.
[jan] Add caching for groups.
[cjh] Allow dropping application (or other custom-purpose) configuration
      files into config/registry.d/.
[cjh] Help now has a tree view of topics and is searchable (Request #2452).
[cjh] translation.php now works with PHP 5 (Bug #3539).
[jan] Highlight new configuration items in the configuration interface
      (Request #3868).
[cjh] Add Shibboleth transparent authentication driver
      (Cassio Nishiguchi <cassio@protectnetwork.org>).
[cjh] Add native email address validation to Horde_Form_Type_email
      based on http://iamcal.com/publish/articles/php/parsing_email.
[jan] Add multidomain support for Kolab servers (tokoe@kde.org, Request #3579).
[cjh] Deprecate htmlarea in favor of xinha.
[mms] Add VFS SSH2/SFTP driver (Cliff Green <green@umdnj.edu>).
[mjr] Move the Horde_Config_Node and related classes out of Horde_Config and
      into it's own Horde_DOM package.
[mjr] Add support for Horde_Share to the Net_IMSP package.
[jan] Add connection pooling support with memcache extension 2.0.0
      (adrieder@sbox.tugraz.at, Request #3213).
[jan] Add memcached driver to the Horde_Cache package (Duck <duck@obala.net>).
[cjh] Add phpGroupWare/eGroupWare compatibility driver to Horde_RPC that
      allows mapping xml-rpc methods into Horde applications (Request #2886).
[cjh] Add _horde_hook_post_pushapp for doing actions directly after
      $registry->pushApp() succeeds.
[jan] Update portal block content in the background instead of reloading the
      whole portal periodically.
[mdj] Add support for split read/write databases.
[mdj] Add failover support for database backends.
[jan] Add configuration option to require users to confirm email addresses
      added to their identities.
[cjh] Add a SpellChecker package.
[cjh] Have Horde::addScriptFile() check for a non-PHP version of scripts
      to avoid javascript.php whenever possible.
[cjh] Add SERIALIZE_JSON mode with code from PEAR's Services_JSON.

Address Book Changes
--------------------
[jan] Fix birthday calculation on years before 1970 with DST (Bug #5791).
[jan] Implement WebDAV DELETE.
[jan] Change default SQL scheme to match with RFC 2426 (vCard 3.0) as closely
      as possible.
[cjh] Add $matchBegin to the clientSearch API method (duck@obala.net,
      Request #5860).
[cjh] Avoid variable names that might interfere with function variables in
      sources.php.dist examples (Bug #5840).
[jan] Add clientFields() API method.
[mjr] More efficient fetching of entries when using the listTimeObjects api.
[jan] Move all Turba-specific hook examples from Horde's config/ directory.
[cjh] Fix generation of UIDs with PHP 5.2+.
[cjh] Handle categories when converting to and from vCards
      (rsalmon@mbpgroup.com, Bug #5648).
[cjh] Catch searches that seem non-empty but really aren't (Bug #5612).
[mjr] Fix fatal errors when no share enabled sources are present.
[mjr] Fix issue with naming new contact lists that was causing database errors,
      missing part of the contact list name, and other oddities.
[cjh] Add support for approximate searches, if the underlying backend and Horde
      code support them (Request #2901).
[cjh] Add a print link for contacts (Request #2800).
[cjh] Shared Address Books are now stored in a flat namespace so that they
      do not rely on the hierarchical (i.e. DataTree) properties of the
      Horde_Share API (Bug #4960).
[cjh] If names are displayed "Lastname, Firstname", sort composite name
      fields by lastname (Request #3909).
[cjh] Show an overlay while running a search (Request #3154).
[cjh] Add Anniversary, Spouse, and Children fields and support them in
      vCard import/export (ntai@smartfruit.com, Request #5059).
[cjh] Add LDIF import/export support (ritaselsky@gmail.com, Request #2506).
[jan] Provide birthdays as events to external calendars (Request #723).
[mjr] Add driver to create address books from current user's Horde_Group
      memberships.
[jan] Allow to search through API for matches at word boundaries only
      (requires Horde 3.2).
[cjh] Phase out old ObjectView class in favor of proper forms in
      lib/Forms and views in lib/Views.
[cjh] Support for dereferencing LDAP aliases (aubert@femto-st.fr,
      Request #4532).
[mas] Conform to WCAG 1.0 Priority 2/Section 508 accessibility guidelines.
      (Request #4080)
[cjh] Support vCard initials and salutation fields if present in the Turba
      backend (s.heuer@hicom.de, Request #4248).
[cjh] Don't show empty tabs if a contact does not have a full name (Bug #4243).
[mjr] Add support for removing user data from backend storage when user is
      removed from Horde.
[jmf] Sort listings on multiple columns.
[cjh] Show numeric and alpha pagers at the top of listings, not the bottom
      (Bug #1312).
[jan] Add multidomain support for Kolab servers (tokoe@kde.org, Request #3579).
[jan] Use the same rendering code for contact details in the list views like
      in the contact views.
[jan] Allow editing of composite fields (horde@olen.net,
      rkean@keanconsulting.com, Request #2529).
[mjr] IMSP driver now has Horde_Share support.
[cjh] Add dynamic filtering of lists of contacts.
[mdj] Add support for split read/write database.
[mdj] Add failover support for SQL backend.
[mjr] Add virtual address book support.
[jan] Add driver to list most favourite recipients.

Calendar Changes
----------------
[jan] Don't allow to modify private events throught the API (Bug #5736).
[jan] Don't overwrite event owner when changing events over WebDAV (Bug #5736).
[jan] Implement WebDAV DELETE.
[cjh] Event exceptions are now correctly reflected when subscribing to
      Kronolith calendars from Apple iCal.
[cjh] When adding attendees, parse email groups and add each member
      individually (Bug #5812).
[cjh] External events are now enabled/disabled by individual category, such
      as showing a particular tasklist on your calendar, but not all tasks
      (Request #4581).
[jan] Add SQL upgrade script.
[cjh] Let the "show" URL of a calendar always show that calendar, instead of
      toggling whether or not it is displayed.
[cjh] Fix permissions granted to remote calendar subscribers on calendars
      that do not have guest permissions.
[cjh] Fix generation of UIDs with PHP 5.2+.
[cjh] Add preferences for showing event times and locations in screen
      views, print views, both, or neither (Request #1982).
[cjh] Run attendee email address through MIME::encodeAddress() before
      validating them (Bug #5670).
[cjh] Add vCalendar 2.0 alarm export (munzli@olmero.ch, Bug #4851).
[jan] Add Ukrainian translation (Andriy Kopystyansky <anri@polynet.lviv.ua>).
[cjh] Inline PHP-generated javascript to avoid cross-domain leaking
      (Bug #5307).
[cjh] Add a preference to not send notifications to the person who is
      adding/updating/deleting the event (steven.deboeck@excentis.com,
      Request #4770).
[cjh] Add calendar/subscribe and calendar/unsubscribe methods for adding/
      removing calendars to the currently displayed calendars
      (duck@obala.net).
[cjh] Remove unneeded Kronolith_Driver::close method.
[cjh] Fix error handling when moving events
      (thomas.jarosch@intra2net.com, Bug #5401).
[jan] Show icon for private events (Request #5190).
[jan] Allow to edit existing event attendees.
[jan] Add links to delete exceptions from recurring events.
[jan] Add recurrence types by day of year and weekday of year.
[jan] Add recurrence durations by number of recurrences.
[jan] Allow to edit exceptions from recurring events.
[jan] Allow to specify attendees without email addresses.
[jan] Allow to specify attendee names with the email addresses.
[cjh] Link to remote URLs in iCalendar events, if present (Duck).
[jan] Hide less important event settings in the edit form by default.
[jan] Add support for the Horde_Alarm framework (requires Horde 3.2).
[cjh] Add ContactAutoCompleter javascript to the attendees screen
      (Request #1635).
[jan] Add month tab to free/busy view (Gunnar Wrobel <wrobel@pardus.de>,
      Request #4896).
[cjh] Use extended Free/Busy information from Kolab (wrobel@pardus.de,
      Request #4869).
[ben] Add daily agenda reminder (Request #4655).
[cjh] Include event location in reminders (webmgr@muskingum.edu,
      Request #4771).
[cjh] Use global proxy configuration for HTTP requests (Request #1039).
[jan] Display holidays generated with the Date_Holiday package (Stephan
      Hohmann <webmaster@dasourcerer.net>, Request #3862).
[cjh] Consider failing to find any attendees to update an error
      (Bug #4588).
[cjh] Include a summary of which calendars were printed in print views
      (Request #3263).
[jan] Add support for reading and saving events through external clients
      (requires Horde 3.2, d.bussink@student.utwente.nl, Request #3032).
[jan] Limit number of events in portal summary block (Duck <duck@obala.net>).
[cjh] Add a live search to the calendar panel (Request #4607).
[mas] Conform to WCAG 1.0 Priority 2/Section 508 accessibility guidelines.
      (Request #4080)
[cjh] Fix Day and Week display of events that overlap with an event that
      doesn't start all the way to the left (Bug #2967).
[cjh] Move calendar selection/deselection to a collapsible panel.
[jan] Allow to set user name and password for remote calendars
      (tevans@tachometry.com, Request #3696).
[jan] Allow to edit remote calendars (tevans@tachometry.com, Request #3696).
[cjh] Move almost all hiding of elements during printing to CSS classes.
[cjh] Allow the listEvents api call to list events from multiple calendars,
      and filter by whether or not events have an alarm
      (Ben Klang <ben@alkaloid.net>, Bug #4104).
[mjr] Support for removing user data from backend when user is removed from
      Horde.
[jan] Add private flag.
[cjh] Add a default alarm preference.
[cjh] Always include X-WR-CALNAME in iCalendar exports (Request #3618).
[jan] Add multidomain support for Kolab servers (tokoe@kde.org, Request #3579).
[jan] Allow delegation of events.
[cjh] Dynamic switching between Display, Edit, and Delete screens.
[jan] Add preference to force day and week views to selected hours.
[cjh] Make the duration input a text field instead of a 365-day dropdown.
[mdj] Add support for split read/write database.
[mdj] Add failover support for SQL backend.
[cjh] Use partial page fetches to update the main "page" div if the browser
      supports the necessary JavaScript.

Tasks Changes
-------------
[jan] Implement WebDAV access.
[jan] Add exportTasklist() API method.
[jan] Add SQL upgrade script.
[jan] Show estimated time including sub-tasks.
[cjh] Fix generation of UIDs with PHP 5.2+.
[cjh] Add preferences for turning due dates on by default, setting the
      default due date's number of days in the future, and setting the
      default due date's time.
[cjh] Add vCalendar 2.0 alarm export (munzli@olmero.ch, Bug #4851).
[jan] Add sub-tasks.
[jan] Add start dates for tasks.
[jan] Add support for the Horde_Alarm framework (requires Horde 3.2).
[cjh] Default to a javascript quick search, if available, with options
      for the full search and a direct link to full search if javascript
      is unavailable.
[cjh] Allow explicitly searching All, Incomplete, or Completed tasks
      (Request #4222).
[cjh] Allow configuring the tasklists that the task summary block shows,
      and let the user set a title for the block to differentiate multiple
      instances (Request #2388).
[cjh] Show task description tooltips in the task summary block (Request #3444).
[cjh] Store completion date and add history entries for task completion.
[cjh] Move tasklist selection/deselection to a collapsible panel.
[mas] Conform to WCAG 1.0 Priority 2/Section 508 accessibility guidelines.
      (Request #4080)
[cjh] Allow using the checkboxes to mark tasks as incomplete as well
      as complete (michael.sheldon@credativ.de, Request #4250).
[cjh] Sort date fields correctly with JS table sorting.
[jan] Add private flag.
[jan] Add a field for estimated time being spent on a task.
[mdj] Add support for split read/write database.
[mdj] Add failover support for SQL backend.
[cjh] Add a tree block for showing current alarms.

Notes Changes
-------------
[jan] Implement WebDAV DELETE.
[cjh] Add quick links to the sidebar block for adding notes to a specific
      notepad (Gunnar Wrobel <p@rdus.de>, Request #5716).
[cjh] Fix generation of UIDs with PHP 5.2+.
[cjh] Show tooltips in the summary block, and restrict tooltips to 20 lines
      (Request #3443).
[cjh] Optionally show a note's notepad in the list view (Request #2317).
[cjh] Add quick (inline) note searching.
[cjh] Add the ability to save a note as a PDF.
[jan] Add support for encrypted notes.
[cjh] Move notepad selection/deselection to a collapsible panel.
[mas] Conform to WCAG 1.0 Priority 2/Section 508 accessibility guidelines.
      (Request #4080)
[cjh] Notes search should be either title or full text (Request #4277).
[cjh] Make the note edit view the full page width.


------
v1.0.7
------

Horde Changes
-------------
[jan] SECURITY: Add another check to the XSS filter.


------
v1.0.6
------

[jan] Update Services_Weather package to fix changes in the weather.com API.

Horde Changes
-------------
[cjh] SECURITY: Escape item names in the object browser (Bug #6906).
[jan] Fix large messages being rendered empty with PHP 5.2 (Bug #5792).

Calendar Changes
----------------
[cjh] SECURITY: Fix XSS in the add event screen.
[jan] Add Turkish translation (Altay Ozaygen <horde-tr@metu.edu.tr>).


------
v1.0.5
------

Horde Changes
-------------

[cjh] SECURITY: Fix arbitrary file inclusion through abuse of the theme
      preference.


------
v1.0.4
------

Address Book Changes
--------------------
[cjh] SECURITY: Fix unchecked access to contacts in the same SQL table
      (Bug #6208).


------
v1.0.3
------

[jan] SECURITY: Fix privilege escalation in Horde API.
[cjh] SECURITY: Fix missing ownership validation on share changes.

Horde Changes
-------------
[jan] SECURITY: Filter out FRAME tags from HTML messages (CVE-2007-6018).
[jan] SECURITY: The XSS filter passes the complete XSS cheat sheet
      (http://ha.ckers.org/xss.html) now.
[jan] Apply user name hooks when editing share permissions
      (steinkel@ctinetworks.com, Bug #5844).
[jan] Fix fixed portal blocks (Bug #5853).

Calendar Changes
----------------
[jan] Set the user's timezone in the free/busy information.
[jan] Fix redirection after editing an event from the sidebar menu (Bug #5769).

Tasks Changes
-------------
[cjh] Send iCalendar data as UTF-8.


------
v1.0.2
------

Horde Changes
-------------
[cjh] Fix identity javascript when some fields are disabled
      (veikko@immonen@otaverkko.fi, Bug #5595).
[cjh] Disable the Turkish locale if using PHP 5 (see
      http://bugs.php.net/bug.php?id=35050).
[jan] Improved webroot detection (Request #4126).
[jan] Fix selecting the language on the login screen (Bug #5098).
[jan] Fix searching for single quotes in email headers (qa@cpanel.net, Bug
      #4854).
[jan] Fix portal layouts with more than one horizontally expanded block per
      row.

Address Book Changes
--------------------
[mjr] Fix some fatal errors caused by the IMSP driver when deleting certain
      contacts and while adding contacts to lists in certain cases.
[mjr] Fix adding contacts to a new contact list in a source other than the
      source the contacts being added are from.
[jan] Fix paging through search results from another than the default address
      book (Bug #5137).
[cjh] Fix copy/moving contacts to a new contact list (Bug #5144).

Calendar Changes
----------------
[cjh] Display attendees list correctly without a mail/compose method (Bug
      #5127).
[cjh] Send iCalendar data as UTF-8 (Bug #5427).
[jan] Fix duration of remote and imported full-day events (Bugs #4617, #4794).
[jan] Fix recurring multiday events crossing a month border (Bug #5205).
[jan] Fix duration calculation in edit form for events covering more than a
      month (Bug #5120).

------
v1.0.1
------

[jan] Add instructions for manually installing database tables.

Horde Changes
-------------
[jan] SECURITY: Correctly quote file names in cleanup script for temporary
      files.
[jan] SECURITY: Fix an XSS vulnerability in the language selection.
[jan] Fix RPC authentication on CGI SAPIs.
[jan] Detect unencrypted PGP messages.
[jan] Complete Cyrus virtual domain support in cyrsql driver (Vilius Sumskas
      <vilius@lnk.lt>, Request #4967).
[jan] Add option whether to strip domains from usernames in the account block
      (Request #4955).
[jan] Fix email lists not being validated under certain conditions (Bug #4834).
[cjh] Add a REST-ful preferences interface.
[cjh] Faster DataTree-to-SQL History migration script
      (josh@endries.org, Request #4732).
[cjh] Improved automatic webroot detection (Ben Klang, Request #4126).
[cjh] Rewrite and fix the OCI8 SessionHandler (Bug #3452).
[cjh] Allow signup hooks to override the user_name and password fields
      (thomas@gelf.net, Request #2904).
[cjh] Fix creation of mailbox quotas by the Auth_cyrus driver
      (pascal@vmfacility.fr, Bug #4678).
[cjh] Add "Save and Finish" to the share edit window (webmgr@muskingum.edu,
      Request #4307).
[cjh] Let mailto: and anchor (#) links through Horde::externalUrl (Bug #3079).
[cjh] Add smbclient version of the SMB Auth class (larry@wimble.biz,
      Request #4338).
[cjh] Remove problematic "data descriptor" segment from generated ZIP files
      (reitsma@denison.edu, Bug #4670).
[cjh] Strip accesskeys from menu tooltips when only showing icons (Bug #4667).
[jan] Fix saving files in the root directory of an SQL VFS backend (Bug #4652,
      Ben Klang <ben@alkaloid.net>).
[jan] Fix displaying all maintenance tasks to be confirmed at once (Bug #4377).
[cjh] Fix return format of DataTree_null::getByAttributes()
      (thomas.jarosch@intra2net.com, Bug #4651).
[jan] Support departments in vCard's ORG properties (martin@matuska.org,
      Request #4285).
[cjh] Rename Auth_sasl backend to Auth_peclsasl to avoid conflicts with PEAR's
      Auth_SASL (Bug #4547).
[cjh] Implement handling of vTimezones in iCalendar data
      (Carl Thompson <lists-horde@carlthompson.net>, Bug #4399).
[cjh] keybindings.js now works with Safari/KHTML.
[jan] Avoid recursive folder creation when sharing Kolab folders
      (michael.sheldon@credativ.de, Bug #4325).
[jan] Add Kolab specific account block driver to support special Kolab users
      (mzizka@hotmail.com, Request: #4119).
[mms] Only dim below the last signature line of input text in the dimsignature
      Text_Filter driver.

Address Book Changes
--------------------
[jan] Fix character set encoding of exported vCards.
[mjr] Fix fatal error when exporting to vCard.
[cjh] Organize basic search form from left to right (Request #4914).
[jan] Fix links to only show contacts or lists, or both.
[mjr] Don't remember the lastly selected address book in the session, if it
      was not browseable.
[mjr] Fix bug that caused counting the number of contacts in a shared SQL
      source to return the count of the user's default address book instead.
[mjr] Fix bug that caused the wrong address book to be deleted when replacing
      an address book during import.

Calendar Changes
----------------
[jan] Fix character set encoding of exported vCalendar/iCalendar data.
[jan] Fixed MS-SQL driver (Bug #5088).
[jan] Add Catalan translation (Jordi Giralt <projecte.k2@upcnet.es>).
[jan] Fix searching for non-ascii strings (Bug #4773).
[cjh] Display partial hours in free/busy view (cbs@cts.ucla.edu,
      Request #4755).
[cjh] Honor date_format preference in reminders and notifications (Bug #4726).

Tasks Changes
-------------
[jan] Show alarms for overdue tasks too.
[jan] Add Catalan translation (Jordi Giralt <projecte.k2@upcnet.es>).


----
v1.0
----

[jan] Fix problems with CGI versions of PHP and the setup script.
[jan] Fix email lists not being validated under certain conditions (Bug #4834).

Calendar Changes
----------------
[cjh] SECURITY: Close arbitrary file inclusion in free/busy views.


--------
v1.0-RC3
--------

[jan] Remove duplicate directories.


--------
v1.0-RC2
--------

[jan] Prompt for webroot in the setup script to avoid cookie problems.
[jan] Fix creation of primary keys for SQLite and PostgreSQL databases.
[jan] Add Console_Table and File_Find from PEAR for the translation script.

Calendar Changes
----------------
[cjh] Set vEvent ORGANIZER to the event creator, not the calendar owner
      (kajtzu@basen.net, Bug #4527).
[jan] Fix importing of events without end date and duration (Bug #4519).
[jan] Correctly display recurring events spanning multiple days (Bug #4438).
[jan] Fix recurrence end dates with SQLite backends (Bug #4219).
[jan] Fix calculation of recurrence ends with imported and remote events
      (Bug #2813).
[cjh] Consolidate the check for whether or not users can add events in
      the day and month views (Bug #4373).
[jan] Fix alarms for recurring events in Kolab driver
      (michael.sheldon@credativ.de, Bug #4326).
[jan] Show error message if imported file didn't contain events.
[cjh] Fix the SQL types of several recurrence fields.
[jan] Add categories from imported events to the user's categories.
[jan] Add Slovenian translation (Duck <duck@obala.net>).
[jan] Deal with attendee email addresses case insensitively.
[jan] Don't consider events from remote calendars as busy time.
[jan] Always try to return the correct event instance if requesting an event
      by its UID (Thorsten Schaub, Bug #1994).
[cjh] Fix permissions for the calendar list in advanced search (Bug #4093).

Address Book Changes
--------------------
[jan] Support departments in vCard's ORG properties (martin@matuska.org,
      Request #4285).
[cjh] Fix LDAP driver check for whether objects need to be renamed (Bug #4468).
[jan] Fix generation of mailto: links if IMP is not installed (Bug #4334).
[jan] Show error message if imported file didn't contain contacts (Bug #4260).
[jan] Remember the lastly selected address book during the session.
[jan] Add categories from imported contacts to the user's categories.

Tasks Changes
-------------
[jan] Show error message if imported file didn't contain tasks.
[jan] Add categories from imported contacts to the user's categories.
[jan] Fix import of CSV data.
[jan] Add Slovenian translation (Duck <duck@obala.net>).
[jan] Show personal tasklist by default with disabled preferences (Bug #4078).

Notes Changes
-------------
[jan] Show error message if imported file didn't contain notes.
[jan] Add Slovenian translation (Duck <duck@obala.net>).
[jan] Add categories from imported contacts to the user's categories.
[jan] Show personal notepad by default with disabled preferences (Bug #4078).


--------
v1.0-RC1
--------

[jan] First release candidate.