SyncEvolution “Christmas Edition” 1.1.1 released#

Maintenance release, in particular improving syncing with phones. There was a bug that could cause all kinds of weird behavior after a failed sync with a phone, so updating is highly recommended.

Changes 1.1 -> 1.1.1#

  • Synthesis engine: fixed a corruption issue in internal meta data which caused duplicates and other problems in a pretty indeterminstic way; apparently caused by failed syncs ([BMC #11044](http://bugs.meego.com/show_bug.cgi?id=11044)).

  • Synthesis engine: recurrence rules with end date now sent correctly to phones ([BMC #11241](http://bugs.meego.com/show_bug.cgi?id=11241)). The RRULE property was not encoded correctly previously during the iCalendar 2.0 -> vCalendar 1.0 conversion. Events with recurrence count were okay. Probably also affected SyncML servers without iCalendar 2.0 support. The fix was confirmed to work with Nokia phones. It also helps with Sony Ericsson phones, but at least the t700 still has a problem: depending on the phone’s time zone, it repeats the event for one day too long ([BMC #10092](http://bugs.meego.com/show_bug.cgi?id=10092)).

  • Synthesis engine: fixed broken time zone information when sending to phone; previously that broke sending calendar updates to Nokia phones ([BMC #9600](http://bugs.meego.com/show_bug.cgi?id=9600)). iCalendar 2.0 time zone definitions imported from libical were not encoded correctly in vCalendar 1.0 items as sent to phones. Nokia phones accepted such data when part of a new event, but rejected updates of it.

  • Synthesis engine: shorter TZIDs, might help N900 calendar ([BMC #6680](http://bugs.meego.com/show_bug.cgi?id=6680)). The shorter TZIDs will be included in iCalendar 2.0 data exported by libsyntesis and thus SyncEvolution. This change is motivated primarily by the observation that the N900 calendar storage can handle TZID=, but not TZID=/softwarestudio.org/Tzfile/.

  • ScheduleWorld: disable configuration template because service has shut down. The template is only hidden from the GTK sync-ui, but remains in SyncEvolution for the time being because it is referenced in several places.

  • Evolution CalDAV: added workaround for “must sync twice” ([BMC #10265](http://bugs.meego.com/show_bug.cgi?id=10265)) The Evolution CalDAV backend seems to update its data when closing the database, not when opening it. As a result, syncevolution had to be run twice to see all data changes. The workaround is to open the database twice at the start of the sync. This is done for all calendar databases, regardless of which backend they use, in case that some other (yet unknown) backend needs the same workaround.

  • GTK sync-ui: workaround for “Sync Now” button not reacting to online status changed ([BMC #9949](http://bugs.meego.com/show_bug.cgi?id=9949)).

  • Changed slow sync handling. Some users have complained about getting duplicated contacts ([BMC #10081](http://bugs.meego.com/show_bug.cgi?id=10081)). The exact reason is not known (no useful logs provided yet), but it might be due to using “duplicate” as resolution strategy during slow syncs. This caused slightly different contacts to be duplicated instead of merging the two copies, reasoning that “no data loss” is better than “duplicates”. This release switches to a mode where the engine tries harder to avoid duplicates by merging data if modification time stamps are available for contacts (usually they are). When fields differ, the more recent data is kept.

  • convert absolute alarm back to relative ([BMC #11233](http://bugs.meego.com/show_bug.cgi?id=11233)) Experiments show that at least Nokia phones (and thus perhaps also Mobical.com) interpret a fixed alarm as “repeat alarm with the same relative offset as on first occurrence”. The same transformation to relative alarm times is applied whenever the transformation to absolute alarm is enabled for a peer.

  • Sony Ericsson: enable conversion to absolute alarm times ([BMC #10092](http://bugs.meego.com/show_bug.cgi?id=10092)) Like Nokia and Mobical.net, Sony Ericsson phones also seem to be unable to deal with relative alarm times - verified with t700.

  • Sony Ericsson C510: workaround for SyncML violation The phone does not sent identifiers for the target database; using the source identifier as fallback allows a sync to run.

  • Fixed a regression affecting users who had created a config with SyncEvolution < 1.0. Using the config worked once, then failed with “No configuration for … found”. Users must manually remove the empty “peers” directory inside their affected configuration, the fix only makes configs without that directory usable again ([BMC #9381](http://bugs.meego.com/show_bug.cgi?id=9381)).

  • Removed obsolete workaround for older mKCal calendar storage.

  • Fixed error message in QtContacts backend.

  • Same SYNCEVOLUTION_DEBUG code as in master branch.

  • Some updates to synccompare, including a workaround for a Perl bug seen on Debian Testing with Perl 5.10.1-16 (Perl panic).

  • Fix compilation of syncevo-dbus-server with libnotify 0.7.0 ([BMC #10453](http://bugs.meego.com/show_bug.cgi?id=10453)).

  • Fixed compilation on Debian GNU/Hurd (no MAX_PATH, Mac OS X confusion).

Source, Installation, Further information#

Source snapshots are in http://downloads.syncevolution.org/syncevolution/sources i386, amd64 and lpia binaries for Debian-based distributions are available via the “stable” syncevolution.org repository. Add the following entry to your /apt/source.list, then install “syncevolution-evolution”:

deb http://downloads.syncevolution.org/apt stable main

These binaries include the “sync-ui” GTK GUI and were compiled for Ubuntu 8.04 LTS (Hardy). Older distributions like Debian 4.0 (Etch) can no longer be supported with precompiled binaries because of missing libraries, but the source still compiles when not enabling the GUI (the default). The same binaries are also available as .tar.gz and .rpm archives in http://downloads.syncevolution.org/syncevolution/evolution. In contrast to 0.8.x archives, the 1.0 .tar.gz archives have to be unpacked and the content must be moved to /usr, because several files would not be found otherwise. After installation, follow the [getting started](/documentation/getting-started) steps.