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

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.