ctucx.git: tinyDAV

[php] Cal-/ CardDAV server with a simple web-GUI based on SabreDAV

1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
40 
41 
42 
43 
44 
45 
46 
47 
48 
49 
50 
51 
52 
53 
54 
55 
56 
57 
58 
59 
60 
61 
62 
63 
64 
65 
66 
67 
68 
69 
70 
71 
72 
73 
74 
75 
76 
77 
78 
79 
80 
81 
82 
83 
84 
85 
86 
87 
88 
89 
90 
91 
92 
93 
94 
95 
96 
97 
98 
99 
100 
101 
102 
103 
104 
105 
106 
107 
108 
109 
110 
111 
112 
113 
114 
115 
116 
117 
118 
119 
120 
121 
122 
123 
124 
125 
126 
127 
128 
129 
130 
131 
132 
133 
134 
135 
136 
137 
138 
139 
140 
141 
142 
143 
144 
145 
146 
147 
148 
149 
150 
151 
152 
153 
154 
155 
156 
157 
158 
159 
160 
161 
162 
163 
164 
165 
166 
167 
168 
169 
170 
171 
172 
173 
174 
175 
176 
177 
178 
179 
180 
181 
182 
183 
184 
185 
186 
187 
188 
189 
190 
191 
192 
193 
194 
195 
196 
197 
198 
199 
200 
201 
202 
203 
204 
205 
206 
207 
208 
209 
210 
211 
212 
213 
214 
215 
216 
217 
218 
219 
220 
221 
222 
223 
224 
225 
226 
227 
228 
229 
230 
231 
232 
233 
234 
235 
236 
237 
238 
239 
240 
241 
242 
243 
244 
245 
246 
247 
248 
249 
250 
251 
252 
253 
254 
255 
256 
257 
258 
259 
260 
261 
262 
263 
264 
265 
266 
267 
268 
269 
270 
271 
272 
273 
274 
275 
276 
277 
278 
279 
280 
281 
282 
283 
284 
285 
286 
287 
288 
289 
290 
291 
292 
293 
294 CalDavZAP Changelog


NOTE: if you are interested in integrated version of CalDavZAP and CardDavMATE (our CardDAV web client) please use InfCloud - http://www.inf-it.com/open-source/clients/infcloud/

version 0.13.1 [2015-09-22]:
- note: do not forget to execute the cache_update.sh script every time you update your configuration or any other file (otherwise your browser will use the previous version of files stored in HTML5 cache); alternatively you can update the cache.manifest manually - edit the second line beginning with "#V 20" to anything else (this file simple needs "some" change)
- changed login screen autocomplete behaviour - we do not prevent browsers from remembering login/password anymore

version 0.13.0 [2015-09-16]:
- note: do not forget to execute the cache_update.sh script every time you update your configuration or any other file (otherwise your browser will use the previous version of files stored in HTML5 cache); alternatively you can update the cache.manifest manually - edit the second line beginning with "#V 20" to anything else (this file simple needs "some" change)
- note: if you use a server with cross-domain setup see the modified Access-Control-Allow-Headers and Access-Control-Expose-Headers in readme.txt (or misc/config_davical.txt or misc/calendarserver.diff); you MUST update these headers, otherwise the client will NOT work
- configuration - added globalEnableRefresh option which enables/disables the new "refresh all resources" icon in the left application menu (disabled by default)
- added Chinese localization (zh_CN) - thanks Fandy
- added shift+login shortcut to ignore settings stored on the server and use the default settings (this functionality was added long time ago, but I forgot to mention about it)
- added support for "Prefer: return=representation" (and related "Preference-Applied: return=representation") for PUT requests (see http://tools.ietf.org/html/rfc7240); this change REQUIRES update of Access-Control-Allow-Headers and Access-Control-Expose-Headers if cross-domain setup is used
- added full RFC2445 support - RRULE processing is now performed by rrule.js (see: https://github.com/jakubroztocil/rrule); thanks to this library we now support/expand all recurrences, although the most exotic ones are "read-only" (for these you will see "Other (modification not supported)" in the interface)
- added DESCRIPTION property for VALARM components to make them RFC compliant
- added check for unsupported XML 1.0 characters in user entered data - these are replaced by a space character (to prevent client and/or server side parsing errors)
- added title with version number for the software name/description (login screen)
- added vCalendar line folding (RFC2445 - section 4.1)
- fixed event processing when multiple VEVENT and VTIMEZONE components are intermingled
- fixed VTODO COMPLETED property (UTC time format)
- fixed alarm window not being localized properly
- fixed an occasional issue where all collections are double loaded on login
- changed version checking - use internal build number for software version comparison to support update notification also for beta and rc builds
- changed format and comments in config.js
- changed storing of user settings (PROPPATCH request) - no server request will be made if there is no change in settings
- updated jQuery to 2.1.4
- updated localizations - thanks Niels Bo Andersen [da_DK], Marten Gajda [de_DE], Damian Vila [es_ES], Gabriela Vattier [fr_FR], Luca Ferrario [it_IT], Muimu Nakayama [ja_JP], Johan Vromans [nl_NL], Selcuk Pultar [tr_TR], Александр Симонов [ru_RU], Serge Yakimchuck [uk_UA]
- updated timezone.js to latest IANA timezone database
- other improvements and fixes

version 0.12.1 [2015-03-16]:
- note: do not forget to execute the cache_update.sh script every time you update your configuration or any other file (otherwise your browser will use the previous version of files stored in HTML5 cache); alternatively you can update the cache.manifest manually - edit the second line beginning with "#V 20" to anything else (this file simple needs "some" change)
- note: you NEED to enable "mod_headers" in Apache (for other servers see your server documentation) which is used to generate proper HTTP headers (required for correct support of HTML5 cache in browsers); the previously used mod_expire is not longer used (see the changelog entry below)
- added support for absolute collection URLs returned in PROPFIND request
- fixed HTML5 cache related problems (especially in Firefox) by returning "Cache-Control: max-age=0, must-revalidate, no-cache, no-transform, private" header instead of "Cache-Control: max-age=0" - this fix requires enabled "mod_headers" (you can disable the previously used "mod_expires") in Apache - for more details see .htaccess
- fixed processing of the language parameter in the title of event/todo
- changed displaying of event/todo calendar list in event/todo form - now it is possible to create new event/todo also into inactive event/todo collection
- updated jQuery-UI to 1.11.4
- other improvements and fixes

version 0.12.0 [2015-01-26]:
- note: do not forget to execute the cache_update.sh script every time you update your configuration or any other file (otherwise your browser will use the previous version of files stored in HTML5 cache); alternatively you can update the cache.manifest manually - edit the second line beginning with "#V 20" to anything else (this file simple needs "some" change)
- configuration - added globalDefaultEventDuration configuration variable - set the default duration (in minutes) for newly created events
- added widened todo list with dynamic number of columns
- added checkboxes for todos in the todo list - now you can change the status of a todo by clicking on its checkbox
- added duplicate button for copying of events/todos
- fixed loading of future/past todos - now the loading of additional future/past todos is performed also by clicking on datepicker calendar (in the todo list view)
- updated jQuery to 2.1.3
- updated jQuery-UI to 1.11.2
- other improvements and fixes

version 0.11.1 [2014-10-07]:
- note: do not forget to execute the cache_update.sh script every time you update your configuration or any other file (otherwise your browser will use the previous version of files stored in HTML5 cache); alternatively you can update the cache.manifest manually - edit the second line beginning with "#V 20" to anything else (this file simple needs "some" change)
- updated timezone.js to latest IANA timezone database
- updated jQuery to 2.1.1
- updated jQuery-UI to 1.11.1
- fixed calendar color change functionality
- other improvements and fixes

version 0.11.0 [2014-10-02]:
- note: do not forget to execute the cache_update.sh script every time you update your configuration or any other file (otherwise your browser will use the previous version of files stored in HTML5 cache); alternatively you can update the cache.manifest manually - edit the second line beginning with "#V 20" to anything else (this file simple needs "some" change)
- note: this release contains new, changed and also removed configuration options (always use the latest config.js)
- configuration - removed showHeader option from globalAccountSettings, globalNetworkCheckSettings and globalNetworkAccountSettings - it is incompatible with new functionality
- configuration - added globalCrossServerSettingsURL configuration option - enable this option if your CalDavZAP installation is accessible from multiple URLs (URL1, URL2), otherwise settings (such as enabled/active collections) stored from the URL1 will be incompatible with settings stored from URL2
- configuration - added globalCalendarColorPropertyXmlns configuration option - used to define the namespace for calendar-color property (see below)
- configuration - changed default value for delegation option to true (in globalAccountSettings, globalNetworkCheckSettings and globalNetworkAccountSettings)
- configuration - changed default value for globalEventStartPastLimit and globalEventStartFutureLimit from 2 to 3
- added Japan localization (ja_JP) - thanks Muimu Nakayama
- added support for loading and unloading of user collections and delegated collections (delegation functionality)
- added support for calendar color change (write support for calendar-color property)
- added arrow icons for agenda views to indicate out of view events
- added currently logged user into the page title
- added hover element for calendar events
- updated localizations - thanks Michael Rasmussen [da_DK], Marten Gajda [de_DE], Damián Vila [es_ES], Jean-Christophe Bach [fr_FR], Luca Ferrario [it_IT], Johan Vromans [nl_NL], Selcuk Pultar [tr_TR], Александр Симонов [ru_RU], Yevgen Martsenyuk [uk_UA]
- fixed occasional wrong UID processing when moving events/todos between different calendar collections
- fixed issues with subscribed calendars
- fixed processing of alarms
- fixed an occasional parseDate bug due to daylight saving time in specific timezones
- various fixes, optimalizations, improvements, visual updates and more

version 0.10.0.5 [2014-04-14]:
- note: do not forget to execute the cache_update.sh script every time you update your configuration or any other file (otherwise your browser will use the previous version of files stored in HTML5 cache); alternatively you can update the cache.manifest manually - edit the second line beginning with "#V 20" to anything else (this file simple needs "some" change)
- updated Russian localization (ru_RU)
- fixed wrong processing of RECURRENCE-ID property in UTC (Z) timezone
- fixed occasional wrong processing of repeating events generated in future

version 0.10.0.4 [2014-03-15]:
- note: do not forget to execute the cache_update.sh script every time you update your configuration or any other file (otherwise your browser will use the previous version of files stored in HTML5 cache); alternatively you can update the cache.manifest manually - edit the second line beginning with "#V 20" to anything else (this file simple needs "some" change)
- added Russian localization (ru_RU) - thanks Александр Симонов
- fixed synchronization of removed events for servers without sync-collection report support
- minor translation fixes

version 0.10.0.3 [2014-03-12]:
- note: do not forget to execute the cache_update.sh script every time you update your configuration or any other file (otherwise your browser will use the previous version of files stored in HTML5 cache); alternatively you can update the cache.manifest manually - edit the second line beginning with "#V 20" to anything else (this file simple needs "some" change)
- added support for LDAP binding in auth/ldap module (see auth/plugins/ldap_conf.inc)
- fixed occasional wrong processing of DTEND attribute
- fixed incorrect creation of recurring events which caused that multiple different UIDs can be present in one calendar object (edit + save of previously created events will split them into multiple objects)

version 0.10.0.2 [2014-02-17]:
- note: do not forget to execute the cache_update.sh script every time you update your configuration or any other file (otherwise your browser will use the previous version of files stored in HTML5 cache); alternatively you can update the cache.manifest manually - edit the second line beginning with "#V 20" to anything else (this file simple needs "some" change)
- added Ukrainian localization (uk_UA) - thanks Serge Yakimchuck
- added misc/readme_baikal_sabredav.txt and misc/baikal-flat-0.2.7.diff to solve issues related to storing CalDavZAP properties on SabreDAV and Baïkal - thanks Johannes Zellner
- fixed invalid XML response processing (SabreDAV and Baïkal)
- fixed invalid XML request if globalEventStartPastLimit and globalEventStartFutureLimit are set to null
- fixed "delegation" XML processing
- updated French [fr_FR] localization - thanks Jean-Christophe Bach

version 0.10.0.1 [2014-02-04]:
- note: do not forget to execute the cache_update.sh script every time you update your configuration or any other file (otherwise your browser will use the previous version of files stored in HTML5 cache); alternatively you can update the cache.manifest manually - edit the second line beginning with "#V 20" to anything else (this file simple needs "some" change)
- added Spanish localization (es_ES) - thanks Damián Vila
- updated jQuery to 2.1.0
- updated jQuery-UI to 1.10.4
- changed various default date formats
- changed alarm behaviour - it is no longer possible to create multiple identical alarms (they are automatically merged into one)
- fixed a visual bug when displaying a simple todo alert
- fixed rare issue where UNTIL attribute of recurrent events was not processed correctly

version 0.10.0 [2014-01-22]:
- note: do not forget to execute the cache_update.sh script every time you update your configuration or any other file (otherwise your browser will use the previous version of files stored in HTML5 cache); alternatively you can update the cache.manifest manually - edit the second line beginning with "#V 20" to anything else (this file simple needs "some" change)
- note: this release contains new, changed and also removed configuration options (always use the latest config.js)
- configuration - added globalEventStartPastLimit and globalEventStartFutureLimit for time-range filtering - note: for servers without time-range filtering support you need to set both variables to null (see config.js)
- configuration - replaced globalInactiveCollections and globalInactiveTodoCollections by globalActiveCalendarCollections and globalActiveTodoCollections (see config.js)
- configuration - removed globalResourceHeaderShowLogin option - it is replaced by much more flexible hrefLabel option in globalAccountSettings and globalNetworkCheckSettings (see config.js)
- configuration - removed syncInterval option from globalAccountSettings and globalNetworkCheckSettings - detection of sync-token changes is now performed by ONE request instead of N (number of collections) - use globalSyncResourcesInterval instead
- configuration - removed crossDomain and withCredentials options from default globalAccountSettings, globalNetworkCheckSettings and globalNetworkAccountSettings - both settings are still available but there is NO REASON to use them (crossDomain is detected automatically, and I've never seen anyone who understand when to use withCredentials /there is NO REASON to set it to true!/)
- major improvements and changes in sychronization code - MUCH reduced number of HTTP request to server
- major design changes (including the open source Roboto font)
- major readme.txt update with detailed descriptions of most common setup problems
- added support for time-range filtering (requires server with time-range filtering support) - EXTREME performance improvements
- added workaround for buggy HTML5 cache handling in the latest Firefox
- added "equivalency" for todo filters (globalAppleRemindersMode) - NEEDS-ACTION, IN-PROGRESS and CANCELLED are processed as NEEDS-ACTION
- added calendar color indicator for event/todo forms (unified with the upcoming CardDavMATE)
- added handling of unsupported settings
- added support for 'headervalue' collection property (namespace: http://inf-it.com/ns/dav/) - useful for collection grouping
- added new overlay with refresh button, when cache manifest change is detected (it forces users to reload the page)
- added support/mapping for alternative timezone names - e.g. 'US/Pacific' (legacy name) is mapped to 'America/Los_Angeles' (current name)
- changed resource list design (unified with the upcoming CardDavMATE)
- changed todo processing if globalAppleRemindersMode is enabled - todos with start and no end are processed as simple todos
- changed displaying of repeating todo confirm question
- changed time-range filtering for todos - all todos from future are loaded from server initially
- updated French [fr_FR] localization - thanks Jean-Christophe Bach
- optimized window resizing functionality
- fixed local timezone processing
- fixed loader hanging after login if subscribed calendar list is empty
- fixed generating of repeating events in future
- fixed RRULE processing if specified in YYYYMMDD format
- fixed displaying of arrows for repeating events
- fixed sorting of resources
- fixed various search issues
- disabled opening of new event/todo form if only read-only collections are present
- removed jQuery source mapping file reference
- LOT of other improvements and fixes

version 0.9.1.2 [2013-08-05]:
- fixed processing of recurrent events (special recurrences - correct BYMONTHDAY processing)
- fixed globalTimeFormatBasic configuration option processing (it is no longer ignored)
- removed old and unused configuration options (globalDefaultDisplayTodo and globalTodoHideExpired)

version 0.9.1.1 [2013-07-30]:
- fixed processing of recurrent events with until date
- fixed saving of until dates values in recurrent events
- fixed parsing of double quoted TZID param values

version 0.9.1 [2013-07-26]:
- note: do not forget to execute the cache_update.sh script every time you update your configuration or any other file (otherwise your browser will use the previous version of files stored in HTML5 cache); alternatively you can update the cache.manifest manually - edit the second line beginning with "#V 20" to anything else (this file simple needs "some" change)
- note: this release contains changed configuration options (always use the latest config.js)
- configuration - changed globalAppleRemindersMode option values - newly supported values are iOS6, iOS7, true (it is set to latest supported iOS - in this case iOS7) and false (see config.js)
- added Turkish localization (tr_TR) - thanks Selcuk Pultar
- updated localizations - thanks Michael Rasmussen [da_DK], Marten Gajda [de_DE], John Fischer [fr_FR], Luca Ferrario [it_IT] and Johan Vromans [nl_NL]
- added additional automatic fixes for invalid events
- added support for STATUS attribute
- added support for CALSCALE attribute (only GREGORIAN is supported; missing attribute = GREGORIAN)
- added automatic change of "time to" after "time from" change (preserve the event/todo duration)
- added support for dynamic height of NOTE field - thanks http://www.jacklmoore.com/autosize/
- fixed problem with always visible completed todos when globalAppleRemindersMode enabled
- fixed window resize callback
- fixed incorrect detection of privileges for binded resources
- fixed processing of RECURRENCE-ID in events/todos
- fixed parsing of todo/event components with same UID in subscribed calendars
- fixed parsing of due date timezone
- fixed processing of DURATION value for allday events
- fixed problem with multiple URL and LOCATION attributes
- fixed handling of VERSION attribute
- fixed repeating todo and event processing
- fixed timezone picker problems
- updated jQuery to 2.0.3
- changed default "due date" for todos to date selected in the todo calendar
- other improvements and fixes

version 0.9.0 [2013-06-27]:
- note: do not forget to execute the cache_update.sh script every time you update your configuration or any other file (otherwise your browser will use the previous version of files stored in HTML5 cache); alternatively you can update the cache.manifest manually - edit the second line beginning with "#V 20" to anything else (this file simple needs "some" change)
- note: if you use DAViCal with cross-domain setup see the modified Apache configuration in misc/config_davical.txt (added Access-Control-Expose-Headers header)
- note: if you use OS X Calendarserver it is recommended to re-patch your installation (added Access-Control-Expose-Headers header; see misc/readme_osx.txt)
- note: this release contains new and also changed configuration options (always use the latest config.js)
- configuration - added globalSettingsType option - set the destination for client settings on server (useful if your server not allows to store properties to "principal-URL" but allows to store them to "calendar-home-set")
- configuration - added checkContentType option into globalAccountSettings and globalNetworkCheckSettings - enables content-type checking for server response (only objects with proper content-type are inserted into interface) - if you cannot see data in the interface you may try to disable it
- configuration - added globalAppleRemindersMode option (enabled by default) - it enables workarounds for Apple clients (see config.js)
- configuration - added globalIgnoreCompletedAlarms option (enabled by default) - it disables alarm for completed todos (see config.js)
- MAJOR performance improvements
- added support for Cyrus server - thanks Ken Murchison
- added support for additional CalDAV servers (should work with the same servers as CardDavMATE)
- added completely new and shiny interface for todos
- added support for additional todo properties and repeating todos
- added support for PRODID property for both events and todos
- added new custom formats for time and day strings based on currently selected localization
- added Hungarian localization (hu_HU)
- changed cache.manifest - cache all image files in HTML5 cache
- changed ordering of calendars in selectbox (globalSortAlphabet is used)
- changed internal logic of resource loading, synchronization and version check functionality (to prepare for integration with CardDavMATE)
- changed minimum height of events to height of "30 minutes" event
- fixed Firefox placeholder colors
- fixed and updated various localization strings
- fixed events and todos sometimes being editable even with forceReadOnly flag enabled
- fixed various timezone processing issues
- fixed visual event form bug when using repeat option with weekend/business days
- fixed current time indicator error during day/week transition
- fixed timezone picker (at the bottom of the resource list) - it is no longer editable using keyboard navigation while editing event/todo
- fixed wrong ajax parameter which may cause warnings in server log
- fixed an issue when timezone picker was not always visible after login
- updated left menu with new icons (thanks Kelecsenyi Timotej - http://timotejos.com/)
- updated jQuery to 2.0.2 (and related fixes)
- updated jQuery-UI to 1.10.3 (and related fixes)
- updated auth module to reflect the latest changes in configuration options
- updated misc directory (it is the same as in CardDavMATE)
- updated localizations - thanks Marten Gajda [de_DE], John Fischer [fr_FR], Luca Ferrario [it_IT] and Johan Vromans [nl_NL] (note: Danish [da_DK] localization contains some untranslated strings)
- LOT of other improvements and fixes

version 0.8.1.1 [2013-02-25]:
- fixed multiple bugs related to processing of recurrent events
- fixed forced lower case problem of some strings in the interface
- other minor fixes

version 0.8.1 [2013-02-21]:
- note: do not forget to execute the cache_update.sh script every time you update your configuration or any other file (otherwise your browser will use the previous version of files stored in HTML5 cache)
- added support for background calendars in day view event list
- added missing misc directory
- fixed syntax error if configured using globalAccountSettings
- fixed issues with delegation proccessing if multiple accounts are configured
- fixed issue with pinned tab in Firefox (manual reloading is not required anymore)
- fixed privileges for binded calendars - these are now strictly read only
- fixed wrong proccessing of number of occurrences for recurrent events
- fixed issue where readonly events could still be edited via drag and drop and resizing
- fixed and optimized the "Revert" button functionality
- fixed issue with saving empty URL property
- fixed incorrect alarm box position
- fixed bad positioning of error image for "repeat end" date field

version 0.8.0 [2013-02-13]:
- note: do not forget to execute the cache_update.sh script every time you update your configuration or any other file (otherwise your browser will use the previous version of files stored in HTML5 cache)
- note: this release contains new configuration option (always use the latest config.js)
- configuration - added globalUseJqueryAuth option - use jQuery .ajax() auth or custom header for HTTP basic auth (default); set this option to true if your server uses digest auth (note: you may experience auth popups on some browsers)
- configuration - added globalRemoveUnknownTimezone (disabled by default) - it removes non-standard/unknown timezones if event/todo is edited (and saved)
- configuration - added delegation option into globalAccountSettings and globalNetworkCheckSettings (sets additional delegated resources - if true then delegation is enabled for all available resources; if false (default) then delegation is disabled; if an array of URL encoded resources or regexes (for example: ['/caldav.php/user/', '/caldav.php/user%40domain.com/', new RegExp('^/caldav.php/a[b-x].+/$', 'i')] then delegation is enabled for all specified resources
- configuration - added ignoreAlarms option into globalAccountSettings and globalNetworkCheckSettings (defines an array calendars with disabled alarm - if true then all alarms are ignored; if false (default) then alarms are enabled; if an array of URL encoded collections or regexes (for example: ['/caldav.php/user/collection/', '/caldav.php/user%40domain.com/collection/', new RegExp('^/caldav.php/user/collection[0-9]/$', 'i')] then alarm is disabled for all specified resources
- configuration - added backgroundCalendars option into globalAccountSettings and globalNetworkCheckSettings - defines an array of background calendars - if there is at least one event defined for the given day in a background calendar, the background color for that day will be pink/light-red; to use this feature define an array of URL encoded collections or regexes (for example: ['/caldav.php/user/collection/', '/caldav.php/user%40domain.com/collection/', new RegExp('^/caldav.php/user/collection[0-9]/$', 'i')])
- configuration - added user defined time format support for events via globalTimeFormatBasic and globalTimeFormatAgenda variables (see config.js)
- configuration - changed forceReadonly property proccessing - URL encoded collections and also regexes are now supported (see config.js)
- configuration - changed globalCalendarSelected variable proccessing - full UID (for example: http://username@domain.com:8080/caldav.php/user/calendar/) and also UID matching regexes are now supported (see config.js)
- configuration - date and time formats are now predefined for each localization - if you want to use custom date and time formats instead of predefined formats (defined by localizations) use globalAMPMFormat and globalDatepickerFormat variables (commented out by default)
- added Danish localization (da_DK) - thanks Niels Bo Andersen
- added German localization (de_DE) - thanks Marten Gajda and Thomas Scheel
- added Italian localization (it_IT) - thanks Luca Ferrario
- added French localization (fr_FR) - thanks John Fischer
- added Dutch localization (nl_NL) - thanks Johan Vromans
- added additional functionality for today button - now it scrolls the calendar to ensure that the today slot is visible in the top of the view
- added support for fallback to PROPFIND if REPORT is not supported and server returns incorrect 403 error code (instead of 400 or 501)
- added support for events without DTEND or DURATION values
- added support for DURATION property
- added support for CLASS property (Privacy)
- added support for TRANSP property (Availability)
- added support for URL property
- updated timezone.js to latest IANA timezone database
- updated auth module to reflect the latest changes in configuration options
- changed button label from "All future events" to "This and all future events" for more clarity
- changed the "repeat end" option text from "after" to "occurences" for more clarity (event ends after X occurences, including the first one)
- changed event listing in day view - now it scrolls to the very top if the currently displayed day is the first day of month (the button for loading the previous month is now visible)
- changed event listing in day view - now it scrolls to the closest following day if the currently displayed day is not found (no events exist for that day)
- fixed login => logout => relogin as different user bug
- fixed "Unable to save" bug when creating/editing an event/todo
- fixed cache_update.sh - replaced sed by ed due to cross OS compatibility problems
- fixed duplicate scrollbar problem in week and day views
- fixed useless revert button - it is no longer visible when creating a new event or todo
- fixed position of the error image in todo completed field
- fixed processing of UNTIL values in repeating events
- fixed EXDATE value processing and saving
- fixed January specific bug
- fixed BYMONTH value processing - anniversaries
- other improvements and fixes

version 0.7.0 [2012-11-20]:
- initial public release