package.xml0000664000175000017500000004445212654153370011316 0ustar janjan groupware pear.horde.org Horde Groupware Horde Groupware is a free, enterprise ready, browser based collaboration suite. Users can manage and share calendars, contacts, tasks and notes with the standards compliant components from the Horde Project. Jan Schneider jan jan@horde.org yes 2016-02-02 5.2.12 5.2.0 stable stable OSI certified * [jan] Update Horde, Turba, Kronolith, Nag, Mnemo, Gollem, Trean, and Timeobjects. 5.3.0 1.7.0 webmail pear.horde.org content pear.horde.org 2.0.5 3.0.0alpha1 3.0.0alpha1 gollem pear.horde.org 3.0.6 4.0.0alpha1 4.0.0alpha1 horde pear.horde.org 5.2.9 6.0.0alpha1 6.0.0alpha1 kronolith pear.horde.org 4.2.12 5.0.0alpha1 5.0.0alpha1 mnemo pear.horde.org 4.2.9 5.0.0alpha1 5.0.0alpha1 nag pear.horde.org 4.2.7 5.0.0alpha1 5.0.0alpha1 timeobjects pear.horde.org 2.1.1 3.0.0alpha1 3.0.0alpha1 trean pear.horde.org 1.1.4 2.0.0alpha1 2.0.0alpha1 turba pear.horde.org 4.2.12 5.0.0alpha1 5.0.0alpha1 4.0.0 4.0.0 beta beta OSI certified * First stable release of Horde Groupware 4.0. 4.0.1 4.0.0 stable stable 2011-07-05 OSI certified * [jan] Update Horde, Turba, Kronolith, and Nag. * [jan] Set release level to stable. 4.0.2 4.0.0 stable stable 2011-08-02 OSI certified * [jan] Update Horde, Turba, and Kronolith. 4.0.3 4.0.0 stable stable 2011-09-21 OSI certified * [jan] Update Horde, Turba, Kronolith, and Content. * [jan] Fix German title of tasks portal block (Bug #10486). 4.0.4 4.0.0 stable stable 2011-11-23 OSI certified * [jan] Update Horde, Turba, Kronolith, and Nag. 4.0.5 4.0.0 stable stable 2011-12-13 OSI certified * [jan] Update Horde, Kronolith, Nag, and Mnemo. 4.0.6 4.0.0 stable stable 2012-01-17 OSI certified * [jan] Update Turba, and Kronolith. 4.0.7 4.0.0 stable stable 2012-04-11 OSI certified * [jan] Update Horde, Turba, Kronolith, Mnemo, and Timeobjects. 4.0.8 4.0.0 stable stable 2012-05-29 OSI certified * [jan] Update Horde, Turba, Kronolith, Nag, Mnemo, and Timeobjects. 4.0.9 4.0.0 stable stable 2012-05-29 OSI certified * [jan] Update Horde, Turba, Kronolith, Nag, and Mnemo. 2012-10-29 5.0.0RC1 5.0.0RC1 beta beta OSI certified * First release candidate of Horde Groupware 5.0.0. 5.0.0 5.0.0 stable stable 2012-10-30 OSI certified * First stable release of Horde Groupware 5.0.0. 5.0.1 5.0.0 stable stable 2012-11-07 OSI certified * [jan] Update Horde and Kronolith. 5.0.2 5.0.0 stable stable 2012-11-27 OSI certified * [jan] Update Horde, Turba, Kronolith, Nag, Mnemo, and Content. 5.0.3 5.0.0 stable stable 2013-01-10 OSI certified * [jan] Update Horde, Turba, Kronolith, Nag, Mnemo, and Timeobjects. 5.0.4 5.0.0 stable stable 2013-02-12 OSI certified * [jan] Update Horde, Turba, Kronolith, Mnemo, and Timeobjects. 5.1.0RC1 5.1.0 beta beta 2013-05-30 OSI certified * [jan] Add Gollem and Trean. * [jan] Update Horde, IMP, Ingo, Turba, Kronolith, Nag, and Mnemo. 5.1.0 5.1.0 stable stable 2013-06-05 OSI certified * Final release. 5.1.1 5.1.0 stable stable 2013-07-17 OSI certified * [jan] Update Horde, Turba, Kronolith, Nag, Mnemo, Trean, and Content. 5.1.2 5.1.0 stable stable 2013-09-03 OSI certified * [jan] Update Horde, Turba, Kronolith, Nag, Gollem, and Timeobjects. 5.1.3 5.1.0 stable stable 2013-10-29 OSI certified * [jan] Update Horde, Turba, Kronolith, Nag, and Mnemo. 5.1.4 5.1.0 stable stable 2014-03-10 OSI certified * [jan] Update Horde, Turba, Kronolith, Nag, Mnemo, and Gollem. 5.1.5 5.1.0 stable stable 2014-07-07 OSI certified * [jan] Update Horde, Turba, Kronolith, Nag, Content, and Timeobjects. 5.2.0RC1 5.2.0 beta beta 2014-07-01 OSI certified * [jan] Update Horde, Turba, Kronolith, Nag, Mnemo, and Trean. 5.2.0 5.2.0 stable stable 2014-07-08 OSI certified * [jan] Update Horde, Turba, Kronolith, Nag, Mnemo, and Trean. 5.2.1 5.2.0 stable stable 2014-08-04 OSI certified * [jan] Update Horde, Turba, Kronolith, Nag, Mnemo, Gollem, and Trean. 5.2.2 5.2.0 stable stable 2014-09-08 OSI certified * 5.2.3 5.2.0 stable stable 2014-10-29 OSI certified * [jan] Update Horde, Turba, Kronolith, Nag, and Mnemo. 5.2.4 5.2.0 stable stable 2014-12-03 OSI certified * [jan] Update Horde, Turba, Kronolith, Nag, and Mnemo. 5.2.5 5.2.0 stable stable 2015-02-10 OSI certified * [jan] Update Horde, Turba, Kronolith, Nag, and Mnemo. 5.2.6 5.2.0 stable stable 2015-04-28 OSI certified * [jan] Update Horde, Turba, Kronolith, and Mnemo. 5.2.7 5.2.0 stable stable 2015-06-18 OSI certified * [jan] Update Horde, Turba, Kronolith, and Nag. 5.2.8 5.2.0 stable stable 2015-08-02 OSI certified * [mjr] Update Horde, Turba, Trean, Kronolith, Gollem, and Mnemo. 5.2.9 5.2.0 stable stable 2015-08-03 OSI certified * Release to fix version numbers in package file. 5.2.10 5.2.0 stable stable 2015-08-06 OSI certified * [mjr] Update Gollem. 5.2.11 5.2.0 stable stable 2015-10-22 OSI certified * [mjr] Update Horde, Turba, Trean, Kronolith, Gollem, Mnemo, and Nag. 5.2.12 5.2.0 stable stable 2016-02-02 OSI certified * [jan] Update Horde, Turba, Kronolith, Nag, Mnemo, Gollem, Trean, and Timeobjects. groupware-5.2.12/bin/groupware-install0000775000175000017500000000171712654153370016111 0ustar janjan#!/usr/bin/env php get('horde_dir', null, 'pear.horde.org') . '/lib/Application.php'; // Load the CLI environment. $cli = Horde_Core_Cli::init(); if (!$cli->runningFromCLI()) { $cli->fatal('This script must be run from the command line.'); } // Start. $cli->writeln(); $cli->writeln($cli->yellow($cli->bold('Installing Horde Groupware'))); $bundle = new Horde_Bundle($cli); $bundle->init(); $bundle->configDb(); $bundle->migrateDb(); $bundle->writeAllConfigs(); $bundle->configAuth(); // Finished. $cli->writeln(); $cli->writeln($cli->yellow($cli->bold('Thank you for using Horde Groupware!'))); $cli->writeln(); groupware-5.2.12/config/prefs.d/10-groupware.php0000664000175000017500000000205412654153370017477 0ustar janjan). Calendar Changes ---------------- [mjr] Fix missing truncated event description when using ActiveSync. [jan] Fix week number in basic view if week starts on Sundays. [mjr] Fix issue where new event could be created with exceptions from previously edited event. [jan] Mark preferences only available in basic mode. [jan] Fix accidental deletion of events if importing recurring events without a UID attribute (Bug #14208). [mjr] Honor confirm_delete preference in dynamic view (Bug #14188). [mjr] Correctly deal with cancelled meetings via ActiveSync. [mjr] Fix visibility of alarm titles when alarm is generated via CLI (Bug #14154). [mjr] Fix display of embed code by adding the full url. Tasks Changes ------------- [mjr] Enforce child tasks must be completed before parent tasks in edit form (Bug #12308). [mjr] Fix possible fatal error due to tasks created with an alarm but no due date (Bug #14214). [mjr] Fix storage of parent field when using Kolab driver (Bug #14197, mike.gabriel@das-netzwerkteam.de). [mjr] Fix switching tab/filters when using Kolab driver (Bug #14196, mike.gabriel@das-netzwerkteam.de). [mjr] Fix moving subtasks to another tasklist when parent task is moved (Bug #14209). [mjr] Fix fatal error when saving tasks when system shares are present in certain cases. [mjr] Return recurring tasks via listTimeObjects API (Bug #14137). [mjr] Prevent orphaning tasks via the API. Notes Changes ------------- [mjr] Fix fatal error when removing notepads in certain cases. File Manager Changes -------------------- [jan] Fix fatal error when cutting and pasting files on the same backend. Bookmarks Changes ----------------- [mjr] Fix tag links when tags contain URL special characters. Timeobject Changes ------------------ [jan] Add Italian translation (Massimo Balestrieri ). Library Changes --------------- [jan] Improve Oracle compatibility. ActiveSync [mjr] Fix RECUR_YEARLY_DAY recurrences showing up every day. [mjr] Fix regression introduced by checking device remote wipe during PING requests. [mjr] Fix mailbox searches with non 7-bit characters. [mjr] Allow global request window size limit to be overridden. [mjr] Fix issue where global request window size was being reached prematurely. [mjr] Fix potential fatal error due to incorrect exception name. [mjr] Fix issue that prevents new device being added if an entry exists in the device user table but not the device table (Bug #14147). [mjr] OL2016 added to device multiplex settings. [mjr] Improved workaround for clients with broken picture tag handling. Browser [mjr] Don't set the empty_file_input_value quirk for recent Safari versions (Bug #14207). Cache [jan] Improve performance and memory consumption of garbage collection in File driver. [jan] Fix garbage collection in File driver. [jan] Fix caching issues within the same request in the Memcache driver. [jan] Fix the Mongo driver's expire() if not using a logger. [jan] Add unit tests. Core [mjr] SECURITY: Fix XSS in Horde_Core_VarRenderer_Html (reported by Centurion Information Security ). [jan] Pass Horde_Cache to Horde_Group if group caching enabled. [mjr] Fix handling of empty tags strings in certain use cases (Bug #14203). [mjr] Fix fatal error when using count_bad_logins in SQL auth driver. [mjr] Support sending MDN via ActiveSync (Request #23080). [mjr] Fix issue with synchronizing IMAP folder names that contain only numbers. [mjr] Small logging improvements for ActiveSync. [mjr] Match various session parameters in the NULL driver. Crypt [jan] Add Horde_Crypt_Pgp::pgpPacketInformationMultiple() and Horde_Crypt_Pgp_Backend_Binary::packetInfoMultiple() (Request #13190). [jan] Fix retrieving PGP keys from the keyserver with certain HTTP client backends. [jan] Fix creating PGP keys with comments (Bug #14125). Date [mjr] Add Horde_Date_Recurrence::isEqual(). Db [jan] Bump earliest supported PostgreSQL version to 8.3. [jan] Improve getting tables and indexes from PostgreSQL servers (Ivan Sergio Borgonovo ). [mjr] Fix SQL error when setting blob fields to empty in oracle driver (Bug #14163). [jan] Add 'status' argument to horde-db-migrate-component (Nicolas Rochelemagne ). Form [jan] Fix field types being overwritten in certain cases. [jan] Allow any empty format specifiers for the monthdayyear field (Bug #14130). Group [jan] Add caching support. Http [jan] Fix disabling SSL certificate hostname check (Thomas Jarosch , Bug #12929). Icalendar [mjr] Fix cases where incorrect transition times were being returned (Bug #14153). Imap_Client [jan] Don't try LOGIN authentication over secure connections if explicitly disabled. [mjr] Fix fatal error during shutdown due to incorrect exception name. [jan] Fix broken ID requests under certain circumstances. [jan] Fix parsing IMAP responses with tilde characters. Kolab_Storage [mjr] Fix decoding base64 encoded Kolab objects (Bug #14199, mike.gabriel@das-netzwerkteam.de). [mjr] Fix updating Kolab data that contains non 7-bit data (Bug #14201). [mjr] Implement a token based syncronization strategy for servers with QRESYNC/MODSEQ support. [mjr] Improve debug logging. [mjr] Add full Horde_History support for better Kolab<->Horde<->Sync client support. Mime_Viewer [jan] Add temp_dir configuration parameter to OpenOffice/LibreOffice viewer (Request #11756). Perms [mjr] Use NULL instead of an empty string in the perms_parents field for root permissions. Service_Weather [jan] Catch Horde_Date exceptions and try harder to provide dates for weather alerts. [jan] Fix undefined variable warnings. SessionHandler [jan] Fix updating large files in Oracle backends. [jan] Fix writing big session data to Oracle (Bug #14175). Socket_Client [jan] Enable TLS 1.1 and 1.2 connections (Request #14190). SyncMl [jan] Split large objects into multiple messages (thomas@trethan.net, Request #11071). [jan] Remove workarounds for ancient Synthesis clients (Bug #10942). Test [jan] Add Horde_Test_Stub_Registry#setConfigFile() to provide pre-configured Horde_Test_Stub_Registry_Loadconfig objects. Timezone [mjr] Fix generation of broken VTIMEZONE components for certain Rules (Bug #14221). ------- v5.2.11 ------- [jan] Update Italian translation. [mjr] Remove object reference from Content when object is deleted (Bug #14112). [mjr] Remove tags from Content when tagged object is deleted (Bug #14112). Horde Changes ------------- [mjr] SECURITY: Protect against CSRF attacks on various admin pages. [jan] Don't apply access keys to checkbox and radiobox rows in the sidebar (Bug #14103). [jan] Send correct MIME type for non-statically cached javascript files. [mjr] Added configuration support for version 2 of WorldWeatherOnline's API. Address Book Changes -------------------- [mjr] Better prevention of importing duplicate contacts with same email addresses via the API (Bug #14119). [mjr] Allow API to search all email type fields when calling getField(). [mjr] Fix removing all contacts owned by a specific user. [jan] Fix inserting and updating photos with Oracle backends. [mjr] Fix incorrectly populating email field when importing vCard (Bug #14046). Calendar Changes ---------------- [mjr] Fix issue when replacing an event via the API when the attendee list changes. [mjr] Fix exporting events from Horde_Perms::SHOW calendars over DAV (Bug #14128). [mjr] Send CACNEL iTip when attendee is removed from a meeting (Request #14118). [mjr] Fix incorrect offset of freebusy times in certain cases (Bug #14084). [mjr] Fix handling of email groups as attendees (Bug #14093). [mjr] Fix importing text/calendar data via API (Bug #14089). Library Changes --------------- [jan] Catch possible exceptions in shutdown methods. ActiveSync [mjr] Fix issue in sending email from client due to input stream not being seekable on some systems (Bug #13160). [mjr] Work around bug in early versions of iOS that could cause a contact's picture to be removed on the server. [mjr] Improved client and version detection, especially for iOS devices. [mjr] Fixed bug that was causing SUPPORTED data to be overwritten. [mjr] Change some ERR log level entries to WARN and some other small logging tweaks. [mjr] Don't take sub-parts of rfc822/message parts as attachments. [mjr] Fix handling of meeting requests that contain no DTEND attribute. [mjr] Fix parsing of SETTINGS request that was causing a harmless WBXML parsing error. [mjr] Explicitly request a FOLDERSYNC when backend id is not found. [mjr] Fix corruption of base64 encoded text parts in certain cases (Bug #14092). [mjr] Work around bug in various versions of PHP 5.5 and 5.6 regarding base64-encode stream filters (Bug #14086). [mjr] Fix issue where incorrect text/html part is choosen as the main body part. Core [mjr] Fix ajax updating of Weather block when weather map is shown. [mjr] Fix detecting an application's ability to send Horde_Alarm notifications (Bug #14098). [mjr] ActiveSync logging improvements. [mjr] Add support for OpenWeatherMap layers in Horde_Map. [mjr] Fix edge-case issue with ActiveSync folder list generation when installed application contains no user writable sources. [mjr] Fix dependency on possibly missing Horde_Kolab_Storage_HistoryPrefix interface (Bug #14099). [mjr] Add beforeUpdate callback to prettyautocompleter.js. [mjr] Support configuration for version 2 of WorldWeatherOnline's API. Crypt [mjr] Fix PHP 5.3 incompatibility (Bug #14090). Image [cjh] Fix EXIF data not being returned in Bundled driver. Imap_Client [mjr] Avoid PHP warning when listing mailboxes without LIST-STATUS (Bug #14097). [mms] Improved performance of Horde_Imap_Client_Data_Thread object when containing large number of messages (Request #14075). [mms] Catch translation errors when creating Exceptions (PR #143; baso10dev@gmail.com). Mime [mjr] Correctly work around PHP bug 65776. Nls [jan] Add ALPHA-3 country codes. Notification [jan] Do not silent the potentially fatal require_once. Pdf [mjr] Avoid some PHP warnings. Secret [jan] Remove unnecessary include. Service_Weather [mjr] Add support for OpenWeatherMap API. [mjr] Add support for radar maps if provider provides them. [mjr] Add support for weather alerts. [mjr] Update WWO to support the v2 API (Request #14094). SessionHandler [jan] Test environment improvements. ------- v5.2.10 ------- Files Changes ------------- [mjr] SECURITY: Fix XSS vulnerability when viewing directory contents (Discovered by http://www.beyondsecurity.com/ssd.html). ------ v5.2.9 ------ [mjr] Bundle release to fix version numbers in package file. ------ v5.2.8 ------ [jan] Update Czech translation. [jan] Update Italian translation. [jan] Update German translation. [jan] Update Hungarian translation. Horde Changes ------------- [mjr] Don't create a session for Webdav requests (Bug #14040). [jan] Mark PHP 5.6 as officially supported. [mjr] Fix some issues with the permission interface when a value of 0 is a valid permission value (Bug #14025). Address Book Changes -------------------- [mjr] Fix issue where sidebar links point to incorrect address book. Calendar Changes ---------------- [mjr] Fix enabling deletion of resources for non-admin users (Bug #14069). [mjr] Honor workweek view as the login_view (Bug #14042). [mjr] Fix Permission Denied error after removing a currently displayed timeObject (Bug #14022). [jan] Enable purge calendar checkbox if user has delete permissions. [mjr] Honor locking the remote_cals preference. [mjr] Fix detecting duplicate events during import via the API (Bug #14018). Notes Changes ------------- [mjr] Fix inconsistent handling of incoming HTML notes from ActiveSync clients (Bug #14045). [mjr] Allow more reasonable length of description field to interop better with synchronized clients (Bug #14041). Bookmarks Changes ----------------- [mjr] Fix shebang (after install) for trean scripts (Remi Collet ). [mjr] Use the favicon when returning tag search results via the API if possible. Library Changes --------------- [jan] Update Galician translation. [jan] Update Ukrainian translation. [jan] Fix Composer files. ActiveSync [mjr] Fix display of certain Multipart/Report messages, on certain clients. [mjr] Improve handling of authentication/policy errors. [mjr] Fix renaming email folder when using PostgreSQL state storage (Bug #14019, horde@albasoft.com). Auth [jan] SECURITY: Don't allow to login to LDAP with an emtpy password. [mjr] Ensure we rebind as configured user after testing auth user credentials. Core [jan] SECURITY: Don't allow to login with an empty password. [mjr] Map Kolab distribution-list items to the contacts API (Bug #14038). [mjr] Prevent various broken behaviors on ActiveSync clients due to errors copying an email to sent mail folder or updating the maillog (Bug #14058). [jan] Give administrators access to all groups, even with $conf['share']['any_group'] disabled. Crypt [jan] Fix issues with certain locales like Turkish. [mms] Split gnupg command-line binary specific code out into a separate PGP backend driver. [mms] S/MIME encryption is now done only with AES (if using PHP 5.4+) or 3DES. Css_Parser [jan] Prevent segfault due to non-ascii characters on some systems. [jan] Fix PHP7 error because of reserved "String". Form [jan] SECURITY: Fixed XSS in form renderer. [mjr] Prevent empty email addresses from being detected as a valid "multiple" email (Bug #14063). History [jan] Improve performance of database migration. Icalendar [jan] Fix generated VALARM TRIGGER attributes with empty duration (Ralf Becker ). Imap_Client [mms] Ensure FETCH stream data is rewound before returning (Bug #14013). [mjr] Fix detecting empty ID queries (Bug #14044). Mail [mms] Fix validating sent messages if the driver supports EAI addresses. [mjr] Fix sending mail via PHP's mail function (Steffen Lindner ). Perms [mjr] Fix issues when a value of 0 is a valid value for the permission (Bug #14025). Rpc [mjr] Send more appropriate HTTP status codes on ActiveSync authentication failure. Util [jan] Fix test that could fail due to changes in glibc. Vfs [jan] Make 'port' parameter of Smb driver optional. [jan] Add 'domain' parameter to Smb driver. [jan] Allow to specify a fixed leading directory in Smb driver. ------ v5.2.7 ------ Horde Changes ------------- [jan] Use Horde_Ldap in example preference hooks. [jan] Convert REDIRECT_HTTP_AUTHORIZATION to HTTP authentication headers too. [jan] Display MOTD on mobile login screen. Address Book Changes -------------------- [jan] Fix error when removing user data. Calendar Changes ---------------- [jan] Don't delete existing exceptions and completions when editing recurring events or tasks. [jan] Fix importing iCalendar events via the API (Bug #13975). Tasks Changes ------------- [jan] Fix positioning of dialog windows. [jan] Don't delete existing completions when editing a recurring task. [jan] Only delete the last completion when toggling a recurring task to incomplete. Library Changes --------------- ActiveSync [mjr] Reduce memory usage during IMAP FETCH with very large mailboxes. [mjr] Workaround broken CGI behavior of sending incorrect authentication headers. [mjr] Fix issues with detecting changes in FILTERTYPE. [mjr] Performance improvements during IMAP server change detection for CONDSTORE servers, especially during FILTERTYPE changes. [mjr] Fix issue when using REPLACEMIME feature of SENDMAIL and some other edge cases (Bug #13901). [mjr] Fix off by one error that could cause some errors in downstream client code. [mjr] Fix detecting changes in email message "Flag" sent from certain clients. [mjr] Fix regression causing useless backend query. [mjr] Fix bug causing changes to be sent as new messages, thus causing them to be ignored by most clients. [mjr] Fix sending SMIME signed/encrypted mail when using streams. [mjr] Fix regression that could cause loss of mailbox sync. [mjr] Fix issue that could cause sending the same email to the client multiple times (Bug #13985). [mjr] Performance and memory improvements, especially during initial sync to Outlook clients. Core [mjr] Fix typo that was causing ActiveSync FILTERTYPE changes to go undetected. [mjr] Support for Horde_History in Horde_Kolab_Storage. Requires Horde_Kolab_Storage 2.2.0+. [jan] Don't allow empty From: addresses if verifying identities. [mjr] Fix fatal error when disconnecting a user Twitter account. [mjr] Work around broken ActiveSync clients that send incorrect line lengths for text/html parts (Bug #13901). [mjr] Fix issue causing message text from email forwarded from ActiveSync clients to be missing (Bug #14000). [mjr] Fix duplicate attachments in certain messages that were forwarded by ActiveSync clients. [mjr] Fix issue that could cause sending the same email to an ActiveSync client multiple times (Bug #13985). [mjr] Performance and memory improvements to ActiveSync. Crypt_Blowfish [mms] Add Horde_Crypt_Blowfish_Pbkdf2. Date [jan] Support monthly recurrence by last weekday (Request #1922). [jan] Support negative occurrences in Horde_Date#setNthWeekday(). [jan] Add Galician translation. Icalendar [mms] Add Horde_Icalendar#getAttributeSingle(). Imap_Client [mjr] Fix detecting changes when using tokens. [mms] Add support for SCRAM-SHA-1 authentication (RFC 5802) for both IMAP and POP3 drivers. [mms] Directly store literal data in a separate stream when parsing IMAP tokens, so we don't have to duplicate the stream later when processing it. [mms] Don't load literal IMAP data into a string variable when tokenizing IMAP input. [mms] Fix search queries where ID list given is explicitly empty, indicating that a match can never be successful (Bug #13971). [mms] Fix expunging in certain cases when UIDPLUS is not available (Bug #13970; Robin McCorkell ). Mime [mms] Correctly output MIME headers when generating multipart/digest parts (RFC 2047 [5.1.5]). Service_Twitter [mjr] Remove obsolete end_session endpoint. Share [jan] Fix returning user and group permissions for system shares using the SQLNG driver. Stringprep [mms] Fix some autoloading issues. ------ v5.2.6 ------ Horde Changes ------------- [jan] SECURITY: Fix XSS vulnerability in group administration. [mjr] Fix display of Facebook block by removing no longer allowed notification data. Address Book Changes -------------------- [jan] Don't try to load Content application if tags are disabled. [mjr] Fix adding tags to new contacts (Bug #13884). [jan] Fix waiting for replication on LDAP backend. Calendar Changes ---------------- [jan] Fix building recipient list for event update notifications. [mjr] Honor background color for listTimeObjects API calendars (Bug #13951). [jan] Always sort users in advanced sharing dialog (Bug #13938). [mjr] Fix saving recurring event after a change in resources (Bug #13921). [mjr] Fix creating recurrence exceptions from CalDAV clients. [jan] Added an index to find base events of recurrence exceptions faster. [jan] Fix finding duplicate events by UID. [mjr] Fix updating FB data when start date changes. [mjr] Fix detecting attendees when email address is not lowercase (Bug #13905). [jan] Fix duplicate group names in sharing dialog. [jan] Fix JavaScript error when saving an unselected calendar. [mjr] Fix using custom SQL configuration parameters. Notes Changes ------------- [mjr] Fix using custom SQL configuration parameters. Library Changes --------------- [jan] Fix issues with certain locales like Turkish. ActiveSync [mjr] Fix issue where badly formed emails could cause out of memory error. [mjr] Fix issue that could break sync if a badly formed email address could not be parsed. [mjr] Fix PARTIAL SYNC handling when no COLLECTIONS are provided (Bug #13912). [mjr] Detect stock Android 5.0 multiplex settings. [mjr] Fix broken sync due to clients that send badly formatted date strings. [mjr] Fix fatal error when dealing with iTip replies from vTodo requests. [mjr] Return email search results in descending order by arrival date. [mjr] Add HTCOne Mini to device detection and set multiplex ability accordingly. [mjr] Fix handling of PARTIAL and EMPTY sync requests in certain cases (Bug #13863). Auth [jan] Improve salt generation for Blowfish hashes. Compress [jan] Fix fatal error due to incorrect class name case (Ralph Becker ) [mms] Fix leaking Horde_Date exceptions. [mjr] Improve detection of ORGANIZER when decoding MAPI encoded vTODOs. [mms] Fix decoding of Unicode Strings in TNEF MAPI attributes. [mjr] Fix possible fatal error when parsing certain types of Vtodo files. [mjr] Add support for generating vTodo from TNEF embedded MAPI TASK objects. [mjr] Add option to inject a logger object. [mjr] Improve support for decompressing TNEF data. Core [jan] Upgrade prototype.js to version 1.7.2. [jan] Fix editing existing LDAP timeout configuration (Bug #13949). [mms] Fix regression in removing CBC cipher mode when encrypting data within a session (Bug #13869). [mjr] Fix combination X509 and http plain authentication with ActiveSync. [jan] Revert to using ECB mode for encryption, to not break existing credentials (Bug #13869). [mjr] Fix replying to email from search results in some broken ActiveSync clients (Bug #13878). [jan] Fix propagating the LDAP hostspec configuration field (Bug #13872). Group [jan] Add schema definition for LDAP groups. [jan] Don't throw exception from listUsers() if group not found in LDAP directory (Bug #13879). HashTable [jan] Fix setting key prefixes. History [jan] Make cached entries available to garbage collection. Http [jan] Allow to pass Horde_Url objects as URI (Bug #13897). [jan] Make Horde_Http_Base_Response::headers array keys lowercase again (Bug #13843). [jan] Fix return code from multi-request actions in Peclhttp2 driver. Idna [mms] Use intl extension, if installed, and fallback to a locally-patched version of the true/php-punycode package. Image [jan] Fix transparent rectangles in SVG backend. [jan] Fix setting background color in SVG backend. [jan] Add 'ratio' parameter to Horde_Image_Effect_Imagick_LiquidResize. [jan] Fix catching exceptions from imagick extension. [jan] Complete the backends' capabilities properties. [jan] Fix SVG and SWF backends. [jan] Fix setting background color in Horde_Image_Swf constructor. [jan] Send Content-Type header in Horde_Image_Svg#display(). [jan] Improve arc rendering with Im backend. [jan] Enable antialiasing in GD backend if available. [jan] Implement Horde_Image_Imagick::arc(). [jan] Fix rounded rectangle drawing with GD backend. [jan] Fix transparency issues with GD backend. [jan] Fix autoloading of effect classes. [jan] Fix border effect with GD driver. [jan] Don't error out in effects if a logger hasn't been set. [jan] Make getImageAtIndex() always return an image. [jan] Don't error our when calling unsupported manipulation methods. [jan] Make Horde_Image::arcPoints() work with any angles. [jan] Fix some HTML color name to RGB value mappings. [jan] Add Horde_Image_Rgb class and remove $horde_image_rgb_colors global. [jan] Add Null driver for basics like just displaying the image. [mjr] Fix incorrect color renderings in certain situations. Imap_Client [mms] Fix parsing mailbox name from STATUS response on servers that have the UTF8 extension enabled. [jan] Fix searching with non-ASCII strings in AND/OR-combined searches. [jan] Fix issues with certain locales like Turkish. [mms] Pipeline ID command with other commands, if possible. [jan] Add parameter for stream context settings (Request #13730). Itip [mjr] Add support for iTip responses to vTodo requests. Kolab_Storage [jan] Fix deleting object attachments from cache (Bug #13268). Ldap [jan] Fix connection if using ldaps:// scheme (Bug #13858). Mail [mms] Add support for outputting comment information when writing an address. Mapi [mjr] Remove bcmath extension requirement and add PEAR Math_BigInteger package in it's place. Mime [mms] Fix rare errors when multiple iterations are occurring on the same set of MIME parts. [mms] Fix indexing MIME part when base is a multipart object. [mms] Ignore broken headers when parsing header text. [mms] Subpart manipulation should now be done via array access. [mms] Add recurisve iteration to the Horde_Mime_Part object. [mms] Work around broken line-oriented data when transfer encoding (Bug #13835). [mms] Fix regression in using the deprecated Horde_Mime::generateMessageId() method (Bug #13846). [mms] Add Horde_Mime_Headers_ContentId class. [mms] Add Horde_Mime_Headers_ContentTransferEncoding class. [mms] Added Horde_Mime_Headers_Element#isDefault(). [mms] Add interface to differentiate between MIME and non-MIME headers. [mms] Content-Type and Content-Disposition related data is now handled internally in Horde_Mime_Part object by using Horde_Mime_Headers. [mms] Added the Horde_Mime_Headers_ContentLanguage class. [mms] Fix cloning of the Content-Type and Content-Disposition header objects. [mms] Ensure that null bytes are filtered from MIME data that is contained in the headers. [mms] Fix cloning of the Content-Type and Content-Disposition header objects. Mime_Viewer [mms] Add optional support to determine if link text is a hostname when doing phishing analysis for the HTML driver. Rpc [mjr] Fix fatal error when using pecl_http2. [mjr] Fix possible PHP error when returning HTTP 500 response. Service_Twitter [mjr] Fix fatal error when using pecl_http2. Service_Weather [mjr] Fix fatal error when using pecl_http (Bug #13897). Socket_Client [jan] Add parameter for stream context settings (Request #13730). [jan] Allow to pass hostname with protocol scheme prefix. [jan] Add getStatus(), gets(), read(), and write(). Smtp [mms] Fix sending BODY keyword when debugging and SMTP server does not support 8BITMIME extension. [jan] Add parameter for stream context settings (Request #13730). [jan] Fix notice if server doesn't support ENHANCEDSTATUSCODES. [mms] Add 'localhost' parameter to Horde_Smtp (Request #13832). Test [mms] Update to PHPUnit 4.5.0 and dependencies. Text_Filter [mjr] Prevent malformed urls from leaking exceptions (Bug #13965). [mjr] Fix failing tests on MacOS related to mulitbyte data contained in links. [mjr] Add nestingLimit parameter to Html2text filter. [jan] Add 'html' hint to Simplemarkup filter to indicate the input format. [jan] Match simple markup spanning a complete line too. Util [mms] Fix handling broken text input with all multibyte drivers. [mms] Fix error detection when using Horde_String::substr() with mb_substr(). Extensions ---------- horde_lz4 [jan] Fix PHP 7 compatibility (Remi Collet ). ------ v5.2.5 ------ Horde Changes ------------- [mms] Make dynamic context menus scrollable if taller than the browser screen height (Bug #13833). [jan] Fix horde-import-squirrelmail-prefs script (Bug #13780). [jan] Don't instantiate notification system for RPC requests. Address Book Changes -------------------- [jan] Fix export format of tags to vCard 3.0 categories (Bug #13800). Calendar Changes ---------------- [mjr] Fix generating calendar embed code (Bug #13828). [jan] Don't wipe out whole calendars when PUTing individual events via WebDAV. Tasks Changes ------------- [jan] Don't list task lists without SHOW permissions (Bug #13837). [jan] Use consistent checkbox. [jan] Don't allow deletion of tasks with sub-tasks (Bug #13809). [jan] Don't allow completion of tasks with incomplete sub-tasks and vice versa. [jan] Don't wipe out whole task lists when PUTing individual tasks via WebDAV. Notes Changes ------------- [jan] Don't list notepads without SHOW permissions (Bug #13838). [jan] Fix using custom SQL driver configuration. [mjr] Fix truncation of body text when synchronizing over EAS when no truncationsize option is sent from client (Bug #13755). Library Changes --------------- [jan] Improve PSR-2 compatibility. ActiveSync [mjr] Fix moving a mailbox to a new parent (Bug #13839). [mjr] Always send the attachmentsenabled policy, even when it's the default value of 'enabled' (Bug #13827). [mjr] Improve handling of FILTERTYPE changes after initial SYNC (Bug #13781). [mjr] Add Date header to emails sent from broken HTC clients (Bug #13784). [mjr] Add some more TRUNCATION related workarounds/fixes. [mjr] Improve/fix support for handling OOF messages (Bug #13719). [mjr] Fix incorrect converting of HTML to plaintext causing incorrect truncation size. [mjr] Fix BC break due to MessageBodyData improvements (Bug #13768). [mjr] Fix some WBXML parsing issues due to empty GET tags in SETTINGS requests. [mjr] Decode RIGHTSMANAGEMENTINFORMATION nodes. [mjr] Correctly implement BODYPART handling (Bug #13729). [mjr] Workaround some broken clients that send null content inside open/close tags instead of an empty tag (Bug #13719). [mjr] Fix regression in detecting iTip requests (Bug #13739). [mjr] Add support for clients that issue BODYPARTPREFERENCE options (Bug #13729). [mjr] Fix handling POOMCALENDAR_UID values to prevent broken meeting request behavior. [mjr] Fix handling of certain types of broken MIME messages (Bug #13728). [mjr] Fix issue that could cause broken sync when an email contains no text parts (Bug #13711). Alarm [mms] Fix fatal errors when stored alarm data cannot be unserialized. Autoloader_Cache [mms] Handle a cache miss by trying to load the class in its new location. Compress_Fast [mms] Add zlib driver and allow it to be considered a 'fast' compression driver (disabled by default). Core [jan] Fix notice when deleting identities. [jan] Fix NoSQL database name setting getting lost during configuration. [jan] Allow to configure multiple LDAP servers and timeout value. [mjr] Fixes for using ActiveSync without email sync enabled on Android 5 (Niklas Forsdahl ). [mms] Calling an application's changeLanguage method on language change now handled by Horde_Registry. [jan] Support non-ascii latin characters as access keys. [mms] Use more secure CBC block cipher mode when storing encrypted Blowfish data inside the session. [mms] If compressing/packaging javascript files, don't use pre-compressed version (if one exists) when generating. [mjr] Improvements in ActiveSync to handling the case when FILTERTYPE changes (Bug #13781). [mjr] Fix missing Date and From headers when saving sent mail from broken HTC clients (Bug #13784). [jan] Fix user names via DAV access when using authusername hooks. [jan] Fix updating of location in weather portal block. [mjr] Improve/fix support for handling OOF messages in ActiveSync (Bug #13719). [mms] Upgrade jQuery to v1.11.2. [jan] Call preference hooks for default values of new identities. [mms] Only load application notify handlers on demand. [mjr] Allow disabling maillog synchronization with EAS clients (Bug #13747). [jan] Log E_USER_WARNING, E_RECOVERABLE_ERROR, and E_USER_NOTICE messages at the correct level. [mjr] Add support for ActiveSync clients that issue BODYPARTPREFERENCE options (Bug #13729). Crypt [jan] Make all PGP features locale-independent. [mms] Fix parsing GPG packet information using the gnupg v2.1 binary. Css_Parser [mms] Update PHP-CSS-Parser lib to latest dev to fix issues on PHP < 5.3.9 (Bug #13792). [mms] Use composer to generate the distributed version of the PHP-CSS-Parser package. HashTable [jan] Add unit tests for Memcache and Redis backends. Http [jan] Add unit tests for PECL HTTP 1.x/2.x drivers. [mms] Horde_Http_Base_Response#getHeader() is now case-insensitive for the header input (Bug #13736). Idna [jan] Fix install paths (Bug #13785). [mms] Initial release. Image [mjr] Improve stream handling in bundled EXIF driver (Request #13788). [mms] Horde_Image_Exif_Bundled now supports reading data from a PHP stream, rather than a file. Imap_Client [mms] Fix serialization of Horde_Imap_Client_Data_Fetch objects. [mms] Workaround broken in-memory stream filter handling. [mms] Fix handling mailbox cache data when the mailbox returns NOMODSEQ. [mms] IMAP alerts can now be handled by registering an observer with the new Horde_Imap_Client_Base_Alerts object. JavascriptMinify [mms] Silence code warnings for Closure compiler (Bug #13789). Kolab_Server [jan] Remove PHPUnit dependency. Ldap [jan] Fix error when using custom separators in Horde_Ldap_Utils::canonicalDN(). [jan] Fix casefolding option not being passed to multivalued RDNs. [jan] Fix exists() with multivalued RDNs. [jan] Add 'timeout' parameter. Mail [mms] IDN support no longer requires intl to be built-in to PHP. Mime [mms] Fix setting a MIME part's contents when the data is the current stream resource of that part. [mms] Fix MIME encoding the Content-Description header (Bug #13814). [mms] Fix setting MIME IDs when a message/rfc822 part is the base of the part object. [jan] Fix Horde_Mime::quotedPrintableEncode() (Bug #13769). [mjr] Fix issue where long lines were not properly dealt with when binary transfer encoding was used (Bug #13709). [mms] Added Horde_Mime_Filter_Encoding class. [mms] MIME decoding uses windows-1252 charset by default when iso-8859-1 is identified in the MIME encoded string. [mms] Move mime.mapping.php generation code from horde-support repository into doc/ directory. Prefs [mms] Removed unused 'password' parameter. [mms] Fix Horde_Prefs#isDefault() to return true if the given pref name doesn't exist in a scope. Rpc [jan] Fix return errors from jsonrpc requests. Smtp [mms] Failed recipients can now be determined via the Horde_Smtp_Exception_Recipients exception thrown when calling Horde_Smtp#send(). Stream_Wrapper [mms] Fix possible infinite loop when reading from a combined stream. Test [mjr] Add method to obtain all logged events. [mms] Fix install location for the phpunit libraries packaged locally via composer. [mms] Update to PHPUnit 4.4.0 and dependencies. [jan] Add remoteHost() to Horde_Test_Stub_Registry. Text_Filter [mms] Support display of IDN domains in URLs. Util [jan] Use grapheme functions in Horde_String if intl extension is available. [mms] Fix deleting multi-level temporary directories in Horde_Util::deleteAtShutdown(). Vfs [jan] Fix updating quota when overwriting existing files. [jan] Fix updating quota when using writeData() with FTP driver. [jan] Fix setting permissions in Ssh2 driver (Bug #13783). ------ v5.2.4 ------ Horde Changes ------------- [mjr] Fix performing actions from ActiveSync user preference page (Bug #13657). [jan] Add missing 'secure' configuration for SMTP. Address Book Changes -------------------- [jan] Use the SHOW permission to determine the sidebar address book list. Calendar Changes ---------------- [mjr] SECURITY: Don't show private event details in daily agenda emails if not the owner (Bug #13660). [jan] Make access to non-CalDAV remote calendars faster (Bug #12379). [jan] Continue with further events if parsing of one remote event date fails. [jan] Fix JS error in month view with more events today than the maximum threshold. [mjr] Fix fatal error when creating or modifying an entry via PUT. Tasks Changes ------------- [mjr] Fix issue with initially creating nag_shares table. Notes Changes ------------- [jan] SECURITY: Fix permission check when editing notes (found by Christopher Neuhaus ). [mms] Added ability to link to note via API. Library Changes --------------- ActiveSync [mjr] Fix incorrect default values for BODYPREF TRUNCATIONSIZE values (Bug #13711). [mjr] Fix regression in sending MIME messages as a result of a FETCH operation (Bug #13714). [mjr] Fix issue that could cause mime boundry strings to leak into the message body when the message contained only a single part. [mjr] Improvements and fixes to MIME truncation truncation handling. [mjr] Fix limiting To: field in email sent to ActiveSync clients. [mjr] Provisioning requirement is now set after the device object is obtained. [mjr] Fix handling of MIME truncation in certain cases. [mjr] Change the order various SYNC reply structures are sent to be more in-line with the spcification. [mjr] Fix issue where sticky OPTIONS values were lost resulting in incorrect values for MIMESUPPORT and other values (Bug #12970). [mjr] Added support for differentiating between S/MIME signed and S/MIME encrypted so the content-class property can be properly set (Bug #12970). Alarm [jan] More compatibility fixes for Oracle. Browser [jan] Consider all user agents with "bot" in the name as robots. Core [mjr] Fix broken MIME messages constructed from ActiveSync SMART replies to messages that contained a mulitpart/alternative part (Bug #13720). [mjr] Fix issue that could cause incorrect truncation of ActiveSync emails. [mms] Added Horde_Core_Mime_Headers_Received. [mms] Added Horde_Registry#remoteHost(). [mms] Fix file permissions of dynamically generated static CSS/JS files. [jan] Use correct user name as a fallback for identity full names with existing authusername hook. [mjr] Add the activesync_provisioning_check hook. [mjr] Fix determining multiplex settting for EAS notes (Bug #13637). [mjr] Fix adding new tasklists from EAS (Bug #13642). [jan] Update Czech translation (Michael Grafnetter ). Crypt [jan] Fix using non-deprecated Content-Type for encrypted messages (Bug #13659). Dav [jan] Fix DAV client always using Digest authentication (Bug #13319). [jan] Fix PUT request not passing content to the backend. Db [jan] Make Oracle's updateBlob() compatible with PHP 5.3. [jan] Fix using addColumn() with autoincrementKey types in SQLite. [jan] Fix several issues with changing autoincrementKey columns in Oracle. [mms] Fix SplitRead driver to work with the recent blob changes. [jan] Fix returning primary key value from insertBlob(). [jan] Add Horde_Db_Adapter::updateBlob(). [jan] Add Horde_Db_Value_Text to encapsulate long text values. [jan] Add missing insertBlob to adapter interface. History [jan] Fix migration with Oracle. Icalendar [mms] No longer call code that depends on Horde_Mime, which is not a required dependency. Imap_Client [mms] Better cache unserialization error handling for all backends. [mjr] Fix broken IMAP cache behavior in the DB driver when unserialization of a cached object fails. [mms] Better error handling when IMAP connection is prematurely disconnected. [mms] Fix regression in listMailboxes() for POP3 servers when 'flat' option is true. [mms] Fix determining whether a command requires a continuation request, when the literal occurs within a nested list. [mms] Ensure we don't use the same authentication method multiple times when logging into IMAP server. JavascriptMinify [jan] Raise log level of errors from Closure compiler. ListHeaders [mms] Added Horde_ListHeaders#listHeadersExist(). Mail [mms] Added Horde_Mail_Rfc822_List#first() function. [mms] Add property to address object to indicate whether it is an EAI address. [mms] Transport driver now indicates whether it handles EAI data. [mms] Support validation of EAI addresses (RFC 6532). [mms] Add Horde_Mail_Mbox_Parse. Memcache [mms] Fix race condition where memcache lock could be removed before the underlying locked data could be updated. Mime [mms] Improved sanity checking when adding header data. [mms] Fix Horde_Mime_Headers_Deprecated#addReceivedHeader(). [mms] Fix Horde_Mime_Headers_Deprecated#listHeadersExists(). [mms] Horde_Mime_Headers has been rewritten. [mms] Correctly handle content parameters in a case-insensitive manner. [mms] Correctly pass the 'no_body' parameter to parts embedded in a message/rfc822 part in Horde_Mime_Part#parseMessage(). [mms] Fix parsing a base MIME-compliant message with no Content-Type information. [mms] Horde_Mime::is8bit() no longer requires the charset parameter. [mms] Improved MIME encoding. [mms] Deprecated Horde_Mime::quotedPrintableEncode() and move to Horde_Mime_QuotedPrintable. [mms] Moved MIME ID manipulation/query methods out of Horde_Mime and into Horde_Mime_Id. [mms] Use string-based ABNF-based parser for scanning MIME content parameters instead of a regular expression (Bug #13587). [mms] Moved content parameter handling methods out of Horde_Mime and into Horde_Mime_ContentParam. [mms] Deprecated Horde_Mime::generateMessageId() and move to Horde_Mime_Headers. [mms] Deprecated Horde_Mime::uudecode() and move to new Horde_Mime_Uudecode class. [mms] Add Auto-Submitted header to outgoing MDN messages. Mime_Viewer [mms] More thorough handling of tar.gz data. Pack [mms] Catch unknown errors when unpacking data. Smtp [mms] Added Horde_Smtp_Exception property indicating whether error is permanent or transient. [mms] Determine EAI and Body transport information by analyzing the message data, instead of requiring a parameter. [mms] Add support for ETRN extension (RFC 1985). [mms] Add support for BINARYMIME extension (RFC 3030). [mms] Add support for CHUNKING extension (RFC 3030). Stream [jan] Throw InvalidArgumentException if passing incorrect arguments to constructors. Stringprep [mms] COPYING file did not contain the LGPL-3.0 addition to GPLv3. SyncMl [jan] Fix exporting notes to Funambol clients (horde@albasoft.com, Bug #9487). [jan] Fix creating server-client-mapping if backend returns multiple server IDs per client ID (horde@albasoft.com, Bug #13706). Test [jan] Add convertUsername() to Horde_Test_Stub_Registry. Translation [jan] Add Horde_Translation_Autodetect to support loading translations from Composer-installed packages (Renan Gonçalves ). ------ v5.2.3 ------ Horde Changes ------------- [mjr] Honor date_format_mini in Moon block (Bug #13628). [jan] Fix spacing in top menu (Bug #13617). [jan] Don't show password reset preferences if disabled in configuration (Bug #13618). [mjr] Remove non-existent Yahoo Maps option for map tile provider. [mms] Fix display of Horde stylesheets not served from the local server (i.e. via a CDN). [jan] Hide weather portal block if weather configuration is disabled (Bug #13559). [jan] Add show_encryption setting to HTTP authentication configuration (Jasper.Olbrich@students.uni-marburg.de, Bug #13444). Address Book Changes -------------------- [jan] Fix importing empty birthdays/anniversaries from vCard. [mjr] Fix defaulting to the defined search fields when searching via the API. [mjr] Fix broken EAS synchronization due to incorrect setting of the Categories field. Calendar Changes ---------------- [jan] Support time label rotation in week and day views on IE 11. [jan] Fix updating of task list view if no tasks are returned from server. [jan] Fix ordering of sub-tasks. [jan] Send iTip notifications even to attendees that are not required to attend (Bug #13600). [jan] Fix notification and alarm issues if alarm is longer than a day (Bug #13584). [jan] Fix closure compiler errors (Bug #13593). [mjr] Fix checking resource availability when adding multiple resources (Bug #13561). Tasks Changes ------------- [jan] Fix search attribute of SQL shares on Oracle. [mjr] Fix adding a new tasklist to the syncronized tasklists (Bug #13642). [jan] Pass current start date of recurring tasks to dynamic interface. [jan] Fix setting task list name for external tasks. [jan] Fix link to create sub-task from a task view. [jan] Fix listing of recurring tasks with start dates. [mjr] Add missing categories to EAS tasks. [jan] Fix sidebar display of system task lists in basic view. [jan] Fix retrieving individual tasks via WebDAV. Notes Changes ------------- [mjr] Fix adding new notepads via the API. [jan] Hide PDF button if Horde_Pdf_Writer is not installed (Bug #13624). [mjr] Fix replacing tags in existing notes (Bug #13417). Library Changes --------------- ActiveSync [mjr] Fix adding new tasklists from EAS client (Bug #13642). [mjr] Fix some issues related to synchronizing recurring tasks (Bug #13636). [mjr] Some fixes for POOMCONTACT date fields on Samsung Android clients. [mjr] Fix issue with returning proper RI cache data in certain cases. [mjr] Added ability to sniff out Nine and Samsung Android clients. [mjr] Improvements to the workaround for broken POOMCONTACTS date field behavior. [mjr] Fix handling of EAS categories containing spaces in the name. Alarm [jan] Update Czech translation (Michael Grafnetter ). Core [mjr] Fix fatal error viewing certain MIME parts due to incorrect method name in the MimeViewer factory. [mjr] Add support for moving calendar items on EAS clients. [mjr] Fix generating reply text from EAS clients that only reply in HTML (Bug #13615). [mjr] Remove Yahoo related code from HordeMap API. [mjr] Add Reply-To header to email sent via ActiveSync if available in identity (Ticket #13592). [mjr] Prevent sending contact lists as results in GAL searches. [mjr] Fix handling of EAS categories containing spaces in the name. [jan] Catch exceptions if not being able to find an LDAP user DN (Bug #13571). [mms] Fix using master SMTP credentials when a CLI script uses the 'user_admin' registry flag. CssMinify [mms] Correctly handle full URLs in background-* properties. Dav [jan] Support returning of custom WebDAV properties. [jan] Return ETags with WebDAV requests. [jan] Support for WebDAV DELETE requests. Db [jan] Fix migrating NULL values to BLOB on Oracle. [jan] Catch exceptions from PDO result set methods. History [jan] Fix catching exceptions from Horde_Db. Imap_Client [mms] Add support for UTF8 extension for POP3 servers (RFC 6856). [mms] Add support for LANG extension for POP3 servers (RFC 6856). [mms] Fix IMAP search results for recent and total messages when it is the only query and the mailbox is not selected. [mms] Fix client-side message sorting when there are multiple sort criteria and at least one tie in the first sorting criteria. [mms] Better error handling when attempting to authenticate via IMAP LOGIN command with non-ASCII credentials (Bug #13554). [mms] Fix sending IMAP APPEND data when the UTF-8 capability is enabled. [mms] Fix parsing IMAP mailbox list requests when UTF-8 mode is enabled. [mms] Ensure client sorting tests work reproducibly across systems with varying default locales. Mail_Autoconfig [mms] Support IDN hostnames in e-mail address queries. Pack [mms] Re-enable igbinary driver (requires igbinary >= 1.2.0). Secret [jan] Revert: Only store keys in cookie if cookies are in use (thomas.jarosch@intra2net.com, Bug #13284). Service_Weather [mjr] Add missing percent sign for humidity when using WWO. [mjr] Fix detected errors returned from WWO. Stringprep [mms] Initial release. Test [jan] Update to PHPUnit 4.3.4 and dependencies. [jan] Raise priority of Horde_Test autoloader. [jan] Don't report hooks loading as successful. Timezone [jan] Fix format of UNTIL attribute when exporting to iCalendar (Joerg Pulz ). Extensions ---------- horde_lz4 [mms] Allow extension to be built with system lz4 library (Remi Collet ). [mms] Add --with-liblz4 option to use system liblz4 (Remi) ------ v5.2.2 ------ Address Book Changes -------------------- [jan] Fix duplicate searching in address books without owner field. [jan] Fix duplicate search form (woe@gmx.de, Bug #13528). [mms] Make case-insensitive API e-mail search work on non-ASCII data (Request #12480). [jan] Fix listing group members that contain colons in their IDs. Calendar Changes ---------------- [mjr] Fix removing resource event when editing the bound event causes the resource to reject the event (Bug #13466). [mjr] Fix refreshing resource events in the UI when the host event changes (Bug #13465). [mjr] Fix updating the exceptionoriginaldate field when the base event changes (Bug #13512). [mjr] Fix moving recurring events with exceptions from one calendar to another (Bug #13524). [mjr] Fix honoring resource_management permission (Bug #13049). [jan] Fix visual overlapping of certain events (Bug #13376). [jan] Fix error editing events if using exotic date formats. [jan] Fix JavaScript error if not showing all events in month view (Jasper Olbrich , Bug #13433). [jan] Fix displayed CalDAV URLs for shared calendars in basic view too (piper@hrz.uni-marburg.de, Bug #12380). Library Changes --------------- ActiveSync [mjr] Added Horde_ActiveSync_Rfc822::replaceMime(). [mjr] Added Horde_ActiveSync_Mime class. [mjr] Added Horde_ActiveSync_Exception_EmailFatalFailure. [mjr] Fix issues with 8-bit characters in Subject header in some cases (Bug #13456). [mjr] Fix POOMTASKS_SUBORDINALDATE parsing (Bug #13461). [mjr] Prevent folder cache from being overwritten (Bug #13273). [mjr] Add Horde_ActiveSync_Imap_Adapter::emptyMailbox(). [mjr] Fix sending ItemSettings responses for EAS 14.1. [mjr] Add unofficial WindowsLive codepage extensions. [mjr] Fix yearly recurrences appearing on incorrect day in certain cases. [mjr] Add support for synchronizing user-defined IMAP flags as EAS Email categories. [mjr] Prevent infinite loops due to broken clients sending invalid OPTIONS data (Bug #13405). [mjr] Prevent fatal WBXML parsing error due to broken BlackBerry clients (Bug #13351). Core [mjr] Fix dependency on Horde_HashTable (Bug #13549). [mjr] Add activesync_email_presend hook. [mjr] Fix issue where replying or forwarding broken email messages would break ActiveSync synchronization when saving to Sent mail. [mjr] Fix issues with 8-bit characters in Subject header when sending smart replies via ActiveSync (Bug #13456). [mjr] Fix GAL searches returning all address book entries. [jan] Improve positioning of date picker popup (Karim Geiger ). [jan] Really fix returning session start time from session handler (Bug #13428). [mms] Ensure persistently stored data is not overwritten by another session. [mms] Fix boostrapping DB object when using SQL as the Horde cache driver (Bug #13439). [mjr] Support ITEMOPERATIONS_EMPTYFOLDER requests via ActiveSync. [mjr] Fetch correct data for EAS ItemSettings requests. [jan] Catch exception from application in portal block (Bug #13427). [jan] Fix returning session start time from session handler (Bug #13428). [mjr] Add support for synchronizing user-defined IMAP flags as EAS Email categories. [mjr] Fix BC break when detecting the ActiveSync state driver. Imap_Client [mms] Add support for Gmail-specific WEBALERT response code. [mms] IMAP/POP3 URL generation split into a more modular library structure. [mms] Ignore message-specific URL parameters if a search query appears in an IMAP URL. [mms] Fix encoding/decoding URL elements in IMAP/POP3 URLs. [mms] Fix setting default port for POP3 URLs. [mms] Fix client-side reverse sorting. [mms] Fix client-side sequence sorting, when that is the only sort criteria. [mms] Use Collator class, if present, to sort string fields on the client side. [mms] Fix client-side sorting of display addresses. [mms] Even more improved pseudo-UIDNEXT value for POP3 servers. [mms] Improved sanity checking so that non-ASCII data is not sent to server in commands where it is not supported. [mms] Fix typo in Horde_Imap_Client_Data_Sync (Bug #13430; Jasper Olbrich ). [mms] Fix regression in reporting capabilities (Bug #13421). Kolab_Storage [jan] Fix tests including Horde_Mime_Part. Mime [mms] Fix generation of Original-Message-ID header in MDN notification (Bug #13526). [mms] Fix determination of MDN user confirmation in certain instances. Pack [mms] Attempt to workaround broken JSON-C decoder regarding null characters. Prefs [mms] Add ArrayAccess, Countable, and Iterator functionality to the Horde_Prefs_Identity object. Test [mms] Fix determination of test cases using AllTests.php. [mms] Fix AllTests.php when dealing with test cases that inherit from parent test cases. Timezone [jan] Fix "Undefined offset" notice (Bug #13455). Util [mms] Fix another issue with older versions of PHP in Horde_String_Transliterate. [mms] Fix regression in Horde_String_Transliterate for PHP 5.3 (Bug #13419). [mms] Added Horde_String::ipos() and Horde_String::ripos(). [mms] Fallback to lesser priority transliterator driver when an error is encountered. ------ v5.2.1 ------ Horde Changes ------------- [mjr] Fix cancelling remote wipe of EAS client from user prefs. [mms] Fix fatal error in signup confirmation script. [mjr] Fix removing ActiveSync device state from administrative interface when multiple user accounts exist on the same device (Bug #13336). Address Book Changes -------------------- [jan] Display correct address books in WebDAV folders. [jan] Fix displayed CardDAV URLs for shared address books (Bug #12380). [mms] Only include e-mail addresses that match the search string in the return from the search() API call (Request #12480). [mjr] Fix exporting tags via vCard and ActiveSync (Bug #13393). [mjr] Add EAS client created shares to the sync_books preference (Bug #13359). [mjr] Add missing API support for searchTags API (Bug #13362). [mjr] Fix issue that caused contacts to be tagged with a broken username. Calendar Changes ---------------- [jan] Fix displayed CalDAV URLs for shared calendars (Bug #12380). [jan] Don't show today's events that are over in portal (Bug #13368). [mjr] Fix exporting to ics file when event contains exceptions and an explicit timezone (Bug #13369). [mjr] Fix importing iCalendar data that contains timezone parameters. [mjr] Fix both importing and replacing text/calendar data via the API when recurrence exceptions are present (Bug #13399). [mjr] Ensure default share attribute is set when auto determining a default share. [mjr] Fix fatal error when calculating alarms on a recurring event that has completed. [mjr] Fix catching minical clicks on browsers that return element names in uppercase (Jasper.Olbrich@students.uni-marburg.de, Bug #13370). Tasks Changes ------------- [jan] Don't include external tasks with WebDAV task list. [jan] Fix displayed CalDAV URLs for shared task lists (Bug #12380). [mjr] Fix remembering auto determined default share (Bug #13360). [mjr] Add EAS client created shares to the sync_lists preference (Bug #13359). [mjr] Add missing API support for searchTags API (Bug #13364). [mjr] Fix detecting task completion when sending task change notifications (Alfonso Marín Marín , Bug #13350). Notes Changes ------------- [mjr] Ensure default share attribute is set when auto determining a default share. [mjr] Fix showing the notepad name in list view when show_notepad preference is set (Bug #13352). [mjr] Add EAS client created shares to the sync_notpads preference (Bug #13359). [mjr] Add missing API support for searchTags API (Bug #13361). [mjr] Fix issue that caused notes to be tagged with a broken username. File Manager Changes -------------------- [jan] Update Polish translation (Maciej Uhlig ). [jan] Make shares table compatible with Oracle. Bookmarks Changes ----------------- [mjr] Fix fatal error due to botched merge. Library Changes --------------- ActiveSync [mjr] Prevent another issue that could cause an error when attempting to update a non-existent state (Bug #13338). [mjr] Prevent error caused by attempting to update a non-existent state (Bug #13338). Core [mms] Add Horde_Core_Script_Package_Autocomplete. [mms] Fix broken parse_url() behavior for PHP < 5.3.6. [mms] Horde_Data now stores temporary data using Horde_Vfs to ensure data persists and that it doesn't overload session storage (Request #11335). [mms] Add method to allow any code to register tasks to run on logout. [mjr] Ensure EAS client created collections are requested to be added to the application's sync preference (Bug #13359). [mjr] Fix fatal error when executing a FOLDERDELETE command on certain collections. [mjr] Fix regression in sending email via ActiveSync when no properly configured identity exists (Bug #13346). [mjr] Fix broken CHANGEFOLDER functionality for ActiveSync NOTES collections (Bug #13334). [mms] Better error handling when trying to load config files from the conf.d subdirectory. CssMinify [mms] Fix Horde_CssMinify_CssParser#setOptions(). Date [jan] Fix calculating recurrence end if UNTIL property of iCalendar data is DATE value (Bug #13401). HashTable [mms] Add Horde_Vfs driver. Imap_Client [mms] Determination of approximate part size should be done at IMAP level, not within Horde_Mime_Part. [mms] Fix regression in handling invalid DateTime data due to a BC-incompatible change in PHP. Mail [mms] Added the 'noquote' option to Horde_Mail_Rfc822_Object#writeAddress(). Mime [mms] Fix fatal error in Horde_Mime_Mail#getBasePart() (Thomas Müller ). [mms] Fix determination of part size when the part contains explicit sizing information. Smtp [mms] Added support for sending internationalized header data (RFC 6531). SyncMl [mjr] Hotfix to deal with failure exporting non-contact data due to inconsistency in export methods between applications (Bug #13394). ------ v5.2.0 ------ Horde Changes ------------- [mms] Add configuration to allow for SMTP authentication if the current Horde access does not have an authenticated user. Address Book Changes -------------------- [jan] Fix fatal error if importing CSV data with date fields. Calendar Changes ---------------- [jan] Fix selecting days in the sidebar mini calendar (Bug #13327). [mjr] Issue a cancellation iTip when an event's status changes to cancelled (Bug #13321). [jan] Fix loading events for intial view in smartphone mode. Tasks Changes ------------- [mjr] Fix returning to previously selected tab after task is saved (Bug #13308). [mjr] Fix fatal error when saving a task, only one tasklist exists, and at least one SmartList exists. Bookmarks Changes ----------------- [mjr] Fix creating tags from folder names when importing bookmarks. Library Changes --------------- Core [mms] Add configuration to allow for SMTP authentication if the current Horde access does not have an authenticated user. [mjr] Fix closing smartmobile dialog pages (Bug #13316). [mjr] Fix issue that could cause multiple tabs to be shown as active when tab_name could be a mix of integers or strings. --------- v5.2.0RC1 --------- [jan] Update Polish translations (Maciej Uhlig ). [jan] Update Japanese translations (Hiromi Kimura ). [jan] Make SQL backends compatible with Oracle. [jan] Make shares tables compatible with Oracle. Horde Changes ------------- [mjr] Fix removing EAS device pairings via the removeUserData API (Bug #13278). [jan] Add configuration for searching user DNs in LDAP groups (Bug #12128). [jan] Don't try to write to read-only group backends when removing user data (skhorde@smail.inf.fh-bonn-rhein-sieg.de, Bug #13248). [mms] Cleaner indication on login page that an authenticated user is logging into specific application rather than Horde in general. [mjr] Fix blocking an ActiveSync client through the admin interface. [mjr] Add an ActivSync device's currently used heartbeat interval to the device information display. [mms] Fix regression in displaying MOTD content on login screen. [mms] Support LMTP servers when sending mail. [mms] Add more advanced configuration options for the Redis HashTable driver (Michael Cramer ). [jan] Add script to import user preferences from Open-Xchange. [mms] The location of dynamically served static files is now configurable (Request #13070). [jan] Update Korean translation (Deokgon Kim . [mms] Add a NoSQL driver for history storage. [mms] The history driver can now be configured via conf.php. [jan] Add mysql encryption option for SQL backends (Request #12962). [rla] Add joomla-md5 encryption option for SQL backends (Request #12889). [mms] By default, enforce maximum storage size on preferences values. [mms] Support UglifyJS for compressing javascript. [mjr] Add improved ActiveSync device administration page. [mms] Display indication that Caps Lock key is on when entering password on login page (Request #7178). [mjr] Add support for configuring a NoSQL driver for ActiveSync state storage. [mms] Added 'filemtime' configuration option for CSS caching. [mjr] Add support for X509 authentication support. [mjr] Improve logging options for ActiveSync logging configuration. [mjr] Add support for managing ActiveSync devices through the API. [mjr] Add prefs for selecting From address when sending email via ActiveSync. Address Book Changes -------------------- [mjr] Fix another regression with exporting photos in vCard when we are ignoring empty values. [mjr] Fix regression with exporting photos in vCard when we are ignoring empty values. [jan] Export composite attributes to vCard too. [jan] Don't export binary fields to CSV/TSV. [mms] Fix search in Facebook driver. [jan] Add script to import contacts from Open-Xchange. [jan] Don't remove missing contacts from distributions lists in Kolab backends (Bug #12861). [jan] Support binary fields (photos) in Kolab backends. [mjr] Fix importing certain vCards to sources only using the 'email' attribute (Bug #12955). [jan] Export free/busy URL to vCard (Request #12915). [mjr] Fix listTimeObjects API when format_in attribute parameter is changed from default (Bug #11891). [mjr] Add API support for supporting multiple addressbooks via ActiveSync. [jan] Remember currently open tab when switching or saving contact views (Request #12609). [jan] Replace categories with tags (Request #9544). Calendar Changes ---------------- [jan] Fix issues with event URL field not updating (Carlos Timóteo ). [jan] Fix error when deleting unselected calendars. [jan] Improve DTEND compatibility with other programs using iCalendar. [mjr] Fix sending iTip invitations when Save As New is used (Bug #13239). [jan] Fix free/busy display with 24-hours-busy days. [jan] Fix navigating free/busy dates. [jan] Fix hover style in year view (Bug #13057). [jan] Add synchronization of attendees via CalDAV (Request #13027). [mjr] Fix moving an event from one calendar to another while resources are disabled (Bug #13201, Carlos Timóteo ) [mjr] Do not include resources with no email address when synching to EAS clients. [jan] Fix dependency on Nag (Bug #13166). [jan] Use the event's or calendar's owner identity when sending notifications (Bug #13158). [mjr] Gracefully handle import errors in dynamic interface (Bug #11127). [mjr] Show reservee of a resource in resource's event description (Request #13037). [mjr] Add resource_management permission (Request #13049). [jan] Allow to synchronize shared calendars via CalDAV (Request #12380). [jan] Add script to import events from Open-Xchange. [mjr] Fix various issues with alarms for recurring events. [jan] Add calendar legend to print output. [mjr] Allow for exporting of resource calendars (Request #12372). [mjr] Make event url property a true hyperlink in dynamic view (Request #12920). [jan] Support task assignees. [jan] Support parent tasks. [jan] Indent sub tasks. [mjr] Improve display of Free/Busy information and add pagination (Requests #12899, #12676). [mjr] Add ability to export event to a timeslice (Request #11307). [mjr] Add API support for supporting multiple calendar sync via ActiveSync. [jan] Improve sort order of events in month view (Request #11155). Tasks Changes ------------- [jan] Always display system task lists to administrators. [mjr] Group task fields into tabs on edit form (Request #13228). [jan] Only use URL rewriting for saving/completing tasks if pretty URLs are enabled in the configuration. [jan] Don't include smart lists in top menu. [jan] Fix top menu URLs to create new tasks in specific task lists. [jan] Show external tasks in the correct task type. [jan] Purge old tasks from versions < 2.3 too. [jan] Allow to synchronize shared task lists via CalDAV (Request #12380). [jan] Add script to import tasks from Open-Xchange. [jan] Add recurrence controls to basic view (Request #11545). [mjr] Add button for creating sub-task from task view (Request #12309). [mjr] Add ability to return to existing search results after navigating to a task (Request #12879). [mjr] Add API support for multiple tasklists via ActiveSync. Notes Changes ------------- [jan] Fix error after successful import (Thomas Jarosch , Bug #13272). [jan] Fix link on edit form to delete notes (Thomas Jarosch , Bug #13271). [jan] Fix exporting tags to CSV (Thomas Jarosch , Bug #13269). [jan] Fix adding and editing notes with Kolab backend (Bug #13269). [jan] Make notepad checkbox links switches instead of toggles. [jan] Replace categories with tags. [jan] Convert to Horde_View. Bookmarks Changes ----------------- [jan] Add Hungarian translation (Andras Galos ). [jan] Add Danish translation (Erling Preben Hansen ). [mjr] Add support for importing bookmarks from Mozilla's JSON format. Library Changes --------------- Core [mjr] Fix issue sending email via EAS when the imap client throws an error when synchronizing the maillog (Bug #13276). [mjr] Improvements to vcard mime handler to allow for ajax updating (Bug #13101). [jan] Fix delay when fading the same dialog more than once. [jan] Catch exceptions from NoSQL backends when building indices. [mjr] Fix incorrect processing of autocompleted data when using prettyautocompleter (Bug #13256). [mjr] Fix updating attendee response status when received via ActiveSync. [jan] Add configuration item. [jan] Add base DN to LDAP configuration for searching user DNs. [jan] Allow to specify port for PostgreSQL socket connections (Request #13250). [mms] Allow any HordeCore AJAX response object to return JSON-HTML output, instead of pure JSON. [mjr] Fix copying forwarded messages to Sent mail folder when using EAS. [mjr] Fix generating From address when sending email via ActiveSync when personal part must be quoted (Bug# 13208). [mjr] Fix tracking bad login count and honoring the lock setting when using Application auth backend. [mms] Support LMTP servers when sending mail. [mms] Add Horde_Registry#hasLink() (Bug #13175). [mjr] Fix returning mailbox list for ActiveSync clients when not using IMAP subscriptions (Bug #13177). [jan] Update Hungarian translation (Andras Galos ). [mms] Allow CKeditor 3 to work with IE 11. [jan] Fix translation of portal block names (Bug #13116). [mms] Add Horde_Registry#getAuthInfo() and Horde_Registry#getAuthApps(). [mms] Add Horde_Core_Cache_Session. [mms] Add abstracted web notifications interface to the Horde_Notification system. [mms] Upgrade prototype.js to most recent git version (3523295165460a1a371f248454bc311103294f13). [mjr] Fix issue that causes enter to submit the form when inside the pretty autocompleter (Bug #12923). [mms] Don't store preference UI elements in the session cache storage. [mjr] Send the PRIMARYSMTPADDRESS to EAS clients, if appropriate (Request #13062). [jan] Fix loading of configuration screen with basedir restrictions or libxml entity loading disabled (Bug #13025). [mms] The location of dynamically served static files is now configurable (Request #13070). [jan] Update Korean translation (Deokgon Kim ). [mms] Support new configuration options for history storage. [mms] Fix for prototype.js to correctly recognize IE 11 as IE, not Gecko (Bug #12875). [mjr] Added the nonotificationinit parameter to Horde_Registry::appInit(). [mjr] Fix issue authenticating to certain applications when accessed via RPC. [mms] Move CSS minification to the Horde_CssMinify package. [mjr] Work around parsing broken incoming ActiveSync SMARTREPLY requests with incorrect character sets (Bug #12969). [mms] Add null driver for the content tagger. [jan] Add database configuration for Oracle. [mms] Add Horde_Registry_Application#getInitialPage(). [mms] Add Horde_Core_Script_Package_Sortable. [mms] Abstract Horde configuration parsing into Horde_Registry_Hordeconfig class. [mms] Abstract CSS caching/compressions into Horde_Themes_Css framework. [mms] Abstract javascript caching/compression into Horde_Script_Cache framework. [mms] Allow jQuery Mobile script to be packaged in same file as other jquery code. [mms] Move configuration loading code to Horde_Registry_Loadconfig class. [mjr] Fix saving S/MIME signed emails sent via ActiveSync to sent folder (Bug #12936). [mms] Store registry cache on the local filesystem. [mms] Refactor alarm code to prevent the need from accessing the themes cache on every server access. [mms] Prevent avalanche effect from occurring when re-creating cached JS files. [mms] Use Horde_JavascriptMinify package to compress javascript. [mms] Combine all javascript to compress into a single string. [mjr] Improve ActiveSync searches by no longer limiting available searched fields (Request #12917). [mms] Support UglifyJS for compressing javascript. [mjr] Add support for DocumentLibrary via the files API. [mjr] Cache ActiveSync mailbox search results for improved performance during paging. [mms] Predis client should only use clustering if necessary. [jan] Fix retrieving value lists from Horde_Session. [mjr] Use webnotifications.js to normalize various browsers to the standard Notification API. [mjr] Fix desktop style notifications in Ajax applications (Bug #12835). [mms] Fix jquerymobile icons (Bug #12876). [mms] Don't add 2 entries to history when opening a jquery mobile dialog (Bug #12877). [jan] Fix padding of drop down lists with scrollbars (Bug #11971). ------ v5.1.5 ------ [jan] Update Korean translation (Deokgon Kim ). Horde Changes ------------- [jan] Detect REPORT queries as DAV requests in RPC server (Bug #13124). [jan] Fix fatal error in LDAP account portal block (Bug #12910). Address Book Changes -------------------- [mjr] Fix pagination of search results (Bug #13047). [mjr] Don't output empty properties for CardDAV requests (Bug #12782). [jan] Fix portal serach block response when no contacts have been found (dulinux , Bug #13044). Calendar Changes ---------------- [jan] Fix history not always returning the last modification time of an event (Bug #13113). [jan] Support timezone aliases when importing events (Bug #13100). [mjr] Honor the no_sharing configuration option in dynamic view (Bug #13002). [mjr] Fix issue that could remove all events from shared calendars if a user with Horde_Perms::EDIT on that calendar is removed via the removeUserData API (Bug #12524). [jan] Fix TRIGGER generation if alarm value is negative (Bug #13064). Tasks Changes ------------- [jan] Fix link to task in alarm emails. Tagging Changes --------------- [jan] Fix date format for 'created' column. Timeobject Changes ------------------ [jan] Update to changed Facebook events API. [jan] Add Danish translation (Erling Preben Hansen ). [jan] Fix returning Facebook event URLs. [mjr] Cache Facebook queries. Library Changes --------------- [jan] Update Spanish translations (Manuel Perez Ayala ). [jan] Update Japanese translations (Hiromi Kimura ). [jan] Update Hungarian translations (Andras Galos ). [jan] Update Danish translations (Erling Preben Hansen ). ActiveSync [mjr] Force multiplex contact collections for Outlook 2013. [mjr] Fix issue sending email when the imap client throws an error when synchronizing the maillog (Bug #13276). [mjr] Fix issue related to clients with enabled SMS sync causing broken email deletion behavior. [mjr] Fix ignoring incoming SMS CHANGE commands. [mjr] Fix removing orphaned device entries (Bug #13277). [mjr] Prevent sending non-UTF8 data due to meeting response emails. [mjr] Remove Horde::debug output. [mjr] Fix requesting remote wipe when using the MongoDB state driver. [mjr] Truly fix duplicate email in Outlook 2013 when moving/deleting messages. [mjr] Fix detecting forced multiplex values for Android 4.4.0 and greater (Bug #13199). [mjr] Fix issue with renaming folders (Bug #13196). [mjr] Fix duplicate items in mailboxes after handling MOVEITEMS requests. [mjr] Allow saving just dirty deviceProperties, and not deviceInfo. [mjr] Fix return status for SETTINGS_DEVICEINFORMATION requests (Bug #13191). [mjr] Fix regression that could cause some clients to no longer sync. [mjr] Fix issue with clients that support EAS 12.1+ but still use PING commands that would cause the cached heartbeat interval to be cleared. [mjr] Fix issue where the device managed heartbeat interval would be ignored during PING requests. [mjr] Fix issue that would cause a SYNC loop when changing FILTERTYPE in certain clients (Bug #13182). [mjr] Fix regression with renaming email folders. [mjr] Improve workarounds for certain clients that send broken authentication information (Bug #13184). [jan] Make SQL state backend compatible with Oracle. [mjr] Improve detection of Android devices for the purposes of determining support for non-multiplexed collections. [mjr] Prevent possible PING loop due to PING requests incorrectly containing collections that haven't had a SYNC issued yet. [mjr] Add Horde_ActiveSync_Rfc822::addStandardHeaders(). [mjr] Support sending PRIMARYSMTPADDRESS in EAS 14.1 (Request #13062). [mjr] Change the order of WBXML tags for Horde_ActiveSync_Message_Exception to make some older clients happy. [mjr] Fix some cases where removing a device's state could cause a PING and/or SYNC loop on some older clients. [mjr] Fix regression that broke synchronization in clients that don't support EAS 14.1 (Bug #13038). [jan] Optimize SQL query for garbage collection (hannes.brunssen@ewetel.de, Bug #13043). [mjr] Fix regression that could prevent stale sync requests to persist (Bug #13032). [mjr] Fix regression in sending non Mime encoded messages (Bug #13029). Alarm [jan] Test all available SQL backends. [jan] Make tests work with PEAR-installed package. [jan] Use correct schema table name when running tests. [mjr] Add support for multiple instances of the same alarm, such as for a recurring event. Argv [jan] Update Ukrainian translation. Auth [jan] Add Polish translation (Maciej Uhlig ). Autoloader_Cache [mms] Abstract caching logic into Horde_Autoloader_Cache_Bootstrap class. Browser [mms] Correctly identify MSIE 11. [mms] Fix checking for upload errors if an array of files was uploaded. [mms] Catch newer PHP upload errors when checking for upload data. Cache [mms] Add Memory driver. [mms] Deprecate Memoryoverlay and Mock drivers. [mms] Hashtable driver now respects lifetime parameter in the get() and exists() methods (Bug #13085). Cli [jan] Fix printing of structured fatal error details. Core [jan] SECURITY: Fix broken encryption of session data if regenerating session IDs. Crypt [mms] Fix reference to constant outside of the package. CssMinify [mms] Initial release. Data [jan] Add importing of IMC (iCalendar/vCard) data from a URL. [mms] Store CSV and TSV data in storage object, instead of temporary file, to ensure import can work across a PHP cluster. Date [jan] Update Brazilian Portuguese translation (Luis Felipe Marzagao ). [mjr] Fix setting timezone parameter when parsing certain string representations. Dav [jan] Allow the same external object UID in multiple resources to fix moving objects (Bug #13102). [jan] Fix synchronization with Mac Calendar application after adding events. [jan] Update to SabreDAV 1.8.10. [jan] Update to VObject 2.1.4. Db [mms] SECURITY: Don't leak PDO DSN authentication/connection information in exception messages. [jan] Fix changing columns to NULL/NOT NULL on Oracle and SQLite. [jan] Fix migrating large values to BLOB on Oracle. [jan] Fix certain migrations with Oracle. [mms] Fix regression preventing caching of any internal DB information. [jan] Fix columnCount() result of PDO result objects. Feed [jan] Fix loading of local files with basedir restrictions or libxml entity loading disabled. Group [jan] Check for read-only LDAP configurations in removeUser() (skhorde@smail.inf.fh-bonn-rhein-sieg.de, Bug #13247). HashTable [mms] In the Predis driver, ramp up to the maximum unlock wait interval (Request #13231). [mms] Implement logging. [mms] Fix inconsistent usage of 'expire' and 'timeout' options (standardize on 'expire', which is more semantically correct). History [jan] Fix migrating from systems older than Horde 4. [mms] Add composite driver. [mms] Add Null driver. [mms] Add MongoDB driver. Http [jan] Fix HTTP authentication with PECL HTTP drivers. [jan] Always cast reponse body to string with pecl_http 2.0 (Michael Cramer ). [jan] Add support for PECL http 2.0 extension (Michael Cramer ). Icalendar [jan] Fix detecting the current DST rule from certain VTIMEZONE components (Bug #13223). [jan] Export VTIMEZONE components only once per TZID (Bug #12988). Image [mjr] Add Horde_Image_Exif::getDescriptionFields() and Horde_Image_Exif::getTitleFields(). [mjr] Add "Title" and "Description" XMP fields. [mjr] Update maximum allowed version for the PECL Imagick extension. [jan] Fix converting to grayscale with imagick driver. [jan] Add optional dependency on imagick PECL extension. Imap_Client [mms] Fix regression in handling invalid DateTime data due to a BC-incompatible change in PHP. [mms] Fix regression where INBOX subscription status was based on server status, instead of always being treated as subscribed (Bug #13261). [mms] Delimiter information is now always returned from Horde_Imap_Client_Base#listMailboxes(). [mms] Fix broken MBOX_UNSUBSCRIBED behavior on IMAP servers that support LIST-EXTENDED. [mms] Added the MBOX_ALL_SUBSCRIBED mode to Horde_Imap_Client_Base#listMailboxes(). [mms] Workaround PHP DateTime regression in 5.4.29 & 5.5.13. [mms] Fix translating error messages if they contain printf placeholders. [mms] Fix working with mailboxes containing entirely integers (Bug #13157). [mms] Horde_Imap_Client_Base#getNamespaces() can now return a Horde_Imap_Client_Namespace_List object instead of an array. [mms] Use the new command length limitations defined in RFC 7162. [mms] A noop() call before authentication will now correctly throw an exception on a connection issue (Bug #13205). [mms] Fix instantiating base object with an empty password. [mms] Better error checking when writing data to the server (Bug #13187; Thomas Jarosch ). [mms] Support partial search limitation even if the PARTIAL search return option is not available on the server (Request #13153). [mms] Added the 'max' and 'min' properties to Horde_Imap_Client_Ids. [mms] Workaround broken MIME parts that cannot be binary decoded on the server. [mms] Correctly handle partial search limiting for a single ID (Bug #13153). [mms] Workaround bug in Dovecot where improperly encoded body part returns NIL data when using the BINARY extension. [mms] Handle IN-USE, LOGIN-DELAY, and SYS/TEMP error codes when authenticating to POP3 servers. [mms] Fix TLS negotiation with POP3 servers. [mms] Fix throwing authentication exception when using Digest-MD5. [mms] Fix parsing a reply/forward subject with no blob content. [mms] Ensure integer value returns from Horde_Imap_Client_Base#status() are truly integers. [mms] Prevent unnecessary cache writes when list of UIDs passed to deleteMsgs() is empty. [mms] Fix stripping non-ASCII characters in Horde_Imap_Client_Data_Format_Atom#stripNonAtomCharacters(). [mms] Don't allow PREAUTH on unencrypted connection if a secure connection (e.g. STARTTLS) is requested. [mms] Password is no longer a necessary parameter. [mms] Fix regression in parsing empty string values in IMAP tokenizer. JavascriptMinify [mms] Add commented list of original source URLs in minified output, in order to comply with any license terms contained in original files. JavascriptMinify_Jsmin [mms] Add commented list of original source URLs in minified output, in order to comply with any license terms contained in original files. Kolab_Storage [jan] Consistently return a stream from the getBodypart() methods. [jan] Add Horde_Kolab_Storage_Object#getBackendId(). [jan] Implement saving and loading of attachments to Kolab objects (backward compatibility break in Horde_Kolab_Storage_Data#getAttachment()!). [mms] Fix grabbing annotation list from IMAP server. Ldap [jan] SECURITY: Stricter parameter check in bind() to detect empty passwords. [jan] Fix compatibility with PHP 5.3 (Bug #11888). [jan] Allow to specify base DN for searching user DNs. [jan] Support multi-value RDNs in Horde_Ldap::quoteDN() (Request #11888). [jan] Fix creating filters with the less (<) operator (Bug #13154). [jan] Fix approximate search operator (Leandro Damascena , Bug #9094). ListHeaders [jan] Add German translation. [mms] Better translations of the list header fields. Lock [jan] Fix and improve tests. Mail [mms] Add Horde_Mail_Transport_Lmtphorde driver. [mms] Be more lenient in parsing RFC 5322 identification field values. [mms] Add Horde_Mail_Rfc822_Identification class. [mms] Optimizations to address parsing. Mapi [mjr] Make bcmath an optional, not required, extension (Bug #13285). Memcache [mms] Ramp up to the maximum unlock wait interval (Request #13231). Mime [mjr] Fix returning raw data of sent email. [mjr] Fix returning stream containing raw email data. [mjr] Add Horde_Mime_Mail#getRaw() for returning the raw email email data. [mms] Ensure return from Horde_Mime_Part#getBytes() is an integer. [mms] Fix regression in part size calculation for parts that contain the raw contents. [mms] Add Importance to list of headers that expects a single value. [mms] Correctly set size of part when using Horde_Mime_Part::parseMessage() and the 'no_body' option. [mms] Fix Horde_Mime_Part#buildMimeIds() when called on the base embedded object of a parent part (Bug #13117). Mime_Viewer [mms] Fix fatal error if using TNEF viewer and bcmath extension is not installed on the system. Pack [mms] Don't use JSON driver to pack if input contains non-UTF8 data (Bug #13275). [mms] Due to issues with igbinary 1.1.1, disable the igbinary driver. Prefs [mms] Add Horde_Prefs#getCache(). [mms] Add Horde_Cache based cache driver. [mms] Pref scopes are now loaded on-demand. [mms] Add Horde_Prefs#changeScope(). Secret [mms] Only store keys in cookie if cookies are in use (thomas.jarosch@intra2net.com, Bug #13284). [mms] Correctly clear secret key from cookie data (thomas.jarosch@intra2net.com, Bug #13283). Service_Weather [jan] Fix broken translations of wind forecasts. [mjr] Adjust to changes in Wunderground API (Bug #13299, arjen+horde@de-korte.org). [mjr] Add cardinal direction abbreviations (Bug #13186). [mjr] Fix fetching local observation time from Wwo (Bug #13083, maciej.uhlig@us.edu.pl). Smtp [mms] Fix harmless undefined error when accessing certain configuration parameters. [mms] Horde_Smtp#send() now returns recipient status information if at least one recipient was successfully accepted. [mms] Added an LMTP (RFC 2033) driver. [mms] The mail submission port (587) should be default of this library. [mms] Better exception message for a 550 error, since it is common and may be displayed to an end user (Request #12990). Socket_Client [mms] Fix BC-breaking regression with self-signed TLS certificates introduced by PHP 5.6. Test [jan] Update to PHPUnit 4.1.3. [jan] Fix running tests from PEAR-installed version. [jan] Bundle PHPUnit and dependencies. [mms] Fix loading PHPUnit from PHAR file. Text_Diff [jan] Fixed inline renderer breaking line breaks. (Petr Kalivoda ). [jan] Assume Unicode input when splitting on character level (Petr Kalivoda ). [jan] Fix signature of Horde_Text_Diff_Mapped constructor (BC break!) (Bug #13253). Text_Filter [mms] Javascript minification has been deprecated and moved to the Horde_JavascriptMinify package. Text_Filter_Jsmin [mms] Javascript minification has been deprecated and moved to the Horde_JavascriptMinify package. Timezone [jan] Use passive FTP for downloading the timezone database (arjen+horde@de-korte.org, Request #13024). Url [mms] Catch/ignore invalid RFC 2397 data strings. Util [mms] Add Horde_String_Transliterate class. [mms] Support deeply nested HTML documents (requires PHP 5.4.0+ and libxml 2.7.0+) (Bug #13086). View [jan] Change Horde_View_Helper_Date#distanceOfTimeInWords() to not round up the distance. [jan] Make Horde_View_Helper_Text#truncate() and truncateMiddle() multibyte-safe (Bug #13163). Extensions ---------- horde_lz4 [jan] Update lz4 source to r119 (CVE-2014-4715). [mms] Fix compilation on ancient versions of PHP 5.3 (Bug #13310). [jan] Update lz4 source to r118 (CVE-2014-4611). ------ v5.1.4 ------ [jan] Update Danish translation (Erling Preben Hansen ). Horde Changes ------------- [mms] Fix regression where AJAX actions were not correctly checking permissions and potential authentication expiration actions. Mail Changes ------------ [mms] Add Save All link to the popup message page in dynamic view. [mms] Cleaner handling of broken S/MIME signed messages. [mms] Fix displaying user-defined message headers when multiple-headers exist in a single message. [mjr] Honor recurrence-id range values when deleting recurring events (Bug #12746). [mms] Don't provide links to view attachments in compose screen unless the attachment can be displayed (Bug #12841). [mms] Fix regression where auto-saved drafts were not being deleted when cancelling compose message in dynamic view. [mms] Fix regression in parsing permission values (Bug #12812). [mms] Fix regression in showing non-available actions in dynamic mailbox view when ACL rules prevent them (Bug #12808). Filters Changes --------------- [jan] Make spam level a required form field (Bug #12964). [jan] Fix behavior of 'utf' parameter (Bug #12937). [mms] Fix sieve driver correctly identifying mailing lists when determining whether to send vacation messages (skhorde@smail.inf.fg-bonn-rhein-sieg.de, Bug #12938). Address Book Changes -------------------- [jan] Fix importing vCard fields with lowercase TYPE attributes (Bug #13006). [jan] Store full name in Kolab contacts. [jan] Fix distribution list support in Kolab driver (Bug #12450). Calendar Changes ---------------- [mjr] Fix triggering alarms for cancelled events (Bug #12928). [mjr] Fix exporting recurring events with no recur_end value to CSV. [mjr] No longer include AIRSYNCBASEBODY when exporting for ActiveSync if there is no description. [mjr] Properly set event status to Cancelled on Resource calendars when the original event status is set to Cancelled. [mjr] Fix updating free/busy display when updating event times (Bug #12676). [mjr] Fix issue that could cause calendar sync to break when creating an exception on EAS versions < 14.0 [jan] Fix rounding of start time when dragging events (Bug #11904). [mjr] Fix fatal error when searching if Holiday driver is disabled (Bug #12870). [jan] Ignore iCalendar alarms without action, and use first, not last alarm (Bug #12865). [mjr] Fix incorrect case comparison when synchronizing tags with Kolab (Bug #12770). [mjr] Honor recurrence-id range values when deleting recurring events (Bug #12746). [mjr] Fix deleting and sending iTip notifications for recurring events (Bug #12746). [jan] Fix calculation of work week start if on a weekend. [jan] Fix deleting calendars with exceptions to recurring events. [jan] Fix fatal error if recurrence exceptions have timezones set (Bug #12801). Tasks Changes ------------- [jan] Don't return future tasks from cost objects API. Notes Changes ------------- [jan] Add Korean translation (Deokgon Kim ). [mjr] Fix unencrypting and saving a previously encrypted note (Bug #12890). [mjr] Fix fatal error when exporting encrypted notes via ActiveSync. [mjr] Fix saving note after saving failed due to mismatched passwords (Bug #12855). Library Changes --------------- ActiveSync [mjr] More workarounds for PHP 65776, preventing segfaults for text attachments that contain inconsistent line endings. [mjr] Rely on the IMAP adapter for returning accurate UID values after a message move (Bug #13010). [mjr] Expose public Horde_ActiveSync_Utils::ensureUtf8() method. [mjr] Fix some issues caused by attempting to process iTip responses when saving to sent mail folder (Bug #12956). [mjr] Work around issues with clients that crash when receiving an empty body element (Bug #12956). [mjr] Improve device property management and forced-multiplex detecection. [mjr] Attempt a fix for clients that duplicate calendar entries when tags are received in a certain order (Bug #12741). [mjr] Transparently handle moving from a non-MODSEQ IMAP server to a MODSEQ server (Thomas Jarosch , Bug #12941). [mjr] Fix handling of empty OPTIONS tags. [mjr] More fixes for handling meeting responses sent by Outlook (Bug #12934). [mjr] Fix some edge case issues that could cause issues in sending changes to the client. [mjr] Fix handling MEETING_RESPONSE requests for certain broken clients (Bug #12934). [mjr] Add support for Recipient Information Cache collection. [mjr] Fix issue with synchronizing recurring event series exceptions due to missing properties in the exception object. [mjr] Fixes to S/MIME support for issues that prevent the decrypting of S/MIME encrypted email on certain clients. [mjr] Improve error handling when state is lost and device continues to request the same state despite being sent the proper status code. [mjr] Fix returning device information from Mongo driver when multiple user accounts exist on the same device. [mjr] Improve detection of devices that cannot support non-multiplexed collections. [mjr] Add support for DocumentLibrary. [mjr] Fix mailbox searching when number of results exceeds the requested RANGE value. [mjr] Fix issue where attachments are not downloaded in certain situations on EAS version 14+. [mjr] Some fixes for EAS 14.0/14.1 ITEMOPERATIONS request parsing. Fixes issues on some clients with broken email sync on Android 4.3 and 4.4. [mjr] Fix issue that causes sync to break when SMS messages are deleted on the client (Bug #12887). [mjr] Add support for parsing TNEF data when possible (Bug #12882). [mjr] Fix typo that was causing server side searching of mailboxes to fail (Bug #12882). [mjr] Add workaround for inconsistent handling of POOMCONTACTS date fields that causes fields like birthdays to become offset. [mjr] Add ability to flag a specific device as blocked. [mjr] Add ability to filter the list of devices on more than username. [mjr] Attempt to recover old serialized data before forcing a repairing of Email collections. [mjr] Fix generating EAS folder uids for devices that can't tell the difference between a string and an integer. [mjr] Changes to support multiple non-email collections of the same type. [mjr] Improvements to memory and database usage. [mjr] Add MongoDB state driver. Alarm [jan] Add getErrors() to return errors from alarm notifications. [jan] Catch errors from alarm notifications (Bug #12951). [jan] Fix compatibility with Oracle. Auth [jan] Add MySQL password hashing (Request #12962). [rla] Add joomla encrypted password format (Request #12889). [mms] Fix parsing salted SHA256 entries (Adam James ). Autoloader [mms] Remove duplicate paths when initializing the default Autoloader. [mms] Add Horde_Autoloader_ClassPathMapper_PrefixString mapper implementation. Autoloader_Cache [mms] Use more efficient hashing algorithm, if available. [mms] Saving cache data should be handled in a shutdown function, not a destructor. [mms] Add Horde-specific prefix to filesystem cache name to allow for easy identification. [mms] Support msgpack for serializing the map lookup. Browser [mms] Detect Internet Explorer 11. Cache [mms] Cache prefix should be handled by Hashtable driver, not underlying backend object. [mms] Fix lifetime usage in the file driver. [mms] Add 'no_gc' parameter to the Horde_Cache_Storage_File driver. Compress [mjr] Fix parsing TNEF data that does not contain a meeting request (Bug #12931). [mjr] Fix tests when Horde_Mapi is not available. [mjr] Add initial support for decoding TNEF meeting requests. Core [jan] Don't try authentication to SMTP server if explicitly disabled (Bug #12830). [mms] Fix hiding preferences if they are contained within a prefs container. [mms] Added standardized/normalized mousewheelY javascript event handling to HordeCore. [mms] Add nonce generation/checking to Horde_Session. [mms] Application hook methods moved from Horde:: to Horde_Core_Hooks::. [mms] Add 'fallback' option for the Horde_Registry#appInit() 'authentication' parameter. [mms] Fix deauthenticating when a system-level logout event occurs. Crypt [mms] Ensure that all text parts are Q-P encoded when signing a MIME part. [mms] More efficient parsing in Horde_Crypt_Pgp_Parse. [mms] Remove Horde_Crypt_Pgp#generateRevocation() (Bug #7375). [mms] Fix submitting PGP keys to a public keyserver (Bug #10931). [mms] PGP keyserver code now uses Horde_Http_Client to connect to the keyserver. [mms] Move PGP keyserver code to a separate Horde_Crypt_Pgp_Keyserver class. [mms] Add Horde_Crypt_Pgp_Parse#parseToPart(). [mms] Move Horde_Crypt_Pgp#parsePGPData() to separate class (Horde_Crypt_Pgp_Parse), since it can be used even if GnuPG binary is not available. [mms] Horde_Crypt_Pgp#parsePGPData() now accepts a Horde_Stream object as an argument. Css_Parser [mms] Fixed comments parsing. Date [jan] Fix date calculation if providing both a timestamp and a timezone (Bug #12843). [mjr] Add ability to return human readable description of recurrence rules. [mjr] Fix issue that could cause incorrect month values when populating an empty date object. [mjr] Fix handling of RRULE with full datetime UNTIL values (Bug # 12869). [rla] Add aliases for Windows and Lotus timezone identifiers (Bug #11688). Dav [jan] Update to SabreDAV 1.8.9. [jan] Fix synchronization with SOGo connector. [jan] Update to SabreDAV 1.8.7/VObject 2.1.3. Db [jan] Return generated (or manipulated) index name from addIndex(). [jan] Avoid cache collisions when changing adapters or configurations. [jan] Add Horde_Db_Adapter_Base#writeCache() and readCache(). [jan] Add Horde_Db_Adapter#insertBlob(). [jan] Make value of Horde_Db_Value_Binary publically accessible. [jan] Add Oracle driver (Request #11974). [jan] Add Horde_Db_Adapter_Base_Schema#column() method. [jan] Always re-throw PDOExceptions as Horde_Db_Exceptions. [jan] Fix issues with active Turkish locale. [jan] Always return a Horde_Db_Adapter_Base_Result sub-class from the select() method. [jan] Don't ping server before each query in PDO drivers (Bug #12656). [jan] Re-organize unit tests. [jan] Make several methods abstract in Horde_Db_Adapter_Base. [jan] Deprecate external usage of execute() method. Form [jan] Don't submit disabled fields. Group [jan] Make SQL backend compatible with Oracle. HashTable [mms] Fix getting data from Redis clusters. Http [mms] Fopen driver needs to handle URIs without a protocol scheme - default to http (Bug #12991). Imap_Client [mms] Fix updating cached flags list on a CONDSTORE-only server. [mjr] Fix regression in obtaining bodypart size when BINARY extension is available. [mms] Improved/more concise debug output. [mms] Optimize sorting in Horde_Imap_Client_Ids object. [mms] Workaround broken SASL capability responses from POP3 servers. [mms] Prevent PHP error when a FETCH call is unsuccessful. [mms] Relax type checking on cache driver object. [mms] Fix obtaining bodypart size (Bug #12992; martin@matuska.org). [mms] More correct fix for Exception construction. [mms] Fix regression where Horde_Imap_Client_Exception was inheriting from a different class than before. [mms] Use more efficient FNV1-32 hashing algorithm for internal hashtable storage, if available. [jan] Make SQL cache backend compatible with Oracle. [mms] Optimizations to IMAP tokenizer. [mms] Add raw error message text (in English) to Exceptions. [mms] Add debug timing information for connection/commands. [mms] Fix resetting capability list when internally cached authentication information becomes invalid. [mms] Fix updating message list in the hashtable cache driver when deleting. [mms] When determining a sequence -> UID mapping, do sanity checking to make ensure data is valid (Bug #12911). [mms] Add a Horde_Hashtable specific cache driver. [mms] Add remove() method to Horde_Imap_Client_Ids. [mms] Don't login to IMAP server if namespace information is already cached. [mms] Fix intermittent error when purging messages using a Horde_Cache caching backend (Bug #12827). [mms] Workaround broken IMAP servers that don't support the required AUTH=PLAIN authentication method (Bug #12817). [mms] Added direct TLS v1.x connection option when connecting to remote server. [mms] Use SHA-1 instead of MD5 for internal hashing. [mms] Correctly handle untagged BAD IMAP responses. [mms] Added Horde_Imap_Client_Password_Xoauth2 class. [mms] Fix harmless PHP undefined error when using with an IMAP server that supports XOAUTH2. Injector [mms] Cache creation of Reflection objects when binding. JavascriptMinify [mms] Initial release. JavascriptMinify_Jsmin [mms] Initial release. Kolab_Format [jan] Correctly translate display-name attribute of distribution lists. LoginTasks [mms] Only run shutdown task if the tasklist is currently incomplete. Mail [mms] More thorough job trying to parse addresses that contain an @ but no domain information. [mms] Correctly identify e-mail addresses without domain information when validating. Mapi [mjr] Clarify license is LGPL and fix package.xml/composer.json files. [mjr] Initial release. Mime [mms] Fixed access to a non-visible internal method when performing actions on parts. [mms] Fix parsing MIME message that contains mixed EOLs (Bug #12842). Pack [mms] Initial release. Perms [mms] Need to expire SQL cache for all sub-permissions when deleting a parent permission. Prefs [mms] Correct fix for iteration of Horde_Prefs_Scope object. SessionHandler [mms] More efficient reading of session data from filesystem in file driver. Share [jan] Make SQL backend compatible with Oracle. Smtp [mms] Add raw error message text (in English) to Exceptions. [mms] Fix handling servers that don't support ESMTP (Bug #12853). [mms] Fix returning reply code in Exceptions. [mms] Added direct TLS v1.x connection option when connecting to remote server. [mms] Added Horde_Smtp_Password_Xoauth2 class. Socket_Client [mms] Handle transient socket connection issues. [mms] Add 'tlsv1' as a secure parameter option in the Client constructor. Stream [mms] Fix packaging error. [mms] Add the Horde_Stream_TempString class. [mms] Add the Horde_Stream_String class. [mms] Add 'all' parameter to Horde_Stream#getToChar(). Stream_Wrapper [mms] Add unit tests. [mms] Add Horde_Stream_Wrapper_Combine::getStream(). [mms] Add Horde_Stream_Wrapper_String::getStream(). [mms] Fix documentation regarding proper license for this package (BSD). Test [jan] Add stubs for Horde_Registry_Loadconfig and Horde_Registry::loadConfigFile(). [mms] Add factory for a HashTable instance. [jan] Correctly set up include paths on installed packages. [mms] Restore error reporting level after running tests via Horde_Test_AllTests#run(). Text_Filter [mms] Move JSMin code to a separate package. Text_Filter_Jsmin [mms] Initial release. Translation [mms] Add Horde_Translation#r() (raw gettext strings). Url [mms] Optimize Horde_Url#toString(). Vfs [jan] Remove broken Kolab driver. [mms] Add null VFS driver. [jan] Support Oracle with SQL driver. Extensions ---------- horde_lz4 [mms] Update lz4 source to r108. ------ v5.1.3 ------ Horde Changes ------------- [jan] SECURITY: Protect against CSRF attacks on share permissions form (Bug #12804). [jan] SECURITY: Fix XSS vulnerabilities in top and left menu (Bug #12803). [jan] Don't show admin alarm form if alarms are disabled. [mms] Add horde-remove-user-data command-line script. [mms] Add additional syntax checking for the configuration files in the test script. [mms] Only update topbar if the underlying tree data has changed. Address Book Changes -------------------- [jan] SECURITY: Fix XSS vulnerabilities when deleting address books. [jan] Fix exporting selected contacts (Bug #12759). [mms] Improved UI when viewing search results from Advanced Search. [mms] Remove features from UI when VFS is not available or disabled. [mjr] Fix filtering Facebook driver results (Bug #12739). [jan] Gracefully deal with columns removed from the backend. Calendar Changes ---------------- [jan] SECURITY: Protect against CSRF attacks on share permissions form (Bug #12804). [jan] SECURITY: Fix XSS vulnerabilities when deleting calendars and resources. [jan] Fix edge case that allowed to enter start time after end time (Bug #12752). [mjr] Expire fb cache when fb_cals preference changes (Bug #12714). [jan] Fix setting DTEND in iCalendar data if event has a timezone (Bug #12693). [mjr] Fix importing new ActiveSync events created on the client with recurrence. [mjr] Fix some issues with recurring event exceptions due to improper timezone handling (Bug #12630). Tasks Changes ------------- [jan] SECURITY: Fix XSS vulnerabilities when deleting task lists. [jan] Fix updating alarm if completing a task recurrence. [jan] Fix editing tasks via CalDAV (Bug #12745). Notes Changes ------------- [jan] SECURITY: Fix XSS vulnerabilities when deleting notepads. [mjr] Fix removing a list of UIDs via the API (Bug #12790, thomas.jarosch@intra2net.com) [mjr] Fix exporting memos as v-note (horde@albasoft.com, Bug #12622). Library Changes --------------- ActiveSync [mjr] Improve performance related to conflict detection and change mirroring protection. [mjr] Return proper status codes when OOF is unavailable (Bug #12757). [mjr] Fix fatal crash when conflict is detected (Thomas Jarosch , Bug #12755) [mjr] Fix returning contact image in GAL search for those clients that support it. [mjr] Fix GAL searching for clients that depend on SEARCH_RANGE values. [mjr] Fix some authentication issues when certain clients issue broken AutoDiscover requests. [mjr] Fix some minor issues with Autodiscover requests caught by unit testing. [mjr] Remove dependency on unreleased Horde_Stream code. [mjr] Work around for PHP bug 65776, preventing segfaults with certain emails. [mjr] Remove loop counter code that was incorrectly growing sync_cache data (Bug #12707). [mjr] Ignore incoming SMS delete command. Prevents breaking sync on clients that send SMS data, even though we do not return it as an available collection. [mjr] Prevent sending invalid UTF-8 data in the Subject header, which could break sync in some clients. [mjr] Support for SOFTDELETE. [mjr] Fix possible infinite loop when a requested message is not found on the serer during a SYNC request. Alarm [mjr] Fix initializing Alarms when using PDO_Oci or PDO_PostgreSQL. Auth [mms] Password strength testing is now case-insensitive (delrio@mie.utoronto.ca, Request #12708). Cache [mms] Fix key expiration for APC, Eaccelerator, and Xcache (Bug #12735). [mms] Add Horde_Cache_Storage_Memoryoverlay driver. Core [mms] Fix prototype.js issue in IE 9 regarding array iteration in a parent window. [mjr] Ensure Bcc is removed from headers when sent via ActiveSync (Bug #12771). [mjr] Fix calculating calendars to use for SOFTDELETE commands in certain configurations (Bug #12765). [mms] Upgrade jQuery Mobile to v1.3.2/jQuery Core to v1.9.1. [mms] Add Horde_Core_Ui_FlagImage#getFlagImageObByHost. [mms] Add base64img property to Horde_Themes_Image. [mjr] Do not assume that the filter API is available (Bug #12757). [mms] Add ability to load javascript via a HordeCore AJAX response (Request #10971). [mms] Add ability to expire CSS cache based on file modification time. [mms] Allow disabling VFS via the configuration interface. [mjr] Send back dummy mail folders when the Mail API is not available (Bug #12738). [mms] Upgrade prototype.js to most recent git version (e3d5200cef3236b257ddcfb1eb3eabc5c586bedd). [mms] Cache permission results within a PHP access. [mms] Don't initialize unnecessary prefs object when creating the topbar. [mjr] Support ActiveSync SOFTDELETE. [mms] Respect 'nobase64_img' configuration when generating image tags (João Machado ). [mjr] Support for X509 certificate authentication in ActiveSync requests. [mjr] Fix calculating policy value for SD card encryption and device encryption policies. Css_Parser [mms] Merge from upstream - handle keywords/dimensions case-insensitively. [mms] Performance optimizations in the parser. Date [jan] Correct dates with very large days-of-month more efficiently (Bug #12615). [jan] Don't limit the argument to Horde_Date_Utils::isLeapYear() to 4 digits. Form [mms] Remove duplicate constructor. History [mjr] Only query History when we have a range of modSeq values to query (arjen+horde@de-korte.org, Bug #12660). Imap_Client [mms] Explicitly reject XOAUTH2 as a authentication mechanism if it is not configured in the client (Bug #12756). [mms] Sort UID list before sending in QRESYNC parameter. [mms] Ensure that INBOX always appears in subscribed mailbox list when using a server that supports LIST-EXTENDED. [mms] Fix regression where INBOX may not be recognized as subscribed, if the server doesn't list it in the subscribed list. [mms] Handle case-insensitive INBOX return from the server. [mms] Use strict RFC-compliant workaround for servers that don't support the UNSELECT IMAP extension. [mms] Ensure Horde_Imap_Client_Base#search() always returns the 'count' value (Bug #12682). [jan] Fix incorrect usage of Horde_Db API in cache backend. [mms] Workaround servers that don't advertise UIDL until after authentication. [mms] Fix parsing continuation requests sent in SASL AUTH command (RFC 5034). [mms] By default, use TLS if available and necessary to login to server. [mms] Fix adding status information to listMailboxes() return when LIST-STATUS is not available. Ldap [jan] Fix modifying entries with modify(). [jan] Try starting TLS without querying the rootDSE (Bug #12157). ListHeaders [mms] Add Horde_ListHeaders#headers(). Log [jan] Add a CLI formatter and handler. Mail [mms] Discard personal information when it is identical to e-mail address. Mime [mms] Fix regression that broke quoted-printable encoding. [mjr] Work around broken PHP behavior that could cause a segfault when encoding certain strings as quoted-printable. Mongo [mjr] Prevent data loss due to forced selection of incorrect database. Prefs [mms] Fix iteration of Horde_Prefs_Scope object. Rpc [mjr] Correctly catch HTTP client exceptions. Service_Facebook [mjr] Correctly catch HTTP client exceptions. Smtp [mms] Fix handling EOLs split on a stream bucket boundary (Bug #12763). [mms] Fix escaping periods that begin a line of DATA input. [mms] Explicitly reject XOAUTH2 as a authentication mechanism if it is not configured in the client. [jan] Fix reading translations in PEAR-installed package. [mms] Fix parsing SMTP error message on servers that support ENHANCEDSTATUSCODES (Bug #12666). [mms] Fix aborting a pipelined DATA command if only a subset of recipients were rejected (Bug #12659). [mms] Don't auto-detect TLS availability again once we have done initial detection. Socket_Client [mms] Initial release. SpellChecker [mms] Fix spellchecking within the ALT HTML tag (Bug #12610). Stream [mms] Add Horde_Stream#substring(). [mms] Fix getString() in certain use cases. [mms] Horde_Stream#getToChar() now supports multiple characters in search string. [mms] Horde_Stream#search() now supports multiple characters in search string. [mms] Add ability to get UTF-8 character length of stream from Horde_Stream#length(). [mms] Add length argument to peek(). [mms] Add Horde_Stream#close(). [mms] Add support for parsing UTF-8 characters in stream via Horde_Stream#getChar(). [mms] Add Horde_Stream#eof(). [mms] Add Horde_Stream#end(). [mms] Add Horde_Stream#seek(). [mms] Add Horde_Stream#rewind(). [mms] Add Horde_Stream#pos(). [mms] Add Horde_Stream#__destruct(). Stream_Filter [mms] Fix EOL filter when multi-character EOL is split between incoming buckets (Bug #2673). Test [mms] Fix autoloading from a PHP-defined namespace. Text_Filter [mms] Fix issue from upstream jsmin.c that was breaking parsing of a keyword immediately followed by a regexp (Bug #12787). [mms] Merge upstream updates to JsMin filter. Timezone [jan] Fix broken offsets during first zone rules. [jan] Make BYMONTHDAY property as short as possible. [jan] Fix missing time of day in DTSTART and UNTIL properties. [jan] Don't create transitions that overlap. [jan] Use orginally requested time zone instead of alias in TZID. Vfs [jan] Bump minimum version of SSH2 extension to 0.12. ------ v5.1.2 ------ [jan] Fix fatal errors if DAV support is disabled (Bug #12481). Horde Changes ------------- [jan] Fix fatal error on ActiveSync preferences page (Bug #12631). [mjr] Fix issue displaying ActiveSync pref page when it contains a wiped device entry. [mms] Allow non-authenticated AJAX actions to be defined. [mms] Improved session administration UI (Request #12515). [jan] Make "Others" and cogwheel menu entry available on iOS (Bug #11937). Address Book Changes -------------------- [mjr] Fix deleting multiple contacts via the API (Bug #12554). [mjr] Fix issue generating contact hashes from EAS contacts that could prevent duplicate contact detection from working when certain properties have empty values (Bug #12506). Calendar Changes ---------------- [jan] Fix inconsistent handling of all-day events (Bug #12627). [mjr] Fix infinite loop for Kolab driver when event has recurrence (Bug #12160, Thomas Jarosch ). [jan] Fix synchronization of shared events in Kolab driver (Thomas Jarosch , Bug #12585). [jan] Link to CalDAV help text from calendar dialog. [mjr] Fix requesting changes by modification sequence (Bug #12508, Thomas Jarosch ). [mjr] Fix subscribing to internal calendars via subscription URL (Bug #12495). Tasks Changes ------------- [jan] Fix highlighting task type tabs in list view. [mjr] Fix requesting changes by modification sequence (Bug #12507, Thomas Jarosch ). File Manager Changes -------------------- [jan] Fix saving columns preference if only one backend exists (Bug #12003). Timeobject Changes ------------------ [jan] Fix timeobjects not showing up in the administration (Bug #12365). [jan] Add Spanish translation (Manuel P. Ayala ). Library Changes --------------- ActiveSync [mjr] Allow authentication to still be attempted without an available password, allowing for the use of setups using client certificates. [mjr] Fix Wbxml output of SEARCH_TOTAL and SEARCH_RANGE values in SEARCH responses (Bug #12624). [mjr] Allow reducing the amount of tag content that is logged to the Wbxml log. [mjr] Fix broken wbxml in certain cases due to incorrect handling of encoding empty array values (Bug #12595). [mjr] Detect IMAP message deletions on non-CONDSTORE servers during PING requests (Request #12597, Thomas Jarosch ). [mjr] Do not initiate a looping SYNC if there were any incoming changes, this prevents an unnecessary backend ping for each collection. [mjr] Fix issue that could cause message deletions on the server to not be trasmitted to the client if the message falls outside of the FILTER window and the IMAP server does not support CONDSTORE. [mjr] Don't filter out messages flagged as DELETED during initial sync request. [mjr] Fix issue that could cause corrupt email attachment downloads on certain webservers due to PHP flushing the output buffer (Bug #12486). [mjr] Output X-MS-RP header to advertise to clients that a more recent EAS version is supported on the server. [mjr] Fix issue that could lead to email being duplicated on client due to incorrect Collection Type being detected for unsolicited SMS data (Bug #12544). [mjr] Fix decoding EAS Timezone blobs on Big Endian systems. [mjr] Fix race condition where changes may not be sent to the client due to a combination of a long running MOREAVAILABLE sync and server side changes. [mjr] Do not ask the IMAP server to fetch flags if we don't have an empty imap search result (Bug #12551). [mjr] Fix typos that could cause some sync actions to fail (Bug #12548 and #12523, Thomas Jarosch ). [mjr] Ensure proper failure codes are returned when a client addition fails to be added to the backend during a PARTIAL sync. [mjr] Fix obtaining the timestamp of the last successful sync when backend uses modification sequences (Bug #12529). [mjr] Fix broken Email sync due to clients that send unsolicited SMS data (Bug #12544). [mjr] Fix returning incorrect syncstamp when adding, editing, or deleting messages and backend uses modification sequences (Bug #12523). [mjr] Fix bug that could cause a sync loop if history data is removed or a collection is empty and therefore has no history data (Bug #12531). [mjr] Fix filtering out changes due to incoming client email requests in certain cases. [mjr] Send empty POOMMAIL_CATEGORIES tag as Exchange does. [mjr] Fix sending deletion commands to clients when an item is created on one EAS client, but deleted on another EAS client. Auth [mjr] Add X509 authentication driver. Autoloader_Cache [mms] Improved error handling/logging when system temporary directory is not accessible. [mms] Don't cache missing class paths. [mms] Purging the autoloader cache no longer requires knowledge of the various SERVER_NAME settings used on a given system. Browser [mms] Detect stock N900 browser as mobile browser (Request #12613; Thomas Jarosch ). Css_Parser [jan] Fix certain sizes reduced by factor ten (Bug #12462). Core [mjr] Always honor activesync_replyposition pref (Bug #12636, Thomas Jarosch ). [rla] Add support for external links in topbar (Request #11977). [mms] Fix active session counting from CLI script (Bug #12628). [mms] Fix regression in authenticating to an application when a session is active. [mms] Update session data stored with secret key if session ID changed and we are using non-cookie based sessions. [mms] Horde_Session now handles resetting the secret key on login. [mms] Add Horde_Session::ENCRYPT flag for session data. [mms] The Horde_Mail factory now uses Horde_Smtp as the underlying SMTP driver instead of Net_SMTP. [mms] Don't redirect to current page's URL when logging out with a custom message (Bug #12538). [mjr] Ensure modseq values are always integers which prevents sync loops when no history data is available (Bug #12531). [mms] Ensure Registry exists in error handler before attempting to access it (Bug #12540). [jan] Remove text overlaying menu icon (Bug #12496). [mms] Log unexpected authentication errors at a NOTICE level instead of EMERG. [mms] SessionHandler should not use HashTable wrapper, as it explicitly can't be serialized. Crypt [jan] Fix detecting bad PGP signatures on some systems with non-English locales (Bug #10273). Dav [jan] Fix installation path for translations. Db [jan] Fix schema version table names when using horde-db-migrate-component. Exception [jan] Update Ukrainian translation. HashTable [mms] Add read-only property indicating whether driver supports locking. History [mjr] Add method to get the most recent history entry for any given id (Thomas Jarosch , Request #12558). [mjr] Further fixes for database migration issues, very index name and existence before removing (Bug #12498). [mjr] Correctly remove unused index, readd erroneously removed indexes. [mms] Fix usage of removeIndex(). [mms] Fix migrations nos. 4 & 5. [mjr] Add index for better modseq query performance in sql driver (Bug #12476). [mjr] Fix expiring the log cache when logging a new entry. Http [jan] Provide more useful messages when throwing exceptions. Imap_Client [mms] Added the 'statuscache' property to Horde_Imap_Client_Base (Request #12589). [mms] The 'xoauth2_token' parameter now accepts a Horde_Imap_Client_Base_Password object. [mms] Deprecated the 'encryptKey' parameter and instead support passing a Horde_Imap_Client_Base_Password object into the 'password' parameter. [mms] Added the Horde_Imap_Client::STATUS_FORCE_REFRESH flag. [mms] Fix regression in setting CAPABILITY for IMAP servers that don't automatically send this information after login. [mms] Fix regression in POP3 SASL PLAIN authentication command. [mms] Fix regression in mapping message sequence numbers to UIDs when doing an 'all' activity in POP3. [mms] Added support for the Google XOAUTH2 authentication mechanism for the IMAP Socket driver. [mms] Fix regression in retrieving CAPABILITY information after we login. [mms] Fix regression in caching for POP3 servers. [mms] Cache any data returned from POP3 capability sniffing. [mms] Add remote POP3 server test. [mms] Fix sniffing capabilities for POP3 servers that don't support the CAPA command. [mms] Fix returning list of expunged UIDs when expunging all messages in a mailbox that doesn't support CONDSTORE (Bug #12559). [mms] Translate mailbox names from UTF7-IMAP -> UTF-8 in return from Horde_Imap_Client_Base#getMetadata() (Bug #12541). [mms] Added the Horde_Imap_Client::STATUS_RECENT_TOTAL return option to Horde_Imap_Client_Base#status(). [mms] More graceful handling of servers that return broken FETCH information (Request #12441). Kolab_Format [jan] Fix saving all day events when the end date is on the next day (Thomas Jarosch , Bug #12627). Kolab_Storage [jan] Catch errors in Kolab_Storage_Driver_Imap#fetchComplete() (Thomas Jarosch , Bug #12584). [jan] Retrieve status changes during running requests (Thomas Jarosch , Bug #12589). Mail [mms] Workaround broken Net_SMTP handling regarding the end of message data (Bug #12614). [mms] Added the Horde_Mail_Transport_Smtphorde driver. [mms] Added the 'bare_addresses_idn' property to Horde_Mail_Rfc822_List. [mms] Added the 'bare_address_idn' property to Horde_Mail_Rfc822_Address. Memcache [jan] Fixed connection to Memcache servers. [mms] Immediately throw exception when no servers can be connected to. [mms] No need to serialize logging object twice. Mime [mms] Remove stream filters before returning stream to calling code. [mms] Support Horde_Mail_Transport_Smtphorde when sending messages. [mms] Net_SMTP does not support sending via BINARYMIME. [mms] Fix parsing broken multipart messages (Bug #12536). [mms] Use the correct EOL string when transfer encoding content (Bug #12452). Perms [jan] Fix unserialization notices in SQL driver. Queue [jan] Don't set default value for TEXT column. [rla] Add Db backend for Queues. [cjh] Add Horde_Queue_Runner#runTask(). [cjh] Allow RequestShutdown runner to handle tasks that spawn other tasks. Service_Facebook [jan] Try to parse error message from json-formated error response. SessionHandler [mms] Fix session ID tracking for the Hashtable driver. [mms] Fix rare race condition when creating file-based session data for the first time (Thomas Jarosch , Request #12603). View [jan] Allow collections with arbitrary keys when rendering partials. Extensions ---------- horde_lz4 [mms] Update LZ4 source to r99. ------ 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 ). [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 , 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 ). 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 ). [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 ). 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 ). 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 ). [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 ). [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 ). [jan] Update Basque translation (Ibon Igartua ). [jan/mms] Improve/fix unit tests. [jan] Improve dependency detection. Horde Changes ------------- [mms] SECURITY: Fix XSS vulnerability on smartmobile portal page (João Machado ). [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 ). [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 , 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 , Bug #12222). [mjr] Fix setting alarm time when syncing (Bug #12201, ). [mjr] Fix issue causing due dates to be offset when syncing (Bug #12200, ) [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 ). 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 ). [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 ). [jan] Update Slovak translation (Jozef Sudolský ). 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 , 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 ). [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 ). 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 , 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 ). [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 , 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 ). [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ý ). 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 ). [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 ). [jan] Update Slovak translation (Jozef Sudolský ). [jan] Update Japanese translation (Hiromi Kimura ). 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 ). [jan] Update Dutch translation (Arjen de Korte ). 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 ). [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 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 , Jakob Alvermark ). [jan] Update Italian translation (Emilien , Massimo Malabotta ). [jan] Update Slovak translation (Marika Schvarczova ). [jan] Update Czech translation (Michal Foist ). [jan] Update Hungarian translation (Zoltán Németh ). 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 , 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 ). [jan] Update Brazilian Portuguese translation (Luis Felipe Marzagao ). [jan] Update Finnish translation (Leena Heino ). [jan] Update German translation. [jan] Update Spanish translation (Manuel P. Ayala ). 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 , 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 , 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 , 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 ). 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 , Pieterjan Heyse ). [jan] Update Japanese translation (Hiromi Kimura ). 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 ). 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 ). [jan] Update Latvian translation (Jānis Eisaks ). [jan] Update Estonian translation (Alar Sing ). [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 . 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 , 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 , 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 , 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 ). [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 ). ---- 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 ). [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 , Bug #9800). [jan] Fix Cyrsql authentication driver (Vilius Sumskas , 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 ). [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 ). [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 ). [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 , 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 ). 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 , Request #8978). [gwr] Fix organizer field not saved in tasks (kolab/issue3888). ------ v1.2.5 ------ [jan] Add Croatian translation (Matej Vela , Iva Rumora ). [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 , 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 , 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 , 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 , 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 , 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 ). [cjh] SECURITY: Validate the Horde_Image driver name (found by Gunnar Wrobel ). [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 , 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 , 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 , 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 ). [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 ). [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 ). [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 ). [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 ). [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 ). [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 ). [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 ). [cjh] SECURITY: Validate the Horde_Image driver name (found by Gunnar Wrobel ). ------ 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 , 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 ). 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 ). 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 ). -------- 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 (, 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 , 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 ). [cjh] Add LDAP ACL definition for preferences (Martin Fraer ). [cjh] Add an index on horde_datatree_attribute.attribute_value to improve DataTree performance (Andrew Morgan ). [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 , roti@al.pmmf.hu, Request #2795) and Silver Surfer (Daniel Dembach ) 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 , Request #4263). [cjh] Remove RPC_rest backend. [cjh] Add DELETE support to the webdav RPC implementation (Håvard Wigtil , 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 , 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 ). [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 ). [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 ). [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 ). [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 , 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 , 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 ). [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 , 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 , 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 ). ------ 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 , 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 ). [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 , 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 ). [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 ). ---- 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 ). [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 ). [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 ). [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. groupware-5.2.12/docs/INSTALL0000664000175000017500000006220012654153370013707 0ustar janjan============================== Installing Horde Groupware 5 ============================== :Contact: horde@lists.horde.org .. contents:: Contents .. section-numbering:: This document contains instructions for installing Horde Groupware on your system. For information on the capabilities and features of Horde Groupware, see the file README_ in the top-level directory of the Horde Groupware distribution. Quick Install ============= These are very terse instructions how to install Horde Groupware and its prerequisites on a LAMP sytem. They are addressed to experienced administrators who know exactly what they are doing. For more detailed instructions, start reading below at Prerequisites_. 1. Compiling PHP for Apache 2:: cd php-x.x.x/ ./configure --with-apxs2=/usr/sbin/apxs2 \ --with-gettext --enable-mbstring=all --enable-mbregex \ --with-gd --with-png-dir=/usr --with-jpeg-dir=/usr \ [--with-mysql|--with-pgsql|--with-oci8] [--with-tidy] [--with-ftp] make make install 2. Restart Apache. 3. Register Horde PEAR channel:: pear channel-discover pear.horde.org 4. Set Horde installation directory:: pear install horde/horde_role pear run-scripts horde/horde_role 5. Install Horde Groupware:: pear install -a -B horde/groupware 6. Run installation script:: groupware-install 7. Test Horde Groupware:: http://your-server/horde/test.php Prerequisites ============= The following prerequisites are **REQUIRED** for Horde Groupware to function properly. 1. A webserver that supports PHP. Horde Groupware is primarily developed under the Apache and Lighttpd webservers, which we recommend. These servers are available from: http://httpd.apache.org/ http://www.lighttpd.net/ 2. A web server with PATH_INFO support. The dynamic interfaces of Horde Groupware requires a web server that correctly sets the PATH_INFO environment variable for all PHP scripts. Every modern web server supports this, but you might have to enable this feature in the web server configuration. e.g. Apache servers require:: AcceptPathInfo On Lighttpd servers require:: "broken-scriptfilename" => "enable" 3. PHP 5.3.0 or above. PHP is the interpreted language in which Horde Groupware is written. .. Note:: If possible, you should install PHP with your operating system's package manager. Alternatively you build PHP yourself. To build PHP from sources, you can obtain it at http://www.php.net/ Follow the instructions in the PHP package to build PHP for your system. If you use Apache, be sure to build PHP as a library with one of the following options:: --with-apache --with-apxs --with-apxs2 options to ``./configure``, and not as a standalone executable. The following PHP options are **REQUIRED** by Horde Groupware (listed with their own prerequisites and configure options). In many cases, the required libraries and tools can be obtained as packages from your operating system vendor. a. Gettext support. ``--with-gettext`` Gettext is the GNU Translation Project's localization library. Horde Groupware uses gettext to provide local translations of text displayed by applications. Information on obtaining the gettext package is available at http://www.gnu.org/software/gettext/gettext.html See also note below on configuring Translations_. b. XML and DOMXML support. XML and DOM support are enabled in PHP 5 by default. You only have to make sure that you do **not** use ``--disable-dom``, ``--disable-simplexml``, or ``--disable-xml``. Make sure you are using a newer version of libxml. Older version of libxml (e.g. 2.6.26) have been reported to be partially broken when handling certain charsets. The following PHP options are **RECOMMENDED** to enable advanced features in Horde Groupware: a. File Upload Support File upload support is **required** to allow various importing features to work. To enable file upload support: 1. In your php.ini file, the following line **must** be present:: file_uploads = On 2. Your temporary upload directory **must** be writable to the user the web server is running as. If you leave the configuration option ``upload_tmp_dir`` blank in ``php.ini``, PHP will use the default directory compiled into it (normally ``/tmp`` on Unix-like systems). 3. Set the maximum size of the uploaded files via the ``upload_max_filesize`` configuration option in ``php.ini``. For example, to allow 5 MB attachments, place the following line in your ``php.ini`` file:: upload_max_filesize = 5M If either ``file_uploads`` is turned off, or your temporary upload directory is *not* writable by the server, all file upload functionality will be disabled by Horde Groupware and will not be available to the user. See the `File Uploads`_ FAQ entry for further information. b. A preferences container. Horde Groupware can store user preferences in an SQL database, an LDAP directory, an IMSP server, a Kolab server, or in PHP sessions. An SQL database is used and configured by default. For SQL database preferences storage, Horde Groupware is thoroughly tested on MySQL(i) (``--with-mysql(i)``) and PostgreSQL (``--with-pgsql``), and has been reported to work with SQLite (enabled by default). Preferences can also be stored via LDAP (``--with-ldap``), Kolab (``--with-ldap``), and IMSP. Alternatively, preferences can be stored in PHP sessions, which requires no external programs or configure options, but which will not maintain preferences between sessions. While the LDAP, database, Kolab, or IMSP server need not be running on the machine onto which you are installing Horde Groupware, the appropriate client libraries to access the server must be available locally. If a preference container is not configured, no preference options will be configurable via Horde Groupware's web interface - the default values stored in each applications ``config/prefs.php`` file will be used. c. UTF-8 support (mbstring and iconv extensions) ``--enable-mbstring`` If these extensions are enabled, Horde Groupware can better support multibyte character sets like UTF-8. For iconv support you should use the GNU libiconv library, which is more stable and supports more charsets, compared to other iconv implementations, like Solaris', for example. Iconv support is enabled by default in PHP 5. You only have to make sure that you do **not** use ``--without-iconv`` d. GD support ``--with-gd`` Horde Groupware will use the GD extension to perform manipulations on image data through the Horde_Image library. If you want GD to be able to work with PNG images, you should use the ``--with-png-dir`` option to make sure PHP can find the PNG libraries it needs to compile. If you want GD to be able to work with JPEG images, you should use the ``--with-jpeg-dir`` option to make sure PHP can find the JPEG libraries it needs to compile. You can also use the imagick_ extension or the ImageMagick_ package to do these manipulations instead. The imagick_ extension is the recommended method for image manipulation. See the ``Image Manipulation`` tab of the Horde configuration for more details. .. _imagick: http://pecl.php.net/package/imagick .. _ImageMagick: http://www.imagemagick.org e. tidy ``--with-tidy`` The tidy PHP extension is required to sanitize HTML data. .. _`OpenSSL Support`: f. OpenSSL support ``--with-openssl`` The OpenSSL PHP extension is used by Horde Groupware to provide S/MIME support. Without the extension, all S/MIME options will be disabled. Additionally, the OpenSSL PHP extension is REQUIRED if using TLS or SSL to connect to a server. See http://www.php.net/openssl for information on compiling OpenSSL into PHP. g. fileinfo Allows Horde modules to guess the MIME type of files by analyzing their contents. This module is automatically enabled by default. h. intl ``--enable-intl`` The intl module is required to handle display of Internationalized Domain Names (see RFC 3490), e.g in e-mail addresses. i. FTP support ``--with-ftp`` If using the FTP VFS driver for the file manager, the FTP PHP module is **required**. 4. Additional PECL Modules PECL is short for "PHP Extension Community Library". The goal of PECL is to provide a means of easily distributing PHP extensions. For more information, see http://pecl.php.net/ When you install a PECL extension, you have to add it to your ``php.ini`` so it gets loaded. Add the following line to your ``php.ini`` file to load the extension (the extension should be installed in the directory specified by the ``extension_dir`` option in ``php.ini``):: extension=fileinfo.so Or on Windows:: extension=fileinfo.dll After that, restart your webserver. These PECL modules are **RECOMMENDED** to be installed if you need advanced functionality: a. imagick The imagick module can be used by Horde's image library to provide all kind of image manipulations. To install, enter the following at the command prompt:: pecl install imagick b. lzf If the lzf module is available, Horde Groupware can compress some cached data in the current session, thus reducing the size of the current session. To install, enter the following at the command prompt:: pecl install lzf c. memcache If using the memcached SessionHandler, the memcache PECL extension must be installed. To install, enter the following at the command prompt:: pecl install memcache The following non-PHP prerequisites are **RECOMMENDED**: 1. aspell - Spelling Checker Aspell, a comand-line program, is used as Horde Groupware's spell-checking engine. You must install and configure aspell to use Horde Groupware's spell-check feature. Version 0.60 or higher is REQUIRED. You can obtain aspell from: http://aspell.sourceforge.net/ 2. Sendmail or SMTP server. Horde Groupware sends mail via either a local sendmail or a remote SMTP server. It is **RECOMMENDED** that SMTP be used. 3. FTP server. If using a FTP backend for the file manager, you **must** have at least one FTP server. 4. ElasticSearch server. An ElasticSearch_ server or cluster running on localhost can be used to provide indexing of bookmarks data and quick searching of the indexed content. .. _ElasticSearch: http://www.elasticsearch.org/ Installing Horde Groupware ========================== The **RECOMMENDED** way to install Horde Groupware is using the PEAR installer. Installing with PEAR ~~~~~~~~~~~~~~~~~~~~ First you need to register the Horde PEAR channel server to your local PEAR system. This has to be done only **once** ever on a single PEAR system:: pear channel-discover pear.horde.org Next install a so-called "role" for Horde. This role defines where Horde Groupware is supposed to be installed. This should be a directory in your web server's web root, e.g. ``/var/www/groupware``. Again this has to be done only **once** ever on a single PEAR system:: pear install horde/horde_role pear run-scripts horde/horde_role When installing Horde Groupware through PEAR now, the installer will automatically install any dependencies of Horde Groupware too. If you want to install Horde Groupware with all optional dependencies, but without the binary PECL packages that have to be compiled, specify both the ``-a`` and the ``-B`` flag:: pear install -a -B horde/groupware By default, only the required dependencies will be installed:: pear install horde/groupware If you want to install Horde Groupware even with all binary dependencies, you need to remove the ``-B`` flag. Please note that this might also try to install PHP extensions through PECL that might need further configuration or activation in your PHP configuration:: pear install -a horde/groupware Installing into separate PEAR ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. Warning:: Unless you really know **why** you want to do this, you probably do **not** want to do this. Use the general PEAR installation instructions from above instead. If you want to create a separate PEAR installation for installing Horde Groupware, independent from the system-wide PEAR installation, this can be done with the following commands (in this example, ``/var/www/groupware`` is used as the location of the web-accessible Horde directory):: mkdir /var/www/groupware pear config-create /var/www/groupware /var/www/groupware/pear.conf pear -c /var/www/groupware/pear.conf install pear Then follow the regular installation steps, but use the ``pear`` command from the PEAR installation you just created, e.g.:: /var/www/groupware/pear/pear -c /var/www/groupware/pear.conf \ channel-discover pear.horde.org Finally configure your web server in some way to point PHP's ``include_path`` setting to the PEAR installation and the ``PHP_PEAR_SYSCONF_DIR`` environment variable to the directory used during the config-create command:: php_value include_path /var/www/groupware/pear/php SetEnv PHP_PEAR_SYSCONF_DIR /var/www/groupware It is recommended to not use the .htaccess file in ``/var/www/groupware/`` to set these values because it will be overwritten with every further update. Finishing installation ~~~~~~~~~~~~~~~~~~~~~~ To finish installation, run the installation script on the command line and answer all questions:: groupware-install If you installed Horde Groupware into the global PEAR system, this script should be in your command path. If the script cannot be found in your path, you need to specify the full path to the script, e.g.:: /var/www/groupware/pear/groupware-install You can use the ``pear`` command to find the place where the script has been installed:: pear config-get bin_dir If you installed into a local PEAR installation, you need to tell PHP and PEAR where to find the installation and the script, e.g.:: PHP_PEAR_SYSCONF_DIR=/var/www/groupware php \ -d include_path=/var/www/groupware/pear/php \ /var/www/groupware/pear/groupware-install Configuring Horde Groupware =========================== 1. Configuring the web server Horde Groupware requires the following webserver settings. Examples shown are for Apache; other webservers' configurations will differ. a. PHP interpretation for files matching ``*.php``:: AddType application/x-httpd-php .php .. Note:: The above instructions may not work if you have specified PHP as an output filter with ``SetOutputFilter`` directive in Apache 2.x versions. In particular, Red Hat 8.0 and above Apache 2.x RPMS have the output filter set, and **MUST NOT** have the above ``AddType`` directive added. b. ``index.php`` as an index file (brought up when a user requests a URL for a directory):: DirectoryIndex index.php c. If you plan to provide ActiveSync support to your users, you have to create an alias of the ``/Microsoft-Servers-ActiveSync`` URL to ``/groupware/rpc.php``. See http://wiki.horde.org/ActiveSync for details. 2. Configuring Horde Groupware Documentation on the format and purpose of the configuration files in the ``config/`` directory can be found in each file. The defaults will be correct for most sites. If you wish to customize Horde Groupware's appearance and behavior, create "local" files for the configuration file you want to change. For example if you want to change the default value and lock a preference, create a ``config/prefs.local.php`` file with the following content:: "access 1 months" ) } * Enable caching in Horde Groupware. Several applications make heavy use of caching and, if enabled, you will see a significant increase in performance. * Enable caching/compression of javascript and CSS. See `Yahoo's Analysis`_ which concludes that "[r]educing the number of HTTP requests has the biggest impact on reducing response time". Caching via filesystem is HIGHLY RECOMMENDED: it is also the only way of caching that reliably works on all browsers. Caching can also be done via horde caching, but the cache-busters used to generate unique URLs when the cached content changes do not work 100% reliably across all browsers. * It is highly recommended to install the lzf PECL module to activate compression for certain Horde data (especially in IMP). lzf is a tiny module that does real-time compression. The lzf documentation states that on modern CPUs, compression is as fast as an (unoptimized) memcpy action, making the compression essentially 'free' when compared to uncompressed data. lzf can be installed via PECL (see INSTALL). .. _`The Zend Performance Suite`: http://www.zend.com/horde.php .. _`Alternative PHP Cache`: http://www.php.net/apc .. _eAccelerator: http://eaccelerator.net/ .. _XCache: http://xcache.lighttpd.net/ .. _`IBM Article`: http://www.ibm.com/developerworks/web/library/wa-ltwebserv/ .. _`Yahoo's Analysis`: http://yuiblog.com/blog/2006/11/28/performance-research-part-1/ Sending Mail ============ * Generally using a local sendmail command to send mail will result in better peformance than using a SMTP connection. * Some MTA servers may be faster or more efficient than others. Consider switching to a faster format if needed. PostgreSQL tuning ================= * Do a ``VACUUM`` command periodically to tune your database. * Increase ``shared_buffers`` and ``sort_mem`` memory settings. * If web server and database is on the same unix host, use unix sockets instead of network connections for database access. MySQL tuning ============ * If web server and database is on the same unix host, use unix sockets instead of network connections for database access. * Enable mysql query cache if you have sufficient RAM. Edit your ``my.cnf`` file and add the following to the ``[mysqld]`` section (change the memory size to meet your needs):: set-variable = query_cache_size=128M Horde tuning ============ Autoloading ----------- * Horde Groupware automatically loads PHP source files on demand which relies on the PHP autoloading feature introduced with PHP 5 and the Horde Autoloader library. Both allow to limit the set of source code files pulled into the system to the minimal amount required to answer the current request. This saves memory and time but at the same time the Autoloader library has to map each class name to the path of the corresponding PHP file that holds the class definition. This procedure is expensive and can slow the system down. Fortunately the mapping is fixed unless files are added or removed which usually only happens during an upgrade. Thus Autoloading is amenable to caching and an easy way to improve the performance of the Horde Autoloader library, is to install the Autoloader Cache extension:: pear install horde/horde_autoloader_cache This library is not installed by default because it will unconditionally use any of the following cache backends and does not allow for any further configuration: `Alternative PHP Cache`_, XCache_, eAccelerator_, or the local temporary filesystem. It also doesn't detect the rare case when the file paths of any PHP class in Horde changes. In this case you either need to use the provided script to empty the cache:: horde-autoloader-cache-prune or empty the cache manually, e.g. by restarting the web server or deleting the cache file from the temporary directory. VFS --- * Try to avoid using a SQL backend for VFS. Many databases require binary data to be heavily escaped, resulting in storage sizes that are many times greater than the actual size of the data. File system VFS will normally provide much improved performance. Application tuning ================== * Some applications contain advanced features that might have a certain impact on the performance. These features can usually be turned off in the application's configuration and are explicitly described as being a performance hit in the configuration web frontend. groupware-5.2.12/docs/RELEASE_NOTES0000664000175000017500000000264412654153370014637 0ustar janjan Configuration and update anything that's highlighted as outdated. Upgrading Horde Groupware from 5.1.x to 5.2 =========================================== ----------- Base Module ----------- Configuration Options (conf.php) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ New logging options for ActiveSync logging have been added. It is now possible to log all devices to a single log file or to device specific files. Additionally, it is also possible to select between including the raw wbxml stream in the output, or prune tag content greater than 50 bytes. The ActiveSync configuration section should be revisited. It is now possible to use X509 certificates either in addition to, or in place of traditional HTTP Basic authentication for ActiveSync. Refer to the ActiveSync configuration section for more details. An additional option is now available for the SMTP Mailer driver: 'lmtp'. A new NoSQL driver is now available for storing ActiveSync device state. Refer to the ActiveSync configuration section for more details. The History driver can now be explicitly defined in the configuration (and a new NoSQL driver has been added). Additional options are now available for the Predis HashTable driver: 'password', 'persistent', and 'protocol'. Additionally, the 'hostspec' and 'port' options now accept multiple values (separated by commas). The following options were added:: $conf['activesync']['logging']['level'] $conf['activesync']['auth']['type'] $conf['activesync']['auth']['params'] $conf['activesync']['storage'] $conf['activesync']['params']['driverconfig'] $conf['cachecssparams']['filemtime'] $conf['history']['driver'] $conf['history']['params']['driverconfig'] $conf['mailer']['params']['password_auth'] $conf['mailer']['params']['username_auth'] The available options for the following options were changed:: $conf['activesync']['logging']['type'] $conf['mailer']['params']['password'] (for SMTP) $conf['mailer']['params']['username'] (for SMTP) The default value for the following options were changed:: $conf['prefs']['maxsize'] The following options were removed:: $conf['mailformat']['brokenrfc2231'] Hooks (hooks.php) ~~~~~~~~~~~~~~~~~ New ActiveSync related hooks have been added:: activesync_create_device activesync_device_check activesync_device_modify Read the comments at the top of the hooks.php file for descriptions of each hook. Registry Options (registry.php) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The 'staticfs' and 'staticuri' configuration options were added to the 'horde' configuration. ------------------- Address Book Module ------------------- Attribute Changes ~~~~~~~~~~~~~~~~~ - Categories have been replaced by Tags. As such, you **must** update any local source definitions and remove the "Category" attribute. Configuration Options (turba/config/conf.php) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The following options have been added:: $conf['tags']['enabled'] Upgrading Horde Groupware from 5.0.x to 5.1 =========================================== ----------- Base Module ----------- Configuration Options (conf.php) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ It is now possible to configure Horde-wide settings for a NoSQL database backend. Addtionally, several Horde packages now allow a NoSQL backend driver to be used. The Memcache configuration options have been deprecated and have been replaced by the generic Horde_HashTable package (which supports both Memcache and Redis servers). Although the previous memcache configuration will continue to work in Horde 5.x, it is recommended to upgrade to the new 'hashtable' configuration setup. The following options were added:: $conf['auth']['resetpassword_from'] The following options were removed:: $conf['cache']['compress'] $conf['cachecssparams']['compress'] Hooks (hooks.php) ~~~~~~~~~~~~~~~~~ The 'ajaxaction' hook has been deprecated and replaced with the 'ajaxaction_handle' hook (new hook needed in order to allow, e.g., adding tasks to the outgoing response). The following hooks were added:: ajaxaction_data ------------------- Address Book Module ------------------- Attribute Changes ~~~~~~~~~~~~~~~~~ - The "instantMessenger" attribute has been replaced by the "imaddress", "imaddress2", and "imaddress3" attributes. - The default SQL schema has been updated, as well as the out of the box field definitions for the 'localsql' source. You must execute the database migrations for Turba to ensure you have the latest schema. Upgrading Horde Groupware from 5.0 to 5.0.1 =========================================== ----------- Base Module ----------- Weather portal block ~~~~~~~~~~~~~~~~~~~~ Google no longer provides a weather API. Support for this has therefore been removed from Horde. If you were using Google as a source for weather, you will need to pick a new provider and update the Horde configuration. Upgrading Horde Groupware from 4.x to 5.x ========================================= ----------- Base Module ----------- Configuration Options (config/conf.php) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The $conf['session']['max_time'] option was added. The default is no maximum session time, the same behavior as in Horde Groupware 4. The $conf['cachecssparams']['url_version_param'] option was added. This option is only used if no CSScaching is selected (a configuration that is NOT recommended for production servers). The new default is to add version information to CSS server URLs, which is altered behavior from Horde Groupware 4. The $conf['cachejsparams']['url_version_param'] option was added. This option is only used if no javascript caching is selected (a configuration that is NOT recommended for production servers). The new default is to add version information to javascript server URLs, which is altered behavior from Horde Groupware 4. Hooks (config/hooks.php) ~~~~~~~~~~~~~~~~~~~~~~~~ The 'appauthenticated' hook has been added. The behavior of the 'pushapp' hook has changed - it is now called a maximum of one time per page access for an application. The 'appinitialized' hook was removed (replaced by the 'appauthenticated' hook). The 'pushapp_post' hook was removed. See ``config/hooks.php.dist`` for further details. Preferences (config/prefs.php) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ The 'sending_charset' preference now defaults to 'UTF-8'. The 'menu_view' and 'show_sidebar' preferences have been removed. ActiveSync (EAS) Integration ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Support for the EAS 12.0 and 12.1 protocol versions has been added. New configuration options have been added to support this. You MUST update Horde Groupware's ActiveSync configuration. The Custom logging option has been changed to ALWAYS be a path to a directory, and not a specific filename. The security policy settings have been moved out of the global configuration and into the permissions system for greater per user control over policies. New database migrations have been added, you MUST run these migrations for ActiveSync to work. ------------------- Address Book Module ------------------- Attributes ~~~~~~~~~~ - The "gender" attribute sets values of (literally) "male" or "female" now, and no longer 0 or 1. Preferences (turba/config/prefs.php) ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ - The "addressbooks" preference has been removed. API Changes ~~~~~~~~~~~ - search The $sources, $fields, $matchBegin, $forceSource and $returnFields parameters have been removed and replaced by the $opts parameter. Added a 'rfc822Return' option to return a Horde_Mail_Rfc822_List object instead of the search results array (which remains the default). Upgrading Horde Groupware from 4.0.x to 4.0.4 ============================================= ----------- Base Module ----------- Weather portal block ~~~~~~~~~~~~~~~~~~~~ The weather.com website has dropped their API to retrieve weather forecasts with a very short notice. The weather.com portal block has been removed and will be automatically removed from the users' portal configurations too. A new portal block for weather forecasts is available, powered by the new Horde_Service_Weather library that supports a number of free weather services. To provide this block to the end users, install the Horde_Service_Weather library from Horde's PEAR server, and configure a weather service in Horde Groupware's configuration:: pear install horde/horde_service_weather-alpha Configuration changes ~~~~~~~~~~~~~~~~~~~~~ The 'nobase64_img' option was added. Upgrading a Horde Groupware 1.x =============================== For upgrading from a Horde Groupware version 1.x to 4.0 or later, see the section `Upgrading any Horde Groupware 4 or later`_. The update script will automatically migrate database backends and update configuration files. It will add new and changed configurations at the end of existing configuration files, any changes done to old configuration files won't get lost, but might get overridden by new settings. You might want to check the updated configuration files after the update script has finished to make sure that any customizations that you did to the old version still work as expected. The ``.dist`` versions of the configuration files alway contain the most recent reference settings and the settings documentation. If you experience any problems with the configuration files after an update, or if you want cleaner configuration files without all the updating code, you can create fresh versions from the ``.dist`` files. These instructions are supposed to be used with a complete tarball of the new Horde Groupware version. They don't work if you use a patch file to upgrade your installation, because the patch already contains all configuration file changes that the update script is going to add. 1. Extract the tarball of the new version **in parallel** to the old version. See the INSTALL_ file details how to unpack a tarball. If you want to replace the old version with the new version eventually, you should move the old version to a different place now and put the new version in the place of the old one. You can still do this later, if you want to, but you have to edit the configuration file then. 2. Start the setup script:: ./scripts/setup.php 3. Choose the update option in the setup menu and answer the questions from the setup script. 4. Pray. 5. If everything went fine and without any error messages, point your browser to the URL of the new version and log in as an administrator. Go to the ``Administration -> Setup`` screen and update all configurations that are marked as being outdated. 6. If you want to replace the old version with the new one, and if you didn't do this already in step 1, you can do it now. But you have to edit the configuration file ``config/conf.php`` manually and change the setting ``$conf['cookie']['path']`` to match the new URL path. Otherwise you won't be able to login after you moved Horde Groupware to a different directory. .. _INSTALL: INSTALL groupware-5.2.12/gollem/config/backends.d/10-groupware.php0000664000175000017500000000017412654153370021412 0ustar janjan * @package groupware */ class Horde_Bundle extends Horde_Core_Bundle { /** * The bundle name. */ const NAME = 'groupware'; /** * The bundle version. */ const VERSION = '5.2.12'; /** * The bundle descriptive name. */ const FULLNAME = 'Horde Groupware'; /** * The short bundle descriptive name. */ const SHORTNAME = 'Groupware'; /** * Asks for the administrator settings. * * @return string The administrator name. */ protected function _configAuth(Horde_Variables $vars) { $vars->auth__driver = 'sql'; $vars->auth__params__driverconfig = 'horde'; while (true) { $admin_user = $this->_cli->prompt('Specify a user name for the administrator account:'); if (empty($admin_user)) { $this->_cli->writeln($this->_cli->red('An administration user is required')); continue; } $admin_pass = $this->_cli->passwordPrompt('Specify a password for the administrator account:'); if (empty($admin_pass)) { $this->_cli->writeln($this->_cli->red('An administrator password is required')); continue; } $params = array( 'db' => $GLOBALS['injector']->getInstance('Horde_Db_Adapter'), 'encryption' => isset($GLOBALS['conf']['auth']['params']['encryption']) ? $GLOBALS['conf']['auth']['params']['encryption'] : 'ssha'); $auth = Horde_Auth::factory('sql', $params); try { $exists = $auth->exists($admin_user); } catch (Horde_Exception $e) { $this->_cli->message('An error occured while trying to list the users. Error messages:', 'cli.error'); $this->_cli->writeln($e->getMessage()); return; } try { if ($exists) { if ($this->_cli->prompt('This user exists already, do you want to update his password?', array('y' => 'Yes', 'n' => 'No'), 'y') == 'y') { $auth->updateUser($admin_user, $admin_user, array('password' => $admin_pass)); } else { break; } } else { $auth->addUser($admin_user, array('password' => $admin_pass)); } } catch (Horde_Exception $e) { $this->_cli->message('An error occured while adding or updating the administrator. Error messages:', 'cli.error'); $this->_cli->writeln($e->getMessage()); return; } break; } return $admin_user; } } groupware-5.2.12/turba/config/conf.d/10-groupware.xml0000664000175000017500000000025212654153370020431 0ustar janjan horde groupware-5.2.12/README0000664000175000017500000000717612654153370012621 0ustar janjanWhat is Horde Groupware? ======================== :Contact: horde@lists.horde.org .. contents:: Contents .. section-numbering:: Horde Groupware is a free, enterprise ready, browser based collaboration suite. Users can manage and share calendars, contacts, tasks and notes with the standards compliant components from the `Horde Project`_. Horde Groupware bundles the separately available applications Turba_, Kronolith_, Nag_, Mnemo_, Gollem_, and Trean_. It can be extended with any of the released `Horde applications`_ or the `Horde modules`_ that are still in development, like a file manager, a bookmark manager, a forum or a wiki. This software is OSI Certified Open Source Software. OSI Certified is a certification mark of the `Open Source Initiative`_. .. _`Horde Project`: http://www.horde.org/ .. _Turba: http://www.horde.org/apps/turba .. _Kronolith: http://www.horde.org/apps/Kronolith .. _Nag: http://www.horde.org/apps/nag .. _Mnemo: http://www.horde.org/apps/mnemo .. _Gollem: http://www.horde.org/apps/gollem .. _Trean: http://www.horde.org/apps/trean .. _`Horde applications`: http://www.horde.org/apps .. _`Horde modules`: http://www.horde.org/development/modules .. _`Open Source Initiative`: http://www.opensource.org/ Obtaining Horde Groupware ------------------------- Further information on Horde Groupware and the latest version can be obtained at http://www.horde.org/apps/groupware Documentation ------------- The following documentation is available in the Horde Groupware distribution: :README_: This file :`docs/CHANGES`_: Changes by release :`docs/CODING_STANDARDS`_: Coding standards for Horde projects :`docs/CONTRIBUTING`_: How to contribute to Horde :`docs/CREDITS`_: Project developers :`docs/INSTALL`_: Installation instructions and notes :`docs/PERFORMANCE`_: Performance guide :`docs/RELEASE`_: Release process notes :`docs/SECURITY`_: Security notes :`docs/UPGRADING`_: Pointers on upgrading from previous Horde Groupware versions Installation ------------ Instructions for installing Horde Groupware can be found in the file INSTALL_ in the ``docs/`` directory of the Horde Groupware distribution. Assistance ---------- If you encounter problems with Horde Groupware, help is available! The Horde Frequently Asked Questions List (FAQ), available on the web at http://wiki.horde.org/FAQ The Horde Project runs a number of mailing lists, for individual applications and for issues relating to the project as a whole. Information, archives, and subscription information can be found at http://www.horde.org/community/mail There is no separate mailing list for Horde Groupware, please contact the mailing list of the component you have problems with, or the Horde mailing list for general problems and questions. Lastly, Horde developers, contributors and users also make occasional appearances on IRC, on the channel #horde on the freenode Network (irc.freenode.net). Licensing --------- For licensing and copyright information, please see the file COPYING in the Horde Groupware distribution and the COPYING and LICENSE files in the `kronolith`, `turba`, `nag` and `mnemo` subdirectories. Thanks, The Horde Groupware team .. _README: README .. _docs/CHANGES: CHANGES .. _docs/CODING_STANDARDS: ../../horde/docs/CODING_STANDARDS .. _docs/CONTRIBUTING: ../../horde/docs/CONTRIBUTING .. _docs/CREDITS: ../../horde/docs/CREDITS .. _INSTALL: .. _docs/INSTALL: INSTALL .. _docs/PERFORMANCE: PERFORMANCE .. _docs/RELEASE: ../../horde/docs/RELEASE .. _docs/SECURITY: ../../horde/docs/SECURITY .. _docs/UPGRADING: UPGRADING