Call method correctly.
[davical.git] / ChangeLog
blob16e9fe5927597166a8e6e6f0206e433c947733de
1 2011-09-10  Andrew McMillan  <andrew@morphoss.com>
2         * Write schedule resources to attendee calendars and inboxes on PUT.
4 2011-09-09  Andrew McMillan  <andrew@morphoss.com>
5         * Add test of error response for a REPORT which is not supported.
6         * Add support for the CalDAV:schedule-default-calendar-URL property.
8 2011-09-08  Andrew McMillan  <andrew@morphoss.com>
9         * Rename caldav-PUT.php to reflect it's calendaring association.
10         * Decruftify, and allow the squid pam to use 'path' instead of 'script' in it's config.
11         * Fix PROPPATCH behaviour on bound resources.
13 2011-09-07  Andrew McMillan  <andrew@morphoss.com>
14         * Correct handling of PUT with unreferenced VTIMEZONE
16 2011-08-29  Andrew McMillan  <andrew@morphoss.com>
17         * Restore default relationships, which still have utility in complex environments.
19 2011-08-28  Andrew McMillan  <andrew@morphoss.com>
20         * Workaround MacOS X 10.6 Addressbook cannot login to CardDav with '@' in username
22 2011-08-26  Andrew McMillan  <andrew@morphoss.com>
23         * Only include override components if they happen within the period.
24         * Change to depend on postgresql-client >= 8.1 and AWL = 0.47-1
26 2011-06-28  Rob Ostensen  <rob@boxacle.net>
27         * Add support for remote url BINDing
29 2011-08-25  Andrew McMillan  <andrew@morphoss.com>
30         * PROPPATCH is allowed on binds.
31         * Make locale handling use stuff pulled from transifex.net
32         * Add Brazilian Portuguese and Mexican Spanish.
34 2011-08-24  Andrew McMillan  <andrew@morphoss.com>
35         * Test results including calendar-auto-schedule header as default.
36         * Fix calendar-query handling of properties.
38 2011-08-23  Andrew McMillan  <andrew@morphoss.com>
39         * Fix XML output of <error> block.
40         * Handle <prop> following <filter> & a single-ended time filter.
42 2011-06-01  Andrew McMillan  <andrew@morphoss.com>
43         * Allow the calendar-query expansion to return all events in floating time.
45 2011-05-22  Andrew McMillan  <andrew@morphoss.com>
46         * Setup test should recognise "Off" as well as "0"
48 2011-05-18  Andrew McMillan  <andrew@morphoss.com>
49         * Add first cut implementation of principal-match report.
51 2011-05-13  Andrew McMillan  <andrew@morphoss.com>
52         * When sync-collection is asked for data, only return it if < 50 rows.
54 2011-04-03  Andrew McMillan  <andrew@morphoss.com>
55         * Ensure dav_id_seq is initialized to a non-colliding value.
56         * Add support for Digest authentication.
58 2011-04-01  Andrew McMillan  <andrew@morphoss.com>
59         * When an import event has no UID we reluctantly assign one.
61 2011-03-13  Andrew McMillan  <andrew@morphoss.com>
62         * A more complete fix for weird passwords with LDAP.
63         * Apparently an attempt to bind with an empty password will return TRUE!
65 2011-03-03  Felix Möller  <mail@felixmoeller.de>
66         * Add explaination for translators.
68 2011-03-03  Andrew McMillan  <andrew@morphoss.com>
69         * Fix bug in schedule status response where there is no authority.
71 2011-02-27  Felix Möller  <mail@felixmoeller.de>
72         * Sync german translation with Transifex.
74 2011-02-23  Andrew McMillan  <andrew@morphoss.com>
75         * Fix sort order of members listed in a group.
76         * Add support for locking with memcached during delete to avoid deadlocks.
78 2011-02-22  Andrew McMillan  <andrew@morphoss.com>
79         * Force line endings to consistent CRLF in GET.
81 2011-02-22  Felix Möller  <mail@felixmoeller.de>
82         * Producing tarballs now which can be build by rpmbuild -ta davical.tar.gz
84 2011-02-22  Andrew McMillan  <andrew@morphoss.com>
85         * Check for LDAP module, but only if LDAP is configured.
87 2011-02-21  Felix Möller  <mail@felixmoeller.de>
88         * add automatic building of translation documentation
89         * Remove obsoleted strings from translation
90         * Adding documentation for translators
92 2011-02-21  Andrew McMillan  <andrew@morphoss.com>
93         * Move from extract.pl to standard xgettext
95 2011-01-22  Felix Möller  <mail@felixmoeller.de>
96         * Removing the last traces of RSCDS and renaming it to DAViCal.
98 2011-02-21  Andrew McMillan  <andrew@morphoss.com>
99         * Build AWL desired version string as quoted value.
101 2011-02-20  Andrew McMillan  <andrew@morphoss.com>
102         * Correct error message for unsupported report request.
104 2011-01-21  Andrew McMillan  <andrew@morphoss.com>
105         * Ensure resources are always returned with CRLF rather than just LF.
107 2011-01-18  Andrew McMillan  <andrew@morphoss.com>
108         * Skip alarms with bogus trigger data.
110 2011-01-15  Andrew McMillan  <andrew@morphoss.com>
111         * Block invalid tickets from having access.
113 2011-01-14  Andrew McMillan  <andrew@morphoss.com>
114         * Add norwegian and estonian translation files.
116 2011-01-12  Andrew McMillan  <andrew@morphoss.com>
117         * Validate alarm date-time or duration before adding it to the DB.
119 2011-01-04  Andrew McMillan  <andrew@morphoss.com>
120         * Finally give up on the SQL rrule pre-processing.
121         * Move debug logged password behind specific 'password' debug setting.
122         * Obfuscate event data when reader only has read-free-busy permission.
124 2011-01-03  Andrew McMillan  <andrew@morphoss.com>
125         * List all of a user's calendar homes
126         * Extend default_privileges to members of a group.
128 2010-12-31  Andrew McMillan  <andrew@morphoss.com>
129         * Add support for caching of feed, and uncaching on collection change.
131 2010-12-30  Andrew McMillan  <andrew@morphoss.com>
132         * Let auth realm be 'per Principal' to work around Mozilla #247486
133         * IMAP PAM authentication from Oliver Schulze
135 2010-12-28  Andrew McMillan  <andrew@morphoss.com>
136         * Release 0.9.9.4
138 2010-12-27  Andrew McMillan  <andrew@morphoss.com>
139         * Refactor PUT functions to set modified/created dates more correctly.
141 2010-12-27  Leho Kraav  <leho@kraav.com>
142         * add et_EE to support locales
144 2010-12-26  Andrew McMillan  <andrew@morphoss.com>
145         * Fix errors in po files pointed out by Transifex uploading.
146         * A new AtomFeed class for building an Atom feed.
147         * Switch to creating an atom feed, which is a better feed standard.
149 2010-12-26  Leho Kraav  <leho@kraav.com>
150         * A new URL to provide an RSS feed of a calendar's changes.
152 2010-12-26  Andrew McMillan  <andrew@morphoss.com>
153         * Refactored RRule to add support for initialisation from a vProperty.
155 2010-12-25  Andrew McMillan  <andrew@morphoss.com>
156         * Remove all reference to PgQuery
157         * Extensive refactoring of principal-edit, plus support for creating tickets.
158         * Add support for writing scheduling resources on PUT.
159         * Improve support for handling floating time.
160         * Add cil for internal issue tracking.
162 2010-12-08  Andrew McMillan  <andrew@morphoss.com>
163         * Cut access with invalid/expired tickets out immediately.
165 2010-12-07  Andrew McMillan  <andrew@morphoss.com>
166         * Handle empty PROPFIND, don't blow up on invalid XML.
168 2010-11-30  Andrew McMillan  <andrew@morphoss.com>
169         * /.well-known/* now returns a 301 redirect, per spec.
170         * Use text/vcard for content type in advance of ratification of spec.
171         * Properly handle addressbooks in multiget.
172         * Hide authorization headers in logging.
173         * Update sync-collection REPORT to match -04 of draft.
174         * Replace index.php with caldav.php when we find it in our path.
176 2010-11-27  Andrew McMillan  <andrew@morphoss.com>
177         * Be pedantic about checking user is active before we let them in.
178         * Specify the SRV record examples with leading _ as they should be.
180 2010-11-21  Andrew McMillan  <andrew@morphoss.com>
181         * Fix SQL for group handling from Michael Braun.
182         * Add principal-collection-set to standard responses for DAVResource.
183         * Correct typo in POST handling.
185 2010-11-20  Andrew McMillan  <andrew@morphoss.com>
186         * Also update displayname if fullname is changed.
188 2010-10-02  Daniel Aleksandersen  <daniel@>
189         * remove old screenshots
190         * updated iPhone client configuration with new screenshots
192 2010-11-19  Andrew McMillan  <andrew@morphoss.com>
193         * Handle stuff like DTSTART;TZID=America/New_York:20101119T231307
195 2010-11-14  Andrew McMillan  <andrew@morphoss.com>
196         * Script to refresh calendar_alarms with next instance time.
198 2010-11-09  Andrew McMillan  <andrew@morphoss.com>
199         * Don't let auth functions create duplicate home calendars.
201 2010-11-06  Andrew McMillan  <andrew@morphoss.com>
202         * Patch for caldav sync from Pierre-Arnaud Poudret.
203         * Add ACL to the supported methods.
204         * Change regression runner to look for sample data with tests.
205         * Correct version number typo.
206         * Always grant 'DAV::read' privilege from principal to group members.
208 2010-11-05  Andrew McMillan  <andrew@morphoss.com>
209         * Use expanded time specifiers in format since %Y doesn't work on Windows.
210         * Support recursive REPORT query if configured to allow it.
212 2010-11-04  Andrew McMillan  <andrew@morphoss.com>
213         * Add a new WritableCollection object which we will use for PUT.
214         * Use text/vcard rather than older text/x-vcard.
215         * Support event properties in changed part of sync-response.
216         * Rename variable to work around Pg 9.0 reserved name.
218 2010-11-01  Andrew McMillan  <andrew@morphoss.com>
219         * Switch from regular expression which may not work in old/odd PHP.
221 2010-10-31  Andrew McMillan  <andrew@morphoss.com>
222         * Support getlastmodified property in REPORT requests.
224 2010-10-16  Andrew McMillan  <andrew@morphoss.com>
225         * Fix typo in iTIP CANCEL handling.
227 2010-10-15  Andrew McMillan  <andrew@morphoss.com>
228         * Turn on calendar-auto-schedule header if $c->enable_auto_schedule
229         * Add various additional checks into /setup.php
230         * Add knowledge of desired parallel AWL version to setup.
232 2010-10-10  Andrew McMillan  <andrew@morphoss.com>
233         * Fix various minor CardDAV bugs.
234         * Omit the <response> for event outside the time range - when expanded.
235         * Fix privilege_to_bits function to set 'all' correctly & work with recent postgres
237 2010-10-08  Andrew McMillan  <andrew@morphoss.com>
238         * Don't supply freebusy for 0-duration events.
239         * Another regression test for free/busy catching many events.
240         * Add an event with a thoroughly bogus tzid to ensure we cope.
241         * Check for some supported stuff very early so we can show it is missing.
242         * Better display of bindings.
243         * Add postgreSQL 9.0 as a possibility.
244         * Fix warning when using basic authentication fallback.
245         * Fix handling of iCalendar durations containing negative elements.
246         * Handle events which don't have either DTEND *or* DURATION.
247         * Rewrite __construct() method of RepeatRuleDateTimeZone to be more robust.
249 2010-09-25  Andrew McMillan  <andrew@morphoss.com>
250         * Release 0.9.9.3
251         * Rename 'Import Calendars' to 'Tools' since LDAP is more likely.
252         * Add an 'all' regression set which creates the initial DB for the others.
253         * If we get an unknown sync token, just sync everything.
254         * Minor refactoring of DAVResource.
255         * Consistently use ETags with quoting.
256         * Add configuration option to use older 'sync-response' tag.
257         * Provide correct getcontenttype property for addressbook resources.
259 2010-09-24  Andrew McMillan  <andrew@morphoss.com>
260         * Allow basic auth to supply login credentials.
261         * Display the bindings a principal has access to.
262         * Fix various bugs with handling of addressbook resources.
264 2010-09-23  Andrew McMillan  <andrew@morphoss.com>
265         * Regression tests need to check sync on addressbook collections.
266         * Make the sync report work with non-calendar resources.
267         * Fix write_sync_changes to cope with non-calendar resources.
269 2010-09-21  Andrew McMillan  <andrew@morphoss.com>
270         * Release 0.9.9.2
271         * [principal/collection edit] Add display of tickets and bindings.
273 2010-09-20  Andrew McMillan  <andrew@morphoss.com>
274         * [collection-edit] Handle some errors more gracefully.
276 2010-09-16  Jim Hague  <jim.hague@acm.org>
277         * PAM auth - get user name from a comma-less passwd comment field.
279 2010-09-14  Andrew McMillan  <andrew@morphoss.com>
280         * Remove built docs for files no longer present in DAViCal.
281         * Improve resiliency of sync-caldav script.
282         * Uncomment the addressbook-query report.
284 2010-09-13  Andrew McMillan  <andrew@morphoss.com>
285         * Warn if we're being expected to log actions, but have no function.
287 2010-09-12  Andrew McMillan  <debian@mcmillan.net.nz>
288         * Tweaking OPTIONS output.
289         * Whoops: we weren't sending an ETag on PUT for non-Calendar resources.
291 2010-09-11  Andrew McMillan  <andrew@morphoss.com>
292         * [setup] Detect whether suhosin.server.strip is set and discourage it.
293         * [index] Allow for a HEAD request on / to be served here too.
294         * [principal edit] Ensure the id is > 0 for us to fetch the record.
295         * [sync-collection report] Fix to work with bound collections.
297 2010-09-02  Andrew McMillan  <andrew@morphoss.com>
298         * Ensure we get a duration, and default to 1 day if not.
299         * Handle a level of indirection in Binds of binds.
300         * Try harder to get the right duration for an event.
302 2010-08-31  Andrew McMillan  <andrew@morphoss.com>
303         * Wrap calendar-specific things for PROPFIND in an IsCalendar() test.
305 2010-08-30  Andrew McMillan  <andrew@morphoss.com>
306         * Refactored free/busy handling to a single core routine with RRule-2
307         * Add support for weeks in durations.
308         * Switch event expansion to use vComponent.php rather than iCalendar.
309         * Add a getUserByEMail() function.
311 2010-08-29  Andrew McMillan  <andrew@morphoss.com>
312         * Coerce the content-type on PUT.
314 2010-08-28  Andrew McMillan  <andrew@morphoss.com>
315         * Add initial support for addressbook-query REPORT.
317 2010-08-24  Andrew McMillan  <andrew@morphoss.com>
318         * OPTIONS should be available to someone with any of the read permissions.
320 2010-08-18  Andrew McMillan  <andrew@morphoss.com>
321         * Print stage of processing for diagnostic reasons.
322         * Update WebDAV Sync to support -03 of draft
323         * Order drop-down list of principals by displayname.
324         * Allow principal-property-search(-set) REPORT requests on any URL.
325         * Add optional parameter to 'simple' interface to allow action logging.
326         * Add all/any option to NeedPrivilege method also.
328 2010-08-14  Jens Zahner  <jens.zahner@servicereisen.de>
329         * Fixes to LDAP group handling by Jens Zahner
331 2010-06-29  Andrew McMillan  <andrew@morphoss.com>
332         * Results of returning applicable permissions by resourcetype.
333         * Respond with supported-report error if the report is unsupported.
334         * Default type to 'resource' for privileges display.
335         * Remove uninitialised variable possibility.
337 2010-06-28  Andrew McMillan  <andrew@morphoss.com>
338         * Add parameter for masking privilege output to only applicable set.
339         * Check for existence of target resource before we check for READ perm.
340         * Better guessing of content-type when we get a bad/missing one.
341         * Rewrite the way the DAV header is produced.
343 2010-06-27  Andrew McMillan  <andrew@morphoss.com>
344         * Don't allow PUT of non-calendar/address resources into calendars/addressbooks.
345         * Add support for carddav / caldav well-known URLs. Fix short open tag.
346         * Update regression tests for DAV support header change.
347         * Add indication of support for addressbook.
349 2010-06-23  Andrew McMillan  <andrew@morphoss.com>
350         * Correct return code on PUT modified.
351         * Send a correct content-type on GET.
352         * Rename event() to resource() since it might not be an event.
353         * When we PUT a vcard set the caldav_type to VCARD.
354         * Try and read dav_principal since the remote usr record no longer suffices.
356 2010-06-17  Andrew McMillan  <andrew@morphoss.com>
357         * A fix for problems with character output in the user configuration.
358         * Allow for the send_page_header() function to be overridden.
359         * Also remove '/' from potential ticket charset.
360         * Updated Deutsch translation.
362 2010-05-30  Andrew McMillan  <andrew@morphoss.com>
363         * Add a weak_etag field to the calendar_attendee table.
365 2010-05-27  Andrew McMillan  <andrew@morphoss.com>
366         * Updated results with fixed RFC5545 wrapping/escaping.
368 2010-05-19  Andrew McMillan  <andrew@morphoss.com>
369         * Handle VCARD on PUT.
370         * Add ability to start a regression suite from a DB dump.
371         * Add a hack so older Mozilla calendar versions don't see auto-schedule.
373 2010-05-17  Andrew McMillan  <andrew@morphoss.com>
374         * Add a hack to work around Lightning/Sunbird bug #463392
375         * These AwlQuery classes are ow thoroughly migrated into AWL.
377 2010-05-14  Michael Trausch  <mike@trausch.us>
378         * A module for authorization by way of the "pwauth" program
380 2010-05-12  Andrew McMillan  <andrew@morphoss.com>
381         * A few minor database changes.
382         * A few improvements to database creation.
383           Inspired by Peter Eisentraut's blog post about writing scripts
384           for PostgreSQL.
385         * Add support for the addressbook-multiget REPORT.  Untested.
386         * Fix if_addressbook for /
387         * Add a check for gettext availability.
389 2010-05-07  Andrew McMillan  <andrew@morphoss.com>
390         * Add a function to convert iCalendar interval syntax into SQL.
391         * Move RRule expansion functions into RRule include.
393 2010-04-29  Andrew McMillan  <andrew@morphoss.com>
394         * Add facility to append to a calendar with ?mode=append on PUT
395         * RDATE/EXDATE can occur multiply, as well as contain multiple dates.
397 2010-04-28  Andrew McMillan  <andrew@morphoss.com>
398         * When a timezone is supplied, but not used in the event, pretend it was.
400 2010-04-26  Andrew McMillan  <andrew@morphoss.com>
401         * Improved sync to cope slightly better if remote data already present.
402         * Don't complain if the event includes an unused timezone.
404 2010-04-20  Andrew McMillan  <andrew@morphoss.com>
405         * Log the response regardless, if it is status 400 or greater.
406         * Hide the output of that upgrade away in the var/log directory.
407         * Attempt to run the database update on upgrade, but ignore failure.
409 2010-04-19  Andrew McMillan  <andrew@morphoss.com>
410         * Fix lintian error.
411         * Release 0.9.9
413 2010-04-17  Andrew McMillan  <andrew@morphoss.com>
414         * Updated changelog for release 0.9.9
415         * Add SQL query to test 244 to highlight the correct results.
417 2010-04-16  Andrew McMillan  <andrew@morphoss.com>
418         * Switch to put caldav_data.* in result list after calendar_item.*
419         * Switch to use RenderGMT() to render these dates.
420         * Updated freebusy results from RenderGMT() fix.
421         * Fix RenderGMT() to render GMT correctly.
423 2010-04-15  Andrew McMillan  <andrew@morphoss.com>
424         * all should depend on the new location for always.php
425         * Use the new olson_from_tzstring() function to extract the Olson tz.
426         * Connection/Keep-alive headers removed.
427         * Don't report Connection: and Keep-alive: headers.
429 2010-04-14  Andrew McMillan  <andrew@morphoss.com>
430         * Preparing to release 0.9.9
431 2010-04-17  Andrew McMillan  <andrew@morphoss.com>
432         * Release 0.9.9
433         * Fix RenderGMT() to render actual GMT time & use more widely.
435 2010-04-15  Andrew McMillan  <andrew@morphoss.com>
436         * Use the new olson_from_tzstring() function to extract the Olson tz.
438 2010-04-13  Andrew McMillan  <andrew@morphoss.com>
439         * Allow configuration of $c->restrict_admin_roles.
440         * Try to clarify principal actions with better prompts.
441         * Inactive users should not still be able to access their calendars.
443 2010-04-12  Andrew McMillan  <andrew@morphoss.com>
444         * Provide visual feedback when users cannot edit a page.
446 2010-04-03  Andrew McMillan  <andrew@morphoss.com>
447         * Cope with Google occasionally setting the CREATED date to 0000 year.
448         * A new trigger allowing calendar_alarm.component to be edited.
449           The trigger will then cause the caldav_data record to be
450           updated with the new alarm component, and the etag is changed.
451         * Force ticket_id to be cast to text, even if it looks like a number.
452         * Force casting to text on setting DAV properties.
453         * Add facility to GET on collection of collections.
454           Including bound collections into the resultset.
456 2010-04-01  Andrew McMillan  <andrew@morphoss.com>
457         * Only log start of script if that specific debug is configured.
458         * Support statistics logging for interactive pages too.
460 2010-03-31  Andrew McMillan  <andrew@morphoss.com>
461         * Switch recommended source to pgp.net.nz for the repository key.
463 2010-03-30  Andrew McMillan  <andrew@morphoss.com>
464         * Correct PUT response code for create vs update.
465         * Add some statistical logging for script/database execution times.
467 2010-03-29  Andrew McMillan  <andrew@morphoss.com>
468         * Add initial support for arbitray text objects in collections.
469         * Fix logging type on MOVE and remove redundant code.
470         * Remove any expired locks before testing if a lock is active.
472 2010-03-27  Andrew McMillan  <andrew@morphoss.com>
473         * Add some support for VALUE=DATE in our DateTime wrapper.
475 2010-03-25  Andrew McMillan  <andrew@morphoss.com>
476         * Check for unbind permission on container before DELETE.
478 2010-03-24  Andrew McMillan  <andrew@morphoss.com>
479         * Now PROPPATCH works on bindings.
480         * Teach set_dav_property() about dav_bindings.
481         * Error correctly when the destination parent collection does not exist.
482         * Improved approach for reading parent collection.
483         * Initialise the parent_container when constructing from a row.
484         * Handle duplicate attendee lines in one VEVENT.
485         * Add configurable locale directory from Aurelien.
487 2010-03-23  Andrew McMillan  <andrew@morphoss.com>
488         * Ignore sync-cache droppings from sync script testing.
490 2010-03-23  Rob Ostensen  <rob@boxacle.net>
491         * scheduling spec section 6.4, deliver event with scheduling status to users inbox
493 2010-03-23  Andrew McMillan  <andrew@morphoss.com>
494         * Move always.php into the webroot for easier setup.
495           Also add some 'search for the AWL includes' code into it for
496           even more easier setup.
497         * Explode out Attendees and Alarms on PUT/import collection too.
498         * Updated dav_test now looks for DATA= as simple filename.
500 2010-03-22  Andrew McMillan  <andrew@morphoss.com>
501         * Enforce Pacific/Auckland timezone when running regression tests.
502         * Default to internal expansion of :name SQL parameters.
503         * Now parsing out VALARM components on PUT.
504         * AwlQuery restructuring for wider use and easier PgQuery transition.
505         * Add permissions for new tables in DB 1.2.8
507 2010-03-21  Rob Ostensen  <rob@boxacle.net>
508         * first run at ldap group support
510 2010-03-19  Rob Ostensen  <rob@boxacle.net>
511         * include number of items in dav collection on collection edit page
513 2010-03-20  Andrew McMillan  <andrew@morphoss.com>
514         * Improved logging of failed queries.
515         * Regression test example configuration, with comments.
516         * Update DAV header.
517         * Don't exclude NULL DTSTART if reporting on scheduling collection.
518         * Support schedule-calendar-transp property.
519         * Properly insert resourcetypes on MKCOL.
520         * Handle resourcetypes regardless of XML format.
521         * Provide a more useful error output on an XML parser failure.
522         * Split out home & freebusy sets into their own functions.
523         * Remove the freebusy_set from the collection.
525 2010-03-19  Andrew McMillan  <andrew@morphoss.com>
526         * Fix parent-set response on collections.
528 2010-03-18  Rob Ostensen  <rob@boxacle.net>
529         * warn if there are no active admin users
531 2010-03-18  Andrew McMillan  <andrew@morphoss.com>
532         * Fix deactivation of users no longer in LDAP.
533         * Siwtch to use an object for the updated users row.
534         * Correct fix for privileges INSERT.
535         * Standardise on the double-cast for getting decimal -> privilege bits.
536         * Fix PROPPATCH handling of CardDAV addressbook setting.
537         * Confirm lock is removed by DELETE.
538         * Test failure to remove a lock due to wrong lock token.
539         * Add support for PUT on individual resources within a bind.
540         * Catch the privileges on resources via a bound ticket.
541         * Restructure and add support for DELETE on a Bind.
542         * Add a test header and log it to help find which tests cause problems.
543         * Remove ancient hack to cope with broken Evolution < v1.9
544         * Add $c->skip_bad_event_on_import configuration setting.
545           This will allow failure on import of collections to apply only
546           to an individual event, rather than failing the whole collection.
547         * Add support for resource-id and parent-set properties.
548         * Can now apply arbitrary resourcetypes to collections.
549         * Add an extra resourcetype to a binding to indicate it's a binding.
550         * Finish migrating all DAViCal code to AwlQuery.
551         * Remove the old screen for showing a collection.
553 2010-03-17  Aurelien Requiem  <aurelien@menfin.net>
554         * Don't include self as a potential group member.
555         * Updated i18n & French translation.
557 2010-03-17  Andrew McMillan  <andrew@morphoss.com>
558         * Show calendar properties on creation.
559         * Using original displayname for binds.
560         * Add support for persistent connections.
561         * Add support for PROPPATCH displayname on a bind.
563 2010-03-16  Andrew McMillan  <andrew@morphoss.com>
564         * No dependence on DAViCalUser.php is needed any longer.
565         * Fix sf.net #2970729
566         * Remove old DAViCalUser class
567         * Remove old relationship_types maintenance program.
569 2010-03-15  Andrew McMillan  <andrew@morphoss.com>
570         * Make calendar-query report work with bound collections.
571         * GET now working with bound resources.
572         * Getting bindings to work as seamlessly as possible.
574 2010-03-14  Andrew McMillan  <andrew@morphoss.com>
575         * Correct privilege checking for modification of collection.
576         * Working BIND and PROPFIND of bound resources.
577         * Fix incorrect reference in PreconditionFailed() method.
578         * Update installation docs.
579         * Added MatchResource() method for matching by resource_id.
580         * Removed references to old style $debuggroups.
581         * Added build-depends on libawl-php (closes: debian bts #573687)
583 2010-03-13  Andrew McMillan  <andrew@morphoss.com>
584         * New regression tests for things using tickets.
585         * RRULE expansion now working correctly.
586         * Enhance the exception handler to display a forward trace
588 2010-03-12  Andrew McMillan  <andrew@morphoss.com>
589         * Minor adjustments to handling 'infinity' for ticket timeout.
590         * Switch from AllowedTo() to HavePrivilegeTo() to support tickets.
591         * Allow ticket based access as well as public calendars.
593 2010-03-12  Aurelien Requiem  <aurelien@menfin.net>
594         * Updated french translation, with further i18n fixes to setup.
596 2010-03-12  Andrew McMillan  <andrew@morphoss.com>
597         * Add principal_id to PublicSession.
599 2010-03-11  Andrew McMillan  <andrew@morphoss.com>
600         * Fix uninitialised variable errors in new scheduling code.
601         * Some updates to the caldav client library and an example script.
602         * Nail the last (hopefully) missing reference to base_url.
603         * Handle 'infinity' for the ticket timeout.
604         * create-database.sh does not need to specify bash.
606 2010-03-10  Andrew McMillan  <andrew@morphoss.com>
607         * Adding Upgrader class to AwlDatabase and tidying things somewhat.
608         * Starting work on a PHP database upgrader.
609         * Switch  some library code to LGPLv3 license.
611 2010-03-10  Rob Ostensen  <rob@boxacle.net>
612         * Don't write to resources we don't have privileges to
613         * Scheduling extentions working with iCal 4
615 2010-03-10  Andrew McMillan  <andrew@morphoss.com>
616         * Reinstate PostgreSQL 8.1 support into the Debian control file.
618 2010-03-09  Andrew McMillan  <andrew@morphoss.com>
619         * New Svenska localisation from Emil Lundberg
620         * Need to depend on new version of AWL.
621         * Migrated DELETE to AwlQuery wrapper.
623 2010-03-08  Andrew McMillan  <andrew@morphoss.com>
624         * Rewrite OPTIONS response to use DAVResource.
625         * AwlQuery::QDo() method for quick queries where we don't parse the resultset.
626         * Add configuration setting to optionally restrict /setup.php to admin.
628 2010-03-07  Andrew McMillan  <andrew@morphoss.com>
629         * Link to the DAViCal website, rather than SourceForge.
630         * Check precondition to disallow creating collections in a schedule-inbox.
631         * Move PreconditionFailed and MalformedRequest into $request methods.
632         * Switch to HavePrivilegeTo() to ensure we catch tickets.
633         * Correct misspelled __LINE__ references.
635 2010-03-06  Andrew McMillan  <andrew@morphoss.com>
636         * Check permission on MOVE destination.
637         * Add an empty response to the DAV::group property.
638         * All schedule-deliver privileges should be included in default.
639         * Use NeedPrivilege to respond to access denied.
641 2010-03-05  Andrew McMillan  <andrew@morphoss.com>
642         * Provide some rudimentary statistics about the setup.
643         * With readonly_webdav_collections set we should write nothing!
644         * Check we have actually got an XML body if we got a content-type XML.
645         * Correct setup of locale.
647 2010-03-04  Andrew McMillan  <andrew@morphoss.com>
648         * Properly respond with <error> elements inside <responsedescription>
649         * Validating user/collection names. Updating fullname/displayname.
650         * Some long overdue updates to the installation docs.
651         * Switch always.php over to AwlQuery.
653 2010-03-03  Andrew McMillan  <andrew@morphoss.com>
654         * Migrate MKCOL script to AwlQuery wrapper.
655         * Add transaction helpers to query class.
657 2010-03-02  Andrew McMillan  <andrew@morphoss.com>
658         * Updated collection / principal edit, with better l10n.
660 2010-02-28  Andrew McMillan  <andrew@morphoss.com>
661         * Correct allprop/include processing.
662         * Use 'Revoke' rather than 'Delete' for grants, and 'Remove' for group members.
663         * Add an option to restrict visible contents to a limited date range.
665 2010-02-27  Andrew McMillan  <andrew@morphoss.com>
666         * Tweak privileges_list() to work in older Pg versions.
668 2010-02-26  Andrew McMillan  <andrew@morphoss.com>
669         * Tweak 'we don't support this' response to scheduling requests.
671 2010-02-26  Masahiro Mikami  <ZBN15427@nifty.com>
672         * Updated Japanese localisation.
674 2010-02-26  Andrew McMillan  <andrew@morphoss.com>
675         * Modification of protected properties should be a 403.
677 2010-02-25  Andrew McMillan  <andrew@morphoss.com>
678         * Strip slashes from collection names.  They're too confusing.
679         * Add a config item to exclude some users from LDAP sync.
681 2010-02-25  Andrew McMillan  <andrew@morphoss.com>
682         * Release 0.9.8.3
683         * Assign correct resourcetype on collection maintenance.
685 2010-02-24  Andrew McMillan  <andrew@morphoss.com>
686         * Apparently CentOS 5 doesn't have DateTime class in it's PHP :-(
687         * Allow active/inactive setting to edit principal.
688         * Add a menu link to list inactive principals.
689         * Fix the 'ALL' button action in grants update.
690         * Correct 'ALL' privilege to 24 bits.
691         * Move location of CSS submenus slightly.
692         * Don't display a grant/collection stuff until a user is created.
693         * Provide passthru on icons, images, css and js files.
695 2010-02-23  Andrew McMillan  <andrew@morphoss.com>
696         * Release 0.9.8.2
697         * Include inactive support for RRULE expansion.
699 2010-02-23  Masahiro Mikami  <ZBN15427@nifty.com>
700         * Updated Japanese translation.
702 2010-02-23  Emmanuel Seyman  <eseyman@edd.fr>
703         * Updated French translation.
705 2010-02-22  Andrew McMillan  <andrew@morphoss.com>
706         * Expanding functionality in RepeatRuleDateTime class.
708 2010-02-20  Andrew McMillan  <andrew@morphoss.com>
709         * Setup page is now able to detect the PDO pgsql drivers.
710         * Don't require a person to be logged in to see setup.php if their
711           setup is so screwed they can't even connect to a database...
712         * Making things more localisable.
714 2010-02-19  Vincent Van Houtte  <vvh@synergylaw.be>
715         * Updated Dutch translation.
717 2010-02-18  Andrew McMillan  <andrew@morphoss.com>
718         * Use htmlspecialchars rather than htmlentities, which screws up translations.
719         * Remove link to old users browse page.
721 2010-02-22  lebarjack  <lebarjack@agenda.univ-lille2.fr>
722         * Updated required software documentation
723         * Added a Gentoo installation paragraph
724         * Updated needed depnedencies
726 2010-02-18  Andrew McMillan  <andrew@morphoss.com>
727         * Add better localisation support to principal / collection edit screens.
728         * Default user to davical_dba & provide more help regarding .pgpass files.
729         * Remove reference to relationships, which are so passe now.
730         * Admin: support deleting principals / collections with confirmation.
731         * dav_principal: add a rule for deleting.
732         * admin: Support setting a principal to be 'Administrator'
733         * AwlDB: Attempt some better error handling.
735 2010-02-17  Andrew McMillan  <andrew@morphoss.com>
736         * PROPPATCH: Setting properties on Principals now working.
737         * always: Initialise the AWL db connection.
738         * PUT Functions: add support for X-WR-CALNAME in uploaded calendars.
739         * Edit Collections: Fix privileges to do this, and editing of privs.
741 2010-02-15  Andrew McMillan  <andrew@morphoss.com>
742         * A new RepeatRule object to be used for expanding events.
744 2010-02-13  Andrew McMillan  <andrew@morphoss.com>
745         * Include the browse javascript for row linking.
746         * Make admin stuff work better in a subfolder.
747         * Correct URLs for subfolder operation in principal edit.
748         * Remove flush() calls from pubsub.
750 2010-02-11  Peter Schaefer-Hutter  <pschaefer@users.sourceforge.net>
751         * Updated german translation.
753 2010-02-03  Andrew McMillan  <andrew@morphoss.com>
754         * Release 0.9.8.1
755         * Update the sync changes for deletion of a calendar.
756         * Always report DELETE action in sync-changes
757         * Report correct href with DELETE action in sync report.
759 2010-02-01  Andrew McMillan  <andrew@morphoss.com>
760         * Remove misguided include logic.
761         * Editor widget class has been moved into AWL.
763 2010-01-30  Andrew McMillan  <andrew@morphoss.com>
764         * Fix up the javascript around enabling fields when calendar/addressbook.
765         * Move version display to setup.php and do basic dependency checks.
767 2010-01-27  Andrew McMillan  <andrew@morphoss.com>
768         * Allow config files to be under /usr/local
770 2010-01-11  Andrew McMillan  <andrew@morphoss.com>
771         * We don't need to reference a $action . '.js' file.
772         * Create a default calendar when a User or Resource principal is created.
774 2010-01-10  Andrew McMillan  <andrew@morphoss.com>
775         * Add a utility IsCreate() method opposite to IsUpdate().
776         * Try and reduce the odds of an extra quote in the password.
778 2009-12-28  Andrew McMillan  <andrew@morphoss.com>
779         * Basic support for the ACL method.  Working, but needs work.
780         * Improve logging of parameterised queries.
782 2009-12-27  Andrew McMillan  <andrew@morphoss.com>
783         * DAV::owner should be wrapped with DAV::property in DAV::ace response.
784         * Return 406 Not Acceptable for invalid XML request.
785         * Refactor principal-property-search REPORT.
786         * Use calendar-user-address-set for search rather than CS extension.
787         * Move DAVResource inclusion to REPORT wrapper.
788         * Comment out debugging messages for peformance.
789         * Fix problems with logging of failed queries.
790         * Add pass-through for PDO ErrorInfo() method.
791         * New regression tests and updated results.
792         * Add support for principal-search-property-set REPORT per RFC3744
793         * Refactor the construction of DAV::acl and report owner acl
795 2009-12-26  Andrew McMillan  <andrew@morphoss.com>
796         * Current regression test results.
797         * Move MKCOL/MKCALENDAR to NeedPrivilege()
798         * Correct log facility.
799         * Strip  redundant code from CalDAVRequest
800         * Revert misguided namespacing change on Not Found properties.
801         * Move response for supported-lock and supported-privilege-set into DAVResource.php
802         * Fix logic for calculating by_email
803         * New style privilege checking.
804         * Switch to NeedPrivilege() method for checking privileges.
805         * Switch privileges to use the new model.
807 2009-12-24  Andrew McMillan  <andrew@morphoss.com>
808         * Release 0.9.8
809         * Slightly updated TODO.
810         * Move the Allow response back into OPTIONS where it really belongs.
811         * Deny setting of deprecated free-busy-set.
812         * iCal4 wants to see 'calendar-proxy' in the DAV header.
814 2009-12-24  Patrick Näf Moser  <patrick@moser-naef.ch>
815         * Updated german translation.
817 2009-12-23  Andrew McMillan  <andrew@morphoss.com>
818         * Updated results including ACL support indication.
819         * Regression test for caldav:calendar-timezone retrieval.
820         * Move caldav:calendar-timezone into the collection table.
821         * Basic framework for starting on ACL method handler.
822         * COMMIT with the same DB connection we BEGAN on!
823         * Remove irrlevant functionality to CreateDefaultRelationships.
824           A stub is retained in case external organisations have written
825           some auth plugin which does use it.
826         * Correct logic when processing directory of files.
827         * A couple more tests for iCal4 interoperability.
829 2009-12-22  Andrew McMillan  <andrew@morphoss.com>
830         * Depend on correct libawl-php version.
832 2009-12-21  Andrew McMillan  <andrew@morphoss.com>
833         * Display DAViCal version & schema wanted / actual versions.
834         * Kill the schedule-in/out box on upgrade so they are recreated.
835         * Clarify menu wording.  Remove relationships page (yay!).
836         * Add simple placeholder pages for planned setup / upgrade activities.
837         * Force function parameter types for older PostgreSQL versions.
838         * Remove unused functions.
840 2009-12-21  Rob Ostensen  <rob@boxacle.net>
841         * Publish/Subscribe notification for DAViCal by Rob Ostensen.
843 2009-12-21  Andrew McMillan  <andrew@morphoss.com>
844         * Switched everything over to the new permissions model.
846 2009-12-16  Andrew McMillan  <andrew@morphoss.com>
847         * Better use of getent to extract user fullname. Debian bug #561288.
849 2009-12-13  Andrew McMillan  <andrew@morphoss.com>
850         * Retitle 'New User' to 'New Principal'
851         * Link to create a new collection.
852         * Allow for creation of new calendars for a user_no.
854 2009-12-11  Andrew McMillan  <andrew@morphoss.com>
855         * Correctly create a principal record for the administrator.
856         * We now need to create a principal record along with a usr one.
858 2009-12-08  Andrew McMillan  <andrew@morphoss.com>
859         * Make the username field larger.
860         * Replacement for older caldav-client which goes further.
861           Now handles discovery of the principal URL and the user's calendars.
862         * Test for current-user-principal support.
863         * Fix handling of DELETE followed by CREATE case.
864         * Restore support for current-user-principal property.
866 2009-12-05  Andrew McMillan  <andrew@morphoss.com>
867         * Provide some better visual feedback when grants/members are added/changed.
869 2009-12-04  Andrew McMillan  <andrew@morphoss.com>
870         * Try and clarify the terminology for bind/unbind.
871         * Another attempt at supporting older DB versions.
872         * Fix initialisation of empty array for older Pg versions.
873         * Allow building of built-po without building everything else.
874         * Rename davical.php to admin.php which is more appropriate.
875         * Correct for active column removed from principal.
877 2009-11-27  Andrew McMillan  <debian@mcmillan.net.nz>
878         * Add/edit grants on collections.
879         * Now able to edit /create grants to specific users or groups.
880         * Use first perl in path.
881         * Add some page-end padding.
882         * Ensure we still get active if we got a real boolean.
883         * Add some error avoidance to SetLookup.
885 2009-11-24  Andrew McMillan  <andrew@morphoss.com>
886         * Output with updates to upgrade-davical-database
887         * Allow admin / principal to add groups to themselves
889 2009-11-23  Andrew McMillan  <andrew@morphoss.com>
890         * Add support for the X-HTTP-Method-Override header.
892 2009-11-22  Andrew McMillan  <andrew@morphoss.com>
893         * New screens for browsing/editing Principals & Collections.
894         * CSS tweaks for new maintenance screens.
895         * Fix conversion of Resource users.
896         * New functions for listing memberships, members and privileges.
897         * Document default privileges in example config.
898         * Add default privileges setting.  Move privileges functions out of DAVResource.php
899         * Granting for collection_id rather than dav_name now.
900         * Grant access to dav_principal view.
901         * Don't have an 'active' column on the principal.
902         * Definition of a dav_principal writable view of usr+principal
903         * Add ability to apply a folder of SQL rather than just a single file.
905 2009-11-15  Andrew McMillan  <andrew@morphoss.com>
906         * Add support for supported-method-set / suported-report-set
907         * Sprinkle some minimal CardDAV support in there.
909 2009-11-14  Andrew McMillan  <andrew@morphoss.com>
910         * A basic regression test for the expand-property report.
911         * Add expand-property report to the supported reports.
912         * Move URL deconstruction into DeconstructURL function.
913         * Implement the expand-property report.
915 2009-11-12  Andrew McMillan  <andrew@morphoss.com>
916         * New PROPFIND implementation.
917         * Correct <creationdate> format & group-member* responses.
919 2009-11-07  Andrew McMillan  <andrew@morphoss.com>
920         * Be as lazy as possible about doing that horrible proxy query.
922 2009-11-05  Andrew McMillan  <andrew@morphoss.com>
923         * Add some more fields onto the collections table.
924         * Only respond with freebusy to a VFREEBUSY request.
926 2009-11-04  Andrew McMillan  <andrew@morphoss.com>
927         * Add MOVE to the supported method set.
928         * Allow for replacing the regression.host in headers as well.
929         * Updated test results, mostly due to adding a newline to dav_test output.
931 2009-11-02  Andrew McMillan  <andrew@morphoss.com>
932         * Regression tests for the supported-* properties.
933         * New tests following the iCal4 client through one path.
934         * Support for the DAV MOVE method.
935         * Add a dav_name() accessor for forward compatibility.
936         * List support for the DAV::sync-collection report
938 2009-11-02  Rob Ostensen  <caveman+davical@caveman.name>
939         * First cut of support for pubsub push notifications by Rob Ostensen.
941 2009-11-02  Andrew McMillan  <andrew@morphoss.com>
942         * Correct response for schedule-inbox.
943         * Improving response on non-existent resources.
944         * Add a test for existence of the referenced principal.
945         * Return supported-calendar-component-set only on a calendar.
947 2009-10-30  Andrew McMillan  <andrew@morphoss.com>
948         * Allow test case to be fully specified on the command line by filename.
950 2009-10-30  Matthias Mohr  <Matthias@Mohrenclan.de>
951         * Translatability improvements from Matthias Mohr.
953 2009-10-28  Andrew McMillan  <andrew@morphoss.com>
954         * Implementations of supported-report-set and supported-method-set.
956 2009-10-27  Andrew McMillan  <andrew@morphoss.com>
957         * Translate 'Delete User' button as pointed out by Matthias Mohr
958         * Revert include changes on further evaluation.
959         * Also collect the current user principal record into $session.
960         * Updated translation from Matthias Mohr.
961         * Menu restructuring.
962         * Updates to styles, including CSS menus.
963         * Update the help page to point to more useful links.
964         * Add DB version upgrade detection code.
965         * Add a script for building always.php to include DB version also.
966         * Correct translations URL.
967         * Structure changes for grants on collections.
968         * Be more robust about finding the AWL code location.
969         * Revert to require_once().
971 2009-10-23  Andrew McMillan <andrew@morphoss.com>
972         * Release 0.9.7.6
973         * Fix return value from include so PHP doesn't exit.
975 2009-10-22  Andrew McMillan <andrew@morphoss.com>
976         * Release 0.9.7.5
977         * Fix inclusion of auth-functions.php and classBrowser.php
978         * New Deutsch translation by Matthias Mohr.
980 2009-10-07  Andrew McMillan <andrew@morphoss.com>
981         * Release 0.9.7.4
982         * Fix setting of relationships in user administration.
983         * Add option to make freebusy information public.
984         * Correct structure of supported-privilege-set response.
985         * Move server-specific properties from CalDAVPrincipal to CalDAVRequest.
987 2009-10-06  Andrew McMillan <andrew@morphoss.com>
988         * Release 0.9.7.3
990 2009-09-25  Andrew McMillan <andrew@morphoss.com>
991         * Fix overzealous URL encoding of mailto:username@domain.com
992         * Expand permissions on both sides of the group expansion.
993         * Update licensing to note external LGPL sources
994         * Add a 'Delete User' option.
995         * Add facility to create collection without uploading VCALENDAR
996         * Add ability to set calendar as public on creation.
998 2009-09-14  Andrew McMillan <andrew@morphoss.com>
999         * Allow admin access to be restricted to a particular domain.
1001 2009-09-11  Andrew McMillan <andrew@morphoss.com>
1002         * Add support for /principals/users/username so iPhone (& possibly
1003           also iCal) users have a simpler setup experience.
1004         * Expand privileges to work with iPhone OS 3.1
1005         * Release 0.9.7.2
1007 2009-09-05  Andrew McMillan <andrew@morphoss.com>
1008         * Fix call-time pass by reference warnings.
1010 2009-09-02  Andrew McMillan <andrew@morphoss.com>
1011         * Allow disabling of CalDAV Proxy support for performance on large sites.
1012         * Update website content.
1013         * Ensure <href> elements are urldecoded in calendar-multiget
1015 2009-09-02  Andrew McMillan <andrew@morphoss.com>
1016         * Allow disabling of CalDAV Proxy support for performance on large sites.
1018 2009-08-29  Andrew McMillan <andrew@morphoss.com>
1019         * Restructure PUT handling to give easier API possibilities.
1021 2009-08-24 Andrew McMillan <andrew@morphoss.com>
1023         * Fix broken SQL when selecting user list for group.
1024         * Ensure incoming URLs are decoded before we process them.
1025         * Add ability to log caldav actions
1026         * Updated French translation.
1028 2008-06-30 Andrew McMillan <andrew@morphoss.com>
1030         * Remove the out of date update-rscds-database script.
1031         * Rename RSCDS*(.php) to DAViCal*(.php)
1032         * Rename RSCDSUser (.php) to DAViCalUser (.php)
1034 2009-06-27  Andrew McMillan <andrew@morphoss.com>
1035         * Make e-mail lookup be case-insensitive if possible
1037 2009-06-22  Andrew McMillan <andrew@morphoss.com>
1039         * Release 0.9.7
1040         * Add debug logging of response/request and related headers.
1042 2009-06-20  Andrew McMillan <andrew@morphoss.com>
1044         * Various fixes for compatibility with iPhone v3 OS.
1046 2009-06-16  Andrew McMillan <andrew@morphoss.com>
1048         * Align freebusy.php parameter handling with proposed standard.
1050 2009-06-15  Andrew McMillan <andrew@morphoss.com>
1052         * Allow free/busy permission to grant access to obfuscated calendar.
1054 2009-06-13  Andrew McMillan <andrew@morphoss.com>
1056         * Stubbed implementation of calendar proxy.
1058 2009-05-12  Andrew McMillan <andrew@morphoss.com>
1060         * Switch to RRULE functions for more accurate overlap calculation.
1062 2009-04-17  Andrew McMillan  <andrew@morphoss.com>
1064         * Added support for publicly_readable attribute of collection
1065           when accessing a /public.php/user/collection/ path.
1067 2009-04-11  Andrew McMillan <andrew@morphoss.com>
1069         * Allow configuration of site wide user default values.