= Changelog =

== New in imip-agent 0.3 (Changes since imip-agent 0.2) ==

 * Added validation tokens to forms in the management interface.

 * Fixed quota free/busy recording to employ user, not group, details.

 * Fixed primary keys for journal group and limit tables.

 * Added support for delegating attendance.

 * Renamed the quota tool and updated the documentation to illustrate the way
 it now works.

 * Added a tool for setting quota user-to-group mappings.

 * Added unlimited quotas, useful for certain quota participants.

 * Fixed locking to make sure that locks are released when scheduling
 functions fail.

 * Permit multiple functions to be invoked for each phase of the scheduler
 function invocation activity.

 * Consolidated quota and organiser free/busy entries into a single store
 representation.

 * Introduced separately-prefixed tables for journal data so that user and
 journal data can be kept separate within the same database schema.

 * Supported indefinitely-recurring events within quotas, with the free/busy
 tool able to expand the occupied periods.

 * Tidied up informational messages from handlers in summary messages.

 * Changed config.py to config.txt along with the way it is read and
 interpreted.

 * Replaced the manual scheduling and storage extension configuration
 mechanism with automatic extension detection and loading.

== New in imip-agent 0.2 (Changes since imip-agent 0.1) ==

 * Added support for [[../DatabaseStore|PostgreSQL databases]] to hold stored
 event, free/busy and scheduling data.

 * Enhanced the [[../Resources|scheduling]] support, adding more scheduling
 modules (providing access and quota controls) and introducing a "journal"
 storage area to support quota-related scheduling policies.

 * Added support for attendees to selectively accept or decline individual
 periods (or recurrences) within events and to refer to these new
 recurrences in their initial replies.

 * Fixed erroneous scheduling attempts in the next-free scheduling method.

 * Allow scheduling methods to return result descriptions for inclusion in
 message parts.

 * Added a configuration helper tool for integration with other software
 components.

 * Changed the install script to not overwrite configuration files, but to
 install new versions of configuration files instead.

 * Made the install script build translations if they are absent.

 * Added a tool that can copy stores between locations and across store types.

 * Tidied up and improved the test infrastructure and related tools.

 * Added tools to maintain release archives for the documentation.

 * Added Danish translations by Jonas Smedegaard. Switched the other
 translations to use UTF-8.
