SyncEvolution 1.2.99.3 and 1.2.99.4 released, bug tracking at freedesktop.org

Work towards the 1.3 release of SyncEvolution continued with two more snapshots since the last announcement.

The project also moved its bug tracking from bugs.meego.com to bugs.freedesktop.org. Most of the old issues were already migrated, the rest will follow later. Please file new issues there.

The git repos are still at meego.com; they will move to freedesktop.org eventually.

SyncEvolution 1.2.99.3 -> 1.2.99.4, 07.08.2012

Another release candidate for SyncEvolution 1.3. Lesson learned:
declaring a snapshot as “final” is a good way of luring the hidden bugs
into the light. Of course, then another snapshot is needed…

Details:

  • D-Bus server: fix support for autoSyncDelay > 0

    Auto syncing was not getting triggered when using an autoSyncDelay > 0;
    by default it is 5 minutes. Thanks to Vladimir Elisseev for reporting
    this problem.

  • command line: fixed –export

    When exporting items into a file, the delimiter between items
    was missing.

  • config: improved ‘maxlogdirs’ documentation

    The old explanation made it sound like nothing would get deleted by
    default (”If set, …”). That’s not correct, by default only 10
    sessions are kept.
    Also explain the behavior of deleting intermediate sessions first.

  • developers: fixed D-Bus interface XML

    Reverted to Qt 4.x compatible annotations and changed “templateName”
    to “getTemplate” to make it more obvious what the parameter does.
    Only relevant for the out-of-tree Qt UI.

    Fixed accidental removal of the “template” parameter in
    Session.GetNamedConfig(). Was not used in practice, but has to be
    correct in case that someone wants to use it.

SyncEvolution 1.2.99.2 -> 1.2.99.3, 24.07.2012

Final release candidate for SyncEvolution 1.3 – fingers crossed,
knock on wood, etc.

ActiveSync is now available in binaries from syncevolution.org and
becomes the recommended way of synchronizing contacts with Google. EDS
3.5.x and later are supported when compiling from source;
syncevolution.org binaries continue to support only EDS up to 3.4.

Details:

  • EDS: added support for EDS 3.5.x

    When compiled against EDS 3.5.x or later, SyncEvolution now uses
    the backend code originally written for the EClient API introduced
    in EDS 3.2. That code was changed so that it works with the new
    include file rules and ESourceRegistry in EDS 3.5.x. Support
    for using the EClient API with EDS 3.4 was removed because maintaining
    three different flavors of the EDS backend code would be too much
    work and not gain much (just the possibility to test the EDSClient
    code with 3.4).

    At the moment, this is a compile time choice made automatically
    by configure. syncevolution.org binaries are compiled against
    an older EDS and thus do not work with EDS 3.5.x or later.

    EDS 3.5.x handles authentication itself, using a standard system
    prompt if necessary. SyncEvolution can no longer provide the password,
    and thus the “databaseUser/Password” options have no effect when using
    EDS 3.5.x.

  • ActiveSync: updated to work with latest activesyncd and Google, package binaries

    Syncing Google contacts was added to the nightly testing. Syncing
    contacts and events with Exchange 2012 was already working. Setup
    instructions and known issues are described here:
    https://syncevolution.org/wiki/google-contacts-activesync

  • local sync: don’t drop data comparison output on target side

    synccompare on the target side of a local sync was invoked with its
    output being redirected via an unreliable socket to the local sync
    parent. When the output was large, some of it might have been lost.

  • local sync: fixed crash

    When processing stdout from syncevo-local-child in
    syncevo-dbus-helper, the LogRedirect class was invoked recursively and
    tried to print the same stdout data repeatedly until the
    syncevo-dbus-helper crashed due to the infinite recurssion.

  • local sync: fixed helper process shutdown in case of parent failure

    The helper process only detected that the parent failed when
    it tried to log something while the parent had already shut down
    the D-Bus connection. Even that did not work reliably and differed
    between D-Bus libdbus and GIO.

    Added several test cases and fixes for “process died prematurely”
    error scenarios.

  • Mobical (aka Everdroid): stopped testing memo syncing

    Memos used to work, but now only trigger an unspecific 400 error
    on the server side.

  • autotools: ensure that link lines are complete

    As mentioned by Tino Keitel on the mailing list, some libs and
    executables were only implicitly linked against libraries that they
    called directly. This happened to work by chance because these libraries
    ended up in the running executable anyway, due to indirect loading.
    Now there is a “make installcheck” test for this kind of defect
    and the makefiles were updated to avoid it.

    One exception is libsmltk, which depends on the caller providing
    SySync logging support.

  • D-Bus server: fixed HTTP presence for recent libdbus

    Testing with libdbus 1.6.0 on Debian Testing failed because the lib
    changed some behavior: instead of looking up the owner of a certain
    bus name immediately, it now does that when invoking a
    method. Therefore the check for “have connection” in SyncEvolution
    was too simplistic and missed the fact that both were not usable,
    causing the server to assume that HTTP was down while in reality it
    should have assumed it to be up. This prevented auto-syncing and
    manually clicking “Sync” in the GTK UI.

  • syncevolution.org: declare dependencies on libical and EDS

    Let the bundle .deb depend on libical if the lib was enabled during
    compilation (for example, for CalDAV). This ensures that it gets
    installed on systems which otherwise don’t have it.

    “syncevolution-evolution” is compatible (and depends on) EDS up to
    and including 3.4. The package now declares that dependency and
    conflicts with more recent EDS, because even if the older EDS libs
    are still installed they won’t work when the rest of EDS was
    updated.

  • CalDAV + syncevolution.org: fixed segfault without libical+libecal

    When libical and libecal were not installed, trying to use the CalDAV
    backend for VEVENTs segfaulted because it depends on libical and did
    not check properly for it. Only affected syncevolution.org binaries.

Upgrading from release 1.2.x:

The sync format of existing configurations for Mobical (aka Everdroid)
must be updated manually, because the server has encoding problems when
using vCard 3.0 (now the default for Evolution contacts):
syncevolution –configure \
syncFormat=text/x-vcard \
mobical addressbook

The Funambol template explicitly enables usage of the
“refresh-from-server” sync mode to avoid getting throttled with 417
‘retry later’ errors. The same must be added to existing configs
manually:
syncevolution –configure \
enableRefreshSync=TRUE \
funambol

Upgrading from releases before 1.2:

Old configurations can still be read. But writing, as it happens
during a sync, must migrate the configuration first. Releases >= 1.2
automatically migrates configurations. The old configurations
will still be available (see “syncevolution –print-configs”) but must
be renamed manually to use them again under their original names with
older SyncEvolution releases.

Source, Installation, Further information

Source snapshots are in
http://downloads.syncevolution.org/syncevolution/sources

i386, lpia and amd64 binaries for Debian-based distributions are available via the “unstable” 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 the download directories. In contrast to 0.8.x archives, the new .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.