Download is available at SourceForge Download Outlook CalDav Synchronizer

or Github  (total downloads: 49451).

Latest Release




  • Released 2018/02/10
  • WARNING: This release is a major upgrade and needs .NET framework 4.6.1 as minimal requirement. Automatic upgrade won’t work if you still have only .NET framework 4.5 installed. Install and upgrade manually in that case!
  • New features
    • Use .NET framework 4.6.1.
    • Added localization support.
    • Added German and Russian translations (more to come and help wanted, contact us!)
    • Added general option to switch UI language (needs restart of Outlook to take effect).
    • UI redesign for general options with WPF TabControl.
    • Improve accessibility by adding keytips to ribbon.
    • Added ProfileType for Swisscom.
    • Update of Google API and other NuGet packages.
    • Sort sync reports.
  • Bug fixes
    • Fixed many typos.
    • Fixed some UI inconsistencies and content fit to screen issues.
    • Improve logging.
    • Improve Profile Status.
    • Improve IntegrationTests.


  • Released 2017/12/23
  • New features
    • Add Kolab profile, credits to Achim Leitner.
    • Improve default Button behavior.
    • Add mapping of Outlook OfficeLocation to work ExtendedAddress attribute.
    • Refactoring and Restructuring of ProfileTypes.
  • Bug fixes
    • Unescape also COLON in vCardStandardReader do avoid problems with some servers wrongly encoding vCard NOTES, ticket #741.
    • Disable “Map Organizer and Attendees” for Google by default.
    • Cache sync run results, so that TransientProfileStatusesViewModel is not empty when opened, gh issue 217.
    • Fix handling of vCard ORG property for mapping of organization and department to Outlook CompanyName and Department properties.
    • Fix exception when reconstructing master event, ticket #777.
    • Improve Logging.
    • Fix Integration tests.


  • Released 2017/11/15
  • New features
    • New Logo and Application Icon, thanks to Michael C. Krieter!
    • Add support for absolute alarms and alarms relative to the end and map them to Outlook reminders if the alarm is before the appointment start (otherwhise not supported in Outlook), feature request 82.
  • Bug fixes
    • Improve Color and ShortcutKey mapping.
    • Disable IsCategoryFilterSticky also for Events by default.
    • Improve profile separation.
    • Create Outlook items with default ItemType of the folder if includeCustomMessageClasses is enabled, feature request 80.
    • Improve IntegrationTests.
    • Set PercentCompleted after setting the task status in TaskMapper to avoid that the value gets lost if status in not in progress.


  • Released 2017/10/07
  • New features
    • Add optional WebDAV Collection Sync (RFC 6578) for calendar and addressbook collections, which speeds up the detection of server changes dramatically but excludes the possibility to use the time range filter.
    • Improve EventColor-Category mapping and use existing categories if color matches.
  • Bug fixes
    • Use official certificate for click once code signing.
    • Prevent InvalidCastExceptions in QueryOutlookFolderByGetTableStrategy.
    • Do not keep the Status window alive if it is invisible.
    • Disable IsCategoryFilterSticky by default and add warnings for wrong category filter uses.
    • Do not switch categories automatically, when changing Category filter.
    • Catch not only COMExceptions when responding to meeting invites, ticket 721.


  • Released 2017/09/12
  • New features
    • Add support for RFC7986 per-event color handling, mapping of Outlook category color to COLOR attribute, feature request #76.
    • Add ProfileType for
    • Add ProfileType for iCloud contacts.
    • Add support for mapping Distribution Lists to iCloud contact groups.
    • Use Credentials and Proxy from profile for Weblclient to download photo URL, fixes syncing of contact photos for iCloud and others, feature request #71.
    • Add general option to a) Log all entity synchroniaztion reports and b) to include entity names in entity synchronization reports.
  • Bug fixes
    • Avoid ArgumentNullException in Nodatime timezone conversions, ticket #674,#677
    • Ignore redundant entities in GetTransformedEntities.
    • Fix invalid DTSTART in VTIMEZONE, gh issue #210.
    • Some code cleanup and refactoring.


  • Released 2017/08/13
  • New features
    • Add ProfileType for SmarterMail.
    • Update REV property for vcards, gh issue 204.
    • Update NuGet packages for Google API to 1.28.0 and NodaTime to 2.2.0.
  • Bug fixes
    • Avoid IndexOutOfRangeException when parsing IMAddress, ticket #652.


  • Released 2017/07/12
  • Bug fixes
    • Make Outlook-TimeZone-Ids case insensitive and prevent ArgumentException, tickets #640,#649.
    • Delete leftover entities, if creation in outlook fails.
    • Avoid InvalidOperationException in vCardStandardReader for unknown IM ServiceTypes, ticket #645.
    • Enable chunked synchronization be default.


  • Released 2017/06/22
  • Bug fixes
    • Fix InitialMatching for GoogleContacts and GoogleTasks if there are more new OutlookItems than ChunkSize and avoid InvalidOperationException (Cannot access a disposed object!), ticket #632.
    • Fix #611 CALDAV hangs Outlook , #613 CalDav locking up Outlook, remove DoEvents call in sync progress bar.


  • Released 2017/06/21
  • New features
    • Add contact mapping configuration to choose default IM protocol when writing IM addresses, ticket #543.
    • Add contact mapping configuration to write IM addresses as IMPP attribute instead of X-PROTOCOL e.g. X-AIM, ticket #543.
    • Add SIP IMServiceType and support X-SIP in vCardStandardReader.
    • Add sync profile for
    • Improve EntityMatching for very large Calendars (>5000 Entries), by using EventServerEntityMatchData instead of iCalendar for matching.
  • Bug fixes
    • Fix google Oauth2 authentication “Access denied” error on Windows7/8.1 without admin privileges.
    • Improve Logging.


  • Released 2017/05/30
  • New features
    • Update NodaTime to version 2 to improve timezone calculations.
    • Update Google APIs NuGet packages.
  • Bug fixes
    • Don’t enable chunked synchronization by default.


  • Released 2017/05/29
  • New features
    • Full support for chunked synchronization
  • Bug fixes
    • Avoid Nullreference exception when TYPE is empty in X-SOCIALPROFILE property in vCardStandardReader, ticket #599.
    • Make mapping of Outlook EmailAddress1 configurable (if it should be mapped to HOME or WORK), gh ticket 193.
    • Fix reading vcard KEY attribute if encoding is not set explicitely to base64, gh issue 195.


  • Released 2017/05/13
  • Bug fixes
    • Honor chunk size also for Google Contact API read calls, ticket #586.
    • Switch mapping of email addresses and map HOME to email1 and WORK to email2 to be more consistent, gh ticket 193.
    • Provide Login-Hint for Google-Authorization.
    • Add larger sync intervals, feature request #70.
    • Fix layout for ok and cancel button in GeneralOptionsForm.
    • Improve IntegrationTests.


  • Released 2017/04/18
  • Bug fixes
    • Fix toolbar not accessable within Outlook2007, ticket #570.
    • Improve IntegrationTests.


  • Released 2017/04/16
  • New features
    • Abort and postpone synchronization when server reports HTTP 429.
    • Abort synchronization on network related exceptions and consider them as warnings the first two times they occur. This should help avoid errors on laptop startup after hibernation or if VPN is not ready yet, GH issues #104,#181.
    • Do not block Outlook Startup with component initialization, should avoid issues with Outlook deactivating the addin after slow startup.
    • Refactoring of IntegrationTests.
  • Bug fixes
    • Fix MapDistListMembers2To1 for members not resolved from the addressbook.
    • Fix mapping of google home-only email address to Outlook Email1Address, ticket #561.


  • Released 2017/03/26
  • New features
    • Add mapping of distribution lists to contact groups with KIND:group
    • Add profile type for Easy Project / Easy Redmine with special setup wizard
    • Add profile type for
    • Switch profile selection to WPF
  • Bug fixes
    • Add MessageBox with warning about sensitive data in log file before showing the log.
    • Add task mapping configuration option to map Outlook start and due date of tasks as floating without timezone information to avoid issues with tasks across timezones, ticket #530.
    • Update NuGet packages.


  • Released 2017/02/26
  • New features
    • Add general option to show/hide sync progress bar and make threshold for its display configurable.
    • Add App.config setting for SoftwareOnly WPF Rendering to avoid issues with graphics card drivers and hardware acceleration, ticket #480.
  • Bug fixes
    • Avoid System.Collections.Generic.KeyNotFoundException for google contact API and consider paging when fetching Google groups, ticket #511.
    • Follow redirect also for 303 in WebDabClient, ticket #516.


  • Released 2017/02/14
  • New features
    • Add warning if one-way synchronization mode would lead to deletion of the existing non empty outlook folder or replication of an empty folder to the server.
    • Add possibility to use chunked execution also for Google contacts.
    • Add Option to disable sticky category filter.
    • Add mapping of ROLE to Outlook Profession for contacts, ticket #505.
  • Bug fixes
    • Better handling of SOGo VLIST members as recipients so that the underlying contact is used.
    • Assume that a HTTP-404 denotes an empty addressbook only, if the addressbook resource exists.


  • Released 2017/01/31
  • Bug fixes
    • Avoid Exception in QueryAppointmentFolder when GlobalAppointmentID can’t be accessed or is null, ticket #491.
    • Make GeneralOptions window resizable and add scrollbar, avoids issues on low resolution devices.


  • Released 2017/01/29
  • New features
    • Huge performance improvements accessing Outlook folder data when nothing changed and avoid fetching all items, add general option to configure the folder query option.
    • Many UI improvements, add link to show/hide advanced settings and general option to set default
    • reorder/regroup general options.
    • Many improvements of vCard reader, add support for various X-properties for IMs, ticket #463.
    • Save unrecognized properties in vCard OtherProperties.
  • Bug fixes
    • Catch DateTimeZoneNotFoundException, ticket #484.
    • Avoid adding email address twice.
    • Catch FormatException in vCardStandardReader and log warnings from vcard deserialization.
    • Warn if RRULE COUNT=0 and avoid COM exceptions when setting invalid RecurrencePattern Occurences or PatternEndDate values.
    • Don’t set RRULE COUNT if Occurrences is an invalid number.
    • Avoid NullReferenceException when a SOGo VLIST has a member card without FN and avoid empty members.
    • Catch possible COMException when responding to a meeting invite.
    • Workaround for reading wrong encoded vcard PHOTO attributes from SOGo global adressbooks mapped from LDAP/AD avatar pictures.


  • Released 2017/01/17
  • Bug fixes
    • Update installer to fix dependency for Thought.vCards.


  • Released 2017/01/16
  • New features
    • Initial support for syncing contact groups/Distribution Lists (only supports SOGos own VLIST format right now).
    • Include own version of Thought.vCards from instead of NuGet package and remove vCardImprovedWriter.
    • Improve vCardWriter and add support for different IM servicetypes, ticket #463.
    • Add support for ADR Post Office Box and extended address, feature request 17.
  • Bug fixes
    • Unfold lines before further processing in vCardStandardReader, fixes issues with long subproperties like X-ABCROP-RECTANGLE
    • Set recurring task DTSTART to PatternStartDate to avoid missing DTSTART, ticket #465.
    • Switch ProgressWindow to Wpf to avoid DPI problems.
    • Update project urls in about dialog.


  • Released 2017/01/03
  • Upgrade instructions
    • Outlook and Google and some other CalDAV servers calculate the intersection with the time-range differently for recurring events which can cause doubled or deleted events, so it is recommended to select a time-range which is larger than the largest interval of your recurring events (e.g. 1 year for birthdays). The default timerange for new profiles is changed from 180 days to 365 days in the future, for existing sync profiles you need to change it manually if affected!
  • New features
    • Add mapping configuration option to include also appointments/tasks without category to category filter.
  • Bug fixes
    • Set time-range default timespan to 365 days in the future and add tooltip and warning for time-range filter, ticket #450.
    • Fix timezone issues with google tasks, ticket #452.
    • Don’t add X-ALT-DESC if body is empty.


  • New features
    • Update Google API NuGet packages to version 1.20.0.
  • Bug fixes
    • prevent NullReferenceExceptions, caused by uninitialized ComponentContainer due to load errors.
    • improve html<->rtf mapping for appointment bodies
    • sync removal of task start and due date from server to Outlook, ticket #446.
    • Add absolute task alarm if start and due dates are not set, ticket #445.


  • New features
    • Add general option to enable client certificate TLS authentication, feature request 55.
    • Map Outlook formatted RTFBody to html description via X-ALT-DESC attribute.
  • Bug fixes
    • Use lowercase for mailto in organizer and attendee uris to avoid problems with some clients, ticket #426.


  • New features
    • Add possibility to add DAV server calendars/addressbooks.
    • Improve privileges check in connection test.
    • Map SCHEDULE-STATUS to Outlook FINVITED flag, which shows if invitation email has been sent, gh issue 162.
    • Add PostBuildEvent to sign installer files to avoid warning because of untrusted manufacturer during install.
    • Update Google API NuGet packages to version 1.19.0.
  • Bug fixes
    • Set UseGlobalAppointmentID as default for SOGo profiles to avoid doubled appointments when Outlook sends invites.
    • Fix mapping of vtodo status NEEDS-ACTION to Outlook olTaskNotStarted, ticket #418.
    • Fallback to local timezone if FindSystemTimeZoneById throws an exception, ticket #421.
    • Fix logging for alarms and remove warning for multiple alarms from sync report.
    • Do not delete invitations from server identity.


  • New features
    • Add profile type for NextCloud.
    • Add general option to enable useUnsafeHeaderParsing, needed for Yahoo and cPanel Horde.
    • Improve Autodiscovery.
  • Bug fixes
    • Fix installer for Office 64-bit installation for AllUsers deployment and copy registry keys to correct HKLM location, ticket #410.
    • Add scrollbar to sync profiles content control, gh issue 176.
    • Fix autodiscovery for iCloud CardDav, ticket #414.
    • Trigger sync also on Outlook startup when TriggerSyncAfterSendReceive is enabled in general options, ticket #415.
    • Catch COMException when Outlook item can’t be found in sync reports.


  • Hotfix
    • Fix reminder mapping for just upcoming reminders, regression intruduced in 2.9.0, ticket #406.
  • New features
    • Add CheckForNewVersions, StoreAppDatainRoamingFolder and IncludeCustomMessageClasses as app.config keys as well, useful for All Users deployment to change defaults.
  • Bug fixes
    • Improve CustomPropertyMapping Validation and check if properties are empty to avoid Nullreference Exceptions.
    • Update Google Api Nuget packages.


  • New features
    • Add Profile Import/Export.
    • Improve Installer, remove Manufacturer from DefaultLocation and remember InstallDir in registry for updates.
    • Use passive install for updates.
    • Add toolbar buttons to expand and collapse all nodes in synchronization profiles.
    • Add general option to expand all nodes in synchronization profiles by default.
  • Bug fixes
    • Catch COMException when SyncObjects can’t be accessed, github issue 175.
    • Fix installer for All users deployment.
    • Fix Map just upcoming reminders for recurring appointments, ticket #398.


  • Bug fixes
    • Fix new profile creation for calendar and task profiles and properly initialize customPropertyMapping configuration.
    • Fix UserDefinedCustomPropertyMappings initialization to avoid Nullreference exceptions.
    • Fix formatting of errorMessage in profile validation.


  • Bug fixes
    • Avoid Nullreference Exceptions when options are not saved after upgrade to 2.8.0, gh issue 174.


  • New features
    • Configurable custom properties mapping for Appointments and Tasks.
    • Update NuGet packages for Google API and NUnit.


  • New features
    • Map UID to GlobalAppointmentID for new meetings to avoid double events from Mail invites (only possible in Outlook 2013+).
    • Add option to perform CalDAV/CardDAV sync in chunks with configurable chunk size to avoid OutOfMemoryEceptions, ticket #390.
    • Add Button which opens profile data directory for debugging.
  • Bug fixes
    • Avoid ArgumentNullException if appointments have no GlobalAppointmentID and log warning, ticket #389.
    • Update icon of profile in options, when OutlookFolderType of profile changes.
    • Fix for ToolBarButtons in Options.


  • WARNING: This version changes the internal cache structure, when downgrading to an older version, the cache gets cleared and a new inital sync is performed!
  • Bug fixes
    • Fix cache conversion for tasks.
    • Ensure synchronization context on every button click


  • WARNING: This version changes the internal cache structure, when downgrading to an older version, the cache gets cleared and a new inital sync is performed!
  • New features
    • Better support for meeting invitations.
    • Improve duplicate event cleaner.
    • Update Google Apis nuget packages to 1.16.0.
    • Include GlobalAppointmentId in RelationCache.
  • Bug fixes
    • Update accepted meeting invitations instead of deleting and recreating them to avoid wrong cancellation mails from the CalDAV server.
    • Catch OverflowException for invalid birthdays in contacts, ticket #386.
    • DuplicateEventCleaner: catch exception if appointment doesn’t exist anymore.
    • Avoid Nullreference Exception and don’t add server resource when it doesn’t contain any valid VEVENT or VTODO, gh issue 167.
    • Check if caldav resource is not empty to avoid ArgumentOutOfRangeException.


  • New features
    • Add account type for Cozy Cloud and set UseIanaTz as default.
  • Bug fixes
    • Set BusyStatus to tentative for meeting invites without response.
    • Follow also 307 redirects in WebDavRequests, fixes autodiscovery for Telstra BigPond.
    • Ensure that discovered resource uris end with slash.
    • Fix linebreak issues for Open-Xchange vcards, ticket #290.
    • Add TYPE=WORK to first Outlook Email Address and TYPE=HOME to second for CardDAV profiles and map work email to first Outlook Email Address and home email to second for CardDAV and google contact profiles.
    • Add default mapping of cell,work and home phone number if PhoneTypes are missing when syncing from CardDAV server to avoid loss of telephone numbers.
    • Exclude received meetings from immediate sync to avoid problems with doubled events.


  • New features
    • Add mapping configuration to use IANA timezones instead of Windows timezones.
    • Make addin startup and EntityMapper async.
    • Add progressBar and download new version async, github issue 156.
  • Bug fixes
    • Add SCHEDULE-AGENT=CLIENT also to attendees, ticket #354.
    • Avoid empty PARTSTAT and default to NEEDS-ACTION.
    • Add KeepOutlookFileAs option (defaults to true) for contacts to avoid overwriting existing FileAs with FN attribute.
    • Set Outlook contact FullName to FN as fallback if N is missing in vcard.
    • Set Outlook task status to Completed when complete date exists and percentComplete is 100 also when VTODO status is missing, gh issue 154.
    • Fix mapping organizer if CN and email are identical, gh issue 157.
    • Avoid DDay.ICal UTC calls and use NodaTime instead for conversion, gh issue 159.


  • New features
    • Add Use Account Password also to bulk profile creation and add posibility to get server settings (DAV url, Email, Username) from Outlook IMAP/Pop3 Account.
    • Add mapping for task alarms with absolute date/time triggers.
    • Add category filter also for tasks, feature 48.
    • Download contact photo if provided by url, fixes contact photo mapping for GMX, ticket #358.
  • Bug fixes
    • Change SOGo account profile url path to /SOGo/dav/.
    • Fix mapping of PostalAddress Country in Google Contacts API.
    • Fix mapping of PostalCode for Google Contacts, ticket #352.
    • Update NuGet packages for used external libraries.
    • Log warning and avoid COM Exception for recurring events and tasks when RRULE BYMONTH is invalid, ticket #334.
    • Use correct request URI in reports when server uri has different encoding than resource URI, github issue 152.


  • Bug fixes
    • Fix OL2007 toolbar positioning and saving, ticket #351.
    • Use only Start, End and Subject for DuplicateEventCleaner, ticket #330.


  • New features
    • Save Outlook 2007 toolBar position and visibility in Registry, github issue 102.
    • Implement duplicate event cleanup in Event mapping configuration.
    • Add CalDavConnectTimeout as general option (feature 46).
  • Bug fixes
    • Fix commandbar for OL2007, ticket #339
    • Some fixes for recurrence exceptions if timezone of appointment is different to Outlook local timezone.
    • Fix setting organizer name in Outlook from CommonName and Email.
    • Use general option to show reports for warnings and/or errors also for systray notifications, github issue 143.
    • Map also default events to private when mapping option is activated, ticket #329.
    • Do not steal focus when showing ProgressForm (#328 Window steal focus when initiating sync).
    • validate input in GeneralOptionsForm.


  • New features
    • Add general option to trigger sync after Outlook Send/Receive finishes, github issue 141.
    • Add event mapping configuration parameter to map CLASS:PUBLIC to Outlook Private flag, feature request 45.
    • Implement DNS SRV and TXT lookups for autodiscovery from email address.
  • Bug fixes
    • Fix autodiscovery when server returns multiple calendar-home-set hrefs, github issue 139.


  • New features
    • Add event mapping configuration to use Outlook GlobalAppointmentID for UID attribute, ticket #318.
  • Bug fixes
    • Don’t log warning if DTEND is not set for allday events, ticket #316.
    • Prefix summary of events and not only meetings with status cancelled, since Android uses this instead of exdates for recurrence exceptions, ticket #307.


  • New features
    • Add ProfileType for SOGo.
  • Bug fixes
    • Fix detecting deleted appointments from folders in local pst data files when using category filter, ticket #297.


  • New features
    • Add ProfileType for Landmarks.
  • Bug fixes
    • Avoid sync loops and delete new events, when they represent an invitation from server identity.
    • Fix event mapping of TRANSP to Outlook BusyStatus and use X-MICROSOFT-CDO-BUSYSTATUS.
    • Fix Autodiscovery behavior in case of url textbox is empty.


  • New features
    • Implement Bulk profile creation to add multiple profiles at once and choose the folder for each discovered server resource (calendar, addressbook and task).
    • Query supported-calendar-component-set and filter out VEVENT and VTODO resources for autodisovery.
  • Bug fixes
    • add functionality to cope with multiple groups with the same name for Google Contacts API.
    • Restore old CalendarUrl when Google Autodiscovery has error or was cancelled.
    • Map ResponseStatus default to NEEDS-ACTION in MapParticipation1To2 to avoid exception.


  • New features
    • Improve event mapping of TRANSP and STATUS to Outlook BusyStatus. (contributed by Florian Saller).
    • Improve Autodiscovery.
    • Add ProfileType for Sarenet.
  • Bug fixes
    • Ignore invalid-xml-errors in EntityRelationDataAccess unless a new version has been saved.
    • Fetch all Google Contacts with a single request to avoid 503 errors.
    • Query just contacts from Default Group from Google Contacts API.
    • Do not log an error if delete or update fails because of concurrency effects.
    • Only access AddressEntry if recipient can be resolved and catch possible COMExceptions.


  • New features
    • Initial support for
    • Add option to keep Outlook photo in contact mapping configuration.
  • Bug fixes
    • Catch COMException if birthday can’t be set in Outlook, ticket #276.
    • Preserve current mapping configuration, if no folder selected.
    • Fix own identity handling in event mapping (especially for Exchange accounts).
    • Fix possible Nullreference Exception in CardDavDataAccess.GetEntities.
    • Check if key exists before adding to targetExceptionDatesByDate in MapRecurrence1To2, ticket #270.
    • Skip directoryresource, if returned from calendar-query, since returns directory itself even with an etag.
    • Disable other checkboxes in schedule settings when Map Attendees is unchecked.
    • Remove X-ABCROP-RECTANGLE from vcard photo attributes since the deserializer can’t parse the base64 value, ticket #274.
    • Disable sync now button during synchronization runs.


  • New features
    • Add support for Google Contacts API to sync Outlook contact folders with Google contacts which improves mapping and performance, since the Google CardDAV API has some issues (first official release, beta)
    • Support for google contact groups, which are synced to Outlook categories.
    • Sync contact photos, WebPages, Notes, Sensitivity, Hobbies for google contacts.
    • Added mapping for anniversary, relations (spouse, child, etc.) and IMs for google contacts (Contribution from Florian Saller, thank you!)
    • Remove legacy synchronization profile settings user interface.
  • Bug fixes
    • Add TYPE=JPEG to vcard photo attributes and catch exceptions in MapPhoto2To1.
    • Catch COM-Exception, when fetching Items from Outlook (ticket #263 Error when deleting contacts with Synchronize changes immediately after changes activated).
    • Fix possible Nullreference Exception in CardDavDataAccess.
    • Fix ForceBasicAuthentication checkbox in WPF UI.
    • Fix and simplify connection testing.
    • Delete contact photo in Outlook if it was deleted on the CardDav server.