After several betas and lot of testing, it's finally time to announce
the end of the 1.0 development cycle: SyncEvolution 1.0 is released and
replaces 0.9.2 as the stable version.
0.1 was released over four years ago. It has always bee part of the
long-term vision to bring "personal SyncML" to desktops. Thanks to the
Synthesis engine and Intel's support for the project, this goal has been
reached and this release really deserves the magic 1.0 label.
For those not familiar with the project, 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.2, a third-party SyncML server was required. In
1.0, SyncEvolution itself is able to act as a SyncML server, both via
HTTP and Bluetooth (direct sync with phones).
SyncEvolution 1.0
=================
Major new features compared to previous stable release:
* synchronize directly with a phone over Bluetooth/OBEX
* accept Bluetooth/OBEX connections in cooperation with obexd >= 0.19
* run SyncEvolution as a rudimentary HTTP SyncML server
The GTK sync-UI can be used to select a paired phone and create a
configuration for it based on the bundled configuration templates.
Configuration templates are included for Nokia phones; for other
phones see the
http://syncevolution.org/development/sync-phone HOWTO
and check out the Wiki there. Some users have already reported success
for Sony Ericsson phones and added setup instructions. New templates
from the Wiki can be dropped into ~/.config/syncevolution-templates
under an arbitrary file name.
Unexpected slow syncs can be detected when running as client (MB
#2416) and unless turned off (see "preventSlowSync"), SyncEvolution
aborts the session so that the situation can be analyzed. A refresh
from client or server might be more suitable. The command line tool
provides instructions at the end of its output. The GTK sync-UI
points towards its recovery dialog.
Automatic synchronization is supported by the syncevo-dbus-server (MB
#6378). When that is installed, it will be started as part of a user
session and keep running to trigger syncs in the
background. Notifications are emitted when syncs start, end or fail
(MB #10000).
Automatic synchronization can be enabled separately for each peer
("autoSync=0/1", off by default), will be done at regular intervals
("autoSyncInterval=30" minutes) when online long enough
("autoSyncDelay=5" minutes). That last option ensures that a) an
automatic sync does not attempt to use a network connection unless it
was already active and b) hopefully is also around long enough to
complete the sync.
The Synthesis XML configuration was split up into different parts
which are assembled from /usr/share/syncevolution/xml. Files in
~/.config/syncevolution-xml override and extend the default files,
which my be useful when adding support for a new phone.
SyncML servers:
*
ZYB.com now works thanks to a workaround for anchor handling (MB #2424);
only contacts tested because everything else is considered legacy by
ZYB.com
* Horde: avoid confusing the server with a deviceId that starts like the
ones used in old Funambol clients, helps with calendar sync (MB #9347)
*
Mobical.net (and other, similar services): fix vCalendar 1.0 alarm
properties before importing them (MB #10458)
*
desknow.com works when switching to SyncMLVersion = 1.1
* Funambol, Memotoo (and probably others): preserve meeting series when
receiving update for detached recurrence (MBC #1916)
Evolution:
* calendar backend: minor fix for change tracking when deleting
a single instance of a recurring event
* workaround for Evolution 2.30: "timezone cannot be retrieved because it
doesn't exist" is triggered incorrectly when importing non-standard
timezone definitions because libecal changed an error code (MB #9820)
Performance and reliability improvements (MB #7708):
* synccompare much faster
* database dumps consume less disk space
* more intelligent about expiring obsolete session directories
and backups
* database accesses are reduced in several backends
* shorter logs (MB #8092)
* message resending helps under unreliable network connectivity
("RetryInterval")
* full support for suspend&resume in SyncEvolution client to SyncEvolution or
Synthesis server syncs
* better handling of certain third-party time zone definitions (MBC #1332)
Improved GTK sync-UI:
* revised config screen: all in one list where entries can be expanded,
integrated setup of sync with other devices
* recovery support: restore from backup, unexpected slow sync handling
* spinner while network is in use (MB #2229)
* interactive password requests (MB #6376)
* uses new D-Bus API
Command line:
* fixed printing of rejected items (MB #7755)
* consistent logging of added/updated/deleted items with short
description
* improved error reporting (textual descriptions instead of plain
error codes MB #2069, partial success MB #7755, record and show
first ERROR encountered MB #7708)
* can create new sources (MB #8424)
* runs operations inside daemon and thus avoids conflicts with
operations done by other clients; for testing purposes (like
running a client which talks to a local server in the daemon) it is
still possible to ignore the daemon (--daemon=no, MB #5043)
* revised README, now also available as man page (MBC #690)
Redesigned and reimplemented D-Bus API, used by sync-UI and command line:
* central syncevo-dbus-server controls configurations and sync sessions:
http://syncevolution.org/development/direct-synchronization-aka-syncml-se...
* accepts incoming SyncML connection requests and messages received by
independent transport stubs (obexd, HTTP server, ...)
* can be used by multiple user interfaces at once
* fully documented, see src/dbus/interfaces and
http://api.syncevolution.org
* no longer depends on dbus-glib with hand-written glue code for C++,
instead uses gdbus plus automatic C++ binding generated via C++ templates
Revised configuration layout (MB #8048, design document at
http://syncevolution.org/development/configuration-handling):
* several peer-independent sync and source properties are shared
between multiple peers
* they can be accessed without selecting a specific peer, by using an
empty config name or with the new "@<specific context>" syntax
* user interface of command line unchanged
* old configurations can be read and written, without causing
unwanted slow syncs when moving between stable and unstable
SyncEvolution versions
* old configurations can be migrated with the "--migrate" command
line switch; however, then older SyncEvolution can no longer
access them and migrating more than one old configuration causes
the second or later configuration to loose its "deviceId" property
(which is shared now), causing a slow sync once
* config names may contain characters that are not allowed in the
file names used for the underlying files; will be replaced with
underscores automatically (MB #8350)
Upgrading from 0.9.x:
* Upgrading and downgrading should work seamlessly when using existing
configurations.
* The new configuration layout is only used when creating new
configurations or explicitly invoking "syncevolution --migrate" (see
above). Such configs cannot be used by older SyncEvolution releases.
* The new "RetryInterval" property causes messages to be resent
after 2 minutes (increased from 1 minute in previous 1.0 betas).
At least the Funambol server is known to not handle this correctly
in all cases (
http://funzilla.funambol.com/show_bug.cgi?id=7910).
So in the Funambol config template the interval is set to zero,
disabling the feature. Disabling the feature must be done manually
in existing Funambol configurations.
SyncEvolution 1.0 beta 3 -> 1.0 final
=====================================
Bug fixes and new features:
* Configuration templates are stored in a single file (MBC #1208).
New templates (like something downloaded from
http://syncevolution.org/wiki)
can be dropped into $HOME/.config/syncevolution-templates using an arbitrary
file name.
* Progress and per-source status are now also reported and recorded when
running in server mode (MBC #1359). There are still several limitations
(sync mode not reported, no information about sent/received/processed items
while the sync runs, see MBC #2786).
* Better handling of certain third-party time zone definitions (MBC #1332).
Better logging to track down such problems.
* D-Bus server + command line: return error code when failed (MBC #2193)
* syncevo-phone-config: simplified command line options, several bug fixes
(syntax error, incorrect handling of calendar+todo, MBC #1197)
* Revised README, now also available as man page (MBC #690). Conversion of D-Bus API
documentation into .html page (MBC #1745).
* Funambol, Memotoo (and probably others): preserve meeting series when
receiving update for detached recurrence (MBC #1916)
* Fix for potential out-of-bounds memory access (MBC #1007).
* HTTP server: fix for potential crash when second session was requested while an
older one was still running, initial sync was done without libical time zone
information and thus may have mismatched times (MBC #2435)
* Nokia E55: convert alarm times (MBC #1657). This is done via a new remote rule
in /usr/share/syncevolution/xml/remoterules/server/46_E55.xml
If another phone needs the same treatment, then copy that file to
~/.config/syncevolution-xml/remoterules/server and edit the <model> element.
* GTK GUI: styling fix (MBC #1372), updated toolbar for MeeGo 1.0 (MBC #1970),
avoid duplicating configs when selecting a config created by syncevo-phone-config
or the command line (MBC #1266), scroll bars for emergency window (MBC #1296),
avoid compile problem on Fedora Core 13 due to name collision with system sync()
call, updated translations.
Known Issues
============
Compatibility with phones has not been tested as well as compatibility
with the officially supported SyncML servers. Some issues have been
reported which still need to be investigated:
* Nokia N85: ignores refresh-from-server? (MBC #2722)
* Sony Ericsson W595: All-day-events created in evolution are
synchronized as all-day-events + 1 additional day in the mobile
(MBC #2093)
* Nokia N81: Evolution contacts loose "Other" email-addresses when
synced two-way (MBC #2566)
* Nokia phones: absolute alarm time? (MBC #1657)
*Call for action*: test with your phone and report which config works
and how well synchronization works. See
http://syncevolution.org/development/sync-phone
http://syncevolution.org/wiki/phone-compatibility-template
Other known issues:
* server progress events: no information about sync mode (MBC
#2786)
* Calendar event alarm synchronization between N900 and Goosync
(MBC #2764)
Source, Installation, Further information
=========================================
http://syncevolution.org/blogs/pohly/2010/syncevolution-10-released
Source snapshots are in
http://downloads.syncevolution.org/syncevolution/sources
i386, amd64 and lpia binaries of 1.0 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 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 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:
http://syncevolution.org/documentation/getting-started
--
Patrick Ohly, on behalf of everyone who has helped
to make SyncEvolution possible:
http://syncevolution.org/about/contributors