SyncEvolution 0.9.1 released

SyncEvolution 0.9.1 is available. It replaces 0.9 as the official stable release. Changes since that version are listed below. Changes made between beta releases (for those who helped testing them) are documented in the beta release announcement.

There are some known issues, see below. The more issues get reported and fixed, the sooner there will be a 0.9.2 maintenance update, so keep the reports coming. If you want to report something or get involved, then contact the team.

SyncEvolution synchronizes personal information management (PIM) data like contacts, calenders, tasks, and memos using the SyncML information synchronization standard. Up to and including 0.9.x, a third-party SyncML server is required.

In the current “master” branch, SyncEvolution itself is already able to act as a SyncML server. Support for direct synchronization via Bluetooth is planned for 1.0. A snapshot release will be made available as soon as possible – end of October obviously did not work out…

SyncEvolution 0.9 -> 0.9.1, 26.10.2009

Mobical and Memotoo are now officially supported.

Memotoo uses vCard 2.1 with several Evolution specific extensions. It uses iCalendar 2.0, however, without actually supporting the advanced features of it. Times are converted to UTC and meeting information are lost.

Mobical uses vCard 2.1 and vCalendar 1.0 as data formats, with the result that many properties used in Evolution are not supported by the server. In particular calendar support is very limited (known issues when events are in time zones different from the one selected locally and on the server, no support for meetings). For details see README.mobical.

Beware that the Mobical SyncML password is not the same as the one for their web site. Log into mobical.net, then go to “my accounts >> configure new device >> manual settings” to find the SyncML credentials.

It is now possible to compile database backends outside of SyncEvolution, install them and have SyncEvolution use them automatically like any other backend. The backend API has been enhanced considerably. For example, backend developers have access to a modular set of utility classes that can be mixed into a specific implementation. Backends can access the internal Synthesis representation directly and therefore no longer need their own vCard/vCalendar/iCalendar parser.

The sqlite demo backend can be enabled and compiled again with –enable-sqlite. It demonstrates how to map directly from the Synthesis field list to some internal format (an SQLite database schema in this case).

Other changes:

  • Resend messages to cope with intermittent loss of network connectivity (Moblin Bugzilla #3427). See the new “ResendDuration” and “ResendDelay” configuration properties for details.
  • SyncEvolution command line uses the GNOME keyring when the new –keyring option is given.
  • The logging of added and updated items was enhanced. Events, tasks and memos are logged with a short description instead of just the local ID. The description for contacts was improved.
  • Receiving photos from Mobical failed because Mobical does not quite follow the vCard 2.1 (Moblin Bugzilla #6668). Sending photos worked, but added a few bytes of garbage at the end of each photo (typically ignored when showing). Parser was made more tolerant by Synthesis and encoder bug was fixed.
  • Task priorities used by Mobical and Evolution did not match: vCalendar 1.0 uses 1-3, iCalendar 2.0 uses 1-9 (MB #6664). SyncEvolution now translates between the two ranges, with some information getting lost when talking to a peer which only supports the smaller range.
  • Importing work and home phone numbers from Google into desktop Evolution works better, because SyncEvolution now adds the “VOICE” flag expected by Evolution (MB#6501).
  • SSL certificate checking with Google is enabled by default and enabled in Moblin, because libsoup in that distro has the necessary fix. Without that fix, all connection attempts fail. The binaries on syncevolution.org are compiled with –disable-ssl-certificate-check, so users who want the additional security must enable it.
  • .rpms on syncevolution.org no longer specify a dependency on certain Perl features. This depencency was a problem on Mandriva. Unwanted hard dependencies on libecal in syncevolution.org binaries are avoided for real this time (MB#6552).
  • Some sync-UI enhancements (describe sync services, avoid crash with very long input in some of the text boxes (MB#5219), set application icon, improved some strings).
  • sync-UI: now disables sources which are not supported when setting up a configuration, like memos on Moblin (MB #6672). Previously the source was enabled, which prevented using using the configuration as-is on the command line.
  • The sync UI allowed to enable calendar and task synchronization with Google although Google does not support that (MB#5871). In new installations this is prevented by clearing the URI for those data categories.
  • Trying to remove a non-existent configuration via the command line now raises an error, to catch typos (MB #6673).
  • Improved checks which logs in the logdir belong to the current server (MB#5215).
  • Improved sanity checking of integer configuration parameters (MB#6500).
  • Spelling fix: “aboring” => “aborting”

Known issues:

  • Mobical and Memotoo do not have a description in the GUI yet.
  • ZYB.com is not supported because of a known anchor handling problem in the server (MB#2424).
  • When running as a cron job with GNOME >= 2.24, a D-Bus session must be created manually as described here: http://www.estamos.de/blog/2009/05/08/running-syncevolution-as-cron-job/ In 0.9.1, the “GConf Error: Failed to contact configuration server” message is hidden from the user, leading to a failed syncs with error code 500 and no further explanation (MB #7655).
  • There is an unreproducible report that a refresh-from-client sync of the Evolution “Birthday & Anniversaries” calendar no longer works with 0.9.x, comment in the bug report if you run into this.
  • The IPv6 configuration in Ubuntu 9.10 “Karmic Koala” in combination with libsoup and myFUNAMBOL causes network connectivity problems.
  • Local problems during a sync are recorded with ERROR messages, but do not affect the overall sync result and thus might go unnoticed. The local problem in that report is “calendar: extracting event”, with no explanation at this point.

Upgrading from 0.9:

  • nothing to do, upgrading and downgrading should work seamlessly

Upgrading from 0.8.1:

  • After switching from a 0.8.x release to a 0.9.x one, or vice versa, do a “syncevolution –sync refresh-from-server” or “–sync refresh-from-client” (depending on which side has the authoritative copy of the data) once, to get client and server into a consistent state. Not doing so can result in applying the same changes to the server multiple times, and thus duplicates.

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 new “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 0.9 .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.