SyncEvolution 0.9.2 and 1.0 beta are available. 0.9.2 replaces 0.9.1 as
the official stable release. Binary packages are provided. Changes in
both releases are listed below. 1.0 beta contains all changes included
in 0.9.2. Development has shifted towards 1.0, but if you find issues
in either version, please report them:
http://syncevolution.org/support
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 1.0 beta, SyncEvolution itself is already able to act as a SyncML
server, both via HTTP and Bluetooth (direct sync with phones). Because of
incompatible versions of libbluetooth in different distros, the precompiled
1.0 beta packages do not include Bluetooth support. One has to compile
from source to use that.
To learn more about SyncEvolution, come to FOSDEM 2010:
* Lightning Talk for users, Saturday 18:00,
http://www.fosdem.org/2010/schedule/events/syncevolution
* Cross-desktop devroom talk for developers, Sunday 15:15,
http://www.fosdem.org/2010/schedule/events/xd_syncml
SyncEvolution 0.9.2
===================
0.9.2 is available again for Maemo 5 and the Nokia N900, thanks to the
work done by Ove Kaaven. Support for the native calendar is included.
SyncEvolution Maemo packages are available via the Maemo extras-devel
repository. Bug reports can be submitted both in
http://bugs.maemo.org
and
http://bugzilla.moblin.org. The latter is the tracker that is
monitored by the SyncEvolution team, which will also incorporate
patches. In general, Ove is the main maintainer of the new backend.
New XMLRPC backend, contributed by Franz Knipp/M-otion. It accesses
data inside a web service via a SOUP API and thus allows synchronizing
it via SyncML. See src/backends/xmlrpc/README for more information.
Added templates for Oracle Beehive and Goosync. Both are not currently
part of the regular testing. In 1.0 beta,
ZYB.com for contacts is tested
and supported.
In addition to that, 0.9.2 is an incremental update, with several
updated translations and addressing all of the issues reported by
users for 0.9.1:
* vCard dialects: added "X-GENDER/X-SIP" (used by Maemo) and X-SKYPE
(used by Maemo and recent Evolution, MB #8948)
* Evolution Address Book: avoid picking CouchDB by default (MB #7877, evolution-couchdb
#479110)
CouchDB address books are appended at the end of the local database
list, otherwise preserving the order of address books. The initial
release of evolution-couchdb in Ubuntu 9.10 is unusable because it
does not support the REV property.
Reordering the entries ensures that the CouchDB address book is not
used as the default database by SyncEvolution, as it happened in
Ubuntu 9.10. Users can still pick it intentionally via
"evolutionsource".
* installation: templates now in $(datadir)/syncevolution/templates (MB #7808)
This are files used internally, meant to be extended by distributors.
Storing them in /etc is no longer supported, but also unlikely to be
needed. Added warnings that these files cannot simply be copied into
.config because they are not complete configurations.
* installation: "make install" populates $(docdir) (MB #7168)
Previously README, COPYING, NEWS, and server READMEs were copied
into
syncevolution.org .tar.gz/.deb/.rpm archives as part of
custom make rules and thus missing in other installations.
* building: --with-boost had no effect (MB#7856), detect incorrect
use of --with-synthesis-src, workaround for lack of --with-docdir
in older autoconf, do not unnecessarily depend on CPPUnit header
files and GNOME/EDS libs (MB#8338), workaround for libtool bug
("cannot install `syncecal.la' to a directory not ending in ..."),
* clarified documentation of properties for file backend (MB#8146)
* stderr redirection: detect "error" messages and show them (MB#7655)
The "GConf Error: Failed to contact configuration server..." error
message was suppressed by the code which catches noise from libraries
invoked by SyncEvolution. Now it is printed as ERROR, making it
easier to detect why running SyncEvolution inside cron needs
additional changes:
http://www.estamos.de/blog/2009/05/08/running-syncevolution-as-cron-job/
* importing contacts from SyncML server without full name (MB#5664):
Evolution expects the name to be set and shows an empty string if
it is missing. Now the name is re-added by appending first, middle and
last name.
* Evolution calendar: work around 'cannot encode item' problem (MB #7879)
Happens when the calendar file contains broken events which reference
a timezone that is not defined. Now the event is treated like one in
the local timezone.
* "http_proxy" env variable is supported regardless which HTTP transport
is used (MB#8177).
* avoid crashes when libecal sets neither error nor pointer (MB#8005)
and when aborting a running sync in the syncevo-dbus-server (MB#8385)
* "--status" output: fixed missing total item counts (MB #9097)
Known issue:
*
ZYB.com is not supported because of a known anchor handling
problem in the server (MB#2424), worked around in 1.0.
* The IPv6 configuration in Ubuntu 9.10 "Karmic Koala" in combination
with libsoup and myFUNAMBOL causes network connectivity problems:
https://bugs.launchpad.net/libsoup/+bug/473042
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.
SyncEvolution 1.0 beta
======================
Compared to the current stable release, this beta release can also:
* 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
These feature were already available in a source-only 1.0 alpha
release. For the beta, we fixed some issues (nothing major)
and in addition to the source, also make binaries available. As
before, we hope to get feedback on where we are going with 1.0 and its
SyncML server and direct synchronization features. If you want to get
involved, now is a good time because a) there is something which works
and b) there is still time to influence the final 1.0, scheduled for
March 2010.
Documentation of the new features can be found in the "Development"
section (
http://syncevolution.org/development) for HOWTOs or ask on
the mailing list (
http://syncevolution.org/support).
Here is a more complete list of features compared to the stable
release. The full (and up-to-date) list can be retrieved from the
Moblin Bugzilla (MB) issue tracking system with this query:
http://bugzilla.moblin.org/showdependencytree.cgi?id=7892&hide_resolv...
For changes compared to the 1.0 alpha please consult the
change log.
Implemented features are marked with a plus +, open ones with a minus -.
ZYB.com
+ now works thanks to a workaround for anchor handling (MB #2424)
- only contacts tested because everything is considered legacy
by
ZYB.com
Slow sync handling (MB #2416)
+ Unexpected slow syncs can be detected when running as client and
if configured (see "preventSlowSync"), abort the session so that
the situation can be analyzed. A refresh from client or server
might be more suitable. Because this required manual intervention
by the user, the feature is off by default.
- Catching slow syncs does not work yet when running as server and
in one corner case in a client.
Improved sync-UI:
+ settings for HTTP servers are now done inside the list of
all configs and server templates instead of poping up a
separate window
+ uses the new D-Bus API
+ no longer uses private gconf key to select default peer,
replaced by "defaultPeer" in SyncEvolution config
+ added recovery features like handling of unexpected slow syncs (MB #2416)
- restoring from backup only supported by command line (MB #8050)
- spinner to indicate network activity missing (MB #2229)
- interactive password request not implemented yet (MB #6376)
Command line:
+ fixed printing of rejected items (MB #7755)
+ 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)
Redesigned and reimplemented D-Bus API, required by sync-UI:
+ 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
+ no longer depends on dbus-glib with hand-written glue code for C++,
instead uses gdbus plus automatic C++ binding generated via C++ templates
- 'syncevolution' command line tool bypasses D-Bus server and runs
sync sessions itself (MB #5043)
- availability of peers not detected (connected for HTTP, paired for
Bluetooth; MB #7700)
- Bluetooth peers can only be configured via command line (MB #9216)
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 in command line and D-Bus API 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)
- users of the sync-ui will not know about the --migrate option,
so if they have only one configuration, it should be migrated
automatically
SyncML server in general:
+ incoming connections are accepted by syncevo-dbus-server via
the D-Bus Connection API; because this is a "personal SyncML
server", all local data is meant to belong to a single user,
and only one sync session can be active at any point in time
+ different users on the same machine can run their own server,
as long as they ensure that listening for incoming connections
does not conflict with each other (different port in HTTP)
+ the session of an HTTP client which stops sending messages expires
after "RetryDuration" seconds instead of blocking the server
forever (MB #7710)
- suspend/resume support is untested (MB #2425)
- automatic backup of server databases is inefficient (done
even when client is not allowed to do a sync; always backs up
all data, including sources which are not active; MB #7708)
- the progress events and statistics reported for a SyncML client
are not generated when running as SyncML server, will require
a fair amount of refactoring in the Synthesis engine (MB #7709)
- the Synthesis server example config contains workarounds for
specific phones, but SyncEvolution does not currently use those;
adding new workarounds should be made very simple (MB #7712)
HTTP SyncML server:
+ test/syncevo-http-server.py provides an experimental HTTP server
based on Python and Twisted
- a configuration must be created for each peer manually, including
a remoteDeviceId value that contains the peer's SyncML device ID
(MB #7838)
OBEX SyncML server ("sync with phones"):
+ peers are contacted via a builtin transport that uses libopenobex (MB #5188)
+ Server Alerted Notification (SAN) message triggers syncs; server ID
and URI are configurable (MB #7871)
- a configuration must be created for each peer manually, including
a syncURL that contains the peer's MAC address (MB #7838)
- should be integrated into the system's Bluetooth pairing (MB #7089)
OBEX SyncML client:
+ obexd 0.19 contains a plugin which passes SyncML messages to syncevo-dbus-server
- parsing of SAN message is rudimentary and depends on an existing local
configuration, needs to be refined depending on which SyncML server software
it is meant to work with (MB #6175)
Automatic sync (MB #6378):
- no support for the various server push notification mechanisms
- no intelligent detection of local changes
- no regular background sync
- depends on safe handling of concurrent editing, which is blocked
by merging of a new Evolution Data Server API (MB #3479)
Upgrading from 0.9.x:
* Upgrading and downgrading should work seamlessly when using existing
configurations. But this being a beta, better ensure that you have
backups of both your data and your configurations in
~/.config/syncevolution.
* 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.
Source, Installation, Further information
=========================================
http://syncevolution.org/blogs/pohly/2010/syncevolution-092-and-10-released
Source snapshots are in
http://downloads.syncevolution.org/syncevolution/sources
i386, amd64 and lpia binaries of 0.9.2 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
For 1.0 beta, use the "unstable" repository.
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).
Because of incompatible libbluetooth versions in the different
distributions, the packages of 1.0 beta do not contain Bluetooth support.
One has to compile from source to use that.
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.
SyncEvolution Maemo packages for 0.9.2 are available via the Maemo
extras-devel repository.
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