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).

  • Synthesis engine: recurrence rules with end date now sent correctly to phones (BMC #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).

  • Synthesis engine: fixed broken time zone information when sending to phone; previously that broke sending calendar updates to Nokia phones (BMC #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).

    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)

    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).

  • Changed slow sync handling. Some users have complained about getting duplicated contacts (BMC #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)

    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)

    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).

  • 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).
  • 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":

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 steps.

Comments (4 total)

Compile fix for libnotify >0.5 and <0.7

Compilation of SyncEvolution 1.1.1 with certain libnotify versions fails with:

syncevo-dbus-server.cpp: In member function ‘void AutoSyncManager::Notification::send(const char*, const char*, const char*)’: syncevo-dbus-server.cpp:6114:65: error: too few arguments to function ‘NotifyNotification* notify_notification_new(const char*, const char*, const char*, GtkWidget*)’ /usr/include/libnotify/notification.h:79:21: note: declared here

The reason is the libnotify version check which deals with an API break in 0.7.0. A more complex check is needed to cover 0.5, 0.5.2 and 0.7.0.

The 1.1.1a .tar.gz source archive contains a fix. The version number was not increased and no new binaries were prepared, because the resulting binaries are the same.

New version, new hope for Linux + N900

With the new version, could we start building a list of kernels, distro versions, and BT stacks that work with SyncEvolution to sync between Linux and the N900?

I want to use your great software :)

Re: new hope for Linux + N900

This is about http://bugs.meego.com/show_bug.cgi?id=4835, see also http://bugs.meego.com/show_bug.cgi?id=1371. I'm too busy to install different Linux distros, but anyone reading this, please describe your configuration on #4835 and whether it works or not.

Getting started

Let me just say THANK YOU for all of your efforts and I hope I can help.

I am trying to test some of the distros using LiveCDs and SyncEvolution "Christmas Edition" 1.1.1 (deb http://downloads/syncevolution.org/apt stable main) but I am a newbie so it is taking me a while as I learn.

Using the latest updated N900 and

  • Live CD of Ubuntu 8.10 for AMD64 syncs using SyncEvolution.
  • Live CD of Ubuntu 9.10 for AMD64 syncs using SyncEvolution.
  • Live CD of Ubuntu 10.04.1 for AMD64 would "pair up" but not sync using SyncEvolution.
  • Live CD of Ubuntu 10.10 for AMD64 would "pair up" but not sync using SyncEvolution.
  • Live CD of Kubuntu 10.10 for AMD64 would "pair up" but not sync using SyncEvolution.
  • More testing to follow.

I don't know what I am doing but https://bugzilla.redhat.com/show_bug.cgi?id=649984 maybe related?