1
SyncEvolution 1.0 beta 1 -> beta 2, 23.02.2010
2
==============================================
4
Several new features and some bug fixing. Despite some open issues
5
(see below), this release is ready for getting packaged in staging
6
areas of distros as replacement for 0.9.2.
8
As before, documentation for 1.0 is only available in the
9
"Development" section of syncevolution.org, including HOWTOs for
10
setting up the HTTP SyncML server and phones manually.
12
Setting up a phone became a bit easier with beta 2, because
13
SyncEvolution is now integrated with the GNOME Bluetooth panel: once a
14
device with SyncML client support is paired, a button offers to bring
15
up the sync-UI and configure or synchronize with that device. We do a
16
fuzzy match against the Bluetooth device name to find a suitable
17
template (not manufacturer/model, because that is not readily
18
available). Still not many (read: hardly any) templates available,
21
The binaries on syncevolution.org are compiled with Bluetooth support.
22
libbluetooth2 or libbluetooth3 should be installed, but are not
23
essential. If there is no suitable version of it, the Bluetooth
24
channel has to be selected manually as part of the syncURL.
26
Unexpected slow syncs are prevented by default, in contrast to beta 1
27
where this feature was available but turned off. When an unexpected
28
slow sync is detected in a client, users have to follow the
29
instructions provided by the command line or sync-ui and choose how to
30
proceed (explicitly request slow sync, refresh from server or client,
31
restore from backup). SyncEvolution as server currently cannot prevent
32
slow syncs, even when initiating the sync with a phone.
34
In preparation for syncing automatically, logdir and database handling
35
was improved considerably. Backups use less disk space because
36
identical files share the same file content via hard links. This also
37
speeds up the synccompare Perl script. Database dumps and the
38
corresponding comparison are delayed until the session really runs,
39
which avoids doing needless work a) when the server a client tries to
40
contact is unreachable or down and b) by only including sources that
41
are really in use during a sync on the server side.
43
The Synthesis XML configuration was split up into different parts
44
which are assembled from /usr/share/syncevolution/xml. Files in
45
~/.config/syncevolution-xml override and extend the default files,
46
which my be useful when adding support for a new phone.
49
Summary of changes since 1.0 beta 1:
51
* sync-ui: recovery dialog (MB #8050), device setup, config usable with
52
long strings (MB #9278), fixed displaying of source phases during sync
54
* sync-ui + syncevo-dbus-server: integration with Bluez to detect paired
55
devices (MB #9216, MB #7089), select template based on device name (MB #7838),
56
detect network and Bluetooth connectivity (only with ConnMan, MB #7700),
57
passwords stored in GNOME keyring by syncevo-dbus-server are shown with
58
dots in sync-ui (MB #9169)
59
* Evolution addressbook backend: avoid picking CouchDB, second try (MB #7877)
60
* Evolution calendar backend: minor fix for change tracking when deleting
61
a single instance of a recurring event
62
* build fixes: Bluetooth compatibility (MB #9289), use libical _r variant
63
of calls because 0.43 has issues in the normal version, conflict with
64
system libsynthesis and libsmltk (MB #9811)
65
* Horde: avoid confusing the server with a deviceId that starts like the
66
ones used in old Funambol clients, helps with calendar sync (MB #9347)
67
* better reporting when SyncEvolution dies during a sync (only happend once
68
when it wasn't installed properly, but still... MB #9844)
69
* performance improvements: synccompare much faster/database dumps consume
70
less disk space/more intelligent about expiring obsolete session directories
71
and backups/database accesses are reduced in several backends (MB #7708),
72
shorter logs (MB #8092)
73
* slow sync detection: now also works in the case where the client detects
74
an anchor mismatch and enabled by default (MB #2416)
75
* OBEX transport: some error handling changes and removal of polling, now
76
also possible via sync-ui + syncevo-dbus-server (MB #9436)
77
* API changes: SyncSource introduces an "isEmpty" operation which is
78
needed for the slow sync detection
79
* SyncML: split up configuration (MB #7712), increased default message size
80
because the old one might have been too small for large DevInf structures
81
* several fixes for virtual data sources ("calendar+todo"): now works
82
on client side, fixed naming on server (MB #9664), fixed error message
83
for slow sync detection, supported in combination with sync-UI (MB #9535)
84
* fixes for shared configuration layout: finding sessions of peers in
85
non-default context, adding sources affected peers in the same context
86
(MB #9329), wrong context during --configure when using shortcut for peers
87
in non-default context (MB #9338)
90
Known gaps for 1.0 final and beyond:
92
Redesigned and reimplemented D-Bus API, required by sync-UI:
93
- 'syncevolution' command line tool bypasses D-Bus server and runs
94
sync sessions itself (MB #5043)
95
- availability of peers not detected when using NetworkManager
96
(connected for HTTP, paired for Bluetooth; MB #7700)
98
SyncML server in general:
99
- suspend/resume support is untested (MB #2425)
100
- the progress events and statistics reported for a SyncML client
101
are not generated when running as SyncML server, will require
102
a fair amount of refactoring in the Synthesis engine (MB #7709)
105
- a configuration must be created for each peer manually, including
106
a remoteDeviceId value that contains the peer's SyncML device ID
109
OBEX SyncML server ("sync with phones"):
110
- does not support phones which require a SAN 1.0 message (MB #9312)
111
- determining a working configuration for an unknown phone requires
112
a bit of experimenting, which should be automated (MB #9862)
115
- parsing of SAN message is rudimentary and depends on an existing local
116
configuration, needs to be refined depending on which SyncML server software
117
it is meant to work with (MB #6175)
119
Automatic sync (MB #6378):
120
- no support for the various server push notification mechanisms
121
- no intelligent detection of local changes
122
- no regular background sync, development is in progress
124
Upgrading from 1.0 beta 1: moving back and forth should work seamlessly
125
Upgrading from 0.9.x: see under beta 1
128
SyncEvolution 0.9.2 -> 1.0 beta 1, 26.01.2010
129
==============================================
131
Compared to the current stable release, 0.9.2, this beta release can also:
132
* synchronize directly with a phone over Bluetooth/OBEX
133
* accept Bluetooth/OBEX connections in cooperation with obexd 0.19
134
* run SyncEvolution as a rudimentary HTTP SyncML server
136
These feature were already available in a source-only 1.0 alpha
137
release. For the beta, we fixed some issues (nothing major)
138
and in addition to the source, also make binaries available. As
139
before, we hope to get feedback on where we are going with 1.0 and its
140
SyncML server and direct synchronization features. If you want to get
141
involved, now is a good time because a) there is something which works
142
and b) there is still time to influence the final 1.0, scheduled for
145
Documentation of the new features can be found in the "Development"
146
section (http://syncevolution.org/development) for HOWTOs or ask on
147
the mailing list (http://syncevolution.org/support).
149
Here is a more complete list of features compared to the stable
150
release. The full (and up-to-date) list can be retrieved from the
151
Moblin Bugzilla (MB) issue tracking system with this query:
152
http://bugzilla.moblin.org/showdependencytree.cgi?id=7892&hide_resolved=0
153
For changes compared to the 1.0 alpha please consult the
156
Implemented features are marked with a plus +, open ones with a minus -.
159
+ now works thanks to a workaround for anchor handling (MB #2424)
160
- only contacts tested because everything is considered legacy
163
Slow sync handling (MB #2416)
164
+ Unexpected slow syncs can be detected when running as client and
165
if configured (see "preventSlowSync"), abort the session so that
166
the situation can be analyzed. A refresh from client or server
167
might be more suitable. Because this required manual intervention
168
by the user, the feature is off by default.
169
- Catching slow syncs does not work yet when running as server and
170
in one corner case in a client.
173
+ settings for HTTP servers are now done inside the list of
174
all configs and server templates instead of poping up a
176
+ uses the new D-Bus API
177
+ no longer uses private gconf key to select default peer,
178
replaced by "defaultPeer" in SyncEvolution config
179
+ added recovery features like handling of unexpected slow syncs (MB #2416)
180
- restoring from backup only supported by command line (MB #8050)
181
- spinner to indicate network activity missing (MB #2229)
182
- interactive password request not implemented yet (MB #6376)
185
+ fixed printing of rejected items (MB #7755)
186
+ improved error reporting (textual descriptions instead of plain
187
error codes MB #2069, partial success MB #7755, record and show
188
first ERROR encountered MB #7708)
189
+ can create new sources (MB #8424)
191
Redesigned and reimplemented D-Bus API, required by sync-UI:
192
+ central syncevo-dbus-server controls configurations and sync sessions:
193
http://syncevolution.org/development/direct-synchronization-aka-syncml-server
194
+ accepts incoming SyncML connection requests and messages received by
195
independent transport stubs (obexd, HTTP server, ...)
196
+ can be used by multiple user interfaces at once
197
+ fully documented, see src/dbus/interfaces
198
+ no longer depends on dbus-glib with hand-written glue code for C++,
199
instead uses gdbus plus automatic C++ binding generated via C++ templates
200
- 'syncevolution' command line tool bypasses D-Bus server and runs
201
sync sessions itself (MB #5043)
202
- availability of peers not detected (connected for HTTP, paired for
204
- Bluetooth peers can only be configured via command line (MB #9216)
206
Revised configuration layout (MB #8048, design document at
207
http://syncevolution.org/development/configuration-handling):
208
+ several peer-independent sync and source properties are shared
209
between multiple peers
210
+ they can be accessed without selecting a specific peer, by using an
211
empty config name or with the new "@<specific context>" syntax
212
+ user interface in command line and D-Bus API unchanged
213
+ old configurations can be read and written, without causing
214
unwanted slow syncs when moving between stable and unstable
215
SyncEvolution versions
216
+ old configurations can be migrated with the "--migrate" command
217
line switch; however, then older SyncEvolution can no longer
218
access them and migrating more than one old configuration causes
219
the second or later configuration to loose its "deviceId" property
220
(which is shared now), causing a slow sync once
221
+ config names may contain characters that are not allowed in the
222
file names used for the underlying files; will be replaced with
223
underscores automatically (MB #8350)
224
- users of the sync-ui will not know about the --migrate option,
225
so if they have only one configuration, it should be migrated
228
SyncML server in general:
229
+ incoming connections are accepted by syncevo-dbus-server via
230
the D-Bus Connection API; because this is a "personal SyncML
231
server", all local data is meant to belong to a single user,
232
and only one sync session can be active at any point in time
233
+ different users on the same machine can run their own server,
234
as long as they ensure that listening for incoming connections
235
does not conflict with each other (different port in HTTP)
236
+ the session of an HTTP client which stops sending messages expires
237
after "RetryDuration" seconds instead of blocking the server
239
- suspend/resume support is untested (MB #2425)
240
- automatic backup of server databases is inefficient (done
241
even when client is not allowed to do a sync; always backs up
242
all data, including sources which are not active; MB #7708)
243
- the progress events and statistics reported for a SyncML client
244
are not generated when running as SyncML server, will require
245
a fair amount of refactoring in the Synthesis engine (MB #7709)
246
- the Synthesis server example config contains workarounds for
247
specific phones, but SyncEvolution does not currently use those;
248
adding new workarounds should be made very simple (MB #7712)
251
+ test/syncevo-http-server.py provides an experimental HTTP server
252
based on Python and Twisted
253
- a configuration must be created for each peer manually, including
254
a remoteDeviceId value that contains the peer's SyncML device ID
257
OBEX SyncML server ("sync with phones"):
258
+ peers are contacted via a builtin transport that uses libopenobex (MB #5188)
259
+ Server Alerted Notification (SAN) message triggers syncs; server ID
260
and URI are configurable (MB #7871)
261
- a configuration must be created for each peer manually, including
262
a syncURL that contains the peer's MAC address (MB #7838)
263
- should be integrated into the system's Bluetooth pairing (MB #7089)
266
+ obexd 0.19 contains a plugin which passes SyncML messages to syncevo-dbus-server
267
- parsing of SAN message is rudimentary and depends on an existing local
268
configuration, needs to be refined depending on which SyncML server software
269
it is meant to work with (MB #6175)
271
Automatic sync (MB #6378):
272
- no support for the various server push notification mechanisms
273
- no intelligent detection of local changes
274
- no regular background sync
275
- depends on safe handling of concurrent editing, which is blocked
276
by merging of a new Evolution Data Server API (MB #3479)
278
Upgrading from 0.9.x:
280
* Upgrading and downgrading should work seamlessly when using existing
281
configurations. But this being an alpha, better ensure that you have
282
backups of both your data and your configurations in
283
~/.config/syncevolution.
285
* The new configuration layout is only used when creating new
286
configurations or explicitly invoking "syncevolution --migrate" (see
287
above). Such configs cannot be used by older SyncEvolution releases.
290
SyncEvolution 0.9.1 -> 0.9.2, 23.01.2010
291
========================================
292
Synthesis SyncML Engine version: see src/synthesis/ChangeLog
294
New Maemo 5/Nokia N900 calendar backend and packages, brought to you
295
by Ove Kaaven. These packages are available via the Maemo extras-devel
296
repository. Bug reports can be submitted both in http://bugs.maemo.org
297
and http://bugzilla.moblin.org. The latter is the tracker that is
298
monitored by the SyncEvolution team, which will also incorporate
299
patches. In general, Ove is the main maintainer of the new backend.
301
New XMLRPC backend, contributed by Franz Knipp/M-otion. It accesses
302
data inside a web service via a SOUP API and thus allows synchronizing
303
it via SyncML. See src/backends/xmlrpc/README for more information.
305
Added templates for Oracle Beehive and Goosync. Both are not currently
306
part of the regular testing.
308
In addition to that, 0.9.2 is an incremental update, with several
309
updated translations and addressing all of the issues reported by
312
- vCard dialects: added "X-GENDER/X-SIP" (used by Maemo) and X-SKYPE
313
(used by Maemo and recent Evolution, MB #8948)
315
- Evolution Address Book: avoid picking CouchDB by default (MB #7877, evolution-couchdb #479110)
317
CouchDB address books are appended at the end of the local database
318
list, otherwise preserving the order of address books. The initial
319
release of evolution-couchdb in Ubuntu 9.10 is unusable because it
320
does not support the REV property.
322
Reordering the entries ensures that the CouchDB address book is not
323
used as the default database by SyncEvolution, as it happened in
324
Ubuntu 9.10. Users can still pick it intentionally via
327
- installation: templates now in $(datadir)/syncevolution/templates (MB #7808)
328
This are files used internally, meant to be extended by distributors.
329
Storing them in /etc is no longer supported, but also unlikely to be
330
needed. Added warnings that these files cannot simply be copied into
331
.config because they are not complete configurations.
333
- installation: "make install" populates $(docdir) (MB #7168)
334
Previously README, COPYING, NEWS, and server READMEs were copied
335
into syncevolution.org .tar.gz/.deb/.rpm archives as part of
336
custom make rules and thus missing in other installations.
338
- building: --with-boost had no effect (MB#7856), detect incorrect
339
use of --with-synthesis-src, workaround for lack of --with-docdir
340
in older autoconf, do not unnecessarily depend on CPPUnit header
341
files and GNOME/EDS libs (MB#8338), workaround for libtool bug
342
("cannot install `syncecal.la' to a directory not ending in ..."),
344
- clarified documentation of properties for file backend (MB#8146)
346
- stderr redirection: detect "error" messages and show them (MB#7655)
347
The "GConf Error: Failed to contact configuration server..." error
348
message was suppressed by the code which catches noise from libraries
349
invoked by SyncEvolution. Now it is printed as ERROR, making it
350
easier to detect why running SyncEvolution inside cron needs
352
http://www.estamos.de/blog/2009/05/08/running-syncevolution-as-cron-job/
354
- importing contacts from SyncML server without full name (MB#5664):
355
Evolution expects the name to be set and shows an empty string if
356
it is missing. Now the name is re-added by appending first, middle and
359
- Evolution calendar: work around 'cannot encode item' problem (MB #7879)
360
Happens when the calendar file contains broken events which reference
361
a timezone that is not defined. Now the event is treated like one in
364
- "http_proxy" env variable is supported regardless which HTTP transport
367
- avoid crashes when libecal sets neither error nor pointer (MB#8005)
368
and when aborting a running sync in the syncevo-dbus-server (MB#8385)
370
- "--status" output: fixed missing total item counts (MB #9097)
373
Upgrading from 0.9.1:
375
* nothing to do, upgrading and downgrading should work seamlessly
1
378
SyncEvolution 0.9 -> 0.9.1, 26.10.2009
2
379
======================================
3
380
Synthesis SyncML Engine version: see src/synthesis/ChangeLog