CardDavMATE Changelog NOTE: if you are interested in integrated version of CardDavMATE and CalDavZAP (our CalDAV 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 - fixed a bug related to vCard PHOTO attribute processing (and the related "The contact on the server was changed and reloaded!" message) 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) - configuration - added globalCollectionDisplay, globalCollectionSort and globalContactDataMinVisiblePercentage - these options allow to configure our new fully customizable wide contact list (see config.js) - 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 support for automatically expanding fields in the editor (e.g. if you enter a phone number, another phone number field is automatically expanded) - added support for multiple street components in a single address field (additional fields are automatically expanded) - added an option to specify a remote URL as photo source - use shift+click on a photo box to add an URL - 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) - fixed vCard line folding (RFC2426 - section 2.6) - changed version checking - use internal build number for software version comparison to support update notification also for beta and rc builds - changed initialy enabled collections behaviour - if there are no enabled collections during the login, enable all available collections owned by the logged user - 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] - 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 - 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) - 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 - 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!/) - configuration - added globalGroupContactsByCompanies configuration option - used to group contacts by company/department name instead of simple alphabetical sort (default false) - configuration - added globalCrossServerSettingsURL configuration option - enable this option if your CardDavMATE 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 globalAddrColorPropertyXmlns configuration option - used to define the namespace for addressbook-color property (see below) - configuration - changed default value for delegation option to true (in globalAccountSettings, globalNetworkCheckSettings and globalNetworkAccountSettings) - added Spanish localization (es_ES) - thanks Damián Vila - added Japan localization (ja_JP) - thanks Muimu Nakayama - added Russian localization (ru_RU) - thanks Александр Симонов - added Ukrainian localization (uk_UA) - thanks Serge Yakimchuck - MAJOR functionality and design changes (including the open source Roboto font) - MAJOR performacne improvements - major improvements and changes in the sychronization code - major readme.txt update with detailed descriptions of most common setup problems - added support for loading and unloading of user collections and delegated collections (delegation functionality) - added addressbook color functionality (we hope you will like the new approach :-)) - added automatic photo resize functionality (no more photo size limit - we simply resize it in the browser) - added support for generic (Apple-like) date attributes (instead of fixed BDAY and ANNIVERSARY) - added support for 'headervalue' collection property (namespace: http://inf-it.com/ns/dav/) - useful for collection grouping - added new overlay with refresh button which is shown when cache manifest change is detected (it forces users to reload the page) - added support for LDAP binding in auth/ldap module (see auth/plugins/ldap_conf.inc) - added currently logged user into the page title - added misc/readme_baikal_sabredav.txt and misc/baikal-flat-0.2.7.diff to solve issues related to storing CardDavMATE (and also CalDavZAP) properties on SabreDAV and Baïkal - thanks Johannes Zellner - removed globalSearchAutoCleanup configuration option (it is no longer required) - updated auth module to reflect the latest changes in configuration options - updated jQuery to 2.1.3 - updated jQuery-UI to 1.11.2 - various fixes, optimalizations, improvements, visual updates and more version 0.11.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) - added support for dynamic height of NOTE field - thanks http://www.jacklmoore.com/autosize/ - added Turkish localization (tr_TR) - thanks Selcuk Pultar - updated Danish [da_DK] localization - thanks Michael Rasmussen - updated jQuery to 2.0.3 - fixed incorrect detection of privileges for binded resources version 0.11.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 - globalCollectionSort, globalCollectionDisplay and globalContactStoreFN - removed equivalents for last (surname, lastname, family), middle (middlename) and first (firstname, given) for faster regex processing - 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 "addressbook-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 - EXTREME performance improvements (especially for large collections) - added support for image editing by clicking to the image (it opens a file chooser) - added functionality to remember the latest selected addressbook (stored as DAV property on the server) - added support for html5 cache (fixes minor bugs when used offline after initial login) - added support for Cyrus server - thanks Ken Murchison - changed loading of collections - all collections are loaded immediately after login (required for future features) - changed XML requests (adds support for more servers) - changed LOCK support detection - it is detected using PROPFIND request instead of DAV header - fixed Firefox placeholder colors - fixed problem with PHOTO attribute - "PHOTO;BASE64:" is obsolete but now it is supported - fixed problem with removing categories using backspace if the editor is in "show" mode - fixed problem with duplicate IM values if vCards are edited by Android (or other) devices/editors - improved vCard processing performance (MAJOR improvements especially for large vCards with PHOTO) - improved processing of the PHOTO attribute value - 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 placeholder plugin to support the current version of jQuery (replaced .live(...) with .on(...)) - 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) - updated misc/readme_osx.txt for OS X 10.8 (instructions to add CORS headers into Calendarserver used by OS X) - renamed misc/calendarserver_CardDavMATE.diff to misc/calendarserver.diff (the patch works also for CalDavZAP) - renamed misc/readme_lion.txt to misc/readme_osx.txt - LOT of other improvements and fixes version 0.10.1 [2013-02-21]: - 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 such as Baïkal (note: you may experience auth popups on some browsers) - 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 - changed forceReadonly property proccessing - URL encoded collections and also regexes are now supported (see config.js) - configuration - date format is now predefined for each localization - if you want to use custom date format instead of predefined format (defined by localizations) use globalDatepickerFormat variable (commented out by default) - 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 SOGO (it required only two minor bugfixes) - added title text for "Logout" and "Add Contact" buttons - fixed minor CSS problems (missing animations and icons during the drag&drop operations) - updated auth module to reflect the latest changes in configuration options version 0.10.0 [2012-12-19]: - note: this release contains new and also changed configuration options (always use the latest config.js) - configuration - added globalSearchAutocleanup (disabled by default) - it allows to enable automatic search filter cleanup on collection (not vCard group) change - configuration - changed globalDatepickerFormat default value from 'yy-mm-dd' to 'dd.mm.yy' - added write support for PHOTO attribute (frequently requested) - just drag your photo into the photo box - note: only photos with size up to 64KiB (65536 B) are accepted, bigger photos are silently ignored ("best" size for your photo: 164 x 183 px) - added Dutch localization (nl_NL) - thanks Johan Vromans - fixed major version checking bug - fixed invalid template usage for unsupported parameters - fixed X-ABLabel attribute matching (now it is case insensitive) - fixed country switching (if a user switches to different country after he entered the address fields, these are preserved) - fixed invalid addressbook list content if collection is changed with non-empty search filter and enabled globalSearchAutocleanup (note: it was enabled by default in previous versions) - fixed "undefined" text in addressbook list if N attribute value not uses full format - fixed "Error: 'unable to save': correct the highlighted invalid values!" error message (related to custom labels) - fixed country ordering for non-en_US localizations - fixed problem with editor image dimensions (if a vCard contains PHOTO) - fixed datepicker "Uncaught Unexpected literal at position" warning in the console log - fixed "add contact" button state when the editor is in "edit" mode - fixed translation of "Resources" string - fixed minor bugs in SVG images - improved search support - search is now possible by N [surname, firstname, middle name, prefix, suffix], NICKNAME, ORG, EMAIL and TEL attribute values (for TEL search use only numbers without spaces or other characters /leading '+' is supported/) - improved support for custom attribute types - if the custom value is already defined also as a standard value, then the standard value is used - improved parsing of very "exotic" vCards - updated jQuery to 1.8.3 (it fixes IE cross domain problems) - updated jQuery-UI to 1.9.1 (and related fixes) version 0.9.9 [2012-11-06]: - note: replaced custom headers in .htaccess by mod_expires options (you need to set "AllowOverride FileInfo Limit Indexes" for CardDavMATE directory and enable mod_expires in Apache /you can disable the previously used mod_headers/) - the client will also work without the .htaccess but browsers can/will cache the javascript files what can cause problems when you update your installation - note: this release contains new configuration options (always use the latest config.js) - configuration - added globalCollectionDisplayOrg (enabled by default) - it allows to choose which attribute value is used for "company contacts" (ORG or N/FN) - configuration - added globalDatepickerFirstDayOfWeek (default 1 => Monday) - it allows to set the first day of week for datepicker (see config.js) - configuration - added globalUriHandlerProfile - it allows to set profile URLs for X-SOCIALPROFILE (see config.js) - configuration - updated default globalNetworkCheckSettings and globalNetworkAccountSettings - fixed bug if you use full URL (with "/index.html" included) - added write support for custom labels (frequently requested) - added support for X-PHONETIC-FIRST-NAME and X-PHONETIC-LAST-NAME attributes (used by Apple clients) - added support for X-SOCIALPROFILE attribute (used by Apple clients) - added IE 10 support - design changes and MAJOR cross OS/browser CSS fixes - new login screen logo - rearrangement of options for "Related" attribute (more frequently used options are moved to top) - changed editor width - vCard editor is now wider (frequently requested) - disallow to drag a contact into contact group if the contact is already a member of that group - fixed parsing of very exotic vCards with "/" character in param values - fixed GUI bugs related to contact group drag&drop operations - fixed suggestion width for Categories - fixed Firefox "AddCategory" placeholder color (Firefox bug?) - LOT of other improvements and fixes (sorry, I am too lazy to write changelog entry for all changes :-)) version 0.9.8 [2012-10-04]: - note: this release contains new and also changed configuration options (always use the latest config.js) - configuration - changed globalCollectionSort, globalCollectionDisplay and globalContactStoreFN options - string values are replaced by more flexible array values (see config.js) - configuration - added globalBackgroundSync (enabled by default) - support for synchronisation if browser window/tab is not focused (see config.js) - configuration - added globalResourceAlphabetSorting (enabled by default) - support for user defined resource (server account) sorting instead of forced alphabetical sorting /applicable only if more than one resource is configured/ (see config.js) - configuration - added forceReadOnly option into globalAccountSettings, globalNetworkCheckSettings and globalNetworkAccountSettings (sets the resource or list of collections as "read-only" - if true then the whole resource will be marked as "read-only"; if an array of collections /for example: ['collection1','collection2']/ then collections in the list will be marked as "read-only"; if null /default/, unset or unknown then real server detected privileges are used) - configuration - added new globalNetworkAccountSettings example (by default it refers to CURRENT_URL/auth/ subdirectory) - added support for simultaneously loaded collections (when switching to a different collection the previous collection is not unloaded - if you want back the previous behaviour use "var globalForceUnloadPrevCollection=true;" in config.js) - added support for remembering of the currently selected contact when switching to a different collection/contact group (when switching back, this contact is re-selected) - added support for automatic scrollbar move when a collection/contact group is clicked to ensure that the contact is visible in the interface - added support for folding long lines in newly created vCards (RFC2426 - section 2.6) - added support for detection of DAV compliance classes (don't try to LOCK the collection if there is no LOCK support /class 2/) - added support for content type checking (only 'text/vcard' and 'text/x-vcard' are accepted) - changed auth module XML configuration format and related changes (see misc/example_config_response.xml and auth/config.inc) - changed company contacts displayvalue to ORG attribute value (if present, otherwise N or FN is used) - changed vCard UID generation (no "-CardDavMATE" suffix in newly generated UIDs) - improved collection and addressbook insert sort - O(n*log(n)) /major performance improvement especially for large collections/ - improved suggestion sorting for company, department and categories (globalSortAlphabet is used) - fixed possible missing contact groups in the interface if more than one adressbook contains contact groups - fixed possible wrong header position if non-null hrefLabel is used with non-empty additionalResources - fixed login screen language switching bug after unsuccessful authentication - fixed sortkey comparison if a compared character is not present in globalSortAlphabet - fixed header removal when deleting contacts from addressbooks - fixed error if globalAddressCountryFavorites is undefined - fixed incorrect scrollbar position for keyboard navigation functionality - fixed undefined variable problem with empty company name and non-empty department - fixed crossDomain value for the software update check - fixed image resizing bug when contacts are switched too quickly using keyboard navigation - fixed minor iOS bugs in CSS - other improvements, fixes and internal code reorganisation - workaround for displaying of images created with Evolution ("X-EVOLUTION-UNKNOWN" image type) - workaround for undefined image type in PHOTO attribute - changed "reset search button" cursor to pointer - moved all CSS files into css/ directory and related changes - updated readme.txt with up to date instructions - updated CSS files for integration with the upcoming CalDAV web client - updated jQuery to 1.8.2 - updated jQuery-UI to 1.8.23 version 0.9.7.1 [2012-06-19]: - support for RFC 6578 final (proper synchronization of deleted contacts with Davical 1.1.0) version 0.9.7 [2012-05-29]: - note: this release contains new configuration options (always use the latest config.js) - configuration - added globalEditorFadeAnimation - support for custom fade in/out animation speed (see config.js) - configuration - added globalInterfaceCustomLanguages option - it allows to limit/reorder the interface languages shown in the login screen - configuration - added hrefLabel option into globalAccountSettings and globalNetworkCheckSettings - support for custom server name in the resource header instead of the full href value (see config.js) - configuration - added globalEnableKbNavigation option - it allows to enable/disable the keyboard navigation functionality [key up/key down] in the contact list (see config.js and the changelog below) - configuration - changed default value for globalSyncResourcesInterval to 300000 miliseconds (resource list changes are rare) - configuration - changed default syncInterval from 30000 to 60000 miliseconds - configuration - updated globalSortAlphabet and globalSearchTransformAlphabet - major internal code cleanup - all ajax operations (even subsequent) are now async => better performance, fixed Firefox 11+ unable to delete contact and unable to perform drag&drop operations - major internal code cleanup - number of requests to the server is minimized => better performance, better bandwidth usage - improved performance of adding new elements in vCard editor by ~40% - added keyboard navigation functionality for contact switching by pressing [key up/key down] (enabled by default) - added support to search by ORG and EMAIL attribute values - added text suggestion for company (from current collection) and department (from current collection but only for the current company) fields in vCard editor - added French localization (fr_FR) - thanks John Fischer - fixed lost sync-token during resource sync (every globalSyncResourcesInterval miliseconds) => result: MUCH less bandwidth usage! - fixed possible missing contacts in the interface if network error occurs during the addressbook-multiget REPORT (after the successful sync-collection REPORT) - fixed vCard value escaping - colon is not escaped anymore (ambiguity of the vCard 3.0 standard) - fixed country selectbox lost focus if the country is changed by keyboard - fixed editor remains in the "edit" mode after the "save" operation if newly created contact is hidden due to active search filter - fixed contact list "header" hiding in vCard group with active search filter - fixed set next contact as active when removing contact from vCard group (previously always the first contact was set as active) - fixed "add contact" button state - now it is inactive during a collection loading - fixed compatibility with future versions of jQuery - moved logout button to the resource list header (to match the position in the upcoming CalDav web client) - updated .htaccess to support image caching and output compression using mod_deflate - updated jQuery-UI to 1.8.20 version 0.9.6 [2012-04-25]: - note: if you use DAViCal with cross-domain setup see the modified Apache configuration in misc/config_davical.txt (solved problem with CardDAV-Sync from Marten Gajda) - note: if you use MacOS X Lion calendarserver it is recommended to re-patch your installation (see misc/readme_lion.txt and the changelog below) - configuration - changed default syncInterval from 15000 to 30000 - added support for automatic detection of crossDomain option in globalAccountSettings, globalNetworkCheckSettings and globalNetworkAccountSettings (if not set to boolean true/false it is automatically detected; default is null - autodetect) - added IE9+ support (non cross-domain setup only /IE9 & jQuery limitation/; minor graphics glitches due to missing CSS support for "disabled" html elements) - added support for prefix and suffix (vCard N attribute) - added Czech localization (cs_CZ) - added Danish localization (da_DK) - thanks Niels Bo Andersen - fixed search with upper case letters not present in globalSearchTransformAlphabet - fixed parsing of double quoted vCard param values (who use this?) - fixed Andorra address fields - fixed minor graphics glitch with update notification after logout and new login - updated auth module to support multiple resources in response + updated auth/config.inc with modified templates - updated misc/config_davical.txt (better handling of preflighted OPTION requests) - updated misc/calendarserver_CardDavMATE.diff (support for cross-domain queries with X-Requested-With header /upcoming Safari 5.2/) - updated default globalSearchTransformAlphabet in config.js - updated CSS detection rule for iPad (new screen resolution for iPad 3) - updated jQuery to 1.7.2 - updated jQuery-UI to 1.8.19 - replaced .attr('value'[, ...]) with .val([...]) - many other fixes version 0.9.5 [2012-03-12]: - note: this release contains new configuration option (always use the latest config.js) - configuration - added globalSearchTransformAlphabet setting - used for transformation of non-ASCII characters to ASCII (for search support) - added search support (search is performed on the addressbook values in the interface + category names) - added language selector to login screen (use globalInterfaceLanguage to set the preselected language) - added Hungarian localization (hu_HU) - scrollable resource list (only if needed) - minor bug fixes version 0.9.4 [2012-02-29]: - fixed vCard parameter parsing (TYPE=X,Y now works correctly again) - fixed date parsing for BDAY and X-ANNIVERSARY attributes (dates with missing '-' caused non-RFC vCard error) - correct "\n" unescaping in vCard values if the previous character is '\' - updated phone parameter definitions (iOS5 uses "TYPE=voice" in addition of other types) - correct header removing from addressbook if contact is removed - changed default value for undefined phone type from "main" to "cell" ("main" is Apple specific) - added "TYPE=internet" into EMAIL parameters if it is missing (better non-RFC vCard compatibility) - added "fax" phone type (in addition of "home fax" and "work fax") - use of .prop() instead of .attr() to set 'readonly', 'disabled', 'selected', 'checked' and 'src' properties - minor fixes for Slovak and German (thanks Thomas Scheel) localizations - other minor fixes version 0.9.3 [2012-02-17]: - added German localization (de_DE) - thanks Marten Gajda - fixed invalid switch to PROPFIND if REPORT/sync-collection is unsupported (+ related bugfixes) - changed DOM operations to fix Firefox only bugs with 0.9.2 (Firefox or jQuery bug?) - fixed "active editor -> logout -> login" problem (inactive resource/addressbook list) version 0.9.2 [2012-02-13]: - security fix: correct globalAccountSettings cleanup after logout - note: this release contains new configuration options (always use the latest config.js) - configuration - increased default timeout value for configuration account templates from 10 to 30 seconds - configuration - changed default configuration for Davical - works also if Davical is installed into subdirectory (instead of domain root directory) - configuration - added globalContactStoreFN option - support for custom FN formatting instead of fixed 'prefix,last,middle,first,suffix' (see config.js) - configuration - added globalCompatibility option - customizations for 3rd party clients - configuration - globalCompatibility: added anniversaryOutputFormat option - supported values: 'apple' (default) and 'other' (see config.js) - configuration - added globalInterfaceLanguage option (see config.js and the changelog below) - added localization support (new localizations are welcome!) - added English localization (en_US) - added Slovak localization (sk_SK) - added Italian localization (it_IT) - thanks Luca Ferrario - added support for Oracle, SabreDav and probably many other CardDav servers - added support for CATEGORIES attribute with auto-suggest for categories in active collection (category separator: Enter) - 100% performance improvement for PUT requests (add/edit/move/... operations) - get the modified Etag from PUT response header instead of additional REPORT requests (if the server support this feature, otherwise get the modified vCard with new Etag from the server) - notable performance improvements for DOM operations (contact loading and manipulation) - correct '\' character escaping in vCard values - removed write support for X-EVOLUTION-* attributes (caused many problems and Evolution already support the X-* attributes without "-EVOLUTION" prefix) - many other fixes version 0.9.1 [2012-01-29]: - note: this release contains new configuration options (always use the latest config.js) - configuration - added lockTimeOut option into globalAccountSettings and globalNetworkCheckSettings - this option is used by the LOCK method and sets the lock timeout for the resource (default: 10000 miliseconds) - configuration - new globalDatepickerFormat option - datepicker date format setting (see config.js) - added support for BDAY attribute - added support for X-ANNIVERSARY, X-EVOLUTION-ANNIVERSARY and X-ABDATE (with "anniversary flag") attributes - added support for multiple URL attributes with params (many clients use this approach in vCard 3.0 even if params are not RFC compliant) - contact images are displayed with correct aspect ratio - CSS fixes (login page padding problem, icon positioning problem for data handler icons in Firefox and many Windows only Firefox fixes) - major performance improvement for country/address format switching - added "Note: your browser is unsupported!" message to login screen for IE and Opera - increased default timeOut values in config.js to 10000 (reported problems with slow/overloaded servers) - updated jQuery-UI to 1.8.17 - "add contact" and edit operations automatically set focus on "Firstname" in the editor - click on the active contact is ignored (there is no reason to reload it into editor) - renamed account-uid to data-account-uid (HTML5 compliance) - added missing alt attributes in index.html (HTML5 compliance) - removed "meta http-equiv" from index.html (HTML5 compliance) - updated readme.txt version 0.9.0 [2012-01-10]: - note: if you use DAViCal with cross-domain setup you need to update your apache configuration (see misc/config_davical.txt) - note: if you use MacOS X Lion calendarserver you need to re-patch your installation (see misc/readme_lion.txt and the changelog below) - added support for drag&drop contact move operation (not available if the source or destination collection is read-only) - added support for "Delete from Group" (available if an Apple contact group is loaded) - added support for drag&drop add contact to contact group (available for active resource and its contact groups) - major internal cleanup and bugfixes - fixed auth module/generic plugin HTTP request used for authentication - minor iOS related and other CSS fixes version 0.8.3 [2011-12-25]: - configuration: new globalAddressCountryFavorites option - favorite countries at the top of the country list in the editor - increase of RegExp performance by ~70% (use of pre-built regular expressions) - additional major performance improvements (especially for large collections) by using late vCard processing (the slowest vCard transformations are performed first time when the contact is loaded into the editor) - added read/write backward compatibility support for the following non-standard vCard attributes: X-ASSISTANT, X-EVOLUTION-ASSISTANT, X-MANAGER, X-EVOLUTION-MANAGER, X-SPOUSE, X-EVOLUTION-SPOUSE - added "home mobile" and "work mobile" options for PHONE attribute - the loading animation (spinning ball) now disappears only after the entire collection is loaded and inserted into DOM - fixed the "The contact on the server was changed and reloaded!" message error caused by wrong vCard comparison - the collection list key value for empty string is defined as '#' - major CSS cleanup and cross browser CSS fixes - new login screen :-) version 0.8.2 [2011-12-15]: - configuration: new globalAddressCountryEquivalence option - support for regex based country detection in ADR attribute (see config.js) - added absolute URL support to resource search - added PRODID attribute support - added support for non-RFC vCards with missing N and/or FN attributes (SOGo Connector bug related to company vCards) - added automatic transformation for non-RFC TEL, EMAIL and URL attributes (Evolution bugs) - CSS tweaks (no select boxes if the editor is not in "edit" mode) and fixes - X-* IM attributes are ignored only if there is an IMPP attribute with the same value - the collection list key value for most common non-alphabet characters is defined as '#' version 0.8.1 [2011-12-10]: - minor svg icon fixes - better non-RFC vCard compatibility (now it is possible to delete contacts without UID attribute) - fixed problems with the N attribute if not all parts of the value are defined - fixed problems with the X-* IM attributes if no parameters defined for the attribute version 0.8.0 [2011-12-05]: - new vector graphics (replaced png icons with svg icons) - added support for MiddleName (vCard N attribute) with possibility to use "middle" in globalCollectionSort and globalCollectionDisplay configuration options - changed default values for globalCollectionSort and globalCollectionDisplay to "last,middle,first" - added support for Department (vCard ORG attribute) - added support for NickName (vCard NICKNAME attribute) - added support for JobTitle (vCard TITLE attribute) - added support for URL (vCard URL attribute) - added URI handler for TEL attributes - the default handler is tel: (see config.js) - added URI handler for EMAIL attributes - the default handler is mailto: (see config.js) - added URI handler for URL attribute - if no handler defined in the URL value the default handler is http:// (see config.js) - added update notification (see config.js) - removed Opera support (there are too many issues with Opera CSS support, SVG, missing CORS, ...) - update jQuery to version 1.7.1 (minimized version) - currently unused regexes in vcard_rfc_regex.js are commented out (minor performance improvement) - CSS fixes and tweaks - fixed undefined variable problem with non-RFC N attribute in Apple vCard groups - clicking to the active collection not reloads it from the server (there is no reason if it is already loaded) - switching back from vCard group to the collection not reloads the collection from the server (there is no reason if it is already loaded) - if there is no valid photo in the vCard, checking/unchecking the "Company Contact" changes the default picture in the editor (note: CardDavMATE default pictures are not saved to the server) - fixed several bugs by disallowing to click to resource or contact when editing another contact (fade in/out animation on resource and collection list) version 0.7.3 [2011-11-17]: - note: this release contains new configuration options (always use the latest config.js) - configuration: new globalCollectionSort and globalCollectionDisplay options (see config.js) - configuration: new additionalResources option available for globalNetworkCheckSettings (see config.js) - configuration: changed default values for timeOut to 6000 and globalSyncResourcesInterval to 30000 - configuration: added additional examples for globalNetworkCheckSettings - configuration: added comments for timeOut - changed default settings - CardDavMATE now works without any additional setup if installed into Davical subdirectory (default setup allows access to own collections for logged user) - renamed DAViCal auth module to generic (this module uses basic HTTP authentication to remote server) - added error message if non-RFC vCard is detected (please send me the problematic vCard and I will try to fix your issue) - added support for Opera (only for non cross domain setup) - fixed timeout value for LOCK requests (previously the milisecond value was used as second value) - fixed resource removal bug - added animation for contact switching (fix for graphic glitches with slow Javascript engines) - added default user and company icons for vCard editor - added icon for company contacts in contact list - added cancel button when creating a new contact (it reloads the previously active contact) - disabled edit button in vCard editor for read-only collections - disabled "add icon" in contact list for read-only collections - moved the delete button in the editor more to the right - autofocus for the login field (disabled for demo mode) - new cross browser CSS for buttons - fixed checkbox CSS for Opera - added apple-mobile-web-app-capable meta tag into index.html (useful for web app shortcuts on iOS) - minor CSS fixes for iOS - minor CSS fixes - scrollbars are shown only when needed version 0.7.2 [2011-11-10]: - configuration: new globalNetworkCheckSettings configuration option for rapid client setup version 0.7.1 [2011-11-10]: - improved support for non-RFC vCards by adding missing newlines (Evolution problem) - support for non-RFC vCards without UID parameter - fixed a bug that caused the vCard groups to remain in the interface even after deletion from the server - minor vCard group related bugfixes version 0.7.0 [2011-11-09]: - note: this release contains many configuration changes (always use the latest config.js) - note: if you use DAViCal you need to update your apache configuration (see misc/config_davical.txt) - note: if you use MacOS X Lion calendarserver you need to re-patch your installation (see misc/readme_lion.txt and the changelog below) - configuration - renamed updateInterval option in globalAccountSettings to syncInterval (now the name corresponds to reality) - configuration - removed globalReloadCollection setting (use the syncInterval in globalAccountSettings instead) - configuration - added globalSyncResourcesInterval configuration option - configuration - added crossDomain option into globalAccountSettings and globalNetworkAccountSettings (default: true - set to false if your CardDavMATE protocol/server/port is the same as your Davical installation or if you use unsupported browser with mod_proxy /if you don't know what is mod_proxy do not set to false/) - configuration - updated auth module to exactly match the changed configuration options - configuration - renamed configuration variable in auth/plugins/ldap_conf.inc - new patch for MacOS X Lion calendarserver to support cross domain queries in Gecko based browsers (http://www.w3.org/TR/cors/) with updated instructions (see misc/readme_lion.txt in misc directory) - new auth module for DAViCal server (see auth/config.inc and auth/plugins/davical_conf.inc) - much better synchronization (bandwidth optimization) - added "vCard group" support used by Apple - major style sheet changes, tweaks and cleanup - update jQuery to version 1.7 and related fixes - migrate to jQuery 1.7 API - added IRC option into IM types - fixed fast collection switching concurrency problem (contacts from the previous collection are removed from the contact list) - fixed a bug from 0.6.x that caused the contacts to remain in the interface even after deletion from the server - improved support for non-RFC vCards by removing redundant newlines - better IMPP equivalence checking with old X-* IM attributes - better handling of namespaces in XML responses using custom minimalist jQuery plugin - added readme.txt with setup instructions - added help for common network/installation problems: misc/readme_network.txt - disallow browser to show login window popup after unsuccessful authentication using auth module (see the new $config['auth_send_authenticate_header'] option in the auth/config.inc) - the auth/modules/ renamed to auth/plugins/ (and related fixes) - fixed resource and collection sorting (wrong function call) - the logout button is shown only if you use globalNetworkAccountSettings - fixed Andorra, Jordan, Kazakhstan and Ukraine address fields version 0.6.3 [2011-10-22]: - patch for MacOS X Lion calendarserver to support cross domain queries (misc directory) - updated instructions for MacOS X Lion server and moved readme.txt to misc/lion_readme.txt version 0.6.2 [2011-10-22]: - fixed undefined variable in the error message version 0.6.1 [2011-10-21]: - MacOSX Lion Server support (more info in readme.txt) - fixed login problems after previous logout - various bugfixes and improvements version 0.6.0 [2011-10-19]: - major internal code cleanup - added default .htaccess file to prevent caching (mod_headers must be enabled!) - various config.js changes (always use the latest version of configuration file!) - instead of the static client configuration, now it is possible to set configuration URL in config.js (this URL must return valid configuration XML after successful HTTP auth) - added LDAP auth module which generates XML configuration for the client (after successful HTTP authentication) - if the configuration URL is set, the client shows login screen and deny access until the user is not authenticated (and no valid XML returned) - fixed a bug which causes unaccessible resources if user has no access to read the resource privileges - fixed an undefined variable bug which occurs when new contact is created in empty collection - correct UID generation for new contacts - correct unprocessed (unknown) elements handling when contact is edited - correct behavior when deleting the last contact from the collection - major bug fixes in resource.js and addressbook.js - default picture for contact (shown if picture not present in vCard) - added logout button (right top corner key icon) version 0.5.2 [2011-10-06]: - fixed regular expressions for login matching in deleteVcardFromCollection and putVcardToCollection functions (fixes add/update/delete operations) - fixed several CSS issues - added new configuration option globalWithCredentials which sets withCredentials for cross domain queries in jQuery (note: if the value is set to true, use of Access-Control-Allow-Origin "*" is not allowed) version 0.5.1 [2011-10-03]: - changed the delete operation to asynchronous (now all operations are async) - the contact is now reloaded in the interface immediately after the successful "save" operation (in the middle of the "save" animation) - minor animation fixes (especially for contact deletion) version 0.5.0 [2011-10-01]: - initial public release