Community  »  Applications  »  Kronolith

Changes by Release


[jan] Fix regression in exporting single tags to iCalendar CATEGORIES (Bug


[jan] Officially support PHP 7.
[jan] Fix time offsets when importing CSV data with two-digit years.
[jan] Fix updating and deleting events from external CalDAV servers
      (, Bug #14021).
[jan] Fix exporting multiple tags to iCalendar CATEGORIES (Bug #14057).


[jan] SECURITY: Fix open redirects.
[mjr] Prevent broken iCalendar files from causing fatal errors (Bug #14672).
[jan] Work around calendar servers advertising as CalDAV-capable, but ignoring
      CalDAV requests (Bug #14662).
[jan] Fix displaying yesterday's event in Prior Events portal block
      (, Bug #14638).


[mjr] Don't hide the reservee's identity on the resource calendar (Bug #14609).


[mjr] Fix saving sync preference when no default calendar exists (Bug #14585).
[mjr] Fix display of date in ITIP_CANCEL notifications of deleted instances of
      recurring events (PR: 214,


[mjr] Fix allowing ics import on when user has edit permissions on a shared
      calendar (Bug #14501).
[jan] Disallow setting of creator permissions too if sharing with world is
[jan] Split shared users by linebreaks too.


[mjr] Fix potential memory issue with really long events (Bug #14453).
[mjr] Fix setting DELETE permissions (Bug #14447).
[mjr] More fixes and improvements related to preventing empty date values.
[jan] Fix losing shared users when adding invalid user name (Bug #14415).
[mjr] Fix displaying tag search results (Bug #14412).
[jan] Fix sender of event change notification messages.


[jan] Update Portuguese translation.
[jan] Update Basque translation.
[mjr] Fix issue where it is possible to save an event with an empty start or
      end date on some browsers.
[mjr] Require Horde_Perms::DELETE for including a calendar as sync-able.
[mjr] Fix end date when toggling an all day event off (Bug #13979).
[jan] Fix showing error message if loading of remote calendars failed.


[mjr] Fix updating list of resource calendars in resource group dialog (Bug
[jan] Fixed several issues with resource management.
[jan] Update Greek translation (Limperis Antonis <>).


[mjr] Fix typo preventing deletion of events from dynamic view (Bug #14256).
[jan] Handle gracefully if the base event of an imported recurrence exception
      is no longer recurring (Bug #14249).


[mjr] Fix issue deleting and closing event dialog during event deletion.
[mjr] Honor the SCHEDULE-AGENT attribute during CalDAV import.


[mjr] Add missing EAS ghosted property support for all EAS versions. Prevents
      potential loss of event data during synchronization.


[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] Use access rules compatible with both Apache 2.2 and 2.4.
[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
[mjr] Fix display of embed code by adding the full url.


[mjr] Fix issue when replacing an event via the API and the attendee list
      changes (Bug #14118).
[mjr] Fix fatal test error related to Content_Tagger.


[mjr] Fix exporting events from Horde_Perms::SHOW calendars over DAV (Bug
[mjr] Send CANCEL iTip when attendee is removed from a meeting (Request
[mjr] Remove object reference from Content when object is deleted (Bug #14112).
[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).


[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).


[jan] Don't delete existing exceptions and completions when editing recurring
      events or tasks.


[jan] Fix importing iCalendar events via the API (Bug #13975).


[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.


[mjr] Fix generating calendar embed code (Bug #13828).
[jan] Don't wipe out whole calendars when PUTing individual events via WebDAV.


[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
[mjr] Fix fatal error when creating or modifying an entry via PUT.


[jan] Export nicer display names for users and resources via WebDAV.
[jan] Export custom owner and read-only properties via WebDAV.
[jan] Fix finding modification times of shared calendars via WebDAV.
[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
[jan] Fix closure compiler errors (Bug #13593).
[mjr] Fix checking resource availability when adding multiple resources (Bug


[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
      (, Bug #12380).


[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
[mjr] Fix fatal error when calculating alarms on a recurring event that has
[mjr] Fix catching minical clicks on browsers that return element names in
      uppercase (, Bug #13370).


[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.


[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] Update Polish translation (Maciej Uhlig <>).


[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


[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
[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.
[jan] Make SQL backend compatible with Oracle.
[mjr] Allow for exporting of resource calendars (Request #12372).
[mjr] Make event url property a true hyperlink in dynamic view (Request
[jan] Support task assignees.
[jan] Support parent tasks.
[jan] Indent sub tasks.
[jan] Make shares table compatible with Oracle.
[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).


[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).
[jan] Update Korean translation (Deokgon Kim <>).


[mjr] Fix triggering alarms for cancelled events (Bug #12928).
[jan] Update Danish translation (Erling Preben Hansen <>).
[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
[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
[mjr] Honor recurrence-id range values when deleting recurring events (Bug
[mjr] Fix deleting and sending iTip notifications for recurring events (Bug
[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).


[jan] SECURITY: Protect against CSRF attacks on share permissions form (Bug
      #12804, CVE-2013-6365).
[jan] SECURITY: Fix XSS vulnerabilities when deleting calendars and resources.
[jan] Fix edge case that allowed to enter start time after end time (Bug
[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
[mjr] Fix some issues with recurring event exceptions due to improper timezone
      handling (Bug #12630).


[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 fatal errors if DAV support is disabled (Bug #12481).
[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).


[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.
[mjr] Add API methods for using history modification sequences.


[jan] Add help text for CalDAV usage.


[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.


[jan] Don't throw error on importing events with unknown timezones (Bug
[jan] Don't send notifications for all recurrence exceptions when deleting
[jan] Only send update notifications for local calendars.
[jan] Re-enable users in drop-down list after revoking permissions (Bug
[jan] Fix exporting events of a certain time span (,
      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).


[jan] Update alarms, resources, and tags when deleting Kolab events (Bug
[jan] Update French translation (Paul De Vlieger
[jan] Fix some issues with workweek views if first day of week is Sunday (Bug
[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.


[jan] Fix setting default start time in new event dialog of basic view (Bug
[jan] Fix saving alarm methods to Kolab backend (Thomas Jarosch
      <>, Bug #11880).
[jan] Update Basque translation (Ibon Igartua <>).
[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] Use default Kolab folder for default calendar preference.
[jan] Mark Kolab folder as default when changing default calendar preference.
[jan] Defer navigation in dynamic view until environment has been initialized.
[jan] Fix receiving resource calendars in dynamic view (Bug #11776).


[jan] Use Kolab modification and creation dates in the UI (Bug #11591).
[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


[jan] Fix migration of exceptionoriginaldate field (Bug #11654).
[jan] Fix generating calendar names when exporting non-internal calendars to
[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


[jan] Update Polish translation (Krzysztof Kozera <>).
[jan] Update Dutch translation (Arjen de Korte <>).


[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
[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 (, Request
[jan] Support importing of iCalendar events with non-local timezones (Request
[jan] Include timezone information when exporting events to iCalendar (Request
[jan] Allow to set individual timezones for each event (Request #10727).


[mms] Fix permissions checking in the 'path_delete' API call.
[mms] SECURITY: Fix XSS vulnerabilities in the portal blocks.
[mjr] Fix setting permissions in dynamic mode while $conf[share][world] is
      false (Bug #11359).
[mjr] Fix issue causing broken alarm values from being imported from certain
      ics files.
[rla] Fix sender of appointment notification (Bug #11198).
[mjr] Use SSL for map providers if current connection is SSL (Request #11193).
[jan] Don't show location of private events (Bug #11235).
[jan] Fix exporting multi-all-day events to iCalendar.
[jan] Update Turkish translation (İstanbul Technical University).
[jan] Update Swedish translation (Jakob Alvermark


[jan] SECURITY: Fix XSS vulnerabilities in tasks view and search view (Bug
[jan] Update Italian translation (Massimo Malabotta <>).
[jan] Improve print styles.
[jan] Catch if external client doesn't send LAST-MODIFIED attributes (Bug
[jan] Don't stop agenda script if there is an error with a single user (Bug
[jan] Update Hungarian translation (Zoltán Németh <>).
[jan] Show round corners only on the start and end of multi-day events
      (Request #11067).


[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).


[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).


[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
[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 (, Bug
[jan] Check permissions when building application drop down
      (, Bug #10811).
[gwr] Fix saving Kolab events.
[jan] Update Japanese translation (Hiromi Kimura <>).


[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
[jan] Add confirmation screen when deleting events in dynamic view (Request
[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
      (, 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
      (, 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).


[jan] Fix opening events from agenda view.
[mjr] Always included the current default calendar in the sync_calendars
[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 (,
      Bug #10347).


[mjr] Fix updating attendees (Bug #10411).
[jan] Fix error if Nag is not installed (Bug #10406).


[jan] Display event time in dynamic agenda/search view.
[jan] Don't load all shares with requested permissions from the backend if
      $conf['share']['hidden'] is enabled.
[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).


[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.


[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
[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
[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
[jan] Send alarm and iTip notifications with HTML part and convert to
[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


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


[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).
[mjr] Do not remove history entries when removing user data (Bug #8755).


[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).


[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 (
[jan] Fix Oracle SQL scripts.
[jan] Fix charset of ajax responses.
[jan] Add Croatian translation (Matej Vela <>).
[jan] Speed up listing alarms (, 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).


[mms] Upgrade prototype.js to v1.6.1.
[jan] Allow to add address lists as attendees through the address book popup
      (Bug #7834).
[jan] Fix exporting certain weekday recurrence rules to iCalendar
      (, 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
      (, Bug #8309).
[jan] Correctly create all-day events if using the all-day link in the day
      view (, Bug #8220).
[jan] Fix rendering of all-day events (Bug #8176).


[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 (, 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
      (, Bug #7879).
[mjr] Fix category CSS being included on embedded widgets.
[cjh] Work around BC break with Horde versions before 3.2 (Bug #7820).
[jan] Allow to manually change attendee responses (,
      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 (, Bug #7038).
[cjh] Add a PostgreSQL-specific upgrade script for 2.2 to 2.3
      (, Bug #7454).
[mms] Upgrade prototype.js to v1.6.0.3.


[jan] Change group field in shares table to work with LDAP groups (Bug #6883).
[jan] Fix user name conversion with user hooks in the calendar panel
      (Bug #7366).
[gwr] Fixed handling of free events in the Kolab driver
      (, Bug #7192).
[jan] Differentiate between days with events and days with busy events in the
      year view.


[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
      (, Bug #7088).
[jan] Fix importing iCalendar events with only a single recurrence exception
      (, 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 (, Bug #7037).
[jan] Fix display of recurring events crossing midnight in the portal block
      (, 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
      (, Bug #6833).
[jan] Use smaller icons for private events.


[jan] Identify the correct event when using attend.php to update invitations
      (Bug #6606).
[cjh] Improve resource usage in datatree_to_sql share migration script
      (Bug #6740).
[jan] Decode user names and passwords when editing remote calendars.
[cjh] Ensure that event_category is always a string (Bug #6696).


[cjh] Apply fix for to prototype.js
      (Request #6590).
[cjh] In WebDAV PUT operations, only look for existing events on the calendar
      being uploaded (Bug #6617).
[cjh] Add an upgrade script for the new SQL share driver (Request #6109).
[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
      (, Request #6638).
[cjh] Allow subscribing/unsubscribing from external calendars through the API
      (, 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 (,
      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 (, Request #6271).
[jan] Add Turkish translation (METU <>).


[jan] SECURITY: Fix privilege escalation in Horde API.
[cjh] SECURITY: Fix missing ownership validation on share changes.
[cjh] Fix month links in the year view when the first day of the month is on
      the first day of the week (, Bug #6172).
[cjh] Make sure calendar info boxes show the full remote URL (Bug #6134).
[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
      (, Bug #6041).
[cjh] Fix inline calendar search in the calendar panel.
[cjh] New share management UI that doesn't require JavaScript.


[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 (, 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 (,
      Request #4770).
[cjh] Add calendar/subscribe and calendar/unsubscribe methods for adding/
      removing calendars to the currently displayed calendars
[cjh] Remove unneeded Kronolith_Driver::close method.
[cjh] Fix error handling when moving events
      (, 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 (,
      Request #4869).
[ben] Add daily agenda reminder (Request #4655).
[cjh] Include event location in reminders (,
      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,, 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
      (, Request #3696).
[jan] Allow to edit remote calendars (, 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
[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 (, 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.


[jan] SECURITY: Fix privilege escalation in Horde API.
[cjh] SECURITY: Fix missing ownership validation on share 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).


[cjh] Display attendees list correctly without a mail/compose method (Bug
[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).


[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 (,
      Request #4755).
[cjh] Honor date_format preference in reminders and notifications (Bug #4726).


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


[cjh] Set vEvent ORGANIZER to the event creator, not the calendar owner
      (, 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
      (, 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).


[jan] Don't show calendar creation form if multiple calendars are not allowed
      (Bug #3988).
[jan] Add "Save and Finish" button to attendees popup (Request #1158).
[jan] Add parameter to Upcoming Events portal block to limit number of
      displayed events (, Request #3905).
[jan] Allow adding of events if not using a permanent DataTree backend.
[jan] Fix fatal error for new users on some sytems (Bug #3711).


[jan] Fix updating attendee status from KOrganizer replies.
[jan] Fix events of status "free" being included in busy information.
[jan] Automatically add current user's free/busy information to meeting
[jan] Add 1.1 to 2.x upgrade script for Oracle.
[cjh] Prevent listAlarms() from causing a fatal error if no calendar is
      open (Bug #3717).
[jan] Update free/busy information on Kolab server after editing events
      (requires Horde 3.1.1) (, Request #3654).
[cjh] Honor time format and language preferences in email notifications
      (Bug #2064).
[cjh] Add missing display_contact preference (Bug #3575).
[cjh] Fix fatal error during first login of new users.


[cjh] There are now several guards against users being stuck with no selected
      calendars and no way to select one (Bug #3538).


[jan] Fix retrieving of free/busy URLs from Kolab servers (,
      Bug #3450).
[jan] Fix recurring events without end dates using the Kolab driver
      (, Bug #2734).
[jan] Allow to specify port and protocol of Kolab server for free/busy request
      (,, Request #2178).
[jan] Improve attendees and contacts forms.


[jan] Show subscription URL for calendars in "My Calendars" overview
      (, Request #3256).
[jan] Fix browser redirection after saving events.


[cjh] The calendar(s) to export data from are now configurable (Request #2330).
[jan] Add Portuguese translation (Manuel Menezes de Sequeira
[cjh] Use HTTP_Request to retrieve Free/Busy information so we don't
      rely on allow_url_fopen.
[cjh] Remove disabled PDB import code.
[cjh] Fix display when only remote calendars are active (Bug #2777).
[cjh] Fix alarms for recurring events.
[ben] Add RSVP to iTip so Outlook will send a reply message when the
      invitation is accepted/declined/etc.
[jan] Allow automatic sharing of new calendars with users' groups
      (, Request #1366).
[jan] Add preference to only retrieve event reminders for certain calendars
      (, Request #649).
[jan] Always return to last screen after editing or deleting events.
[jan] Allow to freely set event years.
[jan] Add event status of "Free".
[jan] Add CLI script to import iCalendar/vCalendar data.
[cjh] Deprecate the MCAL driver.
[mas] Allow replacing a calendar with an imported one. (Bug #1364)
[mas] Change any output of <b> and <i> tags to <strong> and <em> for better
      accessibility support.
[cjh] Use CSS for all category colors instead of generating them inline.
[cjh] Use Horde_Template for day and week view rows.
[cjh] The length of time slots in the day and week views is now configurable
      (Bug #1952).
[cjh] Add a tree block for showing current alarms.
[jan] Add permissions to restrict number of events.
[cjh] Show event owners in tooltips.
[cjh] Fix assumptions about users being logged in when fetching free/busy
      information (tasin (at) fhm (dot) edu, Bug #1850).
[jan] Add calendar popup window to side-by-side view to search for calendars
      and toggle their visibility.
[jan] Add icon to calendar names to remove calendars from side-by-side view.
[cjh] fb.php now accepts ?u= arguments as well as ?c=, for displaying a user's
      chosen free/busy calendars, allowing users control of which calendars
      block out free/busy time without changing the free/busy URL
      (, Bug #1683).
[cjh] Add exists() method to calendar drivers for checking if events exist by
      UID (Roel Gloudemans <>).
[jan] Send links in iTip requests to let users quickly reply to an invitation.
[cjh] Add ics.php (also mirrored by an exportCalendar() API method), which can
      be used for integration with Sunbird, iCal, et. al. (,
      Bug #917).
[jan] Add preference to send email notifications to users when events have
      been added, edited, or deleted in their calendars.
[cjh] Add a Year view ( (Bug #1238).
[jan] Use OPTGROUPs in calendar drop down list.


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


[cjh] Close several XSS problems with calendar and event fields.


[jan] Fix warnings with Internet Explorer on HTTPS connections.
[jan] Fix reminder emails.


[jan] Allow to import more than one event from iCalendar data at once.
[cjh] Avoid loops and other errors by immediately failing nextRecurrence()
      checking for any event with a recurInterval of 0 (Bug #2709).


[jan] Fix navigation popup with Safari browsers (, Bug #2447).
[cjh] Fix infinite loop with some recurring events (Bug #2346).
[cjh] Fix All Past and All Future searches (Bug #2257).
[cjh] Be smarter about enforcing "end before beginning" check for
      am/pm users when creating an event than spans noon (Bug #1731).
[jan] Sort search results by start date and show category colors.
[cjh] Respect twenty_four preference in reminders script (Bug #1896).


[jan] Respect SMTP authentication settings when sending reminders and
      notifications (requires Horde 3.0.4).
[jan] Include date in reminder message (Bug #1855).
[jan] Fix time grids in free/busy view (Bugs #1557, #1868,


[jan] Fix browsing through work weeks in attendees view (Bug #1852,
[jan] Fix updating of attendee status in attendees view (Bug #1188).
[jan] Don't show tasks without due dates in all timezones (Bug #514).
[jan] Include attendees in iTip event invitations (Bug #1676).
[jan] Fix generated HTML if no calendar has been selected.
[cjh] Add a PostgreSQL upgrade script (Bug #1778).
[cjh] Show the calendar selection dropdown if there are remote calendars
      regardless of number of shares (Bug #1640).
[cjh] Separate buttons on attendees screen (, Bug #1635).
[cjh] Use bind variables in the SQL drivers (, Bugs #1669,
[jan] Send reminders in users' languages (Bug #1654).
[cjh] Don't leave events in the database with no recurrences left (Bug #1503).
[cjh] Make sure that remote events can be edited for saving as new, and never
      show a delete button for them (Bug #1639).
[cjh] Always use eventID, not eventIndex. Fixes problems with only one remote
      event showing up per day (Bug #1630).
[jan] Fix free/busy generation on broken PHP CGI SAPIs (Bug #1599).
[cjh] Set recurrence end date if present in iCal data (Bug #1365, #1582).
[cjh] Alarms that are a calendar day or more in the future are now sent on
      time (Bug #1356)
[jan] Catch errors if importing incomplete events (Bug #1429).
[cjh] Fix display errors with overlapping repeating events and PHP4
      (Bug #1200).
[ben] Allow setting the default domain on attendee email addresses when
      checking for freebusy urls.
[cjh] Treat webcal:// URLs as http:// for remote calendars (Bug #1480).
[cjh] Fix problems with PostgreSQL and non-ISO date formats (Bug #1482).
[jan] Workaround IE warning when entering Kronolith over HTTPS (Bug #910).
[jan] Add shortcut icon (favicon.ico).
[jan] Sort whole day events alphabetically (Bug #222).


[jan] Fix portal block for missing events at the turn of the year (Bug #1337).


[jan] Fix free/busy views with some languages (Bug #1036).
[cjh] Prevent infinite loops if events are set to recur weekly on no
      weekdays (Bug #1074).
[cjh] Set iCalendar events with weekly recurrence to recur on the day
      of the week of the first recurrence if no BYDAY data is present
      (Bug #1074).
[cjh] Make sure that event UIDs are properly set in iTip notifications
      (Bug #1153).
[jan] Add Japanese translation (Hiromi Kimura <>).
[cjh] Check the completion status of tasks, not just their due date,
      before showing them on the calendar (Bug #947).


[cjh] Fix one page load delay in showing new/removing deleted shares
      on the My Calendars screen (Bug #1048).
[cjh] Fix labeling of weekday columns in the Month view when the
      week starts on Monday and show_shared_side_by_side preference
      is on (Bug #1049).
[cjh] Fix fatal error when in calendar/import API call
      (Sebastián Calero <>).
[cjh] Fix a week boundary problem that took you to the previous
      week when switching between the week and work week views.
[cjh] Fix several errors in calculating the week number at the
      rollover between years.
[cjh] Fix an off-by-one error in the work week view when the user
      views weeks starts on Sunday (Bug #1046).
[cjh] Add PostgreSQL version of 2004-12-21_add_event_uid (Bug #1028).
[cjh] Fix typo that prevented attendees from being saved (Bug #1019).


[cjh] UIDs need to be stored in the History system with a kronolith:
      prefix and with the calendar so as not to confuse different
      instances of the same event (if two users both have a event on
      their seperate calendars, they should have unique histories for
      that event).
[cjh] The My Calendars page now has a tool for generating Free/Busy URLs
      (Bug #571).
[cjh] Pass Horde_Date objects instead of timestamps when exporting to
      iCalendar (Bug #950).
[cjh] Clone events before changing their start dates to the current day
      in the day view so that the week view isn't wrong.
[cjh] Fix an off-by-one error in the week view when the user views weeks
      starting on Sunday.
[cjh] Add a preference for whether or not to show the background color
      for tasks shown on the calendar.
[cjh] Don't produce invalid exception dates when exporting iCal files or
      when loading SQL events.
[cjh] Users can now get to the category/color edit screen directly
      from the category legend, instead of having to find them in
      Horde's prefs.


[cjh] Add All Past as an option on simple searches.
[cjh] Add My Calendars menu entry.
[cjh] Event exceptions are now correctly exported in iCalendar files.
[cjh] Fix recurring events that recur on the same day of the month every n
      months where n > 1 (Bug #907).
[cjh] Fix month view for months starting on Sunday with the first displayed
      day set to Monday (Bug #907).
[cjh] Show event state by CSS styling (Derek P. Moore <>).
[jan] Correctly highlight the current view's tab (Bug #896).


[jan] Fix recurring events from remote calendars (Bug #559).
[cjh] The menubar Goto popup is now always on top of <select> boxes,
      even in Internet Explorer (Bug #822).
[cjh] Menubar Goto link works on the Options screen again.


[cjh] Fix the menubar popup date navigator on the New Event screen.
[cjh] Remove unused specialized notification listener.
[cjh] Update icons.
[jan] Fix importing of non-recurring events.
[jan] Save categories of imported events.
[cjh] Show different calendar views in tabs, not in the menu.
[cjh] Show free/busy view only in the event screen.


[cjh] The guts of Kronolith_Event objects are now based on Horde_Date
      objects instead of timestamps.
[cjh] Lots of date-related functions moved to the Horde_Date class.
[jan] Add preference for address books to search for free/busy urls.
[jan] Add special black-on-white styles for message printing.
[cjh] Add title field to the basic search.
[cjh] Allow searches for "All Future" events.
[cjh] Add search functionality (Meilof <>).
[jan] Add access keys.
[cjh] Add Kolab drivers (Stuart Bingë <>).


[cjh] Remote calendars are now parsed with the Horde_iCalendar library,
      which allows for much better iCalendar support, better handling of
      timezones, etc.
[cjh] The month view no longer shows blank boxes for days in the grid that are
      outside of the current month - instead, it goes back into the previous
      month and forward into the next month however many days are showable.
[cjh] Kronolith now includes the functionality, previously in Moment,
      to track attendees for events, send invitations, updates, and
      cancellations, and do scheduling based on freebusy information
      (Stuart Binge <>).
[cjh] Kronolith_Driver::move() added to prevent event IDs changing when moving
      between calendars, if possible.
[cjh] GUIDs now only contain kronolith: and the event ID - sharename is not
[cjh] Event IDs are now 32-character unique strings, to be useable as GUIDs.
      The SQL table definition has changed; conversion scripts are in scripts/.
[cjh] eventd now uses the Horde_Scheduler API's ability to serialize and
      save state; it's now meant to be run out of cron every minute (no
      more slow memory munching).
[cjh] Show start and end times in event tooltips
      (Payton <>).
[cjh] Fix events that recur every n months (where n != 1) on the same
      weekday when using the SQL driver.
[cjh] Track addition, modification, and deletion of events
      with the Horde History:: API.
[cjh] The event editor now switches the list of categories to match the
      calendar that you are adding the event to.
[cjh] Show tooltips with event descriptions.
[cjh] Show a legend mapping categories to colors
      (Jason Rust <>).
[mir] listEvents now supports an option to NOT do recurrence (useful for
      synchronizing with other systems).
[cjh] First shot at a reminder daemon, written in PHP and using the
      Horde_Scheduler framework.
[cjh] Cache free/busy information for an hour.
[cjh] Add viewing of shared calendars side-by-side in the month view
[cjh] Kronolith now generates free/busy information for any calendar that the
      viewer has PERMS_SHOW permission to. This can be used in, e.g., Outlook
      for scheduling meetings, etc.
[cjh] Support for guest calendars.
[cjh] Use the global shares editing page for changing/assigning share
[mac] Add support for subscribing to remote iCalendar files.
[cjh] Remove the Share header for now; takes up far too much space
      to communicate limited information.
[mac] Add ability to display multiple calendars at a time.
[cjh] Palm DateBook (PDB) import support.
[mac] Add shared calendars support (Joel Vandal <>).
[cjh] Kronolith can now send iCalendar invitations to an event.
[cjh] Import/Export of iCalendar data works for basic attributes now.
[cjh] Use Horde::compressOutput() for output compression.


[jan] Close XSS when setting the parent frame's page title by javascript (cjh).


[jan] Fix display of category colors in week and day views (Björn Tackmann
[jan] Add Latvian translation (Ivars Stivrins <>).
[jan] Fix erroneous javascript in recurrence input fields of the event form
      (Bugs 403, 408).


[cjh] Fix a bug in the SQL driver preventing events from being displayed.


[jan] Fix some display bugs with recurring events in the sql driver (cjh).


[jan] Fix broken image tag in day and week views.
[jan] Fix "New Category" selection in event edit view.
[jan] Add Arabic (Syria) translation (Platinum Development Team


[cjh] Kronolith_Event objects now know how to obtain their driver,
      rather than storing a reference. Makes for much smaller/better
      return values over XML-RPC, at least.
[cjh] Fix a bug in the spanning algorithm when there were two
      independant sets of overlapping events that were not common
      factors (i.e, a set of 2 events and a set of 3 events). Also
      start to document the row spanning code.
[mir] Implement week of month recurrence for SQL driver.
[cjh] Use Kronolith::listEvents() everywhere, so there is only one body
      of code to debug/add to for listing of events.
[cjh] Show Nag tasks, if requested, on all views.
[cjh] Use Kronolith::listEvents() in the week views; should be much
      more efficient (fewer SQL queries/MCAL calls).
[cjh] Fix summary display of events after an empty day.
[cjh] Fix links to events on other calendars in the summary.
[cjh] Show category colors in the Kronolith summary.
[cjh] Show current category color in category color options screen
      (Jan Kuipers <>).
[jan] Add Romanian translation (Eugen Hoanca <>,
      Marius Dragulescu <>).
[jan] Add Print button for day, week, month views (mac).
[jan] Clean up url creation and XHTML (mac).
[jan] Add Norwegian Bokmaal translation (Torstein S. Hansen <>).
[jan] Add Kronolith::addParameter().
[jan] Add Lithuanian translation (Darius Matuliauskas <>).
[mac] Clean up url creation and XHTML.
[jan] Add Simplified Chinese translation (Zhang Bo <>).
[jan] Add Bulgarian translation (Miroslav Pendev <>).
[jan] Replace <?= with <?php echo, and remove the short_open_tags requirement.
[jan] Add delete link to event view.
[jan] Remove deprecated DB::isWarning() calls.


[jan] Add Hungarian translation (Laszlo L. Tornoci <>).
[jan] Add Korean translation (J.I Kim <>).
[jan] Add Danish translation (Bill Edgington <>).
[jan] Add Norwegian Nynorsk translation (Per-Stian Vatne <>).
[jan] Add event view page and make it the standard if clicking on an event
      link (Brandon Knitter <>).
[jan] Show event description in link tooltip.
[jan] Add Event::getLink().
[cjh] Track when events are modified.
[cjh] Add exceptions to recurring events.
[cjh] Allow same deletion options as Palm for recurring events.
[cjh] Add a preference for confirming event deletion.
[jan] Add Slovak translation (Leo Mrafko <>).
[jan] Add "Save as new" button (Michael Cochrane <>).
[cjh] Close a potential problem with register_globals On and $js_onLoad.
[jan] Add Finnish translation (Leena Heino <>).
[cjh] Add new event link to the summary (Quinn Wilson <>).
[cjh] Use the new PrefsUI class.
[cjh] Show events that extend past the end hour of the day view.
[jon] Adapt to the new Horde::img() syntax.
[cjh] Switch output compression to ob_gzhandler().
[cjh] Fix column widths in week view to be consistent
      (Jeff Graves <>).
[jan] Add Polish translation (Maciek Uhlig <>).
[cjh] Add preferences for the hour range shown in the day/week views.
[cjh] Use KRONOLITH_TEMPLATES constant for all template paths.
[cjh] Use $registry->get() for all Registry information.
[cjh] Use the new Notification system.
[jan] Add Swedish translation (Andreas Dahlén <>).
[jon] Enable the "portability" option in the SQL driver.
[jan] Use the new notification framework. This breaks compatibility with
      Horde 2.0.
[jan] Remove the standard value for the language preference. The language to
      fall back to should be set Horde wide in lang.php instead.
[jan] Change '24hr' preference to 'twentyFour' to be ldap compliant.


[bjn] Change 'en' and 'en_EN' locales to 'en_US' (default).
[jan] Add Brazilian Portuguese translation (Samuel Mota
[jan] Add DHTML date navigator.
[jan] Add Greek translation (Stefanos I. Dimitriou <>).
[jan] Add Russian translation (Anton Nekhoroshih <>).
[jan] Recode the html display functions and add extra row for all day events.
[cjh] Let the Registry handle retrieving preferences.
[jan] Add icon for recurring events.
[jan] Add preference to show due tasks from Nag in the calendar.
[jan] Add import/export capability.
[jan] Add Italian translation (Giovanni Meneghetti <>).
[cjh] Add Traditional Chinese translation (David Chang <>).
[jan] Add support for timezones
[jan] Put new-event-link into week header instead around times in week view.
[jan] Add day of month into week headers
[cjh] Add Czech translation (
[jan] The menu buttons now open the day/week/month view corresponding to the
      actual view. New 'Today' button.
[jan] Make sure that events before 8am are shown correctly.
[cjh] Add an initial MySQL driver (Luc Saillard <>).
[avsm] Replace $conf['paths'] with the $registry equivalents.
[jan] Let the week alternatively start with Sunday. ISO conform week number
[cjh] Prevent all day events from causing the day to start displaying at 12am.
[cjh] Add $conf['menu']['apps'] support and a help link.
[jan] Let the users alternatively select end time or duration of an event.
[jan] Add support for alarms.
[cjh] Add a preference to use hour increments instead of half-hour (Jan
      Schneider <>).
[cjh] Bold in progress events in the summary and don't show events that are
      over (Jan Schneider <>).
[cjh] Add delete links on event edit pages, and make sure delete and cancel
      work without javascript (Jan Schneider <>).
[cjh] Add translation framework.
[cjh] Make sure events are sorted by time in the summary.
[cjh] Use the *url() functions more consistently to make sure that
      cookie-less sessions work.


[cjh] Allow all-day events and montly-on-weekday recurrence.
[cjh] Add a Horde summary API function.
[cjh] Use 24hr time preference (Jan Schneider <>).
[cjh] Added Preferences framework into Kronolith.
[jon] Merge into
[jon] Allow the registry to handle Kronolith's configuration values.
[jon] HORDE_BASE is now defined in lib/base.php instead of config/conf.php.
[cjh] Define the HORDE_BASE constant in config/conf.php, and use it when
      referring to any of Horde's files.
[jon] Retired config/menu.txt in favor of config/menu.php.  This file follows
      a new format based on native PHP data structures.
[cjh] Add an optional keywords section, and a keywords definition file.
[cjh] Add a location field to events.
[cjh] Add the ability to re-label the category field, and to make it a
      system-defined list of options.
[cjh] Added Kronolith::weeksInYear($year) and Kronolith_Day::isToday().
[cjh] Add week and workweek (mon-fri) views.
[cjh] Allow events to recur every other week, every 3 days, etc.
[cjh] Reorganize the event adding/editing screen and add javascript to give
      the user sane defaults.
[cjh] Remove year.php; it's ugly and not really useful.
[cjh] Open the calender in base.php.
[cjh] Remove most of the remaining mcal-dependent code.
[cjh] Kronolith now uses Horde authentication instead of its own. This means
      that whatever auth method you are using for Horde will be used to
      authenticate to Kronolith, and in return you get single sign-on with any
      other apps using Horde authentication. This also means that Kronolith
      is completely independent of MCAL for authentication now; if you have
      one MCAL user, that's enough to provide calendars for all Horde users.
[cjh] Add lib/base.php to include all globally needed conf files and
      libraries, set up the language, etc.
[cjh] Abstract the event creation/edit code into the
      Kronolith_Driver/Kronolith_Event classes.
[cjh] Changes to work with register_globals = Off. (IN PROGRESS)
[cjh] Add an optional "get the time this event would start on day x" feature
      to the Kronolith_Event:: class, allowing status.php to work with
      recurring events.
[cjh] We now have the Kronolith_Event abstraction class that abstracts away
      details of events, so that the frontend scripts aren't dependant on
[cjh] Display events which are in progress, just starting, or start in under
      two hours along with other messages just under the menu.
[cjh] Much slicker UI.
[cjh] Use mcal_popen instead of mcal_open - might give us a performance gain.


[cjh] Don't display delete links in month view; slimmer UI.
[jon] Silence session_start warnings.
[jon] Use Horde::url() in place of the deprecated buildURL() function.
[cjh] Update to work with new slimmed down/Horde:: integrated session code.
[cjh] Use the new css.php script to generate our stylesheets.
[cjh] Revising the look and feel to use the new stylesheets and conventions.
[cjh] Added initial CHANGES file and documentation.